mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 05:12:45 +01:00
Correct the formatting of HACKING.md; add top-level files reference.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
8f18ca977b
commit
329f4f7dc2
43
HACKING.md
43
HACKING.md
@ -22,35 +22,33 @@ does not use threads, so the code flow is generally fairly simple.
|
||||
|
||||
Here's a list of parts, with notes:
|
||||
|
||||
ccan/ - useful routines from http://ccodearchive.net
|
||||
* ccan - useful routines from http://ccodearchive.net
|
||||
- Use make update-ccan to update it.
|
||||
- Use make update-ccan CCAN_NEW="mod1 mod2..." to add modules
|
||||
|
||||
bitcoin/ - bitcoin script, signature and transaction routines.
|
||||
* bitcoin/ - bitcoin script, signature and transaction routines.
|
||||
- Not a complete set, but enough for our purposes.
|
||||
|
||||
secp256k1/ - a copy of libsecp256k1.
|
||||
* secp256k1/ - a copy of libsecp256k1.
|
||||
- TODO: Replace this will the library once 1.0 is well distributed.
|
||||
|
||||
test/ - A few standalone test programs
|
||||
- test_onion: C code to generate and decode the routing onion
|
||||
(Obsolete; will replace with Sphynx!)
|
||||
* test/ - A few standalone test programs
|
||||
- test_onion: C code to generate and decode the routing onion (Obsolete; will replace with Sphynx!)
|
||||
- test_state_coverage: routine to test state machine.
|
||||
|
||||
daemon/ - The start of a lightningd daemon and lightning-cli
|
||||
|
||||
Networking and comms:
|
||||
* daemon/ - The start of a lightningd daemon and lightning-cli
|
||||
- Networking and comms:
|
||||
- cryptopkt: cryptographic handshake and comms routines.
|
||||
- dns: async dns lookup
|
||||
- netaddr: wrapper type for network addresses.
|
||||
|
||||
JSON and command support:
|
||||
- JSON and command support:
|
||||
- jsmn/ : a "minimalistic JSON parser" from http://zserge.com/jsmn.html
|
||||
- json: simple wrappers around jsmn for parsing and creating JSON
|
||||
- jsonrpc: routines for handing JSON commands (async).
|
||||
- lightning-cli: simple lightning command line client.
|
||||
|
||||
Misc:
|
||||
- Misc:
|
||||
- configdir: support for ~/.lightning/config
|
||||
- controlled_time: support for dev-mocktime to alter time.
|
||||
- log: logging routines
|
||||
@ -58,17 +56,30 @@ daemon/ - The start of a lightningd daemon and lightning-cli
|
||||
- secrets: routines for using secret keys.
|
||||
- timeout: timer support.
|
||||
|
||||
Dealing with bitcoin events:
|
||||
- Dealing with bitcoin events:
|
||||
- bitcoind: communication with bitcoind to monitor/send txs.
|
||||
- watch: wrapper for watching specific events.
|
||||
|
||||
Core code:
|
||||
- Core code:
|
||||
- lightningd: main routine for lightning
|
||||
- packets: per-peer packet creation and acceptance routines
|
||||
- peer: peer routines and data structure.
|
||||
|
||||
Feel free to ask questions on the lightning-dev mailing list, or on
|
||||
#lightning-dev on IRC, or email me at rusty@rustcorp.com.au.
|
||||
* Top level:
|
||||
- funding: tracking of state of a channel, including feesplit logic.
|
||||
- state: core state machine for the lightning protocol.
|
||||
- Helpers for lightning-specific transactions
|
||||
- close_tx: mutual close transaction
|
||||
- commit_tx: commit transaction (optionally with htlcs)
|
||||
- permute_tx: code to permute transactions outputs for anon
|
||||
- Various helper routines:
|
||||
- find_p2sh_out: helper to find a given tx output.
|
||||
- gen_state_names: source generator for enum names.
|
||||
- opt_bits: commandline parser for "bits" (100 satoshi)
|
||||
- protobuf_convert: conversion to/from protobufs.
|
||||
- version: helper to print the version and build features.
|
||||
|
||||
Cheers!
|
||||
Feel free to ask questions on the lightning-dev mailing list, or on #lightning-dev on IRC, or email me at rusty@rustcorp.com.au.
|
||||
|
||||
Cheers!<br>
|
||||
Rusty.
|
||||
|
Loading…
Reference in New Issue
Block a user