Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/OlympusDAO/olympus-contracts
https://github.com/OlympusDAO/olympus-contracts
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/OlympusDAO/olympus-contracts
- Owner: OlympusDAO
- License: agpl-3.0
- Created: 2021-02-23T00:18:58.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-09-07T20:24:57.000Z (over 1 year ago)
- Last Synced: 2024-08-01T21:43:46.154Z (4 months ago)
- Language: Solidity
- Size: 21 MB
- Stars: 711
- Watchers: 33
- Forks: 893
- Open Issues: 57
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Audit: audits/yacademy_ohm_final_report.pdf
Awesome Lists containing this project
- awesome-solidity - OlympusDAO/olympus-contracts - OlympusDAO contracts. (Resources)
- awesome-solidity - OlympusDAO/olympus-contracts - OlympusDAO contracts. (Resources)
- awesome-solidity - OlympusDAO/olympus-contracts - OlympusDAO contracts. (Resources)
README
# Ω Olympus Smart Contracts
![image](https://img.shields.io/github/forks/OlympusDAO/olympus-contracts?style=social)This is the main Olympus smart contract development repository.
## 🔧 Setting up local development
### Requirements
- [node v14](https://nodejs.org/download/release/latest-v14.x/)
- [git](https://git-scm.com/downloads)### Local Setup Steps
```sh
# Clone the repository
git clone https://github.com/OlympusDAO/olympus-contracts.git# Install dependencies
yarn install# Set up environment variables (keys)
cp .env.example .env # (linux)
copy .env.example .env # (windows)# compile solidity, the below will automatically also run yarn typechain
yarn compile# if you want to explicitly run typechain, run
yarn compile --no-typechain
yarn typechain# run a local hardhat node
yarn run start# test deployment or deploy
# yarn run deploy:, example:
yarn run deploy:hardhat
```### Local Setup Steps (with Docker)
A Docker image is available to simplify setup.
```sh
# First setup keys, to do this first copy as above
cp .env.example .env # (linux)
copy .env.example .env # (windows)# Populate ALCHEMY_API_KEY and PRIVATE_KEY into `.env` afterwards
# Then, start the node
make run
```## 📜 Contract Addresses
- For [Ethereum Mainnet](./docs/deployments/ethereum.md).
- For [Rinkeby Testnet](./docs/deployments/rinkeby.md).### Notes for `localhost`
- The `deployments/localhost` directory is included in the git repository,
so that the contract addresses remain constant. Otherwise, the frontend's
`constants.ts` file would need to be updated.
- Avoid committing changes to the `deployments/localhost` files (unless you
are sure), as this will alter the state of the hardhat node when deployed
in tests.## 📖 Guides
### Contracts
- [Allocator Contribution Guidelines](https://hackmd.io/@3_ZONBhqRBukBJN302eDdQ/rk4qUyOlq)
- [Allocator Interaction Instructions](https://hackmd.io/@OxbBIYzRTlqgmpSwc1bwWA/SJflVXcWq)
- [Allocator version 1 guide (1.0.0)](./docs/guides/allocator_v1_guide.md).
- [System Architecture (image)](./docs/guides/system_architecture.md)
### Testing
- [Hardhat testing guide](./docs/guides/hardhat_testing.md)
- [Dapptools testing guide](./docs/guides/dapptools.md)