Commit Graph
100 Commits
Author SHA1 Message Date
Jeff Garzik ed21d5bd4b Convert tree to using univalue. Eliminate all json_spirit uses. 2017-02-10 00:35:24 +00:00
Jeff Garzik 03912600e8 UniValue: export NullUniValue global constant 2017-02-10 00:35:24 +00:00
Jeff Garzik ec57cc0ffe UniValue: prefer .size() to .count(), to harmonize w/ existing tree 2017-02-10 00:35:24 +00:00
Jeff Garzik f200002cf3 Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
Continues Johnathan Corgan's work.
Publishing multipart messages

Bugfix: Add missing zmq header includes

Bugfix: Adjust build system to link ZeroMQ code for Qt binaries
2017-02-08 22:10:42 +00:00
Jeff Garzik 7f68c7dc05 contrib/linearize: Support linearization of testnet blocks 2015-05-20 15:27:51 -07:00
Jeff Garzik c2fa084611 Merge pull request #5983 2015-04-12 11:48:12 -04:00
Jeff Garzik 39d6b5fd42 Merge #5528 from
branch 'bitcoin-tx-copy-paste' of git://github.com/ers35/bitcoin into merge-5528
2014-12-31 08:57:55 -05:00
Jeff Garzik 664999eb87 Merge #5578 from
branch 'error_typos' of git://github.com/paveljanik/bitcoin into merge-5578
2014-12-31 08:00:37 -05:00
Jeff Garzik ccef2b5f26 Merge #5468 from
branch 'developer-notes_md' of git://github.com/fanquake/bitcoin into merge-5468
2014-12-31 07:42:24 -05:00
Jeff Garzik 95ecc0a857 Merge #4964 from
branch 'validateaddress-return-scriptpubkey' of git://github.com/petertodd/bitcoin into merge-4964
2014-12-31 07:05:14 -05:00
Jeff Garzik aa5c0d34b7 Merge #5111 from
branch 'core2' of git://github.com/jtimon/bitcoin into merge-5111
2014-12-31 06:48:42 -05:00
Jeff Garzik e3560029ce Merge pull request #5301 2014-11-18 12:11:17 -05:00
Jeff Garzik 7715c84747 HTTP REST: minor fixes
1) const-ify internal helper ParseHashStr()

2) use HTTPError() helper when returning HTTP_NOT_FOUND
2014-11-18 10:27:45 -05:00
Jeff Garzik 9445b876bd Merge pull request #2844 2014-11-18 10:17:22 -05:00
Jeff Garzik e2655e0ab1 Add unauthenticated HTTP REST interface to public blockchain data. 2014-11-11 04:52:43 -05:00
Jeff Garzik ff36cbe8d0 RPC getnetworkinfo: export local node's client sub-version string 2014-09-25 10:09:21 +02:00
Jeff Garzik a0a8700bc8 Merge pull request #4909 2014-09-14 19:27:22 -04:00
Jeff Garzik 540ac4514d Avoid returning many "inv" orphans 2014-09-09 09:26:52 +02:00
Jeff Garzik 399cdbc700 contrib/linearize: Add feature to set file's timestamp based on block header time. 2014-09-04 15:13:37 +02:00
Jeff Garzik 135a43df7b Merge pull request #4778 2014-08-29 20:22:06 -04:00
Jeff Garzik 76bc6cbf61 Merge pull request #4788 2014-08-29 20:14:53 -04:00
Jeff Garzik 309aa76d27 Merge pull request #4599 2014-08-29 15:23:13 -04:00
Jeff Garzik 11a899445e qt/splashscreen: #include version.h
Needed to build breakage reported by Arnavion on IRC:
qt/splashscreen.cpp: In constructor 'SplashScreen::SplashScreen(const QPixmap&, Qt::WindowFlags, bool)':
qt/splashscreen.cpp:33:98: error: 'FormatFullVersion' was not declared in this scope
2014-08-27 22:39:01 -04:00
Jeff Garzik 8f5a423344 contrib/linearize: split block files based on year-month, not just year 2014-08-24 01:40:40 -04:00
Jeff Garzik 75400a2a41 contrib/linearize: Guarantee that output is generated in-order
This was typically ensured implicitly by virtue of normal bitcoind
operation.  Adding an explicit check provides a stronger guarantee, and
it is cheap to add.
2014-08-24 01:18:24 -04:00
Jeff Garzik 087eb43cff Merge pull request #4757 2014-08-23 23:32:56 -04:00
Jeff Garzik b4a72a75b4 contrib/linearize: split output files based on new-timestamp-year or max-file-size 2014-08-23 22:59:16 -04:00
Jeff Garzik 476eb7eb53 Update linearize scripts.
Break into two steps:
* Generate hash list
* Build data file(s) from local bitcoind blocks/ directory.

This supports building one large bootstrap.dat, or multiple
smaller blocks/blkNNNNN.dat files.
2014-08-23 21:46:12 -04:00
Jeff Garzik 57fe1eaadc Merge pull request #4632 2014-08-23 12:59:55 -04:00
Jeff Garzik fac54dcb71 Merge pull request #4733 2014-08-22 10:35:39 -04:00
Jeff Garzik 9c31174992 Merge pull request #4744 2014-08-20 23:16:21 -04:00
Jeff Garzik f368af3d5d Merge pull request #4730 2014-08-20 22:47:00 -04:00
Jeff Garzik 7f836c66bd rpc_tests: use BOOST_CHECK_EQUAL
Upon failure, BOOST_CHECK_EQUAL provides additional diagnostic information,
displaying that data that failed to match.
2014-08-20 22:43:36 -04:00
Jeff Garzik dc271fc025 UniValue tests: use more BOOST_CHECK() 2014-08-20 01:09:21 -04:00
Jeff Garzik e85267be63 UniValue: add unit tests 2014-08-20 00:28:46 -04:00
Jeff Garzik dee9324a0b UniValue: compact (!pretty) output should not include extra whitespace 2014-08-20 00:27:49 -04:00
Jeff Garzik 42642c9695 UniValue: use correct setNumStr() input val, when setting number values 2014-08-20 00:27:42 -04:00
Jeff Garzik df4d61e681 Add bitcoin-tx tests
Testing: delin, delout, locktime, and basic createrawtransaction-like
functionality.
2014-08-19 23:15:58 -04:00
Jeff Garzik fb11427e54 Merge pull request #4624 2014-08-19 12:11:50 -04:00
Jeff Garzik fb14452c6c bitcoin-tx: Accept input via stdin. Add input handling to tests. 2014-08-19 10:29:10 -04:00
Jeff Garzik d789386371 Add "it works" test for bitcoin-tx 2014-08-19 10:28:58 -04:00
Jeff Garzik 0367329549 Merge branch '2014_univalue_warn' into merge-PR4715
Merge pull request #4715
2014-08-19 00:49:31 -04:00
Jeff Garzik 3a56de7fc3 addrman: Do not propagate obviously poor addresses onto the network 2014-08-18 16:50:39 -04:00
Jeff Garzik 3cceba7abb Univalue: Do not build JSON escape list at runtime
No need to waste startup time building something that can be done
at compile time.

This also resolves a clang++ warning originally reported in #4714,
univalue/univalue_write.cpp:33:12: warning: array subscript is of type 'char
escapes['"'] = "\\"";
^~~~

etc.
2014-08-18 10:36:21 -04:00
Jeff Garzik 6f2c26a457 Closely track mempool byte total. Add "getmempoolinfo" RPC.
Goal:  Gain live insight into the mempool.  Groundwork for future work
that caps mempool size.
2014-08-14 12:34:38 -04:00
Jeff Garzik c7b6117deb Create new signal for notification of new blocks. Use w/ -blocknotify 2014-08-14 12:32:34 -04:00
Jeff Garzik beb36e800c ui_interface: remove unused NotifyBlocksChanged signal 2014-08-14 12:19:54 -04:00
Jeff Garzik 36065cc529 Merge branch 'patch-4' of git://github.com/benhc123/bitcoin into merge-PR4653
Merge #4653
2014-08-08 13:45:48 -04:00
Jeff Garzik 70b9d36a2c Log "version" message IP addresses in client connect summary
The only other method of logging remote addresses is via

     -logips=1 -debug=net

which increases the logged activity by 100x or more.

Github-Pull: #4608
Amended-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-08-04 16:59:28 +02:00
Jeff Garzik 1045452fa5 Merge branch 'whyextern' of git://github.com/jtimon/bitcoin into merge-whyextern 2014-08-01 22:45:58 -04:00
Jeff Garzik de89257fc5 Merge branch 'merge-rawtx2' into merge-rawtx3 2014-08-01 06:18:58 -04:00
Jeff Garzik c7614f16d6 univalue: remove unused methods getArray, getObject 2014-07-30 23:25:30 -04:00
Jeff Garzik a715a643bc Merge branch 'rawtx' into merge-rawtx 2014-07-30 23:17:19 -04:00
Jeff Garzik b45e782071 Merge branch '2014_07_remove_pyminer' of git://github.com/laanwj/bitcoin into merge-pyminer 2014-07-29 13:40:38 -04:00
Jeff Garzik 6b5ee2e092 Update openssl.org URL to include https://
Suggested by whitj00.  Fixes #4595
2014-07-29 12:41:33 -04:00
Jeff Garzik 6fd59ee897 script.h: set_vch() should shift a >32 bit value
Source: http://www.viva64.com/en/b/0268/
2014-07-29 11:24:26 -04:00
Jeff Garzik cbe39a3852 Add "bitcoin-tx" command line utility and supporting modules.
This is a simple utility that provides command line manipulation of
a hex-encoded TX. The utility takes a hex string on the command line
as input, performs zero or more mutations, and outputs a hex string
to standard output.

This utility is also an intentional exercise of the "bitcoin library"
concept. It is designed to require minimal libraries, and works
entirely without need for any RPC or P2P communication.

See "bitcoin-tx --help" for command and options summary.
2014-07-29 11:13:27 -04:00
Jeff Garzik 3ce7e669e3 bitcoin-cli, rpcrawtransaction: harmonize "{" styling 2014-07-29 11:13:27 -04:00
Jeff Garzik b2aeaa7939 Move ParseScript() helper, becoming accessible outside src/test/ 2014-07-29 11:13:27 -04:00
Jeff Garzik ae775b5b31 Consolidate CTransaction hex encode/decode into core_io.h, core_{read,write}.cpp 2014-07-29 11:13:27 -04:00
Jeff Garzik 2e7009d67b Avoid querying DNS seeds, if we have open connections.
The goal is to increase independence and privacy.
2014-07-29 11:04:46 -04:00
Jeff Garzik 3da434a2ef Introduce option to disable relay/mining of bare multisig scripts in TX outputs
First and foremost, this defaults to OFF.

This option lets a node consider such transactions non-standard,
meaning they will not be relayed or mined by default, but other miners
are free to mine these as usual.
2014-07-18 10:16:47 -04:00
Jeff Garzik ed5769f536 Move AcceptedConnection class to rpcserver.h.
Also, add parens to HTTPReply() to assist readability.
2014-06-27 00:10:53 -04:00
Jeff Garzik 854d013012 RPC code movement: separate out JSON-RPC execution logic from HTTP server logic 2014-06-26 23:32:18 -04:00
Jeff Garzik c912e22db0 RPC cleanup: Improve HTTP server replies
1) support varying content types
2) support only sending the header
3) properly deliver error message as content, if HTTP error
4) move AcceptedConnection class to header, for wider use
2014-06-26 23:32:18 -04:00
Jeff Garzik e35b37b1b8 RPC client: Simplify command line string-to-JSON-value conversion code
By default, all command line parameters are converted into JSON string
values.  There is no need to manually specify the incoming type.

A binary decision "parse as string or JSON?" is all that's necessary.

Convert to a simple class, initialized at runtime startup, which offers
a quick lookup to answer "parse as JSON?" conversion question.

Future parameter conversions need only to indicate the method name
and zero-based index of the parameter needing JSON parsing.
2014-06-26 22:18:30 -04:00
Jeff Garzik b4ccf0a5c7 Merge pull request #4379 from Diapolo/cleanup_compat
small cleanup in src/compat .h and .cpp
2014-06-21 16:29:12 -04:00
Jeff Garzik 0cafb63025 bitcoin-cli, rpcclient: prefer EXIT_FAILURE cstdlib constant
A more complex construction via abs() yields the same end result.

Rebased-From: 34ff109
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-06-15 14:47:04 +02:00
Jeff Garzik 88df548dde base58: add paranoid return value checks 2014-06-11 23:20:37 -04:00
Jeff Garzik 3d7399cb17 Merge pull request #4318 from laanwj/2014_06_script_unused_debugging
Remove unused Print/PrintHex functions
2014-06-10 09:15:55 -04:00
Jeff Garzik 5795aaca26 Merge pull request #4294 from laanwj/2014_06_no_global_strwallet
Remove global strWalletFile
2014-06-05 09:09:50 -04:00
Jeff Garzik b8ac6cdf53 Merge pull request #4282 from jgarzik/fix-wallet-init
CWallet: fix nTimeFirstKey init, by making constructor init common code
2014-06-04 15:00:58 -04:00
Jeff Garzik c79897af31 Merge pull request #4247 from Diapolo/listen
rename fNoListen to fListen and move to net
2014-06-04 15:00:38 -04:00
Jeff Garzik d04fd3e2af CWallet: fix nTimeFirstKey init, by making constructor init common code
Don't repeat yourself etc.
2014-06-03 12:55:33 -04:00
Jeff Garzik ceb0757a3e Merge pull request #4164 from mbogosian/master
fixes #4163 (lockunspent help docs are (partially) wrong)
2014-05-10 01:04:38 -04:00
Jeff Garzik 7d0e9bcb8e doc/README.md: remove 'rc' label for 0.9.0 version, in title 2014-03-19 10:51:57 -04:00
Jeff Garzik a63f8b7b36 Merge pull request #3717 from djpnewton/wallet-txcount
add getwalletinfo RPC call with wallet transaction count
2014-03-10 13:37:03 -04:00
Jeff Garzik 8175c790eb script: reduce OP_RETURN standard relay bytes to 40
Per mailing list discussion.
2014-02-26 12:58:08 -05:00
Jeff Garzik beabca2be0 Merge pull request #3305 from mikehearn/fee_drop
Drop fees by 10x due to the persistently higher exchange rate.
2014-02-24 14:05:54 -05:00
Jeff Garzik c72204e568 Merge pull request #3718 from jgarzik/pubkey-size
script: tighten multisig non-standard rules: do not relay pubkeys above 65 bytes
2014-02-24 11:59:27 -05:00
Jeff Garzik 595b6d88d4 script: tighten multisig non-standard rules: do not relay pubkeys above 65 bytes 2014-02-21 02:26:51 -05:00
Jeff Garzik e051e65c21 Merge pull request #3659 from jgarzik/zapall
Add -zapwallettx function, a diagnostic tool to assist in wallet repair
2014-02-14 12:21:38 -05:00
Jeff Garzik 518f3bdae3 Add -zapwallettxes cli/config option, used for wallet recovery
This diagnostic tool removes all "tx" records from the wallet db,
then forces a full rescan, to rebuild "tx" records accurately.
2014-02-14 11:33:07 -05:00
Jeff Garzik 12e1fcc34e Merge pull request #3589 from Diapolo/english-reason
use english for all reason strings in IsStandardTx()
2014-01-27 23:58:24 -08:00
Jeff Garzik be2fb2d603 Merge pull request #3518 from Michagogo/linearize-start-value
Tweak linearize.py to give more flexibility
2014-01-12 11:31:43 -08:00
Jeff Garzik e8837b384d Merge pull request #3481 from cdecker/bitcoinstats_seed
Added new DNS seed from bitcoinstats.com.
2014-01-03 06:53:08 -08:00
Jeff Garzik e6b7e3dc79 Add -disablewallet option, to disable wallet support (and BDB) 2013-11-13 09:22:00 +01:00
Jeff Garzik f9ee7a032b init.cpp: cosmetic indent changes, preparing for no-wallet mode 2013-11-12 13:22:10 +01:00
Jeff Garzik fcb9f26466 Merge pull request #3127 from jgarzik/smells-like-json-spirit
Revert recent json-spirit changes
2013-10-22 07:25:54 -07:00
Jeff Garzik 406b1f05f6 Revert "JSON Spirit updated to v4.06"
This reverts commit 2227389fa8.
2013-10-22 05:43:46 -04:00
Jeff Garzik 0db9a805bd Revert "Switch to using raw_utf8"
This reverts commit 2ecb7555a9.
2013-10-22 05:43:38 -04:00
Jeff Garzik 5ad5e2d836 Merge pull request #3038 from Diapolo/Log_Shutdown
log start and end of Shutdown()
2013-10-03 06:16:06 -07:00
Jeff Garzik a79342479f Relay OP_RETURN data TxOut as standard transaction type 2013-10-02 11:49:43 -04:00
Jeff Garzik 28f6b8dbad RPC validateaddress: test pwalletMain for NULL (no-wallet mode) 2013-10-02 05:51:13 -04:00
Jeff Garzik 19e5ae7369 Merge branch 'pwalletmain' - checking pwalletMain for NULL,
a pre-req for no-wallet support.
2013-10-01 16:18:50 -04:00
Jeff Garzik b0730874d9 Support absence of wallet (pwalletMain==NULL) in several locations,
notably RPC.
2013-10-01 16:14:37 -04:00
Jeff Garzik 19c415b1cf Merge pull request #2888 from litecoin-project/getnetworkhashps
Add getnetworkhashps to get the estimated network hashrate
2013-10-01 07:09:04 -07:00
Jeff Garzik 2e9c8aed31 configure.ac: remove unneeded OSX flags 2013-09-18 08:21:39 -04:00
Jeff Garzik 87d7a0ee10 Merge pull request #3011 from jgarzik/autoconf
configure.ac: remove debug/release concept, prefer autotools default CXXFLAGS
2013-09-18 05:18:21 -07:00
Jeff Garzik 8bd6d19a92 configure.ac: remove debug/release concept, prefer autotools default CXXFLAGS 2013-09-18 07:58:05 -04:00