Skip to content

Instantly share code, notes, and snippets.

View jonatack's full-sized avatar

Jon Atack jonatack

View GitHub Profile
--- a/src/script/interpreter.cpp
+++ b/src/script/interpreter.cpp
@@ -504,6 +504,14 @@ bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript&
return set_error(serror, SCRIPT_ERR_MINIMALDATA);
}
stack.push_back(vchPushValue);
+ if ((flags & SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS) && opcode == OP_FALSE) {
+ auto pc_tmp = pc;
+ opcodetype next_opcode;
+ valtype dummy_data;
@jonatack
jonatack / bitcoin-core-pr-11413-review-notes.md
Last active June 25, 2020 07:12
Notes from reviewing Bitcoin Core PR #11413 "[wallet] [rpc] sendtoaddress/sendmany: Add explicit feerate option" by kallewoof

Notes from reviewing Bitcoin Core PR #11413

"[wallet] [rpc] sendtoaddress/sendmany: Add explicit feerate option" by @kallewoof

bitcoin/bitcoin#11413


src/wallet/rpcwallet.cpp

~/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
jonatack / bitcoin_debugging.md
Created September 15, 2019 09:50 — forked from fjahr/bitcoin_debugging.md
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

~/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.
@jonatack
jonatack / bitcoin-pr-15943.md
Created May 15, 2019 11:37
bitcoin-pr-15943
(pr/15943)$ test/functional/test_runner.py rpc_uptime --coverage
Temporary test directory at /tmp/test_runner_₿_🏃_20190515_133545
Initializing coverage directory at /tmp/coveragehsj4pafy
Remaining jobs: [rpc_uptime.py]
1/1 - rpc_uptime.py passed, Duration: 1 s

TEST          | STATUS    | DURATION

rpc_uptime.py | ✓ Passed  | 1 s
@jonatack
jonatack / bitcoin-test-pr-15750.md
Last active April 21, 2019 16:59
Manual test of bitcoin/bitcoin PR 15750

Manual tests of master (at 66ce95a) versus bitcoin/bitcoin#15750 (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,
@jonatack
jonatack / bitcoin-fuzzing.md
Created April 12, 2019 14:11
bitcoin fuzzing
/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
jonatack / how-to-compile-bitcoin-core-from-source-for-linux-debian.md
Last active December 20, 2021 01:26
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

Hi! This article now lives at https://jonatack.github.io/articles/how-to-compile-bitcoin-core-and-run-the-tests where I will continue to update it. Cheers.

This is a simplified compilation of the various docs in https://github.com/bitcoin/bitcoin/tree/master/doc. Don't hesitate to read them for more information.

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