Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pawlovskiii/stake-yield-defi-protocol
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.
https://github.com/pawlovskiii/stake-yield-defi-protocol
brownie-eth modules python solidity type-hints unit-testing
Last synced: 3 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/pawlovskiii/stake-yield-defi-protocol
- Owner: pawlovskiii
- Created: 2022-08-31T20:37:15.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-03T00:06:09.000Z (almost 2 years ago)
- Last Synced: 2023-03-05T02:42:59.420Z (over 1 year ago)
- Topics: brownie-eth, modules, python, solidity, type-hints, unit-testing
- Language: Python
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Stake-Yield DeFi protocol
## Table of contents
- [General info](#general-info)
- [Setup](#setup)
- [Installing dependencies](#installing-dependencies)
- [Recommended commands to use for the project](#recommended-commands-to-use-for-the-project)## General info
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.
## Setup
These are the crucial steps to configuring and running the project.
### Installing dependencies
To clone and run this application, you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) 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](https://www.python.org/downloads/) 3.6+ version to install all the required packages via pip. From your command line:
```bash
# 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
```bash
$ pip install -r requirements.txt$ pip install eth-brownie
```### Recommended commands to use for the project
- 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.
```bash
$ npm run compile
```#### Deploying contracts via Ganache Local Chain
```bash
# Most used command, because takes the lowest amount of time to execute all the transactions
$ npm run ganache
```#### Deploying contracts via various TestNets
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.
```bash
# Preferably way, because Goerli will be maintained
$ npm run goerli# Only if you got trouble with getting test ether within Goerli
$ npm run rinkeby
```#### Brownie testing variations commands
```bash
# 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
```