vitelabs/bounties

Build an NFT ecosystem for the Vite Blockchain

Opened this issue · 5 comments

Challenge Description

Design and implement an open NFT standard for the Vite blockchain that allows for minting, trading, viewing, holding, auctioning or other commonly desired NFT features. Extra awards available for building infrastructure that facilitates using the contract such as an NFT gallery or an NFT marketplace.

Non-fungible Tokens (NFTs) are unique digital tokens often used to represent ownership. These tokens have been used to represent:

  • Physical property — houses, unique artwork
  • Virtual collectables — unique pictures of kittens, collectable cards, digital artwork
  • Decentralized Finance — Asset bundles, loans, AMM trading pairs
  • Membership — DAO voting rights, discount clubs

The Ethereum NFT standard ERC-721 as well as the more powerful multi-token standard ERC-1155 are both examples of NFT standards that have seen a wide variety of uses in the in Ethereum and other EVM blockchains. We envision the creation of such a standard for the Vite ecosystem that will make use of Vite’s feeless transactions to allow for easy minting and exchanging of NFTs.

Primary Task

Build a reference implementation of an NFT standard in Solidity++. Existing implementations used in Ethereum such as https://github.com/0xcert/ethereum-erc721 and https://github.com/enjin/erc-1155 are useful references to get started.

Any implementation should at least cover basic features such as minting tokens, sending tokens, getting token metadata (e.g. NFT token should be able to store a URI that can point to a metadata file stored on IPFS), and approving an address to manage NFTs on the behalf of the owner (allows for compatibility with trading/marketplace/auction contracts).

Secondary Task

Build a frontend allowing for user interaction with the NFT contract so that the user can mint, send, and receive NFTs. This should at minimum act as an NFT wallet secured by ViteConnect.

Fully featured applications such as an NFT gallery or a marketplace will be eligible for additional prizes. Note that these may require additional smart contracts beyond the base NFT functions.

Prizes

  • $7500 in VITE + VITE merch

Submission Requirements

  • All submissions, including all code, must be open source for future use and reference by the community, and links to external documents must be provided in the Github repo submission.
  • We will require a demo of the submission.

Judging Criteria

  • Usability. The reference implementation must be deployable and usable.
  • Features. Some NFT implementations have more features than others. For example, ERC-721 has some limitations that have been addressed in ERC-1155. There are also other features beyond both of these standards which may be valuable additions to NFTs on Vite. See the linked EIPs in the resources for other ideas.
  • Compatibility with Vite protocol. The submitter should consider how the proposed NFT contract fits with the current Vite protocol rather than a line-for-line port of existing Ethereum contracts. For example, good designs will require consideration of Vite’s asynchronous nature, interaction with native Vite tokens, and the Quota system.
  • Organization and Documentation. As an open standard proposal, code quality and clear documentation is important to facilitate adoption.

Winner Announcement

  • The Vite Labs team will schedule a demo after receiving each submission. After the hackathon we will announce the winner(s) when all demos have been reviewed and judge's scores tabulated.

Resources

  1. https://eips.ethereum.org/EIPS/eip-721
  2. https://eips.ethereum.org/EIPS/eip-1155
  • Reference implementations of Ethereum NFT standards.
  1. https://github.com/0xcert/ethereum-erc721
  2. https://github.com/enjin/erc-1155
  • NFTs with IFPS
  1. https://docs.ipfs.io/how-to/mint-nfts-with-ipfs/
  2. https://docs.ipfs.io/how-to/best-practices-for-nft-data/
  • Other various Ethereum token standards:
  1. https://eips.ethereum.org/EIPS/eip-2309
  2. https://github.com/enjin/erc-1155
  3. ethereum/EIPs#1726
  4. ethereum/EIPs#2222

Follow Vite on social media

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


This issue now has a funding of 5000.0 USD (4998.5 USD @ $1.0/USD) attached to it.

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


Work has been started.

These users each claimed they can complete the work by 3 weeks, 2 days from now.
Please review their action plans below:

1) vaibhavgeek has started work.

Build smart contracts in solidity++ that facilitate this.
2) vaibhavgeek has started work.

Build smart contracts in solidity++ that facilitate this.

Learn more on the Gitcoin Issue Details page.

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


Work has been started.

These users each claimed they can complete the work by 1 day, 2 hours from now.
Please review their action plans below:

1) vaibhavgeek has started work.

Build smart contracts in solidity++ that facilitate this.
2) louisemedova has started work.

That implementation cover minting and burning tokens, sending tokens, approving an address to manage NFT and also getting information about users' balances, token approvals and token metadata. Token metadata stores IPFS hash using bytes32 and resolves to a JSON object describing the NFT. In that project JSON objects have the following structure:
{
"name": "My Token",
"description": "It is my first token",
"image": "QmU5qzARVVTGnFdqBb7kaT5NjsN6Er2fPr6wAzCwVggbva"
}

Learn more on the Gitcoin Issue Details page.

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


Work for 7500.0 USD (7497.75 USD @ $1.0/USD) has been submitted by:


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


Work for 7500.0 USD (7497.75 USD @ $1.0/USD) has been submitted by:

  1. @louisemedova

@ouivitejoel please take a look at the submitted work: