In this Project, Blockchain is designed to handle NFTs using Substrate Framework. It implements a protocol defined by ERC721.org to allow unique tokens to be managed, owned, and traded. It also has pallets provided by Chainsafe's Chainbridge to transfer an asset from this Blockchain to Ethereum Blockchain and vice-versa.
This Project uses a number of open-source projects to work properly:
- Rust - Rust is blazingly fast and memory-efficient. It can power performance-critical services.
- Substrate - Substrate is a next-generation framework for blockchain innovation.
- rocket-rs - Rocket is a web framework for Rust that makes it simple to write fast, secure web applications.
- Chainsafe's Chainbridge - ChainBridge is an extensible cross-chain communication protocol. It currently supports bridging between EVM and Substrate based chains.
This project contains some configuration files to help get started ๐ ๏ธ
Follow the Rust setup instructions before using the included Makefile to build the Node Template.
This project uses a Makefile to document helpful commands and make it easier to execute
them. Get started by running these make
targets:
make init
- Run the init script to configure the Rust toolchain for WebAssembly compilation.make run
- Build and launch this project in development mode.
The init script and Makefile both specify the version of the Rust nightly compiler that this project depends on.
The make run
command will perform an initial build. Use the following command to build the node
without launching it:
make build
Once the project has been built, the following command can be used to explore all parameters and subcommands:
./target/release/node-nft-pallet -h
The make run
command will launch a temporary node and its state will be discarded after you
terminate the process. After the project has been built, there are other ways to launch the node.
This command will start the single-node development chain with persistent state:
./target/release/node-nft-pallet --dev
Purge the development chain's state:
./target/release/node-nft-pallet purge-chain --dev
Start the development chain with detailed logging:
RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/node-nft-pallet -lruntime=debug --dev
Follow the Prerequisites provided by Chainsafe to install Chainbridge.
- Setting up Blockchain with PoA (Aura) Consensus.
- Install Pallet to handle NFTs.
- Integrate Chainsafe's Chainbridge.
- Install Pallet to handle Multiple types of Bidding.
- Create APIs to interact with Blockchain and Database.
- Frontend Integration.
Distributed under the MIT License. See LICENSE
for more information