Skip to main content

XCM Tools follow-up

  • Team Name: gmajor
  • Payment Address: 12ENNVUJwkoGvdq45jLaMgNv8e3oBd5asaUFL4GjdYHnAVm3(AssetHub USDC)
  • Level: 1

Project Overview 📄​

RFPs https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/xcm-tool.md

Overview​

XCM (Cross-Consensus Message) is a messaging format and language used to communicate between consensus systems.

After https://github.com/paritytech/polkadot-sdk/pull/2522 was merged, the polkadot ecosystem evolved from cross-chain interaction between parachain to cross-chain interaction between ethereum and polkadot.

Therefore, this proposal is an extension of xcm-tools to improve the practicability of this package further and increase support for xcm v3 and ethereum bridge support.

Project Details​

  1. Support XCM v3, support the setTopic instruction.(https://forum.polkadot.network/t/xcm-upgrade-to-v3/4690) After the xcm V3 upgrade, messageId will be used as a credential for message tracking, which is different from using message_hash(blake2_256(message)). The xcm-tools will use a messageId as the credential for message tracking.

  2. Add send bridge xcm messages to bridgeHub Support

    • transfer_assets
  3. Get the result after cross-chain and the block_hash (block_num) of the execution after sending xcm

Ecosystem Fit​

  • Where and how does your project fit into the ecosystem? XCM developers or users who want to use the XCM Feature. A solution is provided here. You can send and track your XCM transaction

  • Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? wallet & explorer & parachain developer

  • What need(s) does your project meet? Provide a solution for parachain and parachain interaction,between polkadot and ethereum, transactions between parachain and relaychain, xcm message parse, and the xcm txn tracking. It can be easily integrated into the application of Golang or directly used as Tools.

  • Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? No

Team 👥​

Team members​

  • gmajor

Contact​

individual

Team's experience​

I have many years of PHP development experience and nearly five years of blockchain development experience, familiar with PHP, GOLANG, PYTHON, Nodejs, Rust

Team Code Repos​

Development Status 📖​

Not yet

Development Roadmap 🔩​

Overview​

  • Total Estimated Duration: 5 week
  • Total Costs: 9,000 USDC

Milestone 1​

  • Estimated duration: 4 week
  • FTE: 1
  • Costs: 9,000 USDC
NumberDeliverableSpecification
0a.LicenseApache 2.0
0b.DocumentationSimple documentation on how to use and how to test
0c.Testing and Testing GuideCore functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests.
0d.DockerWe will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone.
1.Xcm V3 supportTracing transaction update, support message topicId
2.Bridge Tracing supportSupport tracing Ethereum <=> substrate bridge message sent result
3.Send bridge messageSupport assetHub send to ethereum through bridgeHub
4.Cli supportAdd command line tool to send message from polkadot => Ethereum

Future Plans​

The xcm protocol is constantly being updated, and I will continue to maintain this tool to make it more convenient for users to use.