Skip to content

Al-Qa-qa/discrete-staking-rewards

Repository files navigation

Discrete Staking Rewards Solidity Contract

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact
  6. Acknowledgments

About The Project

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.

Built With

The smart contract is built using hardhat framework, ethersjs, and some other packages and dependencies that speed up in development process.

  • Soliditylang
  • Hardhat
  • Openzeppelin-contracts

Getting Started

This is an example of how to run the smart contract locally on your computer.

Prerequisites

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

Installation

Below is an example of how to start interacting with the smart contract locally.

  1. Clone the repo
    git clone https://github.com/Al-Qa-qa/discrete-staking-rewards.git
  2. Install NPM packages (remember to move to the directory discrete-staking-rewards first)
    npm install
  3. Code installed successfully, you can start testing it.

Usage

You can interact with the smart contract on the local network now.

  • npm run compile to compile the solidity code
  • npm run deploy to deploy the contract on the hardhat network
  • npm run test to run the unit testing of the contract

License

This project is under the MIT License. See LICENSE for more information.

Contact

Al-Qa'qa' - @Al_Qa_qa - [email protected]

Project Link: https://github.com/Al-Qa-qa/discrete-staking-rewards

Acknowledgments

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.