Table of Contents
Staking tokens are useful in a lot of DeFi projects, where people can lock their tokens in a protocol, and they gain a number of tokens as a reward for providing their stake tokens to the protocol. The protocol can make use of these tokens for many purposes.
We built a Discrete Staking Rewards
smart contract, that makes users stake some tokens and get another token as a reward for locking their token in the smart contract when the owner gives reward tokens to the staker.
We used blockchain technology, the Ethereum network, and smart contract development technology to achieve our goal.
The smart contract is written in solidity, and we used JS/TS to test and interact with the contract.
The smart contract is built using hardhat framework, ethersjs, and some other packages and dependencies that speed up in development process.
This is an example of how to run the smart contract locally on your computer.
You need to check if nodejs and npm are installed on your computer first.
npm --version
node --version
If you don't have node, you can install it from there official website
Below is an example of how to start interacting with the smart contract locally.
- Clone the repo
git clone https://github.com/Al-Qa-qa/discrete-staking-rewards.git
- Install NPM packages (remember to move to the directory
discrete-staking-rewards
first)npm install
- Code installed successfully, you can start testing it.
You can interact with the smart contract on the local network now.
npm run compile
to compile the solidity codenpm run deploy
to deploy the contract on the hardhat networknpm run test
to run the unit testing of the contract
This project is under the MIT License. See LICENSE
for more information.
Al-Qa'qa' - @Al_Qa_qa - alqaqa.fighter@gmail.com
Project Link: https://github.com/Al-Qa-qa/discrete-staking-rewards
We used some web services, open-source projects, and packages that helped us in our development process, which will be listed below.
We would like to apologize if we used a free package or service and forgot to mention it.