Skip to content

Constraint maximum total tokens can be minted on the ERC20 smart contract

License

Notifications You must be signed in to change notification settings

make-everything-simple/erc20-base-max-supply

Repository files navigation

erc20-base-max-supply

ERC20BaseMaxSupply inherits from Thirdweb's ERC20Base with adding constraint maximum total supply. We can retrieve the maxSupply or remainingSupply by invoking methods with the same name. Ensure we get an error when trying to mint exceed the limit Exceed max total supply

Prerequisites

The following tools need to be installed:

Capabilities and Frameworks

Capability Module
Dependence Framework @thirdweb-dev/contracts collection of smart contracts deployable via the thirdweb SDK, dashboard and CLI
Build Tools thirdweb CLI provides tools to create, build, and deploy projects using thirdweb tools and infrastructure. Using the CLI, you can create new projects with the SDK configured, build, publish and deploy smart contracts, generate types while developing, upload files to IPFS, and more, hardhat-javascript-starter thirdweb contracts starter project for Hardhat & TypeScript
Coding Standard solhint is an open-source project to provide a linting utility for Solidity code.
Useful Links solidity cheatsheet quick reference solidity syntax, Introduction to Smart Contracts understand basic knowledge, Structure of a Contract

Lint the project

npm run lint
# or
yarn lint

Building the project

After any changes to the contract, run:

npm run build
# or
yarn build

to compile your contracts. This will also detect the Contracts Extensions Docs detected on your contract.

Deploying Contracts

When you're ready to deploy your contracts, just run one of the following command to deploy you're contracts:

  • via thirdweb cli
npm run deploy
## or
yarn deploy
  • via hardhat
#Replace ... with your value
ADMIN_WALLET=... NAME=... SYMBOL=... MAX_SUPPLY=... NODE_PROVIDER_URL=... DEPLOYER_PRIVATE_KEY=... npm run deploy:hardhat
## or
ADMIN_WALLET=... NAME=... SYMBOL=... MAX_SUPPLY=... NODE_PROVIDER_URL=... DEPLOYER_PRIVATE_KEY=... yarn deploy:hardhat

Publishing Contracts

If you want to publish a version of your contracts publicly, you can use one of the followings command:

npm run publish
# or
yarn publish

Collaboration

  1. Follow Solidity style-guide
  2. Reuse Common Patterns
  3. Use readable commit message karma
     /‾‾‾‾‾‾‾‾
🔔  <  Ring! Please use semantic commit messages
     \________


<type>(<scope>): ([issue number]) <subject>
    │      │        ||      |        |             └─> subject in present tense. Not capitalized. No period at the end. 
    |      |        |  
    │      │        └─> Issue number (optional): Jira Ticket or Issue number 
    │      │
    │      └─> Scope (optional): eg. Articles, Profile, Core
    │                                                                           
    └─> Type: chore, docs, feat, fix, refactor, style, ci, perf, build, or test.

About

Constraint maximum total tokens can be minted on the ERC20 smart contract

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published