statechannels / go-nitro

Implementation of nitro-protocol in Go
Other
37 stars 20 forks source link


go-nitro

Implementation of the Nitro State Channels Framework in Golang and Solidity.

go-nitro is an implementation of a node in a nitro state channel network. It is software that:

Usage

⚠️ Go-nitro is pre-production software ⚠️

Go-nitro can be consumed either as library code or run as an independent process and interfaced with remote procedure calls (recommended).

Contributing

Please see contributing.md

ADRs

Architectural decision records may be viewed here.

Testing

Pre-requisite: generate a TLS certificate

Run the tests from repo root:

go test ./... -count=2 -shuffle=on -timeout 1m -v -failfast

On-chain code

The on-chain component of Nitro (i.e. the solidity contracts) are housed in the nitro-protocol directory. This directory contains an yarn workspace with a hardhat / typechain / jest toolchain.

License

Dual-licensed under MIT + Apache 2.0