馃寜

Cross-Chain NFT to OpenSea

Next Date
November 29, 2021
Assign
Leo ChenJacky WangGanesha Upadhyaya
Status
Live on Mainnet
Bounty
Grant-1
Grant-2
Grant-3
Release Date

Goal

  • bridge collectibles to and from OpenSea (see #ONEquest)
  • a bridge to/from Enjin Efinity and wallet supports
馃寜Harmony launch cross-chain NFT bridge

Weekly Update

  • 11/23: fixing bugs found in mainnet, the bridge is usable now, and will make public release next week after the medium post and video.
  • 11/15: everything is ready including the medium post, deploy and release to mainnet
  • 11/8: prepare a medium post for the cross-chain NFT bridge, and ready to release cross-chain NFT bridge to public. (https://www.notion.so/harmonyone/Harmony-launch-cross-chain-NFT-bridge-95d3d24373054fb9823d211867da2d8f)
  • 11/1: all code merged and tested. full feature complete. preparing release materials for this week release.
  • 10/25: bridge code has been merged, and ready to launch on Mainnet by end of this week.
  • 10/18: ERC1155/HRC1155 bridge support of ETH is on testnet, @Ganesha Upadhyaya and @Yuriy M are reviewing the PR. The opensea verification support will be added this week.
  • 10/06: ERC721/HRC721 bridge to/from Ethereum was in testing. ERC1155/HRC1155 is being worked on right now. A few engineers have shown interest and are working on the bridge.
  • 09/28: We are making progress on the cross-chain NFT. Cross-chain HRC721 is working in local test net based on the comments from the bounty. 1155 support is on the way. The screenshot of the harmony to ethereum 721 support.
image
  • 09/15: a few teams are interested in working on this bounty to support 721/1155 for cross-chain.

Updates

Related works

immutable-x:

  • immutable-x is a layer-2 (zk-rollup based) solution targeted towards fast/cheap NFT trading.
  • immutable-x api (https://docs.x.immutable.com/reference#application-1): developers do not need to interact directly with smart contracts (for minting to trading to transferring), but use simple API calls.
  • immutable-x sdk (called link): Typescript SDK implementation for better partner integrations (works directly with web3 wallets like metamask).
  • immutable-x shared orderbook: backend for assets (similar to opeasea) provided by immutable-x such that partners building marketplaces can directly utilize it.
  • nft metadata: allows two types of metadata for nfts: 1) immutable (user upload nft image and immutable-x creates ipfs hashes and links the tokenURI), 2) mutable (user provide tokenURI, which user can change later)
  • nft metadata allows additional properties to be passed in the metadata json.

Relevance to our crosschain-nft platform

  • erc721 bridging from/back-to ethereum: our nft bridging uses same logic, where erc721 gets locked to bridge contract on ethereum and same tokenId gets minted to hrc721 contract that is mapped to unique erc721 contract.
  • hrc721 bridging from/back-to harmony: not supported yet. but we could do: for any nft (hrc721/1155) originally minted on harmony, our bridge can allow them to be moved over to ethereum using two options: 1) deploying and minting as erc721: in this case, a new contract is deployed if an erc721 contract for the hrc721 does not exists yet. the cost will be bared by the user. and then corresponding mint for the tokenId is done. 2) mint into a generic erc1155 (like davinci): no new contract is deployed, user's hrc721 tokenIds gets mapped to erc1155 tokenIds. in this case, no cost for initial contract deployment, only minting cost.
  • nft metadata: when the user locks erc721, horizon bridge mints corresponding hrc721 tokenIds with tokenURI same as erc721 tokenId tokenURIs. Further, bridge allows hrc721 owner to change tokenURI. when user bridges hrc721 to ethereum, same method can be used.
  • nft backend: todo...