Permissionless Token bridging
Permissionless bridging is easy with anyCall. Anyone can deploy a working bridge for any tokens in minutes.
When users bridge, the tokens are burnt on the source chain and you use anyCall to pass a message cross-chain to mint the same amount of tokens on the destination chain.
1. Token Contract: Deploy tokens compatible with anyswaperc20 standards. Refer to the guide below:
How to develop under Anyswap ERC20 standardsExample:
2. Bridge Contract: Deploy your own bridge contract that uses anyCall to pass messages cross-chain.
Fork the following contract and constructor arguments should be anycall contract address and admin address.
Callproxy
should be set to anycall contract address. This information can be found here:
Example:
3. Set Minters for your token
Minting and burning rights need to be given on both the destination and source chain:
a. Bridge Contract: Your bridge contract will be burning and minting tokens in the bridge process.
Example:
4. Set Token peers and Client peers on your Bridge Contract
Client peers: setClientPeers(uint256[] _chainIds, address[] _peers)
This stores information of the destination chain bridge contract address to issue anycall on the correct destination contracts.
Token peers: setTokenPeers(address srcToken, uint256[] chainIds, address[] dstTokens)
This stores information of destination chain token address. This makes sure the right token is interacted.
Example:
Set Client Peers
4. Issue cross-chain bridge tx
This is an example of the bridge process in production. We are bridging from fantom testnet to rinkeby.
Step 1: Swapout (Bridge out/Burn the tokens)
Step 2: AnyExec (Bridge In/Mint the tokens)
5 . User Interface
After you build out the permissionless bridge, you can host the frontend on your ui or apply to be included on our website. If you wish to be listed on our website, please contact our team through this email: contact@multichain.org.
Last updated