Skip to content

Jordan-Bowman-Davis/ReMint

Repository files navigation

ReMint

Project can be found here: https://devpost.com/software/remint

ReMint is an proof of concept that demos how an NFT can be broken down into component pieces. Future iterations will allow users to "ReMint" their NFTs from these components, and even exchange their ReMint-ed version for the original.

ReMint takes an NFT, created by the MyNFT.sol contract, and locks it into the NftExchange.sol contract. NftExchange.sol then releases components to the calling address if the caller owns the NFT dictated by the tokenID.

As of now, the mapping from original NFT to components is done on-chain, but future iterations shall use a metadata standard that includes component info and images.

MyNFT.sol functions

function mintNFT(address recipient, string memory tokenURI) public onlyOwner returns (uint256)

NftExchange.sol functions

function exchangeNFT(uint256 tokenId) public returns (uint256, uint256, uint256, uint256)

function mintNFT(address recipient, string[] memory tokenURI) private onlyOwner returns (uint256, uint256, uint256, uint256)

About

Mint NFTs and break them down into components, re-minted as new NFTs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors