Connext is the protocol for p2p micropayments. To learn more about this project, check out our docs. This monorepo contains all the core pieces necessary to run a node in or interact with the Connext Network.
For any unanswered questions, open a new issue or reach out on our Discord channel & we'll be happy to help.
Indra contains several packages to help developers interact with the Connext state channel network:
- @connext/client: state channel client
- @connext/cf-core: lower level channel protocol logic
- @connext/store: various implementations of the
IStoreService
type for client usage - @connext/types: type definitions
- @connext/utils: core channel utilities and helpers
- @connext/watcher: watchtower package for responding to and managing channel disputes
Prerequisites:
make
: Probably already installed, otherwise install wbrew install make
orapt install make
or similar.jq
: Probably not installed yet, install wbrew install jq
orapt install jq
or similar.docker
: sadly, Docker is kinda annoying to install. See website for instructions.
To start, clone & enter the Indra repo:
git clone https://github.com/ConnextProject/indra.git
cd indra
To build everything and deploy Indra in dev-mode, run the following:
make start
# view the node logs
bash ops/logs.sh node
That's all! But beware: the first time make start
is run, it will take a very long time (maybe 10 minutes, depends on your internet speed) but have no fear: downloads will be cached & most build steps won't ever need to be repeated again so subsequent make start
runs will go much more quickly. Get this started asap & browse the rest of the README while the first make start
runs.
By default, Indra will launch using two local chains (ganache with chain id 1337
and 1338
) but you can also run a local Indra stack against a public chain (or multiple chains!) such as Rinkeby. To do so, run make start
with a custom INDRA_CHAIN_PROVIDERS
environment variable. The variable is formatted as a JSON string with a chainId:providerUrl mapping:
INDRA_CHAIN_PROVIDERS='{"4":"https://rinkeby.infura.io/abc123","42":"https://kovan.infura.io/abc123"}' make start
Note: this will start a local Connext node pointed at a remote chain, so make sure the mnemonic used to start your node is funded in the appropriate native currencies and supported chain assets. By default, the node starts with the account:
mnemonic: "candy maple cake sugar pudding cream honey rich smooth crumble sweet treat";
privateKey: "0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3";
address: "0x627306090abaB3A6e1400e9345bC60c78a8BEf57";
For more information on developing with Indra stack, see the quickstart.
- Quick Start Guide
- Deploying indra
- Integrating additional chains
- Integrating clients in node
- Integrating clients in the browser
- Integrating clients in react native
- FAQ
If you're interested in contributing, great! See this guide before starting.