nft-staking-app
nft-staking-app copied to clipboard
An NFT Staking contract deployed using thirdweb deploy, where users stake their ERC721 tokens and earn ERC20 tokens in return!
[!Important]
This repository is referencing themumbai
chain.
Mumbai
is deprecated since 08/04/2024, meaning the code in this repository will no longer work out of the box.You can still use this repository, however you will have to switch any references to
mumbai
to another chain.
NFT Staking App
Introduction
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.
Using This Template
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
Run Locally
Install dependencies
# npm
npm install
# yarn
yarn install
Start the server
# npm
npm run start
# yarn
yarn start
Environment Variables
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.
Deployment
Deploy a copy of your application to IPFS using the following command:
yarn deploy
Additional Resources
Contributing
Contributions and feedback are always welcome! Please check our open source page for more information.
Need help?
For help, join the discord or visit our support page.