Skip to content
This repository has been archived by the owner on May 28, 2021. It is now read-only.
/ indra Public archive

[LEGACY] Monorepo containing everything related to the core Connext protocols and network.

License

Notifications You must be signed in to change notification settings

connext/indra

Repository files navigation

Indra

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.

Architecture Overivew

Indra contains several packages to help developers interact with the Connext state channel network:

Launch Indra Locally

Prerequisites:

  • make: Probably already installed, otherwise install w brew install make or apt install make or similar.
  • jq: Probably not installed yet, install w brew install jq or apt 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.

Resources

Further Reading

Developer Resources and Guides

Contributing

If you're interested in contributing, great! See this guide before starting.