Skip to content

Instantly share code, notes, and snippets.

@zhaojun-sh
Last active October 26, 2022 15:15
Show Gist options
  • Save zhaojun-sh/17e77531040aaea6337b9f018226d5d9 to your computer and use it in GitHub Desktop.
Save zhaojun-sh/17e77531040aaea6337b9f018226d5d9 to your computer and use it in GitHub Desktop.
NFT bridge for ETH<>FTM

ERC721 NFT token bridge ETH<>FTM

Architecture

  • NFTRouter contract
  • NFT Bridge nodes
  • Multichain MPC network

Deployment

NFT Bridge deployment

  1. NFTRouter contract on Ethereum
  2. NFTRouter contract on Fantom
  3. NFT Bridge nodes

NFT token initialization

  1. NFT(ETH) token project owner deploy the same mapping NFT token contract on Fantom.
  2. Owner transfer NFT(FTM) Token to NFTRouter(FTM) contract.

How it works

Bridge NFT from ETH to FTM

  1. User deposit and lock NFT(ETH) token to NFTRouter(ETH) contract.
  2. NFT bridge MPC nodes verify the locked NFT(ETH) token.
  3. NFT bridge MPC nodes call NFTRouter(FTM) contract to transfer the NFT(FTM) token to user on Fantom.
  4. User receive NFT(FTM) token on Fantom.

Bridge NFT from FTM to ETH

  1. User deposit and lock NFT(FTM) token to NFTRouter(FTM) contract.
  2. NFT bridge MPC nodes verify the locked NFT(FTM) token.
  3. NFT bridge MPC nodes call NFTRouter(ETH) contract to transfer the NFT(ETH) token to user on Ethereum.
  4. User receive NFT(ETH) token on Ethereum.

Fees

0.05 ETH or 300 FTM per cross-chain transaction.(0 fee for ETH<>FTM)

Security

NFTRouter contract need review and audit.