Counterfactual is a simple off-chain framework for building state channel applications on top of the Ethereum blockchain. It aims to make it simpler to build permisionless applications that have instant finality with zero-fee transactions.
You can learn more about what state channels are by reading our whitepaper or a less technical written description. Further, if you want to dive into the specifications of the Counterfactual protocol you can read them here.
- Join us in Discord to help with development or to hang out with some ethereum hackers :)
- Create a new issue to report bugs
- Fix an issue. Counterfactual is an Open Source Project!
Make sure you have Yarn v1.10.1. Refer to Yarn's installation guide for setup instructions for your operating system.
To install the dependencies:
yarn
To build all packages:
yarn build
To clean all packages:
yarn clean
To lint all packages:
yarn lint
To also apply automatic fixes:
yarn lint:fix
Presently for some of the tests to work, you need to have a ganache-cli
instance running in the background. To do this, run using:
yarn ganache
You also need to migrate the contracts in the contracts package to generate a networks
file which the machine
and iframe-wallet-poc
packages directly consume (for now).
cd packages/contracts
yarn migrate --network ganache
Finally, to run all tests:
yarn test