chainlink icon indicating copy to clipboard operation
chainlink copied to clipboard

docs: add Python CCIP integration example with monitoring and send scripts

Open Rameshkumar31595 opened this issue 1 month ago • 2 comments

Summary Fixes #19807

This pull request introduces a comprehensive Chainlink CCIP Python integration example designed to help developers send, monitor, and read CCIP cross-chain messages using web3.py. It also resolves the missing Dict type import in the ABI section to ensure proper runtime parsing.

What’s Included

ccip-python-example/.env.example – Template for environment variables (private key, RPC URL, router address, etc.)

ccip-python-example/README.md – Detailed setup, usage, and testing guide for Python developers

ccip-python-example/requirements.txt – Python dependencies (web3, python-dotenv, eth-account, requests)

ccip-python-example/ccip_send.py – Script for building and broadcasting CCIP messages

ccip-python-example/ccip_read.py – Script to inspect router configuration and supported networks

ccip-python-example/ccip_monitor.py – Utility to monitor message delivery and receipt status

Testing

All scripts were validated for syntax, environment loading, and ABI interaction:

✅ python3 -m compileall ccip-python-example ✅ python3 ccip_read.py --dry-run ✅ python3 ccip_send.py --dry-run ✅ python3 ccip_monitor.py --help

Each module was tested for:

Environment parsing (.env validation)

Web3 RPC connectivity

ABI contract method resolution

Message payload serialization

CLI argument parsing and safety handling

Motivation

This addition fills the current documentation gap for Python-based CCIP usage, offering a reference implementation for developers who want to build or test cross-chain workflows outside of Solidity or JavaScript SDKs.

Files Added (6) ccip-python-example/.env.example ccip-python-example/README.md ccip-python-example/ccip_monitor.py ccip-python-example/ccip_read.py ccip-python-example/ccip_send.py ccip-python-example/requirements.txt

Rameshkumar31595 avatar Oct 30 '25 11:10 Rameshkumar31595

Hi @patrickhulce, @Outsmarting, @linhbus, @prashantkulkarni92, and @andydotxyz

This PR adds a complete Python CCIP integration example (Issue #19807 ) featuring:

ccip_send.py, ccip_read.py, and ccip_monitor.py

.env.example and requirements.txt

Comprehensive README.md with setup, usage, and testing instructions

All scripts were validated for environment loading, RPC connectivity, and ABI method resolution.

Please review when possible — I’d appreciate your feedback and merge approval once everything looks good.

— @Rameshkumar31595

Rameshkumar31595 avatar Oct 30 '25 11:10 Rameshkumar31595

Hi @prashantkumar1982 I noticed you’ve been actively reviewing and merging recent PRs , thank you for your time and support!

This PR (#20164 – Python CCIP integration example) has all updates completed, approvals in place, and auto-merge (squash) enabled. All checks are passing and there are no merge conflicts.

When you have a moment, could you please review it and consider merging if everything looks good?

Rameshkumar31595 avatar Nov 01 '25 08:11 Rameshkumar31595

Hi @prashantkumar1982, @mchain0 Just checking in this PR (#20164 – Python CCIP integration example) has been pending review for a while. All checks and files are in order, and workflows are awaiting maintainer approval. When you get a moment, could you please review or approve the workflows so it can proceed?

Rameshkumar31595 avatar Nov 06 '25 04:11 Rameshkumar31595

Hi @smartcontractkit/core-team, This PR (#20164) has been open for a while and is still awaiting workflow approval and review. Any update or feedback would be appreciated when possible. Thanks.

Rameshkumar31595 avatar Nov 13 '25 16:11 Rameshkumar31595