Skip to content

Latest commit

 

History

History
93 lines (67 loc) · 4.79 KB

README.md

File metadata and controls

93 lines (67 loc) · 4.79 KB

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.