Skip to content
This repository has been archived by the owner on Dec 13, 2019. It is now read-only.

Latest commit

 

History

History

cf-adjudicator-contracts

Counterfactual is a general framework for building state channel applications. An overview of the principles and objectives of this framework can be found at the Counterfactual specifications repo.

Development

Make sure you have Yarn v1.10.1 installed or higher. Refer to Yarn's installation guide for setup instructions for your operating system.

To install the dependencies:

yarn

Compiling Solidity

To compile the Solidity source code into bytecode and ABI, run:

yarn build

Tests

To run all tests:

yarn test

To run only specific tests:

yarn test [test/<filename of specific test>.spec.ts ...]

Migrations

The networks folder contains the migration files for the different Ethereum networks the contracts have been migrated to. The ID of the respective networks are used as file names. The mapping of some of the major Ethereum network IDs to network names is:

Network ID Network Name
1 Main net
3 Ropsten testnet
4 Rinkeby testnet
42 Kovan testnet

Not all of the networks will be used for the Counterfactual contracts, but you can find a more comprehensive list here. To run a migration against a target network:

  • make sure the target network configuration exists in truffle-config.js
  • cp .env.example .env and make sure the right env vars are set in .env
    • note that the address of the account that needs to be funded to deploy the contracts is derived (in a node.js REPL) via: require('ethers').Wallet.fromMnemonic('ETH_ACCOUNT_MNENOMIC')
  • the network account you're using to send transactions from is funded (eg. for Rinkeby: https://faucet.rinkeby.io/)
  • run: yarn migrate --network <network name>