aboutsummaryrefslogtreecommitdiff
path: root/src/bitcoin-cli.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 1.21 codebase rebrand (#1711)barrystyle2021-02-201-9/+9
| | | | | | | | | | | | | * build: Brand codebase as Dogecoin via automake/autoconf files. * build: Update internal resource files for windows builds. * build: Update internal application names and data directories. * build: Update immediately visible remaining bitcoin name references from cli binaries and qt. * build: Update immediately visible bitcoin references in the main gui itself. * Update functional tests to match Dogecoin * wallet: Add missing check for -descriptors wallet tool option * correct output for functional tests (errorlevels?) Co-authored-by: Ross Nicoll <[email protected]> Co-authored-by: MarcoFalke <[email protected]>
* cli -netinfo: print oversized/extreme ping times as "-"Jon Atack2020-10-251-2/+8
|
* cli -netinfo: handle longer tor v3 local addressesJon Atack2020-10-251-3/+8
|
* cli -netinfo: make age column variable-widthJon Atack2020-10-251-7/+12
| | | | | as it has a wide possible range and the new name ("age" instead of "uptime") is much shorter.
* cli -netinfo: various quick updates and fixesJon Atack2020-10-251-15/+16
| | | | | | | | | | | | | - add new signet chain - update change "uptime" column name to "age" per suggestion by 0xB10C (Timo) - add an additional digit to mping field width - change m_networks_size from size_t to uint8_t, as size_t was a holdover from m_networks_size being defined as size_t m_networks.size() in a draft - order Peer struct members by decreasing memory size
* refactor: enable -netinfo to add future networks (i2p, cjdns)Jon Atack2020-10-141-31/+28
| | | | | | | | After this commit, a new network may be added by changing 4 lines: - increment the value of `m_networks_size` - add the network name to `m_networks` - add the network name to this line: `result += " ipv4 ipv6 onion total block-relay\n";` - add "counts.at(i).at(<m_networks pos>)" to this line: `result += strprintf("%-5s %5i %5i %5i %5i %5i\n...`
* refactor: promote some -netinfo localvars to class membersJon Atack2020-10-141-22/+24
|
* cli: simplify -netinfo using getpeerinfo network fieldJon Atack2020-10-141-49/+13
|
* rpc: Set HTTP Content-Type in bitcoin-cliWladimir J. van der Laan2020-10-011-0/+1
| | | | | | | | | | We don't set any `Content-Type` in the client. It is more consistent with our other JSON-RPC use to set it to `application/json`. Note that our server doesn't enforce content types, so it doesn't make a difference in practice. But it is fairly strange HTTP behavior to not set it. This came up in #18950.
* doc: Mention signet in -help outputHennadii Stepanov2020-09-251-1/+2
|
* doc: Update comments for new chain settings (-signet and -chain=signet)MarcoFalke2020-09-221-9/+1
|
* Merge #19643: Add -netinfo peer connections dashboardfanquake2020-09-151-0/+211
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bf1f913c4405cba35c8f99ec07b407940eb955b6 cli -netinfo: display multiple levels of details (Jon Atack) 077b3ac9284a90f33e31c64c49062ceaf815af60 cli: change -netinfo optional arg from bool to int (Jon Atack) 4e2f2ddd6444d93dd7e60ec67cc393dfc2a29b9d cli: add getpeerinfo last_{block,transaction} to -netinfo (Jon Atack) 644be659abfcf7c638e17795bafedad73bc55b27 cli: add -netinfo server version check and error message (Jon Atack) ce57bf6cc0cdaf8233fd8a20e0d1c5b69d17d2a3 cli: create peer connections report sorted by dir, minping (Jon Atack) f5edd66e5d136b229c805af9e6ea73218f6cedde cli: create vector of Peer structs for peers data (Jon Atack) 3a0ab93e1ce8d91235a6d46a57c6cb110fc5bf03 cli: add NetType enum struct and NetTypeEnumToString() (Jon Atack) c227100919dd2422b29eb3bca9c0f1a7983cc3a8 cli: create local addresses, ports, and scores report (Jon Atack) d3f77b736e43b187771b901a6a3452f83c116918 cli: create inbound/outbound peer connections report (Jon Atack) 19377b2fd24704bff6c805946575b116f07d5e0d cli: start dashboard report with chain and version header (Jon Atack) a3653c159e4f5c887eec9ea608e474eaa299fc07 cli: tally peer connections by type (Jon Atack) 54799b66b466c0d015e6fe2f820663cc5d8e7998 cli: add ipv6 and onion address type detection helpers (Jon Atack) 12242b17a52c9833e6504f3f0a5b247a6e2fc5f9 cli: create initial -netinfo option, NetinfoRequestHandler class (Jon Atack) Pull request description: This PR is inspired by laanwj's python script mentioned in #19405, which it turns out I ended up using every day and extending because I got hooked on using it to monitor Bitcoin peer connections. For the full experience, run `./src/bitcoin-cli -netinfo 4` On Linux, try it with watch `watch ./src/bitcoin-cli -netinfo 4` Help doc ``` $ ./src/bitcoin-cli -help | grep -A3 netinfo -netinfo Get network peer connection information from the remote server. An optional integer argument from 0 to 4 can be passed for different peers listings (default: 0). ``` ACKs for top commit: vasild: ACK bf1f913 0xB10C: ACK bf1f913c4405cba35c8f99ec07b407940eb955b6 practicalswift: ACK bf1f913c4405cba35c8f99ec07b407940eb955b6 -- patch looks correct and is limited to `src/bitcoin-cli.cpp` Tree-SHA512: b9d18e5cc2ffd2bb9f0295b5ac7609da8a9bbecaf823a26dfa706b5f07d5d1a8343081dad98b16aa9dc8efd8f41bc1a4acdc40259727de622dc7195ccf59c572
| * cli -netinfo: display multiple levels of detailsJon Atack2020-09-021-9/+11
| |
| * cli: change -netinfo optional arg from bool to intJon Atack2020-08-311-7/+10
| |
| * cli: add getpeerinfo last_{block,transaction} to -netinfoJon Atack2020-08-311-4/+10
| |
| * cli: add -netinfo server version check and error messageJon Atack2020-08-311-1/+5
| |
| * cli: create peer connections report sorted by dir, minpingJon Atack2020-08-311-0/+35
| |
| * cli: create vector of Peer structs for peers dataJon Atack2020-08-311-1/+30
| |
| * cli: add NetType enum struct and NetTypeEnumToString()Jon Atack2020-08-311-0/+19
| |
| * cli: create local addresses, ports, and scores reportJon Atack2020-08-311-0/+11
| |
| * cli: create inbound/outbound peer connections reportJon Atack2020-08-311-2/+10
| |
| * cli: start dashboard report with chain and version headerJon Atack2020-08-311-1/+10
| |
| * cli: tally peer connections by typeJon Atack2020-08-311-0/+33
| |
| * cli: add ipv6 and onion address type detection helpersJon Atack2020-08-301-0/+17
| |
| * cli: create initial -netinfo option, NetinfoRequestHandler classJon Atack2020-08-301-0/+35
| |
* | Add in/out connections to cli -getinfoJon Atack2020-08-241-1/+7
|/
* scripted-diff: Replace gArgs with local argsmanIvan Metlushko2020-07-291-17/+17
| | | | | | -BEGIN VERIFY SCRIPT- sed -i -e 's/gArgs.Add/argsman.Add/g' `git grep -l "gArgs.Add"` -END VERIFY SCRIPT-
* refactor: add unused ArgsManager to replace gArgsIvan Metlushko2020-07-291-4/+4
|
* cli: reduce DefaultRequestHandler memory allocationsJon Atack2020-07-051-5/+5
|
* cli: add multiwallet capability to GetNewAddress and -generateJon Atack2020-06-021-1/+3
|
* cli: create bitcoin-cli -generate commandJon Atack2020-06-021-0/+30
|
* cli: extract ParseResult() and ParseError()Jon Atack2020-06-021-32/+42
| | | | and make callable higher up with (nRet == 0) check.
* cli: create GenerateToAddressRequestHandler classHarris2020-06-021-0/+22
|
* cli: create GetNewAddress()Jon Atack2020-06-021-0/+10
|
* Merge #19004: refactor: Replace const char* to std::stringMarcoFalke2020-05-271-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c57f03ce1741b38af448bec7b22ab9f8ac21f067 refactor: Replace const char* to std::string (Calvin Kim) Pull request description: Rationale: Addresses #19000 Some functions should be returning std::string instead of const char*. This commit changes that. Main benefits/reasoning: 1. The functions never return nullptr, so returning a string makes code at call sites easier to review (reviewers don't have to read the source code to verify that a nullptr is never returned) 2. All call sites convert to string anyway ACKs for top commit: MarcoFalke: re-ACK c57f03ce17 (no changes since previous review) 🚃 Empact: Fair enough, Code Review ACK https://github.com/bitcoin/bitcoin/pull/19004/commits/c57f03ce1741b38af448bec7b22ab9f8ac21f067 practicalswift: ACK c57f03ce1741b38af448bec7b22ab9f8ac21f067 -- patch looks correct hebasto: re-ACK c57f03ce1741b38af448bec7b22ab9f8ac21f067 Tree-SHA512: 9ce99bb38fe399b54844315048204cafce0f27fd8f24cae357fa7ac6f5d8094d57bbf5f5c1f5878a65f2d35e4a3f95d527eb17f49250b690c591c0df86ca84fd
| * refactor: Replace const char* to std::stringCalvin Kim2020-05-221-1/+2
| | | | | | | | | | Some functions should be returning std::string instead of const char*. This commit changes that.
* | rpc: drop unused JSONRPCProcessBatchReply size arg, refactorJon Atack2020-05-211-1/+1
| |
* | cli: use GetWalletBalances() functionality for -getinfoJon Atack2020-05-211-2/+4
| | | | | | | | | | and replace GetBoolArg with IsArgSet as we only want to know if the arg is passed; we do not need the value.
* | cli: create GetWalletBalances() to fetch multiwallet balancesJon Atack2020-05-211-0/+24
| |
* | cli: lift -rpcwallet logic up to CommandLineRPC()Jon Atack2020-05-211-10/+12
| | | | | | | | | | | | to allow passing rpcwallet independently from the -rpcwallet user option, and to move the logic to the top-level layer where most of the other option args are handled.
* | cli: extract connection exception handler, -rpcwait logicJon Atack2020-05-211-51/+64
|/ | | | | | | | | | | | to ConnectAndCallRPC() to be callable for individual connections. This is needed for RPCs that need to be called and handled sequentially, rather than alone or in a batch. For example, when fetching the balances for each loaded wallet, -getinfo will call RPC listwallets, and then, depending on the result, RPC getbalances. It may be somewhat helpful to review this commit with `git show -w`.
* build: fix ASLR for bitcoin-cli on Windowsfanquake2020-04-191-2/+10
| | | | | | | | | | | | | | | | | | | ASLR is not currently working for the bitcoin-cli.exe binary. This is due to it not having a .reloc section, which is stripped by default by the mingw-w64 ld we use for gitian builds. A good summary of issues with ld and mingw-w64 is available in this thread: https://sourceware.org/bugzilla/show_bug.cgi?id=19011. All other Windows binaries that we distribute (bitcoind, bitcoin-qt, bitcoin-wallet, bitcoin-tx and test_bitcoin) do not suffer this issue, and currently having working ASLR. This is due to them exporting (inadvertent or not) libsecp256k1 symbols, and, as a result, the .reloc section is not stripped by ld. This change is a temporary workaround, also the same one described here: https://www.kb.cert.org/vuls/id/307144/, that causes main() to be exported. Exporting a symbol will mean that the .reloc section is not stripped, and ASLR will function correctly.
* scripted-diff: Bump copyright headersMarcoFalke2020-04-161-1/+1
| | | | | | -BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
* Merge #18504: build: Drop bitcoin-tx and bitcoin-wallet dependencies on libeventMarcoFalke2020-04-101-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01a3392b1b778fa4fcf568013326d6ea1de4fb3b Drop bitcoin-wallet dependency on libevent (Russell Yanofsky) 0660119ac372c2863d14060ac1bc9bc243771f94 Drop unintended bitcoin-tx dependency on libevent (Russell Yanofsky) Pull request description: This fixes compile errors trying to build bitcoin-tx and bitcoin-wallet without libevent, which were reported by Luke Dashjr in https://github.com/bitcoin/bitcoin/issues/18465 The fix avoiding `bitcoin-tx` dependency on libevent just adds a conditional build rule. This is implemented in the first commit (more details in commit description). The fix avoiding `bitcoin-wallet` dependency on libevent requires minor code changes, because `bitcoin-wallet` (unlike `bitcoin-tx`) links against code that calls `urlDecode` / `evhttp_uridecode`. This fix is implemented in the second commit (again details in the commit description). ACKs for top commit: jonasschnelli: utACK 01a3392b1b778fa4fcf568013326d6ea1de4fb3b. Tree-SHA512: d2245e912ab494cccceeb427a1eca8e55b01a0006ff93eebcfb5461ae7cecd1083ac2de443d9db036b18bdc6f0fb615546caaa20c585046f66d234937f74870a
| * Drop bitcoin-wallet dependency on libeventRussell Yanofsky2020-04-021-0/+2
| | | | | | | | | | | | | | | | | | | | Don't require urlDecode function in wallet code since urlDecode implementation currently uses libevent. Just call urlDecode indirectly though URL_DECODE function pointer constant if available. In bitcoind and bitcoin-qt, URL_DECODE is implemented and used to interpret RPC wallet requests. In bitcoin-wallet, URL_DECODE is null to avoid depending on libevent.
* | cli -getinfo: use getbalances instead of deprecated getwalletinfo balanceJon Atack2020-04-091-4/+8
|/
* scripted-diff: Replace MilliSleep with UninterruptibleSleepMarcoFalke2020-02-211-1/+1
| | | | | | | | | | | | | This is safe because MilliSleep is never executed in a boost::thread, the only type of thread that is interruptible. * The RPC server uses std::thread * The wallet is either executed in an RPC thread or the main thread * bitcoin-cli, benchmarks and tests are only one thread (the main thread) -BEGIN VERIFY SCRIPT- sed -i --regexp-extended -e 's/MilliSleep\((\S+)\);/UninterruptibleSleep(std::chrono::milliseconds{\1});/g' $(git grep -l MilliSleep) -END VERIFY SCRIPT-
* scripted-diff: Bump copyright of files changed in 2019MarcoFalke2019-12-301-1/+1
| | | | | | -BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
* util: remove unwanted fields from bitcoin-cli -getinfomalevolent2019-12-041-3/+0
| | | | In accordance with #17314, Removing noisy fields from -getinfo. Fields removed: protocolversion, walletversion and keypoololdest. In addition to changing bitcoin-cli -getinfo, there is another change to test/functional/interface_bitcoin_cli.py. This change deletes tests that utilize removed -getinfo calls.
* cli: fix -getinfo output when compiled with no walletfanquake2019-11-041-1/+1
|