Bitcoin Core
Bitcoin Core


HomeFinanceBitcoin Core
Bitcoin Core free download for Mac

Bitcoin Core for Mac0.21.0

18 January 2021

Experimental digital currency.

What is Bitcoin Core for Mac

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

The software is a community-driven Open Source project, released under the MIT license.

What's new in Bitcoin Core

Version 0.21.0:
  • BIP-325: Signet (kallewoof)
  • uint256: 1 is a constant (ajtowns)
  • Fix misleading error message: Clean stack rule (sanket1729)
  • Implement BIP 340-342 validation (Schnorr/taproot/tapscript) (sipa)
  • Taproot follow-up: Make ComputeEntrySchnorr and ComputeEntryECDSA const to clarify contract (practicalswift)
  • Disable fee estimation in blocksonly mode (darosior)
  • Cleanup fee estimation code (darosior)
  • Only relay Taproot spends if next block has it active (sipa)
  • Fix GBT: Restore "!segwit" and "csv" to "rules" key (luke-jr)
  • Add privacy to the Overview page (hebasto)
  • Do not answer GETDATA for to-be-announced tx (sipa)
  • Mempool tracks locally submitted transactions to improve wallet privacy (amitiuttarwar)
  • Only allow getdata of recently announced invs (sipa)
Block and transaction handling:
  • Add ChainstateManager, remove BlockManager global (jamesob)
  • indexes: Add compact block filter headers cache (jnewbery)
  • Faster sigcache nonce (JeremyRubin)
  • Use std::chrono throughout some validation functions (fanquake)
  • Make VerifyDB level 4 interruptible (MarcoFalke)
  • Flush undo files after last block write (kallewoof)
  • log: Properly log txs rejected from mempool (MarcoFalke)
  • Remove unnecessary input blockfile SetPos (dgenr8)
  • log: Avoid treating remote misbehvior as local system error (MarcoFalke)
  • Use wtxid for transaction relay (sdaftuar)
  • coins: allow cache resize after init (jamesob)
  • Avoid locking CTxMemPool::cs recursively in simple cases (hebasto)
  • Remove CTxMempool::mapLinks data structure member (JeremyRubin)
  • Reduce direct g_chainman usage (dongcarl)
  • log: print unexpected version warning in validation log category (n-thumann)
  • signet: Add assumed values for default signet (MarcoFalke)
  • chainparams: do not log signet startup messages for other chains (jonatack)
  • re-delegate absurd fee checking from mempool to clients (glozow)
  • signet: Fix uninitialized read in validation (MarcoFalke)
  • Bugfix: chainparams: Add missing (always enabled) Taproot deployment for Signet (luke-jr)
  • Update assumed chain params (MarcoFalke)
  • Avoid signed integer overflow when loading a mempool.dat file with a malformed time field (practicalswift)
  • script: Disallow silent bool -> cscript conversion (MarcoFalke)
  • script: Remove undocumented and unused operator+ (MarcoFalke)
  • Add a left-justified width field to log2_work component for a uniform debug.log output (jamesgmorgan)
P2P protocol and network code:
  • Limit BIP37 filter lifespan (active between filterload..filterclear) (theStack)
  • Remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix (theStack)
  • Improve asmap checks and add sanity check (sipa)
  • Serve cfcheckpt requests (jnewbery)
  • Unbroadcast followups: rpcs, nLastResend, mempool sanity check (gzhao408)
  • net processing: Add support for getcfheaders (jnewbery)
  • Delay querying DNS seeds (ajtowns)
  • Unbroadcast follow-ups (amitiuttarwar)
  • Add support for getcfilters (jnewbery)
  • improve code documentation for dns seed behaviour (ajtowns)
  • disconnect peers that send filterclear + update existing filter msg disconnect logic (gzhao408)
  • Add to DNS seeds (wiz)
  • split PushInventory() (jnewbery)
  • Reduce inv traffic during IBD (MarcoFalke)
  • banlist: log post-swept banlist size at startup (fanquake)
  • Extract download permission from noban (MarcoFalke)
  • Drop CADDR_TIME_VERSION checks now that MIN_PEER_PROTO_VERSION is greater (Empact)
  • net, rpc: remove -banscore option, deprecate banscore in getpeerinfo (jonatack)
  • [net/net processing] check banman pointer before dereferencing (jnewbery)
  • banscore updates to gui, tests, release notes (jonatack)
  • improve encapsulation of CNetAddr (vasild)
  • disambiguate block-relay-only variable names from blocksonly variables (glowang)
  • Add -networkactive option (hebasto)
  • [net processing] Reduce cs_main scope in MaybeDiscourageAndDisconnect() (jnewbery)
  • clean up Misbehaving() (jnewbery)
  • save the network type explicitly in CNetAddr (vasild)
  • Enable fetching of orphan parents from wtxid peers (sipa)
  • Cache responses to GETADDR to prevent topology leaks (naumenkogs)
  • Deduplicate parent txid loop of requested transactions and missing parents of orphan transactions (sdaftuar)
  • Cleanup logic around connection types (amitiuttarwar)
  • Signal support for compact block filters with NODE_COMPACT_FILTERS (jnewbery)
  • Shrink CAddress from 48 to 40 bytes on x64 (vasild)
  • Move ProcessMessage() to PeerLogicValidation (jnewbery)
  • Change CNetAddr::ip to have flexible size (vasild)
  • Remove old check for 3-byte shifted IP addresses from pre-0.2.9 nodes (#19797)
  • Add Peer struct for per-peer data in net processing (jnewbery)
  • improve nLastBlockTime and nLastTXTime documentation (jonatack)
  • Cleanup connection types- followups (amitiuttarwar)
  • Protect localhost and block-relay-only peers from eviction (sdaftuar)
  • Increase the ip address relay branching factor for unreachable networks (sipa)
  • Miscellaneous wtxid followups (amitiuttarwar)
  • Improvements on ADDR caching (naumenkogs)
  • Unify Send and Receive protocol versions (hebasto)
  • CNetAddr: add support to (un)serialize as ADDRv2 (vasild)
  • Move all header verification into the network layer, extend logging (troygiorshev)
  • Exit with error message if -proxy is specified without arguments (instead of continuing without proxy server) (practicalswift)
  • Use alternative port for incoming Tor connections (hebasto)
  • Ignore unknown messages before VERACK (sdaftuar)
  • Complete the BIP155 implementation and upgrade to TORv3 (vasild)
  • BIP155 follow-ups (sipa)
  • Overhaul transaction request logic (sipa)
  • Try to preserve outbound block-relay-only connections during restart (hebasto)
  • Guard vRecvGetData with cs_vRecv and orphan_work_set with g_cs_orphans (narula)
  • Don’t add AlreadyHave transactions to recentRejects (troygiorshev)
  • Test-before-evict bugfix and improvements for block-relay-only peers (sdaftuar)
  • Hardcoded seeds update for 0.21 (laanwj)
  • Fix output of peer address in version message (vasild)
  • Ensure old versions don’t parse peers.dat (vasild)
  • Avoid calculating onion address checksum when version is not 3 (lontivero)
  • Don’t send ‘sendaddrv2’ to pre-70016 software, and send before ‘verack’ (sipa)
  • Move signet onion seed from v2 to v3 (Sjors)
  • Exit selection when best_waste is 0 (achow101)
  • Prefer full destination groups in coin selection (fjahr)
  • Allow transaction without change if keypool is empty (Sjors)
  • Replace -upgradewallet startup option with upgradewallet RPC (achow101)
  • Add BlockUntilSyncedToCurrentChain to dumpwallet (MarcoFalke)
  • Native Descriptor Wallets using DescriptorScriptPubKeyMan (achow101)
  • Recommend absolute path for dumpwallet (MarcoFalke)
  • Reverse cs_main, cs_wallet lock order and reduce cs_main locking (ariard)
  • Avoid translating RPC errors (MarcoFalke)
  • Make sure no DescriptorScriptPubKeyMan or WalletDescriptor members are left uninitialized after construction (practicalswift)
  • Remove CWalletTx merging logic from AddToWallet (ryanofsky)
  • Include a checksum of encrypted private keys (achow101)
  • Keep inactive seeds after sethdseed and derive keys from them as needed (achow101)
  • Move salvagewallet into wallettool (achow101)
  • Fix for confirmed column in csv export for payment to self transactions (benthecarman)
  • Error if an explicit fee rate was given but the needed fee rate differed (kallewoof)
  • Skip hdKeypath of ‘m’ when determining inactive hd seeds (achow101)
  • Disallow automatic conversion between disparate hash types (Empact)
  • Check size after unserializing a pubkey (elichai)
  • sendtoaddress/sendmany: Add explicit feerate option (kallewoof)
  • Fix ZapSelectTx to sync wallet spends (bvbfan)
  • Never schedule MaybeCompactWalletDB when -flushwallet is off (MarcoFalke)
  • walletdb: Don’t reinitialize desc cache with multiple cache entries (achow101)
  • walletdb: Don’t remove database transaction logs and instead error (achow101)
  • Introduce WalletDatabase abstract class (achow101)
  • Cleanup and separate BerkeleyDatabase and BerkeleyBatch (achow101)
  • Introduce and use DummyDatabase instead of dummy BerkeleyDatabase (achow101)
  • Wallet should not override signing errors (fjahr)
  • Do not turn OP_1NEGATE in scriptSig into 0x0181 in signing code (sipa) (meshcollider)
  • Cleanup wallettool salvage and walletdb extraneous declarations (achow101)
  • Add loadwallet and createwallet load_on_startup options (ryanofsky)
  • Replace GetScriptForWitness with GetScriptForDestination (meshcollider)
  • always do avoid partial spends if fees are within a specified range (kallewoof)
  • -maxapsfee follow-up (kallewoof)
  • GetWalletTx and IsMine require cs_wallet lock (promag)
  • Remove -zapwallettxes (achow101)
  • Avoid deserializing unused records when salvaging (achow101)
  • wallet, gui: Reload previously loaded wallets on startup (achow101)
  • Avoid multiple BerkeleyBatch in DelAddressBook (promag)
  • bugfix: make LoadWallet assigns status always (AkioNak)
  • The ultimate send RPC (Sjors)
  • Remove the automatic creation and loading of the default wallet (achow101)
  • send* RPCs in the wallet returns the "fee reason" (stackman27)
  • Remove db mode string (S3RK)
  • Add sqlite as an alternative wallet database and use it for new descriptor wallets (achow101)
  • Expose database format in getwalletinfo (promag)
  • Show name, format and if uses descriptors in bitcoin-wallet tool (jonasschnelli)
  • Fix buffer over-read in SQLite file magic check (theStack)
  • Make -wallet setting not create wallets (ryanofsky)
  • Fix bug when just created encrypted wallet cannot get address (hebasto)
  • Change upgradewallet return type to be an object (jnewbery)
  • Explicit fee rate follow-ups/fixes for 0.21 (jonatack)
  • Ignore (but warn) on duplicate -wallet parameters (jonasschnelli)
  • Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase (MarcoFalke)
  • Fix change detection of imported internal descriptors (achow101)
  • Do not import a descriptor with hardened derivations into a watch-only wallet (S3RK)
  • Fix scanning progress calculation for single block range (theStack)
  • Bugfix: Wallet: Soft-fail exceptions within ListWalletDir file checks (luke-jr)
  • Fix potential division by 0 in WalletLogPrintf (jonasschnelli)
  • Upgradewallet fixes and additional tests (achow101)
  • Do not return warnings from UpgradeWallet() (stackman27)
  • Introduce fee_rate sat/vB param/option (jonatack)
  • Allow zero-fee fundrawtransaction/walletcreatefundedpsbt and other fixes (jonatack)
  • wallet, bugfix: allow send with string fee_rate amounts (jonatack)
RPC and other APIs:
  • cli: Call getbalances.ismine.trusted instead of getwalletinfo.balance (jonatack)
  • Add generateblock to mine a custom set of transactions (andrewtoth)
  • Remove deprecated migration code (vasild)
  • Remove deprecated "size" from mempool txs (vasild)
  • Improve documentation and return value of settxfee (fjahr)
  • Fix named arguments in documentation (MarcoFalke)
  • doc: Fix and extend getblockstats examples (asoltys)
  • Prevent valgrind false positive in rest_blockhash_by_height (ryanofsky)
  • log: Remove "No rpcpassword set" from logs (MarcoFalke)
  • Avoid crash when g_thread_http was never started (MarcoFalke)
  • cli: Display multiwallet balances in -getinfo (jonatack)
  • Make gettxoutsetinfo/GetUTXOStats interruptible (MarcoFalke)
  • Remove special case for unknown service flags (MarcoFalke)
  • Expose txinwitness for coinbase in JSON form from RPC (rvagg)
  • Rephrase generatetoaddress help, and use PACKAGE_NAME (luke-jr)
  • don’t automatically append inputs in walletcreatefundedpsbt (Sjors)
  • Remove deprecated getaddressinfo fields (jonatack)
  • rpc, cli, test: add bitcoin-cli -generate command (jonatack)
  • Deprecate banscore field in getpeerinfo (jonatack)
  • Dump transaction version as an unsigned integer in RPC/TxToUniv (TheBlueMatt)
  • Deduplicate WriteHDKeypath() used in decodepsbt (theStack)
  • Avoid useless mempool query in gettxoutproof (MarcoFalke)
  • RPCResult Type of MempoolEntryDescription should be OBJ (stylesuxx)
  • Document getwalletinfo’s unlocked_until field as optional (justinmoon)
  • Allow RPC to fetch all addrman records and add records to addrman (jnewbery)
  • Fix addnode remove command error (fjahr)
  • Separate bumpfee’s psbt creation function into psbtbumpfee (achow101)
  • Catch listsinceblock target_confirmations exceeding block count (adaminsky)
  • Document returned error fields as optional if applicable (theStack)
  • rpc generate: print useful help and error message (jonatack)
  • Add listindices RPC (fjahr)
  • Validate provided keys for query_options parameter in listunspent (PastaPastaPasta)
  • fundrawtransaction and walletcreatefundedpsbt also lock manually selected coins (Sjors)
  • zmq: Enable TCP keepalive (mruddy)
  • Add network in/out connections to getnetworkinfo and -getinfo (jonatack)
  • rawtransaction: Fix argument in combinerawtransaction help message (pinheadmz)
  • Return fee and vsize from testmempoolaccept (gzhao408)
  • zmq: Small cleanups in the ZMQ code (domob1812)
  • Assert that RPCArg names are equal to CRPCCommand ones (MarcoFalke)
  • Add connection type to getpeerinfo, improve logs (amitiuttarwar)
  • Send RPC bug fix and touch-ups (Sjors)
  • zmq: Add support to listen on multiple interfaces (n-thumann)
  • Set HTTP Content-Type in bitcoin-cli (laanwj)
  • Improve invalid vout value rpc error message (n1rna)
  • Change no wallet loaded message to be clearer (achow101)
  • Add via_tor to getpeerinfo output (hebasto)
  • getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions") (luke-jr)
  • net, rpc, test, bugfix: update GetNetworkName, GetNetworksInfo, regression tests (jonatack)
  • Improve heuristic hex transaction decoding (sipa)
  • Add missing description of vout in getrawtransaction help text (benthecarman)
  • Add gettxoutsetinfo hash_type option (fjahr)
  • Expose nLastBlockTime/nLastTXTime as last block/last_transaction in getpeerinfo (jonatack)
  • zmq: Create "sequence" notifier, enabling client-side mempool tracking (instagibbs)
  • Expose peer network in getpeerinfo; simplify/improve -netinfo (jonatack)
  • Avoid redundant tx status updates (ryanofsky)
  • Use PACKAGE_NAME in exception message (fanquake)
  • Save and load PSBT (Sjors)
  • Remove bug fix for Qt
  • Add close window shortcut (IPGlider)
  • Bilingual GUI error messages (hebasto)
  • Do not translate InitWarning messages in debug.log (hebasto)
  • Use NotificationStatus enum for signals to GUI (hebasto)
  • Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged (ryanofsky)
  • Fix height of QR-less ReceiveRequestDialog (hebasto)
  • Hide non PKHash-Addresses in signing address book (emilengler)
  • Disable unavailable context menu items in transactions tab (kristapsk)
  • Ensure that ModalOverlay is resized properly (hebasto)
  • Balance/TxStatus polling update based on last block hash (furszy)
  • Use parent-child relation to manage lifetime of OptionsModel object (hebasto)
  • Fix shutdown when waitfor* cmds are called from RPC console (hebasto)
  • Add Close All Wallets action (promag)
  • lock cs_main, m_cached_tip_mutex in that order (vasild)
  • Display warnings as rich text (hebasto)
  • add missing translation.h include to fix build (fanquake)
  • "PSBT Operations" dialog (gwillen)
  • Change combiner for signals to optional_last_value (fanquake)
  • Reset toolbar after all wallets are closed (hebasto)
  • increase console command max length (10xcryptodev)
  • Fix regression in txoutset in GUI console (hebasto)
  • Get rid of cursor in out-of-focus labels (hebasto)
  • Reduce cs_main lock accumulation during GUI startup (jonasschnelli)
  • Remove usage of boost::bind (fanquake)
  • Fix QPainter non-determinism on macOS (0.21 backport) (laanwj)
  • guiDo not truncate node flag strings in debugwindow peers details tab (Saibato)
  • guiFix regression in TransactionTableModel (hebasto)
  • guidoc: Remove outdated comment in TransactionTablePriv (MarcoFalke)
  • guiWrap tooltips in the intro window (hebasto)
  • guiDisable the main window toolbar when the modal overlay is shown (hebasto)
  • guiShow permissions instead of whitelisted (laanwj)
  • guiParse params directly instead of through node (ryanofsky)
  • guiAdd visual accenting for the ‘Create new receiving address’ button (hebasto)
  • guiClarify block height label (hebasto)
  • guibugfix: Call setWalletActionsEnabled(true) only for the first wallet (hebasto)
  • guiRelax GUI freezes during IBD (jonasschnelli)
  • guiFix visual quality of text in QR image (hebasto)
  • guiSlight improve create wallet dialog (Sjors)
  • guiFix SplashScreen crash when run with -disablewallet (hebasto)
  • guiFix unreasonable default size of the main window without loaded wallets (hebasto)
  • guiFix multiwallet transaction notifications (promag)
Build system:
  • Drop bitcoin-tx and bitcoin-wallet dependencies on libevent (ryanofsky)
  • Bump gitian descriptors to 0.21 (laanwj)
  • guix: Enable building for x86_64-w64-mingw32 target (dongcarl)
  • add linker optimisation flags to gitian & guix (Linux) (fanquake)
  • Drop make dist in gitian builds (hebasto)
  • ensure we aren’t using GNU extensions (fanquake)
  • guix: Make source tarball using git-archive (dongcarl)
  • warn on potentially uninitialized reads (vasild)
  • make linker checks more robust (fanquake)
  • remove -Qunused-arguments workaround for clang + ccache (fanquake)
  • Add -sysroot option to mac os native compile flags (ryanofsky)
  • test, build: Enable -Werror=sign-compare (Empact)
  • don’t pass -w when building for Windows (fanquake)
  • Enable -Wsuggest-override if available (hebasto)
  • Suppress -Wdeprecated-copy warnings (hebasto)
  • Remove fdelt_chk back-compat code and sanity check (fanquake)
  • enable -Werror=gnu (vasild)
  • enforce minimum required Windows version (7) (fanquake)
  • guix: Make V=1 more powerful for debugging (dongcarl)
  • Multiprocess build support (ryanofsky)
  • Only allow ASCII identifiers (laanwj)
  • Propagate well-known vars into depends (dongcarl)
  • turn on -enable-c++17 by -enable-fuzz (vasild)
  • Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows (hebasto)
  • don’t warn when doxygen isn’t found (fanquake)
  • macOS toolchain simplification and bump (dongcarl)
  • Fix search for brew-installed BDB 4 on OS X (gwillen)
  • Remove unused RES_IMAGES (Bushstar)
  • improve __builtin_clz* detection (fanquake)
  • target Windows 7 when building libevent and fix ipv6 usage (fanquake)
  • Do not include server symbols in wallet (MarcoFalke)
  • remove BIP70 configure option (fanquake)
  • Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory (practicalswift)
  • Require pkg-config for all of the hosts (hebasto)
  • Update msvc build to use ISO standard C++17 (sipsorcery)
  • fix -Wformat-security check when compiling with GCC (fanquake)
  • Allow building with system clang (dongcarl)
  • pass -fcommon when building genisoimage (fanquake)
  • call AC_PATH_TOOL for dsymutil in macOS cross-compile (fanquake)
  • build LTO support into Apple’s ld64 (theuni)
  • add -Wl,-z,separate-code to hardening flags (fanquake)
  • set minimum required Boost to 1.58.0 (fanquake)
  • make clean removes .gcda and .gcno files from fuzz directory (Crypt-iQ)
  • Drop ancient hack in gitian-linux descriptor (hebasto)
  • Add support for llvm-cov (hebasto)
  • Add missed gcov files to ‘make clean’ (hebasto)
  • Add Werror=range-loop-analysis (MarcoFalke)
  • Enable some commonly enabled compiler diagnostics (practicalswift)
  • build, qt: Add Qt version checking (hebasto)
  • modest Android improvements (icota)
  • Drop all of the ZeroMQ patches (hebasto)
  • Move Win32 defines to to ensure they are globally defined (luke-jr)
  • improve sed robustness by not using sed (fanquake)
  • Drop deprecated and unused GUARDED_VAR and PT_GUARDED_VAR annotations (hebasto)
  • add stack-clash and control-flow protection options to hardening flags (fanquake)
  • Bugfix: Define and use HAVE_FDATASYNC correctly outside LevelDB (luke-jr)
  • CMake invocation cleanup (dongcarl)
  • add /usr/local/ to LCOV_FILTER_PATTERN for macOS builds (Crypt-iQ)
  • allow user to specify DIR_FUZZ_SEED_CORPUS for cov_fuzz (Crypt-iQ)
  • Update secp256k1 subtree (including BIP340 support) (sipa)
  • Split pthread flags out of ldflags and dont use when building libconsensus (fanquake)
  • patch qt libpng to fix powerpc build (fanquake)
  • Fix target name (hebasto)
  • The vcpkg tool has introduced a proper way to use manifests (sipsorcery)
  • fuzz: Configure check for main function (MarcoFalke)
  • Optionally skip external warnings (vasild)
  • Update libsecp256k1 (endomorphism, test improvements) (sipa)
  • Make sqlite support optional (compile-time) (luke-jr)
  • Ensure source tarball has leading directory name (MarcoFalke)
  • Patch qt_intersect_spans to avoid non-deterministic behavior in LLVM 8 (achow101)
  • Avoid secp256k1.h include from system (dergoegge)
  • Do not ignore Homebrew’s SQLite on macOS (hebasto)
  • Don’t set BDB flags when configuring without (jonasschnelli)
  • Check that Homebrew’s berkeley-db4 package is actually installed (hebasto)
  • Fix clang build on Mac (bvbfan)
Tests and QA:
  • Complete impl. of msg_merkleblock and wait_for_merkleblock (theStack)
  • Remove REJECT message code (hebasto)
  • Check that the version message does not leak the local address (MarcoFalke)
  • Extend wallet_dump test to cover comments (MarcoFalke)
  • Try once more when RPC connection fails on Windows (MarcoFalke)
  • shift coverage from getunconfirmedbalance to getbalances (jonatack)
  • appveyor: Disable functional tests for now (MarcoFalke)
  • Add various low-level p2p tests (MarcoFalke)
  • Avoid accessing free’d memory in validation_chainstatemanager_tests (MarcoFalke)
  • fuzz: Disable debug log file (MarcoFalke)
  • add coverage for bitcoin-cli -rpcwait (jonatack)
  • Verify findCommonAncestor always initializes outputs (ryanofsky)
  • Have coins simulation test also use CCoinsViewDB (jamesob)
  • Replace gArgs with local argsman in bench (MarcoFalke)
  • Create cached blocks not in the future (MarcoFalke)
  • fuzz: http_request workaround for libevent
  • Bump timeout in wallet_import_rescan (MarcoFalke)
  • Replace boost::mutex with std::mutex (hebasto)
  • Properly raise FailedToStartError when rpc shutdown before warmup finished (MarcoFalke)
  • Don’t initialize PrecomputedTransactionData in txvalidationcache tests (jnewbery)
  • Add wait_for_cookie_credentials() to framework for rpcwait tests (jonatack)
  • Add further BIP37 size limit checks to (theStack)
  • Fix linter issue (hebasto)
  • More specific feature_segwit test error messages and fixing incorrect comments (gzhao408)
  • bench: Remove requirement that all benches use same testing setup (MarcoFalke)
  • Check object hashes in wait_for_getdata (robot-visions)
  • display command line options passed to send_cli() in debug log (jonatack)
  • Check submitblock return values (MarcoFalke)
  • Use wait_for_getdata() in (theStack)
  • Add coverage for -rpcwallet cli option (jonatack)
  • bench: Add caddrman benchmarks (vasild)
  • Use zero-argument super() shortcut (Python 3.0+) (theStack)
  • fuzz: Run in parallel (MarcoFalke)
  • Remove raw-tx byte juggling in mempool_reorg (MarcoFalke)
  • Add missing sync_all to (achow101)
  • bench: Start nodes with -nodebuglogfile (MarcoFalke)
  • Added test for upgradewallet RPC (brakmic)
  • Add (hebasto)
  • Add CreateWalletFromFile test (ryanofsky)
  • Check misbehavior more independently in (robot-visions)
  • Fix message for ECC_InitSanityCheck test (fanquake)
  • Use unittest for test_framework unit testing (gzhao408)
  • Strip down previous releases boilerplate (MarcoFalke)
  • Add factor option to adjust test timeouts (brakmic)
  • test downgrade after upgrade (achow101)
  • Add v0.16.3 backwards compatibility test, bump v0.19.0.1 to v0.19.1 (Sjors)
  • fuzz: Fix vector size problem in system fuzzer (brakmic)
  • fuzz: use std::optional for sep_pos_opt variable (brakmic)
  • Remove RPCOverloadWrapper boilerplate (MarcoFalke)
  • Avoid os-dependent path (fametrano)
  • Fill fuzzing coverage gaps for functions in consensus/validation.h, primitives/block.h and util/translation.h (practicalswift)
  • Add capability to disable RPC timeout in functional tests (rajarshimaitra)
  • Add test for -blocksonly and -whitelistforcerelay param interaction (glowang)
  • Replace TEST_PREVIOUS_RELEASES env var with test_framework option (MarcoFalke)
  • Don’t limit fuzzing inputs to 1 MB for afl-fuzz (now: ∞ ∀ fuzzers) (practicalswift)
  • Remove global wait_until from p2p_getdata (MarcoFalke)
  • Pass ArgsManager into getarg_tests (glowang)
  • Explain that a bug should be filed when the tests fail (MarcoFalke)
  • Implement base58_decode (10xcryptodev)
  • Always define the raii_event_tests test suite (candrews)
  • Add missing sync_blocks to wallet_hd (MarcoFalke)
  • fuzz: Stop nodes in process_message* fuzzers (MarcoFalke)
  • Check that invalid witness destinations can not be imported (MarcoFalke)
  • Type hints in Python tests (kiminuo)
  • Make valgrind.supp work on aarch64 (MarcoFalke)
  • Moved the CScriptNum asserts into the unit test in (gillichu)
  • Do not swallow flake8 exit code (hebasto)
  • Avoid overwriting the NodeContext member of the testing setup [-Wshadow-field] (MarcoFalke)
  • disconnect_nodes should warn if nodes were already disconnected (robot-visions)
  • change blacklist to blocklist (TrentZ)
  • Move base58 to own module to break circular dependency (sipa)
  • msg_mempool, fRelay, and other bloomfilter tests (gzhao408)
  • Connection eviction logic tests (mzumsande)
  • Fix and clean p2p_invalid_messages functional tests (troygiorshev)
  • Don’t import asyncio to test magic bytes (jnewbery)
  • Make mininode_lock non-reentrant (jnewbery)
  • Mempool compatibility test (S3RK)
  • Add a test-security target and run it in CI (fanquake)
  • Wait for disconnect in disconnect_p2ps + bloomfilter test followups (gzhao408)
  • Add missing sync_blocks (MarcoFalke)
  • Check that message sends successfully when header is split across two buffers (troygiorshev)
  • move sync_blocks and sync_mempool functions to (ycshao)
  • Check that peers with forcerelay permission are not asked to feefilter (MarcoFalke)
  • add two edge case tests for CSubNet (vasild)
  • net, test: invalid p2p messages and test framework improvements (jonatack)
  • Bump linter versions (duncandean)
  • Provide main(…) function in fuzzer. Allow building uninstrumented harnesses with -enable-fuzz (practicalswift)
  • move TEST_RUNNER_EXTRA into native tsan setup (fanquake)
  • Improve functional tests compatibility with BSD/macOS (S3RK)
  • Set -logthreadnames in unit tests (MarcoFalke)
  • Add std::locale::global to list of locale dependent functions (practicalswift)
  • Avoid fuzzer-specific nullptr dereference in libevent when handling PROXY requests (practicalswift)
  • Auto-detect SHA256 implementation in benchmarks (sipa)
  • Fix mistakenly swapped "previous" and "current" lock orders (hebasto)
  • Remove unnecessary cs_mains in denialofservice_tests (jnewbery)
  • add functional test for txrelay during and after IBD (gzhao408)
  • Fix non-deterministic coverage of test DoS_mapOrphans (davereikher)
  • fuzz: add missing overrides to signature_checker (jonatack)
  • Fix fuzzer compilation on macOS (freenancial)
  • Static asserts for consistency of fee defaults (domob1812)
  • clean message_count and last_message (troygiorshev)
  • test decodepsbt fee calculation (count input value only once per UTXO) (theStack)
  • Replace current benchmarking framework with nanobench (martinus)
  • Fail wait_until early if connection is lost (MarcoFalke)
  • Preserve the LockData initial state if "potential deadlock detected" exception thrown (hebasto)
  • Catch decimal.InvalidOperation from TestNodeCLI#send_cli (Empact)
  • Remove duplicate NodeContext hacks (ryanofsky)
  • Restore test case for p2p transaction blinding (instagibbs)
  • Wait until is_connected in add_p2p_connection (MarcoFalke)
  • Wait for ‘cmpctblock’ in p2p_compactblocks when it is expected (Empact)
  • use throwaway _ variable for unused loop counters (theStack)
  • Fix ‘make cov’ with clang (hebasto)
  • p2p_feefilter improvements (logging, refactoring, speedup) (theStack)
  • add sync_all to fix race condition in wallet groups test (kallewoof)
  • Removing unused classes from (dhruv)
  • Add test for getblockheader verboseness (torhte)
  • Add a seed corpus generation option to the fuzzing test_runner (darosior)
  • Activate segwit in TestChain100Setup (MarcoFalke)
  • Remove confusing mininode terminology (jnewbery)
  • Update wait_until usage in tests not to use the one from utils (slmtpz)
  • Set appveyor VM version to previous Visual Studio 2019 release (sipsorcery)
  • Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles (MarcoFalke)
  • bench: Prevent thread oversubscription and decreases the variance of result values (hebasto)
  • Update the vcpkg checkout commit ID in appveyor config (sipsorcery)
  • Expand functional zmq transaction tests (instagibbs)
  • Rename wait until helper to wait_until_helper (MarcoFalke)
  • Fixes failing functional test by changing version (n-thumann)
  • Fix flaky wallet_basic test (fjahr)
  • Mockwallet (MarcoFalke)
  • Run even with wallet disabled (MarcoFalke)
  • batch rpc with params (instagibbs)
  • create default wallet in extended tests (Sjors)
  • add parameterized constructor for msg_sendcmpct() (theStack)
  • Clarify blocksonly whitelistforcerelay test (t-bast)
  • Use explicit p2p objects where available (guggero)
  • Check that invalid peer traffic is accounted for (MarcoFalke)
  • Add signet witness commitment section parse tests (MarcoFalke)
  • Get rid of default wallet hacks (ryanofsky)
  • Mention commit id in scripted diff error (laanwj)
  • Cover change_type option of "walletcreatefundedpsbt" RPC (guggero)
  • improvements (use MiniWallet, add p2p_lock acquires) (theStack)
  • Don’t export in6addr_loopback (vasild)
  • Remove unused nVersion=1 in p2p tests (MarcoFalke)
  • Minor Taproot follow-ups (sipa)
  • Use GBT to get block versions correct (luke-jr)
  • improvements (use MiniWallet, add logging) (theStack)
  • Convert amounts from float to decimal (prayank23)
  • Speed up wallet_resendwallettransactions with mockscheduler RPC (MarcoFalke)
  • fuzz: Check for addrv1 compatibility before using addrv1 serializer. Fuzz addrv2 serialization (practicalswift)
  • Add test for -blockversion (MarcoFalke)
  • Clarify rpc_net & p2p_disconnect_ban functional tests (amitiuttarwar)
  • Remove getnettotals/getpeerinfo consistency test (jnewbery)
  • fuzz: Properly initialize PrecomputedTransactionData (MarcoFalke)
  • Skip -descriptor tests if sqlite is not compiled (achow101)
  • Update more tests to work with descriptor wallets (achow101)
  • fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CService (practicalswift)
  • fuzz: Fix DecodeHexTx fuzzing harness issue (practicalswift)
  • Run script_assets_test even if built -with-libs=no (MarcoFalke)
  • fuzz: Add missing ECC_Start to descriptor_parse test (S3RK)
  • Only try witness deser when checking for witness deser failure (MarcoFalke)
  • fuzz: Assert expected DecodeHexTx behaviour when using legacy decoding (practicalswift)
  • Fix wallet_multiwallet test issue on Windows (MarcoFalke)
  • Fix ecdsa_verify in test framework (stepansnigirev)
  • cirrus: Skip tasks on the gui repo main branch (MarcoFalke)
  • fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CSubNet (practicalswift)
  • Mock IBD in net_processing fuzzers (MarcoFalke)
  • Suppress epoll_ctl data race (MarcoFalke)
  • fuzz: Improve coverage for CPartialMerkleTree fuzzing harness (practicalswift)
  • contrib: Fixup valgrind suppressions file (MarcoFalke)
  • valgrind: remove outdated suppressions (fanquake)
  • Add BerkeleyDatabase tsan suppression (MarcoFalke)
  • Remove no longer needed UBSan suppression (float divide-by-zero in validation.cpp) (practicalswift)
  • Add fuzzing harnessses (practicalswift)
  • Use mockable time for ping/pong, add tests (MarcoFalke)
  • CNetAddr scoped ipv6 test coverage, rename scopeId to m_scope_id (jonatack)
  • Use mockable time everywhere in net_processing (sipa)
  • Add Muhash3072 implementation in Python (fjahr)
  • Fix intermittent test issues (MarcoFalke)
  • CI/Cirrus: Skip merge_base step for non-PRs (luke-jr)
  • ci: Add fuzzbuzz integration configuration file (practicalswift)
  • Add C++17 build to Travis (sipa)
  • CI improvements (hebasto)
  • CI improvements (MarcoFalke)
  • MSVC CI improvements (sipsorcery)
  • scripts: Add macho stack canary check to (fanquake)
  • scripts: Add pe .reloc section check to (fanquake)
  • util: Detect posix_fallocate() instead of assuming (vasild)
  • script: Prevent ub when computing abs value for num opcode serialize (pierreN)
  • lockedpool: avoid sensitive data in core files (FreeBSD) (vasild)
  • contrib: Move script to the maintainer repo (MarcoFalke)
  • Serialization improvements step 6 (all except wallet/gui) (sipa)
  • More thread safety annotation coverage (ajtowns)
  • Update libsecp256k1 subtree (sipa)
  • util: Add assert identity function (MarcoFalke)
  • util: Make assert work with any value (MarcoFalke)
  • script: rewritten in python (bliotti)
  • Add /settings.json persistent settings storage (ryanofsky)
  • script: Linter to check commit message formatting (Ghorbanian)
  • lint: Improve commit message linter in travis (fjahr)
  • util: Add runcommandparsejson (Sjors)
  • util: Use have_fdatasync to determine fdatasync() use (fanquake)
  • util, ci: Hard code previous release tarball checksums (hebasto)
  • Implement Keccak and SHA3_256 (sipa)
  • Add -netinfo peer connections dashboard (jonatack)
  • feature: Added ability for users to add a startup command (benthecarman)
  • log: Remove static log message "Initializing chainstate Chainstate [ibd] @ height -1 (null)" (practicalswift)
  • util: Do not use gargs global in argsmanager member functions (hebasto)
  • contrib: Fix imports (MarcoFalke)
  • Warn on unknown rw_settings (MarcoFalke)
  • Update secp256k1 subtree to latest master (sipa)
  • script: Modify to use "==" instead of "is" for literal comparison (tylerchambers)
  • Prevent UB in DeleteLock() function (hebasto)
  • Replace RecursiveMutex with Mutex (hebasto)
  • Make cs_inventory nonrecursive (jnewbery)
  • Avoid recursive lock in IsTrusted (promag)
  • Improve thread naming (hebasto)
  • Restore compatibility with old CSubNet serialization (sipa)
  • DecodeHexTx: Try case where txn has inputs first (instagibbs)
  • Update docs for getbalance (default minconf should be 0) (uzyn)
  • Fix macos comments in release-notes (MarcoFalke)
  • Update thread information in developer docs (jnewbery)
  • Note why we can’t use thread_local with glibc back compat (fanquake)
  • Improve commenting for coins.cpp|h (jnewbery)
  • fixing documentation to not require rpcpassword (jkcd)
  • Document how to fuzz Bitcoin Core using Honggfuzz (practicalswift)
  • Better explain GNU ld’s dislike of ld64’s options (fanquake)
  • Mention build docs in (saahilshangle)
  • Update rest info on block size and json (chrisabrams)
  • Add c++17-enable flag to fuzzing instructions (mzumsande)
  • Add a link from ZMQ doc to ZMQ example in contrib/ (meeDamian)
  • Drop protobuf stuff (hebasto)
  • Add link to Visual Studio build readme (maitrebitcoin)
  • Expand section on Getting Started (MarcoFalke)
  • noban precludes maxuploadtarget disconnects (MarcoFalke)
  • Add documentation for ‘checklevel’ argument in ‘verifychain’ RPC… (kcalvinalvin)
  • Extract net permissions doc (MarcoFalke)
  • Separate repository for the gui (MarcoFalke)
  • fixing description of the field sequence in walletcreatefundedpsbt RPC method (limpbrains)
  • Span pitfalls (sipa)
  • Windows WSL build recommendation to temporarily disable Win32 PE support (sipsorcery)
  • explain why passing -mlinker-version is required when cross-compiling (fanquake)
  • afl fuzzing comment about afl-gcc and afl-g++ (Crypt-iQ)
  • improve subtree check instructions (Sjors)
  • Use precise permission flags where possible (MarcoFalke)
  • improvements (jonatack)
  • Add non-thread-safe note to FeeFilterRounder::round() (hebasto)
  • Update macOS cross compilation dependencies for Focal (hebasto)
  • Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG (fanquake)
  • Remove Reference Links (RobertHosking)
  • Set CC_FOR_BUILD when building on OpenBSD (fanquake)
  • Fix getmempoolancestors RPC result doc (MarcoFalke)
  • Remove label from good first issue template (MarcoFalke)
  • Updated outdated help command for getblocktemplate (jakeleventhal)
  • Document differences in bitcoind and bitcoin-qt locale handling (practicalswift)
  • update PyZMQ install instructions, fix file permissions (jonatack)
  • Update with GUI support (grubles)
  • help: Generate checkpoint height from chainparams (luke-jr)
  • Add CODEOWNERS file to automatically nominate PR reviewers (adamjonas)
  • Mention signet in -help output (hebasto)
  • Added default signet config for linearize script (gr0kchain)
  • Better document features of feelers (naumenkogs)
  • Clarify scope of eviction protection of outbound block-relay peers (ariard)
  • Update and improve (hebasto)
  • Collect release-notes snippets (MarcoFalke)
  • Release notes and followups from 19339 (glozow)
  • Tiny followups to new getpeerinfo connection type field (amitiuttarwar)
  • Update wallet files in (hebasto)
  • Document ALLOW_HOST_PACKAGES dependency option (skmcontrib)
  • Document that wallet salvage is experimental (MarcoFalke)
  • Correct getblockstats documentation for (sw)total_weight (shesek)
  • release process updates/fixups (jonatack)
  • Missing comments for signet parameters (decryp2kanon)
  • Add missing field (permissions) to the getpeerinfo help (amitiuttarwar)
  • warn that incoming conns are unlikely when not using default ports (adamjonas)
  • updates (jonatack)
  • Add warning for rest interface limitation (fjahr)
  • doc/REST-interface: Remove stale info (luke-jr)
  • docs: update testgen usage example (Bushstar)

Join over 500,000 subscribers.

Subscribe for our newsletter with best Mac offers from MacUpdate.

How would you rate Bitcoin Core?
MacUpdate Comment Policy. We strongly recommend leaving comments, however comments with abusive words, bullying, personal attacks of any type will be moderated.
(0 Reviews of )
There are no reviews yet
Dec 17 2017
Dec 17 2017
Version: 0.15.1
Back in the seventeenth century there used to be a Dutch app. called Tulips that was aimed at pretty much the same audience.
Jun 19 2013
Jun 19 2013
Version: 0.8.2
Be sure to consider the risks involved with this app.
Feb 22 2013
Feb 22 2013
Version: 0.7.1
And we're at 0.8.0.
Sep 23 2012
Sep 23 2012
Version: 0.6.3
0.7.0 is out:
Jun 17 2012
Jun 17 2012
Version: 0.6.2
Awesome concept. I'd love to see broader acceptance for this. Minors: * URI support on the mac is currently still missing. Wonder why, since it would be great to improve adaptation. * Client eats up some CPU while catching up. Hope they can tweak that in the future.
Jun 17 2012
Jun 17 2012
Version: 0.6.2
I don't know where you got that screenshot, but it's not what this software looks like.
Jun 17 2012
Jun 17 2012
Version: 0.6.2
Gosh, I sure hate the name but the idea is brilliant; especially considering the meltdown of the euro and dollar.


App requirements: 
  • Intel 64
  • macOS 10.12.0 or later
FreeAbsolutely Free

Downloaded & Installed 26,844 times

Similar apps
Qt Bitcoin Trader
Qt Bitcoin Trader
Buy and sell bitcoins on Mt.Gox, BTC-e, Bitstamp, and BTCChina.
Is this app is similar to Qt Bitcoin Trader? Vote to improve the quality of this list.
Vote results
Total score
Zcash Miner
Zcash Miner
Mine Zcash.
Is this app is similar to Zcash Miner? Vote to improve the quality of this list.
Vote results
Total score