Commit Graph

252 Commits

Author SHA1 Message Date
Michael Schmoock
3db534580c doc: add configure --enable-dev in testing chapter
As a newbie, I forgot to re-enable the dev options that are required to run the tests...
2019-02-18 02:42:29 +00:00
Christian Decker
e11ddfc992 docs: Add configuration for the sphinx documentation generator
This just takes the existing documentation, and generates a nice HTML
version we can point users to. The documentation is automatically
generated on every commit to `master` and will be deployed here:

https://lightning.readthedocs.io/

Signed-off-by: Christian Decker <decker.christian@gmail.com>
2019-02-18 02:42:29 +00:00
Christian Decker
886700454d docs: Consolidating header hierarchy slightly
This is a preparatory step for the automatic documentation generation
that is going to use `sphinx-doc`. Each document should include a top
level header that matches the name and scope of the document and all
following headers should be of a lower level than the top-level
header.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
2019-02-18 02:42:29 +00:00
Alekos Filini
21afe1c0f4 doc: fix the command to cross-compile libgmp 2019-02-18 00:09:20 +00:00
Simon Vrouwe
201dd3ce0c doc: improve explanation of getroute command 2019-02-17 21:48:24 +01:00
Simon Vrouwe
4fe60ee769 doc: fundchannel command, clarify optional feerate
mentioned in issue #2354
2019-02-17 21:48:24 +01:00
Mark Beckwith
3e4a3bafc3 doc: fix connect manpage parameter names and...
also fixed grammar and consistency with other manpages.

The names are now the same as what json_connect() expects.

Signed-off-by: Mark Beckwith <wythe@intrig.com>
2019-02-11 18:28:45 +01:00
Rusty Russell
d413fc7e9b configure: use system libbase58 if available.
Also one less headache for reproducible builds.  But unlike
libsodium, this only seems common in Ubuntu.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-02-08 01:10:17 +00:00
Rusty Russell
21fd8f7eaa configure: use system libsodium if available and modern.
Also one less headache for reproducible builds.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-02-08 01:10:17 +00:00
Rusty Russell
53c0a21d2c plugins: get usage from plugins (required unless deprecated_apis == True).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-02-07 20:33:50 +00:00
fanquake
132d8460fc doc: skip building bitcoin-qt on macOS
Skip installing GUI dependancies and building bitcoin-qt.
2019-02-07 03:23:03 +00:00
Rusty Russell
3ae0c20026 getroute: change definition (and pay default) for riskfactor.
Up until now, riskfactor was useless due to implementation bugs, and
also the default setting is wrong (too low to have an effect on
reasonable payment scenarios).

Let's simplify the definition (by assuming that P(failure) of a node
is 1), to make it a simple percentage.  I examined the current network
fees to see what would work, and under this definition, a default of
10 seems reasonable (equivalent to 1000 under the old definition).

It is *this* change which finally fixes our test case!  The riskfactor
is now 40msat (1500000 * 14 * 10 / 5259600 = 39.9), comparable with
worst-case fuzz is 50msat (1001 * 0.05 = 50).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-02-06 18:39:52 +01:00
Simon Vrouwe
10057c8335 openingd/json_fund_channel:
- result fundchannel command now depends on successful or failed broadcast of the funding tx
- failure returns error code FUNDING_BROADCAST_FAIL
- don't fail the channel when broadcast failed, but keep in CHANNELD_AWAITING_LOCKIN
- after fixing the initial broadcast failure, the user could manually rebroadcast the tx and
  keep the channel

openingd/opening_funder_finished:
- broadcast_tx callback function now handles both success and failure

jsonrpc: added error code FUNDING_BROADCAST_FAIL
manpage: added error code returned by fundchannel command

This makes the user more aware of broadcast failure, so it hopefully doesn't
try to broadcast new tx's that depend on its change_outputs. Some users have reported (see
issue #2171) a whole sequence of fundings failing, because each funding was using the change
output of the previous one, which would not confirm.
2019-01-29 04:50:01 +00:00
Christian Decker
0266c33476 cleanup: Fix a typo in the sendpay manpage
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2019-01-29 00:50:09 +00:00
Mark Beckwith
287af7b660 docs: fix getroute manpage rendering
My manpage viewer did not know what to do with curly braces,
so I switched them to quotes and it works fine.

Signed-off-by: Mark Beckwith <wythe@intrig.com>
2019-01-23 13:43:41 -08:00
Rusty Russell
390117c9bb docs: document changes to waitsendpay command.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-23 22:08:08 +01:00
Rusty Russell
dc2ee9639b listchannels: allow source arg to list channels by their source node.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-15 12:01:38 +01:00
Rusty Russell
1567238dd9 invoice: option to expose/not-expose private channels.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-15 12:01:38 +01:00
Rusty Russell
f321b1d35f getroute: remove seed arg, document fromid, make default fuzzpercent match docs.
seed isn't very useful at this level: I've left it in routing.c
because it might be useful for detailed testing.  Pretty sure it's unused,
so I simply removed it.

The fuzzpercent is documented to default at 5%, but actually was 75%.
Fix that too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-15 12:01:38 +01:00
Rusty Russell
61420bf79b configure: (mostly) revert b7a56f0531
Plugins are a first-class citizen again.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-15 02:52:13 +00:00
Rusty Russell
75df22e9e2 doc/MAKING-RELEASES: clarifications based on previous release.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-15 02:18:30 +00:00
Conor Scott
a2413f47e5 [doc] rename plugins.md -> PLUGINS.md... because the rest were uppercase 2019-01-14 18:45:08 +01:00
Christian Decker
b7a56f0531 plugin: Gate the plugin subsystem with the --enable-plugins configure flag
Since we are planning to release a bug fix release, and the plugin
subsystem is not yet complete, it is better to make plugin support
opt-in while we continue testing.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-01-10 17:15:10 -08:00
Conor Scott
2ee1061c16 [docs] Add missing 'level' description for listpeers manpage. 2019-01-08 15:35:17 -08:00
Michael Hawkins
22921f1ab1 Manpage for lightning-listchannels created 2019-01-08 23:02:17 +00:00
arowser
38ceb9a736 update the raspiberry build process 2019-01-04 22:47:25 +01:00
Christian Decker
69953bcb2a plugin: Document JSON-RPC passthrough and notifications
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-12-30 14:36:02 +01:00
Mark Beckwith
d18d950a0a doc: check manpage
Signed-off-by: Mark Beckwith <wythe@intrig.com>
2018-12-10 09:27:49 +01:00
Franck Royer
dc7b76e5e6 Update testing requirements and instructions 2018-12-09 16:26:30 +01:00
lisa neigut
c497bad2e9 changelog + docs: Add entries for announce option on fundchannel 2018-12-08 15:15:55 -08:00
Rene Pickhardt
c420f04d66 added more hints what to consider when loading several plugins
now the documentation also explains via command line example how to load several plugins
2018-12-08 09:51:59 +01:00
Rene Pickhardt
f8d630a30c emphasized that a plugin needs to be executable
cost me a couple of minutes.
2018-12-08 09:51:59 +01:00
Michael Hawkins
1c3b8c8ec5 Created listpeers asciidoc, generated manpage using a2x and updated Makefile 2018-12-08 00:28:56 +00:00
Michael Hawkins
561a66354b Man page for lightning-disconnect created 2018-12-05 01:26:01 +00:00
Rusty Russell
aa4284a35e docs: document plugin options.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-12-05 01:22:55 +01:00
Rusty Russell
31830ea6bb doc: Use subsections for option types.
And drive-by fix "if it's seems" to "if it seems".

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-12-05 01:22:55 +01:00
Christian Decker
82393036e3 plugin: Update documentation of the rpcmethods
Suggested-by: Lisa Neigut <@niftynei>
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-12-02 22:55:47 +00:00
Christian Decker
c90be02372 docs: Replace example method params with a long description
This matches the `verbose` field in `struct json_command`.

Signed-off-by: Christian Decker <@cdecker>
2018-11-26 22:53:37 +00:00
ZmnSCPxj
e74349c506 doc/lightning-pay.7.txt: Clarify randomization by pay command. 2018-11-26 22:25:25 +00:00
Jonas Nick
da431333b8 Fix default lightning datadir in lightningd-config doc 2018-11-23 00:46:14 +01:00
Rusty Russell
56fd2541c3 doc: make it clearer that specifying addr etc disables autolisten.
Reported-by: Greg Sanders
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-11-21 03:09:03 +00:00
Christian Decker
74c58e9f25 docs: Add an initial draft of the plugin documentation
Signed-off-by: Christian Decker <@cdecker>
2018-11-13 00:44:50 +01:00
Christian Decker
59e37c12cd plugin: Add plugins to lightningd and register arguments 2018-11-13 00:44:50 +01:00
Rusty Russell
d4f164eb39 Release: add helper script for release, and checklist for the process.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-10-31 10:56:44 +10:30
Rusty Russell
e1b1abd328 doc: fix argument documentation for lightning-sendpay.
The parameter is 'payment_hash' not 'hash', and the 'description' parameter
wasn't documented at all.

Reported-by: @darosior
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-10-23 16:47:32 +02:00
trueserve
dbb9b0c077 options: Parse config file before opening working directory
Right now, the `config` file is read *after* the configuration working directory is moved to in the software. However one configuration option `lightning-dir` settable in the `config` file sets this working directory. As the directory is already opened (which defaults to `$HOME/.lightning`) before the configuration is read, the configured directory will not be used.

This patch parses the configuration file before opening the working directory, fixing this bug.

[ Update CHANGELOG.md and man pages -- RR ]
2018-10-13 04:09:49 +00:00
lisa neigut
9d496f9a74 hacking: install cppcheck and shellcheck
You need `cppcheck` and `shellcheck` installed to run `check-source`
successfully.
2018-10-09 00:08:41 +02:00
Rusty Russell
f9fba1d7c6 doc/lightning-invoice: document warnings.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-09-28 15:03:42 +02:00
lisa neigut
2327f04b54 HACKING.md: Update rec'd test cmd to full-check
Otherwise you won't run `check-source` and your Travis build will
fail on you.

Also remove comment about how it's currently disabled cuz that's a lie.
2018-09-21 00:21:20 +00:00
Christian Decker
674d176087 doc: Update docs to remove 100% upper bound
Actual change is in the previous commit.
2018-09-20 02:41:28 +00:00
Wladimir J. van der Laan
634f19a7b2 doc: Regenerate man-pages after spelling corrections 2018-09-07 22:46:56 +02:00
Wladimir J. van der Laan
6a4468edca doc: Spelling corrections 2018-09-07 22:46:56 +02:00
Rusty Russell
312209ad60 pytest: support simple subdaemon debugging.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-09-04 14:36:05 +02:00
Rusty Russell
7b9341e762 subdaemon: better GDB support.
It was annoying me, so I made it much nicer to use.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-09-04 14:36:05 +02:00
Rusty Russell
8bc845d7b6 lightningd: inline overview documentation (part 1 of 8).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-09-03 05:01:40 +00:00
Rusty Russell
db3c387264 feerate: allow names 'urgent' 'normal' and 'slow'.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-08-30 16:33:35 +02:00
Rusty Russell
e0952ceff2 feerate: use suffix, not separate argument.
And, reluctantly, default to bitcoind style.
"It's wrong to be right too soon."

Suggested-by: @cdecker
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-08-30 16:33:35 +02:00
Christian Decker
b270ab02ec docs: Compile man-pages
Travis is still struggling with `a2x` for some reason.
2018-08-30 16:33:35 +02:00
Rusty Russell
14dc1c37ab fundchannel / withdraw: allow explicit feerate setting.
These are the two cases where we'll refuse without a fee estimate.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-08-30 16:33:35 +02:00
Rene Pickhardt
7635b24a29 changed formatting for better readability on github
* changed formatting for better readability on github
2018-08-28 03:38:58 +00:00
Rusty Russell
9d517ddc1d options: remove default-fee-rate now we don't use it.
And no more filtering out messages, as we should no longer spam the
logs with them (the 'Connected json input' one was removed some time
ago).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-08-25 00:33:12 +00:00
Rusty Russell
213be90e77 log: implement reopening log-file on SIGHUP
Closes: #1623
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-08-23 12:51:08 +02:00
conanoc
80a875a9a5 Update HACKING.md
Added some info in debugging section.

[ Squashed: Guide to use configure. --RR ]
2018-08-18 23:37:43 +00:00
Christian Decker
ae99e493b8 pytest: Remove test_lightningd and all the legacy testing framework 2018-08-07 00:54:19 +00:00
gabridome
2db832ab3e Errors corrected
Also:
- the lines of code that contain more than one elements are no more inline. 
   This should improve visualization in small screens (no auto line wrapping).
- Found a "solution" for the references: people looking at markdown presentation
   will see one only reference to the Tor project.
   In the text source all the "references" are shown and also serve in markdown as 
   hypertext links.
Feel free to improve.
2018-08-03 02:23:48 +00:00
gabridome
b4cb4da232 In-document links don't work if "." is present
When you refer to a title of the doc in a link and the title has a dot, you have to drop it when you build the link.
2018-08-03 02:23:48 +00:00
gabridome
f95ef5f3ff Suggested changes incorporated.
- difference between --bind-addr=autotor and --addr=autotor
- typos corrected (non-persistent and Tor)
- "references" dropped
- table improved
- Outgoing case explained where is useful
The actual structure suffers of many repetitions. I could work on 
a compact structure based on a "decision tree modular" approach if that 
may seem useful.
2018-08-03 02:23:48 +00:00
gabridome
a92d7f1490 File improvements
Adapted for the markdown format.
Also developed in the preparation parts and each case of use has been detailed.

A doubt in the non persistent address remain:
In the original document 

> --announce-addr=autotor:<torservice_ip:port> : try to generate an temp V2 onion addr.

 this doesn't seem to work for me (several errors are produced at start up).
instead the `--addr=autotor:127.0.0.1:9051`seems to work well (at least for version 0.6).
2018-08-03 02:23:48 +00:00
Rusty Russell
52303029aa fundchannel: cap 'all' at 2^24-1 satoshi.
The easiest way to do this is to play with the 'wallet_tx' semantics
and have 'amount' have meaning even when 'all_funds' is set.

Note that we change the string 'Cannot afford funding transaction' to
'Cannot afford transaction' as this code is also used for withdrawls.

Inspired-by: molz on #c-lightning
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-07-30 11:46:41 +02:00
Christian Decker
55d450ff00 pay: Exempt a fee from the maxfeepercent rule it is still tiny
Several users have noticed that they cannot pay satoshis.place or similar places
that have tiny payment amounts if they are not directly connected. This is due
to the forwarding fee dominating the transferred amount.

This commit adds a new option, exempting tiny fees (up to 5 satoshis by default)
from having to pass the maxfeepercent flag. While we could have told users to
tweak maxfeepercent I think it is usefull to have a default exemption.

[Squashed --RR]
2018-07-30 01:05:43 +00:00
William Casarin
6e4745b28a doc: update python test requirements in HACKING
Signed-off-by: William Casarin <jb55@jb55.com>
2018-07-26 23:18:37 +02:00
Mark Beckwith
369bd274a1 Updated docs to reflect bech32 default
The manpage did not specify the name of the named parameter (addresstype).
It does now.

Fixed manpage grammar errors.

Signed-off-by: Mark Beckwith <wythe@intrig.com>
2018-07-23 23:46:06 +00:00
Mark Beckwith
05d4e8519c improved testing section
I went to the Nakamoto dinner last week and told some guys they
could get involved by improving our test coverage. So I updated
the docs for newbs like me. (I only recently discovered `PYTEST_PAR`).

Signed-off-by: Mark Beckwith <wythe@intrig.com>
2018-07-23 02:21:36 +00:00
wintercooled
e0a5c8144e Change withdrawal documentation failure outcome - referred to channel not transaction. (#1726)
Text related to channel funding not withdrawal.
2018-07-20 22:55:11 +02:00
arowser
97118c558e add --conf parameter 2018-07-15 09:45:55 +00:00
Rusty Russell
fed5a117e7 Update ccan/structeq.
structeq() is too dangerous: if a structure has padding, it can fail
silently.

The new ccan/structeq instead provides a macro to define foo_eq(),
which does the right thing in case of padding (which none of our
structures currently have anyway).

Upgrade ccan, and use it everywhere.  Except run-peer-wire.c, which
is only testing code and can use raw memcmp(): valgrind will tell us
if padding exists.

Interestingly, we still declared short_channel_id_eq, even though
we didn't define it any more!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-07-04 23:57:00 +02:00
Sjors Provoost
f7dabd4fd8 Armbian build instructions 2018-07-03 11:49:55 +02:00
Rusty Russell
c46f373205 options: refuse two --announce-addr of the same type.
Gossipd will ignore the second one, but doing it in the front end
gives an explicit error message.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-07-01 15:03:21 +02:00
Rusty Russell
846d2f8726 doc/INSTALL.md: add configure step to instructions.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-21 14:00:23 +02:00
Rusty Russell
1fc9770cfe doc/INSTALL.md: fix up Fedora instructions.
We need sudo on all the commands, and we have more dependencies (esp. if
we want to do development).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-21 14:00:23 +02:00
Rusty Russell
14a5cbb820 doc/INSTALL.md: use requirements.txt for pip installs.
We actually need more than just python-bitcoinlib for testing.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-21 14:00:23 +02:00
Christian Decker
1bfa02d877 opts: Add option to disable DNS lookups
Mainly used to disable `gossipd` reaching out to the DNS seeds during testing.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-06-21 11:21:16 +02:00
Christian Decker
654fa9d680
doc: Fixed typo in the release notes
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-06-18 12:45:00 +02:00
Rusty Russell
7f508cca5f wallet: clarify error 302.
"Dust limit unmet" seems undescriptive to me.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-18 12:33:25 +02:00
Mark Beckwith
f4eda74789 adding manpages 2018-06-18 12:33:25 +02:00
Mark Beckwith
8f0ef1636f Added wallet related error codes
New codes: FUND_MAX_EXCEEDED, FUND_CANNOT_AFFORD, FUND_DUST_LIMIT_UNMET.

The error message "Cannot afford fee" was not exactly correct because
it would also occur if the amount requested could not be afforded.  So
I changed it to the more generic "Cannot afford transaction".

Other things:

* Fixed off-by-one satoshi in fundchannel manpage.
* Changed 'arror' to 'error' because we are not pirates.
2018-06-18 12:33:25 +02:00
Rusty Russell
a5aaf82ed2 release-notes:
Feedback from @wythe and @cdecker
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-18 12:30:31 +02:00
Rusty Russell
2180ff0a72 Release notes for 0.6 "I Accidentally The Smart Contract"
Written by Christian Decker wth feedback from Shannon Appelcline.
Special thanks to Fabrice Drouin of ACINQ fame for choosing the release
name!
2018-06-18 12:30:31 +02:00
Corné Plooy
94ef0a7fbf Add 'make ncc' target, for source code analysis. 2018-06-15 16:49:35 +02:00
arowser
4429c6e7cd udpate broken link 2018-06-08 17:56:48 +02:00
Rusty Russell
72d103d6bb Makefile: import config.vars.
We leave VALGRIND env var as an override for testing.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-08 17:56:01 +02:00
Rusty Russell
083a2cee07 zlib: add as a requirement.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-06 03:25:56 +00:00
Jan Sarenik
b28d71a9a5 external/Makefile: Change variable HOST to MAKE_HOST
Proposed fix for issue #1231 - FreeBSD (tcsh) build problem due
to HOST environment variable.

The variable is used for cross-compilation. The process may be
improved even further in the future. So far this hot fix.
2018-05-23 23:08:17 +00:00
Jan Sarenik
8d641456a1 doc/HACKING.md: remove note about DEVELOPER mode being default
The DEVELOPER mode is not the default since 00e75fee,
change the documentation accordingly.
2018-05-23 00:20:55 +00:00
Rusty Russell
a2dc3d02a8 locktime-blocks: rename to watchtime-blocks.
And clarify the descriptions for end users.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-05-20 02:32:42 +00:00
Rusty Russell
babfddeb3e lightningd: make --commit-time in milliseconds.
It was the only place we used opt_time, so cuts out much code.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-05-20 02:32:42 +00:00
Rusty Russell
226f0d63d2 lightningd-config.5.txt: working and typos feedback.
Thanks to @ajtowns and @ZmnSCPxj.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-05-20 02:32:42 +00:00
Rusty Russell
626e9fed16 Makefile: add check that manpage and command options match.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-05-20 02:32:42 +00:00
Rusty Russell
8aca5c5d33 doc/lightningd-config.5: manual page for all our configuration options.
In particular, the subtleties of 'addr' vs 'bind-addr' and 'announce-addr'
needed spelling out.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-05-20 02:32:42 +00:00
Saibato
8659745ca6 update TOR.md to latest changes
Signed-off-by: Saibato <saibato.naga@protonmail.com>
2018-05-15 07:16:43 +00:00