A trading cards NFT example.
Launch this smart contract set in the SettleMint Blockchain Transformation platform under the Smart Contract Sets
section. This will automatically link it to your own blockchain node and make use of the private keys living in the platform.
If you want to use it separately, bootstrap a new project using
forge init my-erc721-token --template settlemint/solidity-token-erc721-cards
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Foundry consists of:
- Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
- Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
- Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
- Chisel: Fast, utilitarian, and verbose solidity REPL.
Hardhat is a Flexible, Extensible, Fast Ethereum development environment for professionals in typescript
Hardhat consists of:
- Hardhat Runner: Hardhat Runner is the main component you interact with when using Hardhat. It's a flexible and extensible task runner that helps you manage and automate the recurring tasks inherent to developing smart contracts and dApps.
- Hardhat Ignition: Declarative deployment system that enables you to deploy your smart contracts without navigating the mechanics of the deployment process.
- Hardhat Network: Declarative deployment system that enables you to deploy your smart contracts without navigating the mechanics of the deployment process.
- https://console.settlemint.com/documentation/docs/using-platform/integrated-development-environment/
- https://book.getfoundry.sh/
You can either use Forge:
btp-scs foundry build
or Hardhat:
btp-scs hardhat build
With Forge:
btp-scs foundry test
or Hardhat:
btp-scs hardhat test
To format your contracts, run
btp-scs foundry format
Trading cards are generated using Canvas. You can check the asset folder and set your own images in there to build your NFT assets.
- To deploy the smart contract and set the sale stage, we are using Hardhat scripts.
btp-scs hardhat script remote -s <DEPLOYMENT_SCRIPT> (e.g. scripts/deploy.ts)
- Collect any reserved tokens:
btp-scs hardhat script remote -s <COLLECT_RESERVED>
- Generate the merke tree of whitelisted addresses:
btp-scs hardhat script remote -s <WHITELIST>
- Start the presale:
btp-scs hardhat script remote -s <PRESALE>
- Start the public sale:
btp-scs hardhat script remote -s <PUBLIC_SALE>
- Reveal tokens:
btp-scs hardhat script remote -s <REVEAL>
To index your smart contract events, use The Graph middleware.
First, edit subgraph.config.json
to set the addresses of your smart contracts. You can find them in the deployment folder created under ignation
. Then, run:
btp-scs subgraph codegen
btp-scs subgraph build
btp-scs subgraph deploy
To get info about the tasks, run:
btp-scs --help
forge --help
anvil --help
cast --help