Simple off-chain applications framework for Ethereum.
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 permissionless 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:
To build all packages:
To clean all packages:
To lint all packages:
To also apply automatic fixes:
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:
You also need to migrate the contracts in the contracts package to generate a
networks file which the
machine package directly consume (for now).
cd packages/contracts yarn migrate --network ganache
Finally, to run all tests: