harmony-one / bounties

Bounty program is to help the community take part in the development of the Harmony blockchain. It covers from core feature to validator tooling, from dApp development to DeFi integration.
MIT License
59 stars 23 forks source link

Cross-chain NFT bridge #72

Closed LeoHChen closed 2 years ago

LeoHChen commented 2 years ago

Description

cross-chain NFT bridge Harmony <-> Ethereum, Harmony <-> BSC

Context

A Cross-chain NFT bridge (ERC721/ERC1155) can increase the liquidity of NFTs across multiple chains. With the booming NFT market right now, it is a highly sought-after feature for EVM compatible chains. We have ERC721 support from ETH minted token to Harmony. However, there is no Harmony minted token to ETH support. ERC1155 is also not supported as well.

Please design a generic solution to support bridging any ERC721/ERC1155 tokens from Ethereum to Harmony and vice versa based on our current bridge design. The token address may need to be verified to avoid counterfeit.

The trusted bridge has to support multi-sig to avoid a single point of failure. We can help with the security audit of the bridge.

This bounty should be based on the existing Harmony bridge which has already supported bridging ERC721 from ETH to Harmony. (https://bridge.harmony.one)

Acceptance Criteria

Reference

Reward

USD $15,000

Bonus

Check opensea/rarible API to add a verified icon next to the official verified NFT collections from Ethereum, to stop counterfeit ones. USD $1000 for the bonus feature.

daikirifinance commented 2 years ago

Hello,

We are interested in developing this NFT bridge. We'll start working on it.

Cheers!

BrunoMarshall commented 2 years ago

@daikirifinance keep us updated with the works

gupadhyaya commented 2 years ago

Adding some more info on this bounty.

What we need is two things:

Current ERC721 bridging works as shown in the figure:

erc721

Same way ERC1155 can be supported by referring to the ERC721 bridging code in the repo

erc1155

For bridging HRC721/1155 from harmony and back, new contracts needs to be developed. I have added some templates in this commit. Basic idea is to allow users bridge HRC721, personal collections in HRC1155, or bridge as general Harmony collections (a single ERC1155 collecting all bridged HRC721/1155).

BrunoMarshall commented 2 years ago

@kuyawa let's talk about this bounty

jhd2best commented 2 years ago

very nice share @gupadhyaya . we plan to finish HRC721 bridge from ethereum to harmony by the end of this week(directly build on bridge)

jhd2best commented 2 years ago

we have already finish the HRC721 bridge harmony to ethereum. and tested localy. here is our testing screenshot image

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 102961.2686 ONE (15093.09 USD @ $0.15/ONE) attached to it.

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 265 years, 1 month from now. Please review their action plans below:

1) nqtacn has started work.

Please my work report kabul edin :))))

Learn more on the Gitcoin Issue Details page.

nirohgo commented 2 years ago

Hi there, is this bounty still open?

BrunoMarshall commented 2 years ago

@jhd2best hi, how are you? For the bridge is necessary also for ERC1155 to HRC1155 tokens and vice versa. :-)

I think you are primarily focus on HRC721 bridge harmony to ethereum right? however bear in mind that daVinci is using HRC1155 tokens and is more important for us. keep the good work!

BrunoMarshall commented 2 years ago

Hi there, is this bounty still open?

yes, but as far as i know @jhd2best has already finish the HRC721 bridge harmony to ethereum. and tested locally. missing now HRC1155

nirohgo commented 2 years ago

thanks @BrunoMarshall , does that mean the HRC1155 part is still open? if so, anyway I can contact you directly to coordinate? (assuming you're the focal point).

BrunoMarshall commented 2 years ago

The full scope for the bounty is:

1-Bridge HRC721 to ERC721 (Harmony-to-Ethereum) 2-Bridge ERC721 to HRC721 (Ethereum-to-Harmony) 3-Bridge HRC721 to ERC721 (Harmony-to-Binance smart chain BSC) 4-Bridge ERC721 to HRC721 (Binance smart chain BSC-to-Harmony)

5-Bridge HRC1155 to ERC1155 (Harmony-to-Ethereum) 6-Bridge ERC1155 to HRC1155 (Ethereum-to-Harmony) 7-Bridge HRC1155 to ERC1155 (Harmony-to-Binance smart chain BSC) 8-Bridge ERC1155to HRC1155 (Binance smart chain BSC-to-Harmony)

Reward USD $15,000

9- Bonus: Check opensea/rarible API to add a verified icon next to the official verified NFT collections from Ethereum, to stop counterfeit ones. USD $1000

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 102961.2686 ONE (23211.69 USD @ $0.21/ONE) has been submitted by:


jhd2best commented 2 years ago

all code works of HRC1155 bridge finished. will review and test it then

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 102961.2686 ONE (23886.29 USD @ $0.23/ONE) has been submitted by:

  1. @nqtacn

@leohchen please take a look at the submitted work:


jhd2best commented 2 years ago

vlog for testing on Youtube: https://www.youtube.com/watch?v=xmPYG0XxFNk

gupadhyaya commented 2 years ago

@jhd2best we need one more feature where if harmony nft holder (hrc721 or 1155) does not want mint his nft from a newly deployed contract, can select a bridge deployed erc1155 from which the user's token will be minted. something similar to davinci_images hrc1155 contract that allows minting from the standard collection. this will help the users avoid contract deployment (erc721 or erc1155) costs and only have to bare the minting cost.

jhd2best commented 2 years ago

hey @gupadhyaya very nice idea but we need think more. At the product level, this is a new feature that will cause token authentication problems (such as Opensea), because ERC1155 single tokenid cannot be authenticated, only the entire contract can be authenticated. This is one of the examples. If bridge to the same contract, it will bring some derivative problems. We need to rethink and design the plan. At the technical level, because all the code has been reviewed, if new functions need to be added, will lead to delay in development time. Leo plans to complete the mainnet deployment and launch this week. If it is just because of the gas fee, we can ask the project party or the official team to migrate the contract mapping for the popular project first, and then the users will not need to pay the gas fee for the deployment contract when they migrate. Therefore, I suggest that we can launch without it this time, and then open a separate bounty to design and optimize this problem.

Harsh8196 commented 2 years ago

Hi there!!! Is this bounty still open? As I see @jhd2best created bridge for HRC1155/ERC1155. If it's still open ,what is the scope for others?

Nqtacn commented 2 years ago

Hi there!!! Is this bounty still open? As I see @jhd2best created bridge for HRC1155/ERC1155. If it's still open ,what is the scope for others?

LeoHChen commented 2 years ago

the bounty is taken by @jhd2best

LeoHChen commented 2 years ago

to be released

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 102961.2686 ONE (36686.95 USD @ $0.34/ONE) attached to this issue has been cancelled by the bounty submitter

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 102961.2686 ONE (36686.95 USD @ $0.34/ONE) attached to this issue has been cancelled by the bounty submitter

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 102961.2686 ONE (36686.95 USD @ $0.34/ONE) attached to this issue has been cancelled by the bounty submitter