Open manishbista28 opened 1 year ago
How to integrate a new chain "XYZ" to this group:
The chain should deploy bmc and bts smart contracts
Native Coin & Native Tokens of this chain should be registered as wrapped tokens on other chains
Native Coin & Native Token of all other chains should be registered as wrapped coin on this new chain "XYZ".
Link new chain to ICON chain. This has to be done from both chains separately.
Following methods are called on chain "XYZ" where icon_bmc_btp_address and icon_block_height is known: for method addLink: use icon_bmc_btp_address for method setLinkRxHeight: use icon_bmc_btp_address as link, use icon_block_height as height for method addRelay: use icon_bmc_btp_address as link, use Relay Owner address of "XYZ" chain as addr
Same methods will be executed for chain ICON where xyz_bmc_btp_address and xyz_block_height is know
Relay can be run for each chain pair on separate applications. But it is also possible to aggregate relay config for all chain pairs to a single relay config and run a single relay application.
How does a BTP Message hop between chains.
For an exchange between a chain and ICON, the hop includes back and forth message exchange between ICON and that chain. For an exchange between chains other than ICON, the message will bridge via ICON i.e. for BSC-> SNOW transfer, message flows as BSC receiver => ICON sender => ICON receiver => SNOW sender and similar for SNOW->BSC transfer.
Overview
We need to setup a testnet environment that bridges multiple chains that we have worked on so far. This will help perform tests and work on any shortcomings (if present)
Contract Addresses of wrapped and native tokens plus addresses of BMC and BTS smart contracts for different chains is given below
Additional Info: