Skip to content

A dAPP for minting, burning, and earning on the Synthetix Protocol.

License

Notifications You must be signed in to change notification settings

vipineth/staking

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Staking

Tech stack

  • Next.js
  • React
  • React Query
  • Recoil
  • Unstated-next
  • Styled-Components
  • Immer

Ethereum stack

  • ethers.js v5 - Ethereum wallet implementation.
  • Blocknative Onboard - for ethereum wallet connectivity.
  • Blocknative Notify - for tx notifications.
  • synthetix-data - for historical data (powered by TheGraph).
  • @synthetixio/js - for interactions with the Synthetix protocol.

Development

Install dependencies

npm i

Set up environment variables

Copy the .env.local.example file in this directory to .env.local (which will be ignored by Git):

cp .env.local.example .env.local

Then, open .env.local and add the missing environment variables:

  • NEXT_PUBLIC_PORTIS_APP_ID - Portis app id (get it from portis.io)
  • NEXT_PUBLIC_BN_NOTIFY_API_KEY - Blocknative Notify API key (get it from blocknative.com)
  • NEXT_PUBLIC_BN_ONBOARD_API_KEY - Blocknative Onboard API key (get it from blocknative.com)
  • NEXT_PUBLIC_INFURA_PROJECT_ID - Infura project id (get it from infura.io)

Run

npm run dev

Open http://localhost:3000 to view it in the browser.

Build

npm run build
npm start

Test

Before running e2e tests, you have to set environmental variable named SECRET_WORDS which can be imported as an account in metamask.

SECRET_WORDS="word1, word2, ..." npm run test:e2e

About

A dAPP for minting, burning, and earning on the Synthetix Protocol.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 86.9%
  • JavaScript 12.7%
  • CSS 0.4%