Yearn Protocol is a set of Ethereum Smart Contracts focused on creating a simple way to generate high risk-adjusted returns for depositors of various assets via best-in-class lending protocols, liquidity pools, and community-made yield farming strategies on Ethereum.
Before getting started with this repo, please read:
- Andre's Overview Blog Post, describing how yearn.finance works.
- The Delegated Vaults Blog Post, explaining how the delegated vaults work.
- yETH Vault Explained, describing how the yETH vault works.
To run the project you need:
- Python 3.8 local development environment and Node.js 10.x development environment for Ganache.
- Brownie local environment setup. See instructions: ETH Brownie.
- Local env variables for Etherscan API and Infura (
ETHERSCAN_TOKEN,WEB3_INFURA_PROJECT_ID). - Local Ganache environment installed with
npm install -g ganache-cli@6.11.
To run the yearn protocol, pull the repository from GitHub and install its dependencies. You will need yarn installed.
git clone https://github.com/iearn-finance/yearn-protocol
cd yearn-protocol
yarn install --lock-fileCompile the Smart Contracts:
brownie compileRun tests:
brownie test -sRun tests with coverage:
brownie test -s --coverageCheck linter rules for *.json and *.sol files:
yarn lint:checkFix linter errors for *.json and *.sol files:
yarn lint:fixCheck linter rules for *.py files:
black . --check --config black-config.tomlFix linter errors for *.py files:
black . --config black-config.tomlFor security concerns, please visit Bug Bounty.
You can read more about yearn finance on our documentation webpage.
For questions not covered in the docs, please visit our Discord server.