This example demonstrates a use of several thirdweb tools to create an NFT Staking application. In this example, users can stake their ERC721 NFTs and earn ERC20 tokens as a reward. It combines:
- NFT Drop contract: To create a collection of NFTs that users can stake.
- Token contract: To create a token that users can earn as a reward for staking.
- NFT Staking contract: To create a contract that users can stake their NFTs in, and earn tokens as a reward.
Create a project using this example:
npx thirdweb create --template nft-staking-app
- Create an NFT Drop contract using the dashboard.
- Create a Token contract using the dashboard.
- Create an NFT Staking contract using the dashboard.
- Approve the NFT Staking contract to transfer your tokens.
- Deposit the tokens into the NFT Staking contract.
- Update the information in the contractAddresses.ts file to
Install dependencies
# npm
npm install
# yarn
yarn install
Start the server
# npm
npm run start
# yarn
yarn start
To run this project, you will need to add environment variables. Check the .env.example
file for all the environment variables required and add it to .env.local
file or set them up on your hosting provider.
Deploy a copy of your application to IPFS using the following command:
yarn deploy
Contributions and feedback are always welcome! Please check our open source page for more information.
For help, join the discord or visit our support page.