Skip to content

Instantly share code, notes, and snippets.


Jon Atack jonatack

View GitHub Profile
jonatack /
Last active Jun 25, 2020
Notes from reviewing Bitcoin Core PR #11413 "[wallet] [rpc] sendtoaddress/sendmany: Add explicit feerate option" by kallewoof
View bitcoin-pr-16202.diff
~/projects/bitcoin/bitcoin (pr/16202)$ git diff
diff --git a/src/net.cpp b/src/net.cpp
index d5e74d928f..d7371d80df 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -596,6 +596,9 @@ bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes, bool& complete
if (i == mapRecvBytesPerMsgCmd.end())
i = mapRecvBytesPerMsgCmd.find(NET_MESSAGE_COMMAND_OTHER);
assert(i != mapRecvBytesPerMsgCmd.end());
jonatack /
Created Sep 15, 2019 — forked from fjahr/
Debugging Bitcoin Core

This document is currently optimized for MacOS. If you would like to help me add Linux equivalent commands, please let me know.

Debugging Bitcoin Core

This guide is designed to give beginners of C++ development and/or people new to the bitcoin core code base an overview of the tools available for debugging issues as well as giving hints where issues may trip you up.

Table of contents

View rpc-bumpfee-help.txt
~/projects/bitcoin/src ((HEAD detached at origin/pr/15996))$ bitcoin-cli -regtest help bumpfee
bumpfee "txid" ( options )
Bumps the fee of an opt-in-RBF transaction T, replacing it with a new transaction B.
An opt-in RBF transaction with the given txid must be in the wallet.
The command will pay the additional fee by reducing change outputs or adding inputs when necessary. It may add a new change output if one does not already exist.
If `totalFee` (DEPRECATED) is given, adding inputs is not supported, so there must be a single change output that is big enough or it will fail.
All inputs in the original transaction will be included in the replacement transaction.
The command will fail if the wallet or mempool contains a transaction that spends one of T's outputs.
By default, the new fee will be calculated automatically using estimatesmartfee.
(pr/15943)$ test/functional/ rpc_uptime --coverage
Temporary test directory at /tmp/test_runner_₿_🏃_20190515_133545
Initializing coverage directory at /tmp/coveragehsj4pafy
Remaining jobs: []
1/1 - passed, Duration: 1 s

TEST          | STATUS    | DURATION | ✓ Passed  | 1 s
jonatack /
Last active Apr 21, 2019
Manual test of bitcoin/bitcoin PR 15750

Manual tests of master (at 66ce95a) versus (at b4338c1) compiling from source and launching src/bitcoind -deprecatedrpc=validateaddress:

(master)$ src/bitcoin-cli getaddressinfo 33wjMTPWcmF12zfQZ2ecuvQfpfZjgVQ4ag
  "address": "33wjMTPWcmF12zfQZ2ecuvQfpfZjgVQ4ag",
  "scriptPubKey": "a91418b8a89d71daba341f2ba4dac25ad08c7f91d72a87",
  "ismine": true,
  "solvable": true,
/bitcoin/src# $AFLPATH
/afl-2.52b: Is a directory

/bitcoin/src# $AFLOUT
/qa-assets/outputs: Is a directory

/bitcoin/src# $DIR_FUZZ_IN
/qa-assets/fuzz_seed_corpus: Is a directory
jonatack /
Last active Jul 3, 2020
How to compile Bitcoin Core with wallet, from source, on Linux Debian

How to compile Bitcoin Core from source on Linux Debian and run the unit and functional tests

Last updated: 16 March 2019

This is a simplified compilation of the various docs in Don't hesitate to read them for more information.

All steps are to be run from your terminal emulator, i.e. the command line.

  1. Ensure the dependencies are installed:
    • sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler git ccache

Keybase proof

I hereby claim:

  • I am jonatack on github.
  • I am jonatack ( on keybase.
  • I have a public key ASCaeU38EDbcgqP2Wb2r3yZfg1IlWpLxKk99zYCGoq9xbQo

To claim this, I am signing this object:

You can’t perform that action at this time.