Application is about reward system protocol within staking certain tokens. It uses ERC20 standards from OpenZeppelin, Oracles from ChainLink, and all different kinds of Mocks. It's well tested, especially within unit and integration tests.
These are the crucial steps to configuring and running the project.
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. In this case, Node.js is only needed for installing a prettier-plugin for Solidity. Furthermore, you'll have to download Python 3.6+ version to install all the required packages via pip. From your command line:
# Clone this repository
$ git clone https://github.com/pawlovskiii/stake-yield-defi-protocol
# Go into the repository
$ cd stake-yield-defi-protocol
# Install dependencies (not required)
$ npm install
To download all the necessarily Python packages needed for the project
$ pip install -r requirements.txt
$ pip install eth-brownie
- Every command with npm at the beginning has it's a more detailed path script in the script section within package.json file.
The crucial step in order to do any action with the contracts.
$ npm run compile
# Most used command, because takes the lowest amount of time to execute all the transactions
$ npm run ganache
Users can decide which TestNet they prefer. I only want to inform you that Rinkeby will be deprecated soon, but it's way easier to get test ether in it within various faucets than from the Goerli.
# Preferably way, because Goerli will be maintained
$ npm run goerli
# Only if you got trouble with getting test ether within Goerli
$ npm run rinkeby
# Tests all the functions within every script
$ npm test
# Tests whole single script
$ brownie test -k test_staked_amount
# Test single function
$ brownie test -k test_set_price_feed_contract