Updated the status of the project
[rust-lightning] / README.md
1 [![Safety Dance](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)
2
3 Rust-Lightning, not Rusty's Lightning!
4 =====
5
6 Documentation can be found at [docs.rs](https://docs.rs/lightning/)
7
8 The project implements all of the BOLT specifications except for X, Y, Z. The
9 implementation has pretty good test coverage that is expected to continue to
10 improve. There are no known production uses of the library though. The current
11 state is sufficient for a developer or project to experiment with it. Recent
12 increased contribution rate to the project is expected to lead to a high quality,
13 stable, production-worthy implementation in 2020.
14
15 The goal is to provide a full-featured but also incredibly flexible lightning
16 implementation, allowing the user to decide how they wish to use it. With that
17 in mind, everything should be exposed via simple, composable APIs. The user
18 should be able to decide whether they wish to use their own threading/execution
19 models, allowing usage inside of existing library architectures, or allow us to
20 handle that for them. Same goes with network connections - if the user wishes
21 to use their own networking stack, they should be able to do so! This all means
22 that we should provide simple external interfaces which allow the user to drive
23 all execution, while implementing sample execution drivers that create a
24 full-featured lightning daemon by default.
25
26 For security reasons, do not add new dependencies. Really do not add new
27 non-optional/non-test/non-library dependencies. Really really do not add
28 dependencies with dependencies. Do convince Andrew to cut down dependency usage
29 in rust-bitcoin.
30
31 Notes on coding style:
32  * Use tabs. If you want to align lines, use spaces. Any desired alignment
33    should display fine at any tab-length display setting.
34
35 License is Apache-2.0.