aboutsummaryrefslogtreecommitdiff
path: root/src/rpc
AgeCommit message (Collapse)Author
2017-01-05RPC help documentation for addnode peerinfo.Gregory Maxwell
Also adds a comment about the netgroup exclusion behavior.
2017-01-05Break addnode out from the outbound connection limits.Gregory Maxwell
Previously addnodes were in competition with outbound connections for access to the eight outbound slots. One result of this is that frequently a node with several addnode configured peers would end up connected to none of them, because while the addnode loop was in its two minute sleep the automatic connection logic would fill any free slots with random peers. This is particularly unwelcome to users trying to maintain links to specific nodes for fast block relay or purposes. Another result is that a group of nine or more nodes which are have addnode configured towards each other can become partitioned from the public network. This commit introduces a new limit of eight connections just for addnode peers which is not subject to any of the other connection limitations (including maxconnections). The choice of eight is sufficient so that under no condition would a user find themselves connected to fewer addnoded peers than previously. It is also low enough that users who are confused about the significance of more connections and have gotten too copy-and-paste happy will not consume more than twice the slot usage of a typical user. Any additional load on the network resulting from this will likely be offset by a reduction in users applying even more wasteful workaround for the prior behavior. The retry delays are reduced to avoid nodes sitting around without their added peers up, but are still sufficient to prevent overly aggressive repeated connections. The reduced delays also make the system much more responsive to the addnode RPC. Ban-disconnects are also exempted for peers added via addnode since the outbound addnode logic ignores bans. Previously it would ban an addnode then immediately reconnect to it. A minor change was also made to CSemaphoreGrant so that it is possible to re-acquire via an object whos grant was moved.
2017-01-05Merge #8747: [rpc] Fix transaction size comments and RPC help text.Wladimir J. van der Laan
d29505d Fix transaction size comments. Size now refers to virtual size as defined in BIP141. (jonnynewbs)
2017-01-04Merge #9283: A few more CTransactionRef optimizationsWladimir J. van der Laan
91335ba Remove unused MakeTransactionRef overloads (Pieter Wuille) 6713f0f Make FillBlock consume txn_available to avoid shared_ptr copies (Pieter Wuille) 62607d7 Convert COrphanTx to keep a CTransactionRef (Pieter Wuille) c44e4c4 Make AcceptToMemoryPool take CTransactionRef (Pieter Wuille)
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-12-22Added missing colons in when running help commandAnditto Heristyo
2016-12-21Make AcceptToMemoryPool take CTransactionRefPieter Wuille
2016-12-21Merge #8589: Inline CTxInWitness inside CTxInWladimir J. van der Laan
f6fb7ac Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-14Merge #9273: Remove unused CDiskBlockPos* argument from ProcessNewBlockWladimir J. van der Laan
a13fa4c Remove unused CDiskBlockPos* argument from ProcessNewBlock (Matt Corallo)
2016-12-08Fix transaction size comments. Size now refers to virtual size as defined in ↵jonnynewbs
BIP141.
2016-12-05Add option to return non-segwit serialization via rpcGregory Sanders
2016-12-04Move CTxInWitness inside CTxInPieter Wuille
2016-12-05Merge #9014: Fix block-connection performance regressionWladimir J. van der Laan
dd0df81 Document ConnectBlock connectTrace postconditions (Matt Corallo) 2d6e561 Switch pblock in ProcessNewBlock to a shared_ptr (Matt Corallo) 2736c44 Make the optional pblock in ActivateBestChain a shared_ptr (Matt Corallo) ae4db44 Create a shared_ptr for the block we're connecting in ActivateBCS (Matt Corallo) fd9d890 Keep blocks as shared_ptrs, instead of copying txn in ConnectTip (Matt Corallo) 6fdd43b Add struct to track block-connect-time-generated info for callbacks (Matt Corallo)
2016-12-04Remove unused CDiskBlockPos* argument from ProcessNewBlockMatt Corallo
2016-12-04Switch pblock in ProcessNewBlock to a shared_ptrMatt Corallo
This (finally) fixes a performance regression in b3b3c2a5623d5c942d2b3565cc2d833c65105555
2016-12-04Make the optional pblock in ActivateBestChain a shared_ptrMatt Corallo
2016-12-02Make DecodeHexTx return a CMutableTransactionPieter Wuille
2016-12-02Switch GetTransaction to returning a CTransactionRefPieter Wuille
2016-12-02Merge #9260: Mrs Peacock in The Library with The Candlestick (killed ↵Pieter Wuille
main.{h,cpp}) 76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo) e736772 Move network-msg-processing code out of main to its own file (Matt Corallo) 87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
2016-12-02Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo
2016-12-02Move network-msg-processing code out of main to its own fileMatt Corallo
2016-11-29Disable fee estimates for a confirm target of 1 blockAlex Morcos
2016-11-25Merge #9189: Always add default_witness_commitment with GBT client supportWladimir J. van der Laan
95f4a03 [qa] Test getblocktemplate default_witness_commitment (Suhas Daftuar) ad04d1c Always add default_witness_commitment with GBT client support (Pieter Wuille)
2016-11-24Correct help output for waitfor RPC commandsfanquake
2016-11-23Merge #9025: getrawtransaction should take a bool for verboseWladimir J. van der Laan
240189b add testcases for getrawtransaction (John Newbery) ce2bb23 getrawtransaction should take a bool for verbose (jnewbery)
2016-11-22getrawtransaction should take a bool for verbosejnewbery
2016-11-21Always add default_witness_commitment with GBT client supportPieter Wuille
2016-11-19Make CBlock::vtx a vector of shared_ptr<CTransaction>Pieter Wuille
2016-11-17Merge #9075: Decouple peer-processing-logic from block-connection-logic (#3)Pieter Wuille
ae22357 Replace CValidationState param in ProcessNewBlock with BlockChecked (Matt Corallo) 7c98ce5 Remove pfrom parameter from ProcessNewBlock (Matt Corallo) e2e069d Revert "RPC: Give more details when "generate" fails" (Matt Corallo)
2016-11-11Merge #8996: Network activity toggleJonas Schnelli
19f46f1 Qt: New network_disabled icon (Luke Dashjr) 54cf997 RPC/Net: Use boolean consistently for networkactive, and remove from getinfo (Luke Dashjr) b2b33d9 Overhaul network activity toggle (Jonas Schnelli) 32efa79 Qt: Add GUI feedback and control of network activity state. (Jon Lund Steffensen) e38993b RPC: Add "togglenetwork" method to toggle network activity temporarily (Jon Lund Steffensen) 7c9a98a Allow network activity to be temporarily suspended. (Jon Lund Steffensen)
2016-11-10fix getnettotals RPC description about timemillis.Masahiko Hyuga
2016-11-09Replace CValidationState param in ProcessNewBlock with BlockCheckedMatt Corallo
2016-11-09Remove pfrom parameter from ProcessNewBlockMatt Corallo
This further decouples ProcessNewBlock from networking/peer logic.
2016-11-08Revert "RPC: Give more details when "generate" fails"Matt Corallo
This only returned information in the case of CheckBlock failure, but breaks future changes.
2016-11-08RPC: Give more details when "generate" failsJorge Timón
2016-11-07Merge #9026: Fix handling of invalid compact blocksPieter Wuille
d4833ff Bump the protocol version to distinguish new banning behavior. (Suhas Daftuar) 88c3549 Fix compact block handling to not ban if block is invalid (Suhas Daftuar) c93beac [qa] Test that invalid compactblocks don't result in ban (Suhas Daftuar)
2016-11-07Remove priority estimationAlex Morcos
2016-11-03Fix compact block handling to not ban if block is invalidSuhas Daftuar
2016-11-02Merge #9042: [rpc] ParseHash: Fail when length is not 64Wladimir J. van der Laan
fa32619 [rpc] ParseHash: Fail when length is not 64 (MarcoFalke)
2016-11-02Merge #8753: Locked memory managerWladimir J. van der Laan
444c673 bench: Add benchmark for lockedpool allocation/deallocation (Wladimir J. van der Laan) 6567999 rpc: Add `getmemoryinfo` call (Wladimir J. van der Laan) 4536148 support: Add LockedPool (Wladimir J. van der Laan) f4d1fc2 wallet: Get rid of LockObject and UnlockObject calls in key.h (Wladimir J. van der Laan) 999e4c9 wallet: Change CCrypter to use vectors with secure allocator (Wladimir J. van der Laan)
2016-10-31[rpc] ParseHash: Fail when length is not 64MarcoFalke
2016-10-31Change all instance of 'GMT epoch' to 'Unix epoch'matthias
2016-10-27instance of 'mem pool' to 'mempool'S. Matthew English
there was only one instance of 'mem pool' and not 'mempool', so I changed it to conform to the others
2016-10-27rpc: Add `getmemoryinfo` callWladimir J. van der Laan
``` getmemoryinfo Returns an object containing information about memory usage. Result: { "locked": { (json object) Information about locked memory manager "used": xxxxx, (numeric) Number of bytes used "free": xxxxx, (numeric) Number of bytes available in current arenas "total": xxxxxxx, (numeric) Total number of bytes managed "locked": xxxxxx, (numeric) Amount of bytes that succeeded locking. If this number is smaller than total, locking pages failed at some point and key data could be swapped to disk. } } Examples: > bitcoin-cli getmemoryinfo > curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getmemoryinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/ ```
2016-10-24RPC/Net: Use boolean consistently for networkactive, and remove from getinfoLuke Dashjr
2016-10-24Overhaul network activity toggleJonas Schnelli
- Rename RPC command "togglenetwork" to "setnetworkactive (true|false)" - Add simple test case - GUI toggle added to connections icon in statusbar
2016-10-24RPC: Add "togglenetwork" method to toggle network activity temporarilyJon Lund Steffensen
RPC command "togglenetwork" toggles network and returns new state after command. RPC command "getinfo" returns "networkactive" field in output.
2016-10-20Eliminating Inconsistencies in Textual OutputS. Matthew English
There were discrepancies between usage of "block chain" and "blockchain", I've changed them to the latter. The reason for this was that Wikipedia when describing this data structure writes "A blockchain — *originally block chain*", so it seemed the more appropriate term.
2016-10-20Merge #7551: Add importmulti RPC callWladimir J. van der Laan
215caba Add consistency check to RPC call importmulti (Pedro Branco) cb08fdb Add importmulti rpc call (Pedro Branco)
2016-10-19Merge #7948: RPC: augment getblockchaininfo bip9_softforks dataWladimir J. van der Laan
fc14609 RPC: augment getblockchaininfo bip9_softforks data (mruddy)