open-index/open-npm huggingface dataset:
npm package: @graphprotocol/everest-contracts
Description: 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.
Latest version: 0.0.1

# 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`