Age | Commit message (Collapse) | Author |
|
This is a simplified re-do of closed pull #3088.
This patch eliminates the privacy and reliability problematic use
of centralized web services for discovering the node's addresses
for advertisement.
The Bitcoin protocol already allows your peers to tell you what
IP they think you have, but this data isn't trustworthy since
they could lie. So the challenge is using it without creating a
DOS vector.
To accomplish this we adopt an approach similar to the one used
by P2Pool: If we're announcing and don't have a better address
discovered (e.g. via UPNP) or configured we just announce to
each peer the address that peer told us. Since peers could
already replace, forge, or drop our address messages this cannot
create a new vulnerability... but if even one of our peers is
giving us a good address we'll eventually make a useful
advertisement.
We also may randomly use the peer-provided address for the
daily rebroadcast even if we otherwise have a seemingly routable
address, just in case we've been misconfigured (e.g. by UPNP).
To avoid privacy problems, we only do these things if discovery
is enabled.
|
|
af82884 Add "warmup mode" for RPC server. (Daniel Kraft)
|
|
Start the RPC server before doing all the (expensive) startup
initialisations like loading the block index. Until the node is ready,
return all calls immediately with a new error signalling "in warmup"
with an appropriate status message (similar to the init message).
This is useful for RPC clients to know that the server is there (e. g.,
they don't have to start it) but not yet available. It is used in
Namecoin and Huntercoin already for some time, and there exists a UI
hooked onto the RPC interface that actively uses this to its advantage.
|
|
Closes #5141
|
|
b4347f6 minor code style cleanup after recent merges (Philip Kaufmann)
|
|
- add a missing license header
- correct some header orderings etc.
|
|
a2cfae8 util.cpp comment correction (21E14)
|
|
8473862 Fix all header defines (Pavel Janík)
|
|
d2e74c5 boost: moveonly: split CPubKey and friends to new files (Cory Fields)
78c228c boost: moveonly: move BIP32Hash to hash.h (Cory Fields)
900078a boost: moveonly: create eccryptoverify.h|cpp and move helper functions there (Cory Fields)
|
|
e69a587 RPC: submitblock: Support for returning specific rejection reasons (Luke Dashjr)
|
|
b4ee0bd Introduce preferred download peers (Pieter Wuille)
|
|
|
|
Remove file and class order guidelines
|
|
771d500 minor cleanup: include orders, end comments etc. (Philip Kaufmann)
|
|
1bea2bb Rename ProcessBlock to ProcessNewBlock to indicate change of behaviour, and document it (Luke Dashjr)
d29a291 Rename RPC_TRANSACTION_* errors to RPC_VERIFY_* and use RPC_VERIFY_ERROR for submitblock (Luke Dashjr)
f877aaa Bugfix: submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock, now that it no longer does the full block validity check (Luke Dashjr)
24e8896 Add CValidationInterface::BlockChecked notification (Luke Dashjr)
|
|
|
|
2191eac add tests to travis (Cory Fields)
7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts (Cory Fields)
fa7f8cd tests: remove old pull-tester scripts (Cory Fields)
5122ea7 tests: fix forknotify.py on windows (Cory Fields)
7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment (Cory Fields)
f635269 tests: enable alertnotify test for Windows (Cory Fields)
|
|
20a5f61 Don't relay alerts to peers before version negotiation (Wladimir J. van der Laan)
|
|
|
|
484e350 Update comments in client version to be doxygen compatible (Michael Ford)
6395ba3 Update comments in version to be doxygen compatible (Michael Ford)
|
|
e743678 fix a typo (Yoichi Hirai)
|
|
|
|
|
|
2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option (Luke Dashjr)
|
|
023e63d qt: Move transaction notification to transaction table model (Wladimir J. van der Laan)
|
|
- no code changes
|
|
|
|
|
|
Eventually (after 0.10) these files will hold the logic for crypto
verification routines, and CKey/CPubKey will call into them.
|
|
|
|
|
|
They're unused since the switch to Travis
|
|
Windows interprets 'foo.txt' as a literal filename while "foo.txt" is treated
as expected.
|
|
the environment
This will allow for windows tests to run with bitcoind.exe and bitcoin-cli.exe
|
|
The semantics of "echo" are different there and they change the resulting text,
but they're still correct and predictable.
|
|
|
|
|
|
71697f9 Separate protocol versioning from clientversion (Cory Fields)
|
|
5b40d88 Update comments in wallet to be doxygen compatible (Michael Ford)
|
|
7792040 Update comments in rpcserver to be doxygen compatible (Michael Ford)
|
|
2d06c0f Add missing reserved address spaces. (Matt Corallo)
|
|
eadcd0c Print parameter interactions to console, too (Matt Corallo)
|
|
981f790 [Qt] fix slot connection problems when no wallet is loaded (Philip Kaufmann)
|
|
02fe12d Update generate-seeds.py to produce doxygen compatible comments (Michael Ford)
f2e03ff Update comments in chainparams to be doxygen compatible (Michael Ford)
2fdc335 Update comments in chain to be doxygen compatible (Michael Ford)
|
|
2b173d3 Update comments in keystore to be doxygen compatible (Michael Ford)
ffd8edd Update comments in key to be doxygen compatible (Michael Ford)
|
|
- guard 4 connect calls by an #ifdef when no wallet is loaded to fix "No
such slot" warnings
- also add comments when #ifdef ENABLE_WALLET end
- fixes #5175
|
|
|
|
|
|
|
|
|