Everest Contracts
Everest is a DAO that allows any Ethereum account to apply as a member. Whitelisted members can then challenge any member they believe is representing themselves incorrectly, and with a majority vote they can be removed from the list.
Everest is used specifically to curate a list of crypto projects. However, it is encouraged that this code is forked, and used to curate any list.
Instructions
These instructions are specific to just deploying contracts. The root folder has more instructions for deploying the whole dapp.
Building Solidity and ABIs
Run yarn build
The package.json
has a command yarn build
that will run truffle build
, run a script to
extract the abis, and run a script to create flattened contracts.
Linting
This project uses Prettier, Solium, and eslint. Node scripts are in package.json
to help.
Testing
- Make sure Node 12 is installed (It might work with newer versions, but it is unconfirmed)
- Make sure Truffle is installed globally. It currently works with version
v5.0.43
. The command isyarn global add truffle
- Run
yarn
at contracts root directory - Start ganache with
ganache-cli -d -l 9900000 -i 9545
. Note - we use 9,900,000 because that is what mainnet eth is doing today (Dec 2019) - Run
truffle test
- Truffle stores the contracts each time you deploy. So the easiest way to restart is to just
restart ganache with
CRTL-C
, and then start it up again and runtruffle test
Current Contract Addresses
See addresses.json
Deploying
- Deploy new contracts to Ropsten with
yarn deploy-ropsten
. Mainnet isyarn deploy-mainnet
. - Get the new contract addresses from the deployment. They are logged in the terminal
output from deploying. Put these contract addresses into
addresses.json