Skip to content

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

License

Notifications You must be signed in to change notification settings

olym3labs/nft-staking-app

 
 

Repository files navigation

Important

This repository is referencing the mumbai 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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 70.4%
  • CSS 28.7%
  • JavaScript 0.9%