A set of Solidity smart contracts implementing RMRK modular NFTs and compatible extensions for them.
Smart contracts documentation as well as usage instructions and tutorials can be found in the RMRK EVM developer documentation
To use the RMRK legos and smart contracts contained in this repository, simply add them to your project:
yarn add @rmrk-team/evm-contracts
or
npm -i @rmrk-team/evm-contracts
Once the dependency is added to your project, simply import the smart contracts you wish to utilize into your own smart contract.
RMRK is a set of NFT standards that compose several NFT module primitives. Putting these modules together allows a user to create NFT systems of arbitrary complexity. So far we have created 6 modules as ERC proposals, all of which are ERC721 compatible. The first 5 are already standards, the 6th is still in Draft.
- MultiAsset: ERC-5773: Context-Dependent Multi-Asset Tokens
- Nestable: ERC-7401: Parent-Governed Non-Fungible Tokens Nesting
- Composable & Equippable: ERC-6220: Composable NFTs utilizing Equippable Parts
- Soulbound: ERC-6454: Minimal Transferable NFT detection interface
- Emotable: ERC-7409: Public Non-Fungible Tokens Emote Repository
- Dynamic Attributes: ERC-7508: Dynamic On-Chain Token Attributes Repository
- ERC20-Holder: ERC-7590: ERC-20 Holder Extension for NFTs