Substrate Version for DNFT Protocol.
3.1 DAO
- DAO Account for NFT collection.
- DAO Tax for NFT tax , Our team believes NFT with tax will be beneficial to the proliferation of NFT assets.
- DAO Proposal for NFT tax setting, etc.
3.2 NFT Protocol
-
NFT721, a realization of ERC721
-
NFT1155, a realization of ERC1155
-
NFT2006, an AI-friendly NFT framework, proposed by DNFT Team
Brief introduction:
A memorial to deep learning , proposed in 2006, which has brought leaping development to the field of Artificial Intelligence. NFT2006 aims to make an easy adaption to NFT with data/model in AI field.
Features:
-
Aggregate multiple NFT, package into one,called Collection. It will be friendly for packaging multiple personal data into a big set.
-
NFT fragmentation into Token(ERC20), friendy for huge Dataset ownership(especially for public data), which will friendly support for NFT mining in AMM/orderbook handling.
-
Copyright protection, authorized viewing using ZKP,MPC and other cryptography tricks.(To do)
-
Discussion in EIP with NFT2006.
Detail:
1)DOC erc2006-doc
2)ERC2006-solidity versionerc2006-solidity
-
3.3 NFT Protocol
- Simple Transfer or with a offer(in NFT Protocol)
- Auction(Simple implementation,will be perfect and optimized in the future )
- EnglishAuction(higher price bidder win the auction)
- DutchAuction(Price reduction until the winner comes)
- SealedAuction(To do)
- DoubleAuction(To do)
- HabergerTaxAuction(To do)
- OrderBook(Only support NFT2006)
- AMM(Only support NFT2006)
3.4 Usecase
- AI
- AIData
- AIModel
- Game(To do)
- Art(To do)
3.5 EVM-Support
- EVM-Support
3.6 Cross-Chain
- XCMP-Support for Substrate-based Cross Chain
- Relay Mechanism for Heterogeneous blockchains Cross Chain (eg. ETH/BSC/Heco)
- NFT Cross Chain Mechanism
Install Rust:
curl https://sh.rustup.rs -sSf | sh
Initialize your Wasm Build environment:
./scripts/init.sh
Build Wasm and native code:
cargo build --release
cargo test
Purge any existing developer chain state:
./target/release/dnft purge-chain --dev
Start a development chain with:
./target/release/dnft --dev
Start a development chain support outer ip call with:
./target/release/dnft --dev --ws-external
First, install Docker and Docker Compose.
Then run the following command to start a single node development chain.
./scripts/docker_run.sh
This command will firstly compile your code, and then start a local development network. You can also replace the default command (cargo build --release && ./target/release/dnft --dev --ws-external
) by appending your own. A few useful ones are as follow.
# Run Substrate node without re-compiling
./scripts/docker_run.sh ./target/release/dnft --dev --ws-external
# Purge the local dev chain
./scripts/docker_run.sh ./target/release/dnft purge-chain --dev
# Check whether the code is compilable
./scripts/docker_run.sh cargo check