A highly modular Bitcoin Lightning library written in Rust. It's rust-lightning, not Rusty's Lightning!
Find a file
Matt Corallo a2df43d525 Remove check which makes us sometimes never send closing_signed
This is the case pointed out by nayuta-gondo at
https://github.com/lightningnetwork/lightning-rfc/issues/499#issuecomment-438623208
though this doesn't actually solve the issue of ensuring we have a
consistent fee view when we start shutdown processing. There isn't
a clear solution to that however without adding additional state
tracking in Channel.

This also removes an associated test that tests for the correct
behavior (but didn't consider the bug) as we no longer behave
correctly. This should be fine as we'll be removing all the
update_fee garbage with option_simplified_commitment anyway.
2018-12-03 17:04:19 -05:00
fuzz Avoid writing to stdout during fuzz tests 2018-12-03 13:58:50 -05:00
src Remove check which makes us sometimes never send closing_signed 2018-12-03 17:04:19 -05:00
.editorconfig fix editorconfig so it applies to every file 2018-07-25 18:14:06 -07:00
.gitignore ignore IntelliJ IDEA files 2018-03-19 16:14:19 -04:00
.travis.yml Run travis-fuzz on Rust 1.29.2 due to 1.30 breaking honggfuzz build 2018-10-25 14:33:10 -04:00
build.rs Bump version for API overhauls, update deps and docs 2018-07-19 23:06:36 -04:00
Cargo.toml Bump to 0.0.7 for API rev 2018-11-21 16:18:18 -05:00
LICENSE Unify license with rust-bitcoin-spv 2018-03-05 15:09:44 -05:00
README.md Bump to 0.0.7 for API rev 2018-11-21 16:18:18 -05:00

Rust-Lightning, not Rusty's Lightning!

Currently somewhere near 15% towards usable, published to see if there is any real interest from folks in using a lightning rust library.

The goal is to provide a full-featured but also incredibly flexible lightning implementation, allowing the user to decide how they wish to use it. With that in mind, everything should be exposed via simple, composable APIs. The user should be able to decide whether they wish to use their own threading/execution models, allowing usage inside of existing library architectures, or allow us to handle that for them. Same goes with network connections - if the user wishes to use their own networking stack, they should be able to do so! This all means that we should provide simple external interfaces which allow the user to drive all execution, while implementing sample execution drivers that create a full-featured lightning daemon by default.

For security reasons, do not add new dependencies. Really do not add new non-optional/non-test/non-library dependencies. Really really do not add dependencies with dependencies. Do convince Andrew to cut down dependency usage in rust-bitcoin.

Notes on coding style:

  • Use tabs. If you want to align lines, use spaces. Any desired alignment should display fine at any tab-length display setting.

License is Apache-2.0.