aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile.am
AgeCommit message (Collapse)Author
2015-11-15Switch to libsecp256k1-based validation for ECDSAPieter Wuille
2015-11-12Merge pull request #6639Wladimir J. van der Laan
58ef0ff doc: update docs for Tor listening (Wladimir J. van der Laan) 68ccdc4 doc: Mention Tor listening in release notes (Wladimir J. van der Laan) 09c1ae1 torcontrol improvements and fixes (Wladimir J. van der Laan) 2f796e5 Better error message if Tor version too old (Peter Todd) 8f4e67f net: Automatically create hidden service, listen on Tor (Wladimir J. van der Laan)
2015-11-10net: Automatically create hidden service, listen on TorWladimir J. van der Laan
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket API, to create and destroy 'ephemeral' hidden services programmatically. https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service This means that if Tor is running (and proper authorization is available), bitcoin automatically creates a hidden service to listen on, without user manual configuration. This will positively affect the number of available .onion nodes. - When the node is started, connect to Tor through control socket - Send `ADD_ONION` command - First time: - Make it create a hidden service key - Save the key in the data directory for later usage - Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on). - Keep control socket connection open for as long node is running. The hidden service will (by default) automatically go away when the connection is closed.
2015-11-09build: Split hardening/fPIE options outCory Fields
This allows for fPIE to be used selectively.
2015-10-23Remove coverage and test related files, when cleaning updexX7
Until now there were quite a few leftovers, and only the coverage related files in `src/` were cleaned, while the ones in the other dirs remained. `qa/tmp/` is related to the BitcoinJ tests, and `cache/` is related to RPC tests.
2015-10-22leveldbwrapper file rename to dbwrapper.*Jeff Garzik
2015-10-13build: univalue subdir build fixupsCory Fields
- Force a rebuild if the headers change - Only build the lib target - Clean univalue on 'make clean'
2015-10-09build: match upstream build changeCory Fields
2015-10-08build: Make use of ZMQ_CFLAGSCory Fields
2015-10-06Merge pull request #6733Wladimir J. van der Laan
7072c54 Support very-fast-running benchmarks (Gavin Andresen) 535ed92 Simple benchmarking framework (Gavin Andresen)
2015-10-01remove $(@F) and subdirs from univalue makeJonas Schnelli
2015-10-01[Univalue] add univalue over subtreeJonas Schnelli
similar to secp256k1 include and compile univalue over a subtree
2015-09-30Simple benchmarking frameworkGavin Andresen
Benchmarking framework, loosely based on google's micro-benchmarking library (https://github.com/google/benchmark) Wny not use the Google Benchmark framework? Because adding Even More Dependencies isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate timings of threaded code then switching to the full-blown Google Benchmark library should be considered. The benchmark framework is hard-coded to run each benchmark for one wall-clock second, and then spits out .csv-format timing information to stdout. It is left as an exercise for later (or maybe never) to add command-line arguments to specify which benchmark(s) to run, how long to run them for, how to format results, etc etc etc. Again, see the Google Benchmark framework for where that might end up. See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks 'sleep 100 milliseconds.' To compile and run benchmarks: cd src; make bench Sample output: Benchmark,count,min,max,average Sleep100ms,10,0.101854,0.105059,0.103881
2015-09-28build: Remove dependency of bitcoin-cli on secp256k1Wladimir J. van der Laan
bitcoin-cli (in contrast to bitcoin-tx, which does signing ops) shouldn't need secp256k1, and indeed it doesn't.
2015-09-16Add ZeroMQ support. Notify blocks and transactions via ZeroMQJeff Garzik
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
2015-09-04Merge pull request #5677Wladimir J. van der Laan
d528025 Revert "rpc-tests: re-enable rpc-tests for Windows" (Wladimir J. van der Laan) 1e700c9 doc: update deps in build-unix.md after libevent (Wladimir J. van der Laan) 26c9b83 Move windows socket init to utility function (Wladimir J. van der Laan) 4be0b08 libevent: Windows reuseaddr workaround in depends (Cory Fields) 3a174cd Fix race condition between starting HTTP server thread and setting EventBase() (Wladimir J. van der Laan) 6d2bc22 Document options for new HTTP/RPC server in --help (Wladimir J. van der Laan) be33f3f Implement RPCTimerHandler for Qt RPC console (Wladimir J. van der Laan) 57d85d9 doc: mention SSL support dropped for RPC in release notes (Wladimir J. van der Laan) 40b556d evhttpd implementation (Wladimir J. van der Laan) ee2a42b tests: GET requests cannot have request body, use POST in rest.py (Wladimir J. van der Laan) 6e996d3 tests: fix qt payment test (Cory Fields) 3140ef9 build: build-system changes for libevent (Wladimir J. van der Laan) a9af234 libevent: add depends (Cory Fields) 6a21dd5 Remove rpc_boostasiotocnetaddr test (Wladimir J. van der Laan) 8f9301c qa: Remove -rpckeepalive tests from httpbasics (Wladimir J. van der Laan) 51fcfc0 doc: remove documentation for rpcssl (Wladimir J. van der Laan)
2015-09-03Replace boost::reverse_lock with our own.Casey Rodarmor
2015-09-03evhttpd implementationWladimir J. van der Laan
- *Replace usage of boost::asio with [libevent2](http://libevent.org/)*. boost::asio is not part of C++11, so unlike other boost there is no forwards-compatibility reason to stick with it. Together with #4738 (convert json_spirit to UniValue), this rids Bitcoin Core of the worst offenders with regard to compile-time slowness. - *Replace spit-and-duct-tape http server with evhttp*. Front-end http handling is handled by libevent, a work queue (with configurable depth and parallelism) is used to handle application requests. - *Wrap HTTP request in C++ class*; this makes the application code mostly HTTP-server-neutral - *Refactor RPC to move all http-specific code to a separate file*. Theoreticaly this can allow building without HTTP server but with another RPC backend, e.g. Qt's debug console (currently not implemented) or future RPC mechanisms people may want to use. - *HTTP dispatch mechanism*; services (e.g., RPC, REST) register which URL paths they want to handle. By using a proven, high-performance asynchronous networking library (also used by Tor) and HTTP server, problems such as #5674, #5655, #344 should be avoided. What works? bitcoind, bitcoin-cli, bitcoin-qt. Unit tests and RPC/REST tests pass. The aim for now is everything but SSL support. Configuration options: - `-rpcthreads`: repurposed as "number of work handler threads". Still defaults to 4. - `-rpcworkqueue`: maximum depth of work queue. When this is reached, new requests will return a 500 Internal Error. - `-rpctimeout`: inactivity time, in seconds, after which to disconnect a client. - `-debug=http`: low-level http activity logging
2015-09-02build: build-system changes for libeventWladimir J. van der Laan
2015-07-20Separate core memory usage computation in core_memusage.hPieter Wuille
2015-06-26Policy: MOVEONLY: 3 functions to policy.o:Luke Dashjr
- [script/standard.o] IsStandard - [main.o] IsStandardTx - [main.o] AreInputsStandard Also, don't use namespace std in policy.cpp
2015-06-26Policy: MOVEONLY: Create policy/policy.h with some constantsJorge Timón
2015-06-04Remove JSON Spirit wrapper, remove JSON Spirit leftoversJonas Schnelli
- implement find_value() function for UniValue - replace all Array/Value/Object types with UniValues, remove JSON Spirit to UniValue wrapper - remove JSON Spirit sources
2015-06-04remove JSON Spirit UniValue wrapperJonas Schnelli
2015-06-04extend conversion to UniValueJonas Schnelli
2015-06-04Convert tree to using univalue. Eliminate all json_spirit uses.Jeff Garzik
2015-05-27Merge pull request #5669Wladimir J. van der Laan
da29ecb Consensus: MOVEONLY: Move CValidationState from main consensus/validation (jtimon) 27afcd8 Consensus: Refactor: Decouple CValidationState from main::AbortNode() (Cory Fields)
2015-05-22Merge pull request #6098Wladimir J. van der Laan
cc24610 Update Windows resource files (and add one for bitcoin-tx) (Luke Dashjr)
2015-05-22Update Windows resource files (and add one for bitcoin-tx)Luke Dashjr
2015-05-16Merge pull request #6062Wladimir J. van der Laan
ff7fe8b Fix for correctly including climits on certain platforms {DragonFlyBSD}. (sinetek)
2015-05-15Consensus: MOVEONLY: Move CValidationState from main consensus/validationjtimon
2015-05-15Merge pull request #6135Wladimir J. van der Laan
f13dac9 Comment edits and cleanup (BitcoinPRReadingGroup) ff734e9 Alphabetic order in makefile (Jorge Timón) 5207f33 fix header include groups (Philip Kaufmann) 59b149f remove unneeded incude of wallet/db.h from rpcmining.cpp (Philip Kaufmann) 3703385 remove unused classes from db.h (Philip Kaufmann) 0a7bcb7 fix IDE/compiler warning "extra ';'" in validationinterface.h (Philip Kaufmann) 3b00e7c [Trivial] Update COPYING (sandakersmann) dd9e688 Trivial: Corrected owner of DNS seeder (ayeowch) a60bfd8 [init] better message when no wallet support is compiled in (Philip Kaufmann) 78f44b6 Capitalized P2P (sandakersmann) 8e9248d [Trivial] Cryptocurrency is one word (sandakersmann) 803f51e Typo in GetRawMemPool RPC method help: "]" --> "}" (Chris Arnesen) 605a735 addrman: update comments (Pavel Vasin)
2015-05-15Merge pull request #6102Wladimir J. van der Laan
86a5f4b Relocate calls to CheckDiskSpace (Alex Morcos) 67708ac Write block index more frequently than cache flushes (Pieter Wuille) b3ed423 Cache tweak and logging improvements (Pieter Wuille) fc684ad Use accurate memory for flushing decisions (Pieter Wuille) 046392d Keep track of memory usage in CCoinsViewCache (Pieter Wuille) 540629c Add memusage.h (Pieter Wuille)
2015-05-14Merge pull request #5964Gavin Andresen
9a1dcea Use CScheduler for net's DumpAddresses (Gavin Andresen) ddd0acd Create a scheduler thread for lightweight tasks (Gavin Andresen) 68d370b CScheduler unit test (Gavin Andresen) cfefe5b scheduler: fix with boost <= 1.50 (Cory Fields) ca66717 build: make libboost_chrono mandatory (Cory Fields) 928b950 CScheduler class for lightweight task scheduling (Gavin Andresen) e656560 [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
2015-05-14CScheduler class for lightweight task schedulingGavin Andresen
Simple class to manage a task queue that is serviced by one or more threads.
2015-05-14Alphabetic order in makefileJorge Timón
2015-05-13Merge pull request #5159Wladimir J. van der Laan
b649e03 Create new BlockPolicyEstimator for fee estimates (Alex Morcos)
2015-05-13Create new BlockPolicyEstimator for fee estimatesAlex Morcos
This class groups transactions that have been confirmed in blocks into buckets, based on either their fee or their priority. Then for each bucket, the class calculates what percentage of the transactions were confirmed within various numbers of blocks. It does this by keeping an exponentially decaying moving history for each bucket and confirm block count of the percentage of transactions in that bucket that were confirmed within that number of blocks. -Eliminate txs which didn't have all inputs available at entry from fee/pri calcs -Add dynamic breakpoints and tracking of confirmation delays in mempool transactions -Remove old CMinerPolicyEstimator and CBlockAverage code -New smartfees.py -Pass a flag to the estimation code, using IsInitialBlockDownload as a proxy for when we are still catching up and we shouldn't be counting how many blocks it takes for transactions to be included. -Add a policyestimator unit test
2015-05-11Add memusage.hPieter Wuille
2015-04-25Fix for correctly including climits on certain platforms {DragonFlyBSD}.sinetek
2015-04-20Consensus: Create consensus/consensus.h with some constantsjtimon
2015-03-25Consensus: Refactor: Introduce Consensus::Params classJorge Timón
2015-03-24Includes: Refactor: Move CValidationInterface and CMainSignals out of mainJorge Timón
2015-03-22wallet: move crypter to walletCory Fields
2015-03-20Merge pull request #5745Wladimir J. van der Laan
50c72f2 [Move Only] Move wallet related things to src/wallet/ (Jonas Schnelli)
2015-03-20allocators: split allocators and pagelockerCory Fields
Pagelocker is only needed for secure (usually wallet) operations, so don't make the zero-after-free allocator depend on it.
2015-03-12[Move Only] Move wallet related things to src/wallet/Jonas Schnelli
could once be renamed from /src/wallet to /src/legacywallet.
2015-03-06build: Endian compatibilityWladimir J. van der Laan
- Detect endian instead of stopping configure on big-endian - Add `byteswap.h` and `endian.h` header for compatibility with Windows and other operating systems that don't come with them - Update `crypto/common.h` functions to use compat endian header
2015-03-03Merge pull request #5819Wladimir J. van der Laan
d23b0a2 depends: always use static qt5 for linux (Cory Fields) 3448b13 build: fix typo in configure help (Cory Fields) c95ac83 gitian: fix x86_64 build with static libstdc++ (Cory Fields) 0671516 build: change reduce exports/static libstdc++ options for gitian and travis (Cory Fields) aa36730 build: remove libstdc++ backwards-compat (Cory Fields) 3ee028f build: disable reduced exports by default (Cory Fields)
2015-03-02keys: remove libsecp256k1 verification until it's actually supportedCory Fields
This was added a while ago for testing purposes, but was never intended to be used. Remove it until upstream libsecp256k1 decides that verification is stable/ready.