aboutsummaryrefslogtreecommitdiff
path: root/src/bitcoinrpc.cpp
AgeCommit message (Collapse)Author
2013-11-27Split up bitcoinrpc (code movement only)Wladimir J. van der Laan
Split bitcoinrpc up into - rpcserver: bitcoind RPC server - rpcclient: bitcoin-cli RPC client - rpcprotocol: shared common HTTP/JSON-RPC protocol code One step towards making bitcoin-cli independent from the rest of the code, and thus a smaller executable that doesn't have to be linked against leveldb. This commit only does code movement, there are no functional changes.
2013-11-22setgenerate creates multiple blocks in -regtest modeGavin Andresen
I'm writing some wallet regression tests using -regtest mode, and need to generate an initial multi-hundred-block chain. Repeatedly calling setgenerate to generate one block is slow and doesn't work properly, because block creation happens asynchronously. This adds two features to setgenerate in -regtest mode: 1) Instead of being interpreted as number of threads to start, the third argument is the number of blocks to generate. 2) setgenerate will not return until the block creation threads have created the requested number of blocks.
2013-11-20Merge pull request #3283 from gavinandresen/rpcwaitGavin Andresen
RPC client option: -rpcwait, to wait for server start
2013-11-20RPC client option: -rpcwait, to wait for server startGavin Andresen
2013-11-15core: remove includes in .cpp, if header is already in .hPhilip Kaufmann
- example: if util.h includes stdint.h, remove it from util.cpp, as util.h is the first header included in util.cpp
2013-11-13Issue #1865 - Clean up RPC help messagessje
Based on the proposal, update the help message of rpc methods - strings arguments are in double quotes rather than square brackets - numeric arguments have no quotes (and no default value) - optional parameters are surrounded by round brackets - json arguments are strings but don't use double quotes Added 3 sections for the details - Arguments: lists each argument, it's type, required or not, a default, and a description - Result: The method result, with json format if applicable, type, and a description - Examples: examples calls using bitcoin-cli and curl for json rpc call Problems - maybe this is too verbose - lines might be too long - description are not good or complete - examples may be too much
2013-11-10Cleanup code using forward declarations.Brandon Dahler
Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
2013-10-26Break dependency of init on wallet.Pieter Wuille
This required some code movement (what was CWalletTx::AcceptToMemoryPool doing in main?), and adding a few explicit includes that used to be implicit through init.h.
2013-10-22Revert "JSON Spirit updated to v4.06"Jeff Garzik
This reverts commit 2227389fa8fa1b9ff19234838fc7b641e935125b.
2013-10-22Revert "Switch to using raw_utf8"Jeff Garzik
This reverts commit 2ecb7555a9df1e843fd25f588819e4ca1d94b266.
2013-10-22Merge pull request #2740 from constantined/constantinedGavin Andresen
UTF-8 support for JSON-RPC
2013-10-20Merge pull request #3104 from Diapolo/rpcssl-defaultciphersGavin Andresen
update default -rpcsslciphers to include TLSv1.2
2013-10-20Merge pull request #3119Pieter Wuille
db0e8cc Bump Year Number to 2013 (super3)
2013-10-20Bump Year Number to 2013super3
2013-10-17update default -rpcsslciphers to include TLSv1.2Philip Kaufmann
- this extends the accepted ciphersuites with TLSv1.2 ones - also removes !AH, as I could not find documentation on it and the change did not result in a changed ciphersuite list (checked via openssl ciphers -v) - closes #3096 (which also contains more details)
2013-10-15Merge pull request #2924 from sje397/TrafficGraphWladimir J. van der Laan
[QT] Add network traffic graph to debug window
2013-10-15Avoid core dump if rpc port is in use.Gavin Andresen
The cleanup code needs to check for NULL rpcworkers thread group.
2013-10-14Add network traffic graphScott Ellis
2013-10-04Added ping time measurement.Josh Lehan
New RPC "ping" command to request ping. Implemented "pong" message handler. New "pingtime" field in getpeerinfo, to provide results to user. New "pingwait" field, to show pings still in flight, to better see newly lagging peers.
2013-10-01Support absence of wallet (pwalletMain==NULL) in several locations,Jeff Garzik
notably RPC.
2013-10-01Merge pull request #2888 from litecoin-project/getnetworkhashpsJeff Garzik
Add getnetworkhashps to get the estimated network hashrate
2013-10-01misc small spelling/indentation fixesPhilip Kaufmann
2013-09-22Merge pull request #2949 from gmaxwell/fewer_fee_footgunsGavin Andresen
[raw] reject insanely high fees by default in sendrawtransaction
2013-09-18Replace printf with LogPrintf / LogPrintGavin Andresen
2013-09-17Add getnetworkhashps to get the calculated network hashratecoblee
2013-09-12Add RPC call decodescriptPeter Todd
2013-09-12Move Parse{Hash|Hex} to be usable by all RPC codePeter Todd
2013-08-28[raw] reject insanely high fees by default in sendrawtransactionGregory Maxwell
There have been several incidents where mainnet experimentation with raw transactions resulted in insane fees. This is hard to prevent in the raw transaction api because the inputs may not be known. Since sending doesn't work if the inputs aren't known, we can catch it there. This rejects fees > than 10000 * nMinRelayTxFee or 1 BTC with the defaults and can be overridden with a bool at the rpc.
2013-08-28RPC: add getrawchangeaddress, for raw transaction change destinationsJeff Garzik
2013-08-15Merge pull request #2886 from gavinandresen/rpctimingGavin Andresen
Make RPC password resistant to timing attacks
2013-08-14Merge pull request #2776 from jgarzik/keypoolsizeGavin Andresen
RPC: keypoolrefill now permits optional size parameter, to bump keypool
2013-08-08Make RPC password resistant to timing attacksGavin Andresen
Fixes issue#2838; this is a tweaked version of pull#2845 that should not leak the length of the password and is more generic, in case we run into other situations where we need timing-attack-resistant comparisons.
2013-07-31Remove #define loop from util.hGavin Andresen
Replace the loop macro with while (true). The #define caused problems for Qt.
2013-07-23Switch to using raw_utf8constantined
2013-07-23JSON Spirit updated to v4.06constantined
2013-07-03RPC: add getbestblockhash, to return tip of best chainJeff Garzik
2013-06-25RPC: keypoolrefill gains optional size parameterJeff Garzik
2013-06-23Merge pull request #2592 from sipa/dumpwalletPieter Wuille
Add dumpwallet and importwallet RPC commands
2013-06-22Merge pull request #2778 from jgarzik/rpc-verifydbJeff Garzik
RPC: add 'verifychain' to verify chain database at runtime
2013-06-22Add dumpwallet and importwallet RPCsPieter Wuille
dumpwallet: produce a dump of all keys in a wallet, in a format compatible with Bitcoin Wallet for Android and Multibit. importwallet: import such a dump
2013-06-19RPC: add 'verifychain', to verify chain database at runtimeJeff Garzik
2013-06-19Introduce a CChainParameters singleton class and regtest mode.Mike Hearn
The new class is accessed via the Params() method and holds most things that vary between main, test and regtest networks. The regtest mode has two purposes, one is to run the bitcoind/bitcoinj comparison tool which compares two separate implementations of the Bitcoin protocol looking for divergence. The other is that when run, you get a local node which can mine a single block instantly, which is highly convenient for testing apps during development as there's no need to wait 10 minutes for a block on the testnet.
2013-06-10Merge pull request #2747 from luke-jr/getblock_verbose0Jeff Garzik
Add verbose flag to getblock RPC so it is possible to get hex dumps of blocks
2013-06-07RPC: getblock(): Accept 2nd "verbose" parameter, similar to ↵Luke Dashjr
getrawtransaction, but defaulting to 1 for backward compatibility
2013-06-01remove GetBoolArg() fDefault parameter defaulting to falsePhilip Kaufmann
- explicitly set the default of all GetBoolArg() calls - rework getarg_test.cpp and util_tests.cpp to cover this change - some indentation fixes - move macdockiconhandler.h include in bitcoin.cpp to the "our headers" section
2013-05-30Merge pull request #2716 from laanwj/2013_05_30_getworkJeff Garzik
Move pMiningKey init out of StartRPCThreads
2013-05-30Merge pull request #2625 from gavinandresen/walletlock_asioJeff Garzik
Use boost::asio::deadline_timer for walletpassphrase timeout
2013-05-30Move pMiningKey init out of StartRPCThreadsWladimir J. van der Laan
This commit decouples the pMiningKey initialization and shutdown from the RPC threads. `getwork` and `getblocktemplate` rely on pMiningKey, and can also be ran from the debug window in the UI even when the RPC server is not running. Solves issue #2706.
2013-05-23Clean up mining CReserveKey to prevent crash at shutdownGavin Andresen
Fixes issue#2687
2013-05-07Use boost::asio::deadline_timer for walletpassphrase timeoutGavin Andresen
New method in bitcoinrpc: RunLater, that uses a map of deadline timers to run a function later. Behavior of walletpassphrase is changed; before, calling walletpassphrase again before the lock timeout passed would result in: Error: Wallet is already unlocked. You would have to call lockwallet before walletpassphrase. Now: the last walletpassphrase with correct password wins, and overrides any previous timeout. Fixes issue# 1961 which was caused by spawning too many threads. Test plan: Start with encrypted wallet, password 'foo' NOTE: python -c 'import time; print("%d"%time.time())' ... will tell you current unix timestamp. Try: walletpassphrase foo 600 getinfo EXPECT: unlocked_until is about 10 minutes in the future walletpassphrase foo 1 sleep 2 sendtoaddress mun74Bvba3B1PF2YkrF4NsgcJwHXXh12LF 11 EXPECT: Error: Please enter the wallet passphrase with walletpassphrase first. walletpassphrase foo 600 walletpassphrase foo 0 getinfo EXPECT: wallet is locked (unlocked_until is 0) walletpassphrase foo 10 walletpassphrase foo 600 getinfo EXPECT: wallet is unlocked until 10 minutes in future walletpassphrase foo 60 walletpassphrase bar 600 EXPECT: Error, incorrect passphrase getinfo EXPECT: wallet still scheduled to lock 60 seconds from first (successful) walletpassphrase