/nft-staking-app

An NFT Staking contract deployed using thirdweb deploy, where users stake their ERC721 tokens and earn ERC20 tokens in return!

Primary LanguageTypeScriptApache License 2.0Apache-2.0

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.