0.0.1 • Published 3 years ago

@graphprotocol/everest-contracts v0.0.1

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

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

  1. Make sure Node 12 is installed (It might work with newer versions, but it is unconfirmed)
  2. Make sure Truffle is installed globally. It currently works with version v5.0.43. The command is yarn global add truffle
  3. Run yarn at contracts root directory
  4. 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)
  5. Run truffle test
  6. 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 run truffle test

Current Contract Addresses

See addresses.json

Deploying

  1. Deploy new contracts to Ropsten with yarn deploy-ropsten. Mainnet is yarn deploy-mainnet.
  2. Get the new contract addresses from the deployment. They are logged in the terminal output from deploying. Put these contract addresses into addresses.json