From 329f4f7dc2a52624134f7d466860ac78827ac535 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 22 Jan 2016 08:57:05 +1030 Subject: [PATCH] Correct the formatting of HACKING.md; add top-level files reference. Signed-off-by: Rusty Russell --- HACKING.md | 87 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/HACKING.md b/HACKING.md index 279e71c4f..82a49953b 100644 --- a/HACKING.md +++ b/HACKING.md @@ -22,53 +22,64 @@ 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 - - Use make update-ccan to update it. - - Use make update-ccan CCAN_NEW="mod1 mod2..." to add modules +* 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. - - Not a complete set, but enough for our purposes. +* bitcoin/ - bitcoin script, signature and transaction routines. + - Not a complete set, but enough for our purposes. -secp256k1/ - a copy of libsecp256k1. - - TODO: Replace this will the library once 1.0 is well distributed. +* 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_state_coverage: routine to test state machine. +* 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 +* 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. - Networking and comms: - - cryptopkt: cryptographic handshake and comms routines. - - dns: async dns lookup - - netaddr: wrapper type for network addresses. + - 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. - 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: + - configdir: support for ~/.lightning/config + - controlled_time: support for dev-mocktime to alter time. + - log: logging routines + - pseudorand: pseudorandom wrapper + - secrets: routines for using secret keys. + - timeout: timer support. - Misc: - - configdir: support for ~/.lightning/config - - controlled_time: support for dev-mocktime to alter time. - - log: logging routines - - pseudorand: pseudorandom wrapper - - secrets: routines for using secret keys. - - timeout: timer support. + - Dealing with bitcoin events: + - bitcoind: communication with bitcoind to monitor/send txs. + - watch: wrapper for watching specific events. - Dealing with bitcoin events: - - bitcoind: communication with bitcoind to monitor/send txs. - - watch: wrapper for watching specific events. + - Core code: + - lightningd: main routine for lightning + - packets: per-peer packet creation and acceptance routines + - peer: peer routines and data structure. - Core code: - - lightningd: main routine for lightning - - packets: per-peer packet creation and acceptance routines - - peer: peer routines and data structure. +* 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. -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. +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! +Cheers!
Rusty.