Wallet / Node implementation of the lightning.network P2P protocol. The lightning.network enables Off-Chain Bitcoin Payment Channels using smart contracts.
This is software in alpha status, don't even think about using it in production with real bitcoin. Current release is meant for testing, review, and building real world experience with the general technology.
To learn more, visit www.blockchain.com/thunderFeature List Building Prerequisites
You needJDK 1.8+ Maven
to build both the node and the wallet software.Installation
Install Java 8 JDK (Unix machines: and OpenJFX) before proceeding.
will run the tests and create the executables.Running
Node software and Wallet software are completely independent projects. Nodes are generally passive participants of the network that only relay payments, whereas the Wallet software is only used to make and receive payments.Node
Runningjava -jar thunder-node.jar
will start up an autonomous node that will connect to the thunder.network and build channels with other random nodes. On first startup it will ask the user for some basic configuration. Afterwards it will write this configuration to disk for the next start. To be an active part of the network, please configure your firewall to allow incoming connections on port 2204. You can change the default port in the config file.Wallet
Runningjava -jar thunder-wallet.jar
will start up the wallet. It will ask for known nodes and get a topology of the network. The user can then chose a node to form a channel with and make and receive payments.Architecture
thunder.network uses netty as the underlying networking library. There are several layers for encryption, establishing a channel and making payments.
Additional features will generally live inside their own layer, decoupled from the other layers.Outlook ...