Lightning Network Daemon
Go to file
2016-01-15 13:19:13 -08:00
chainntfs chainntfs: introduce ChainConnection interface to avoid import cycle and for future tests 2016-01-14 23:58:04 -08:00
channeldb channeldb: revocation hashes are 20 bytes 2016-01-14 23:56:08 -08:00
cmd plasma daemon can connect, receive connections, and send chat msgs. 2016-01-14 23:56:10 -08:00
elkrem move elkrem, uspv libs to plasma repo 2016-01-14 23:58:05 -08:00
lndc lndc: separate into Conn and Listener implementations, add basic tests 2016-01-14 23:58:05 -08:00
lnrpc lnrpc: re-build proto files 2016-01-14 23:55:45 -08:00
lnstate minor edit 2016-01-14 23:58:05 -08:00
lnwallet lnwallet: once the reservation workflow is complete, wait then open the payment channel 2016-01-14 23:58:04 -08:00
lnwire typo fix 2016-01-14 23:58:05 -08:00
shachain shachain: revocation hashes are now hash160's 2016-01-14 23:56:08 -08:00
uspv spv sync works but more to add 2016-01-15 02:40:56 -08:00
.gitignore Structs for Wire Protocol HTLCs and Commitments 2016-01-14 23:56:10 -08:00
config.go add some daemon related skeleton files 2015-12-26 00:09:17 -06:00
doc.go add some daemon related skeleton files 2015-12-26 00:09:17 -06:00
log.go add some daemon related skeleton files 2015-12-26 00:09:17 -06:00
omnihandler.go plasma daemon can connect, receive connections, and send chat msgs. 2016-01-14 23:56:10 -08:00
peer_test.go plasma: rough draft of peer struct 2015-12-20 15:16:38 -06:00
peer.go Flesh out the peer handling skeleton within peer/server 2016-01-14 23:58:04 -08:00
plasma.go lnwallet: have wallet return db so it can be closed during shutdown 2016-01-14 23:57:54 -08:00
README.md update readme 2016-01-15 13:19:13 -08:00
rpcserver.go Flesh out the peer handling skeleton within peer/server 2016-01-14 23:58:04 -08:00
server.go Flesh out the peer handling skeleton within peer/server 2016-01-14 23:58:04 -08:00

lnd - lightning network daemon

This repo is preliminary work on a lightning network peer to peer node and wallet.

It currently is being designed for testnet-L, a test network where all* txids are normalized. This fixes malleability but isn't something that can be cleanly done to the existing bitcoin network.

It is not yet functional, but we hope to have a proof of concept on testnet-L soon.

cmd / lncli

A command line to query and control a running lnd. Similar to bitcoin-cli

elkrem

Library to send and receive a tree structure of hashes which can be sequentially revealed. If you want to send N secrets, you only need to send N secrets (no penalty there) but the receiver only needs to store log2(N) hashes, and can quickly compute any previous secret from those.

This is useful for the hashed secrets in LN payment channels.

lndc

Library for authenticated encrypted communication between LN nodes. It uses chacha20_poly1305 for the symmetric cipher, and the secp256k1 curve used in bitcoin for public keys. No signing is used, only two ECDH calculations: first with ephemeral keypairs and second with persistent identifying public keys.

uspv

Wallet library to connect to bitcoin nodes and build a local SPV and wallet transaction state.