Skip to content

Instantly share code, notes, and snippets.

aureleoules / unwrap-pr.js
Created Sep 15, 2022
Load all PR comments
View unwrap-pr.js
javascript: (async function() {
async function unwrap() {
const loadMoreBtn = document.querySelector('');
if (loadMoreBtn) {;
await setTimeout(unwrap, 5000);
await unwrap();
await setTimeout(() => document.querySelectorAll('span.Details-content--closed').forEach((e) => {
Kixunil /
Last active Jan 19, 2023
Efficient reusable Taproot addresses

Reusable taproot addresses


This document proposes a new scheme to avoid address reuse while retaining some of the convenience of address reuse, keeping recoverability purely from Bitcoin time chain and avoiding visible fingerprint. The scheme has negligible average overhead.


hebasto /
Last active Feb 1, 2023
The `bitcoin-core/guix.sigs` Repository Workflow

The bitcoin-core/guix.sigs Repository Workflow

Common environment variables

export SIGNER="hebasto"
export GUIX_SIGS_REPO="/home/hebasto/guix.sigs"
export DETACHED_SIGS_REPO="/home/hebasto/bitcoin-detached-sigs"


>>> [do_build] Command failed: git apply /Users/jonas/bitcoin-dir/bitcoin-maintainer-tools/patches/stripbuildinfo.patch
>>> [do_build] Could not apply patch to strip build info. Probably it needs to be updated

Checkout the patchset from the last patch:

git checkout 'master@{aug 1}'

carnhofdaki /
Last active Oct 2, 2020
custom-signet 10/2020
cd ~/src/bitcoin/src
./bitcoind -regtest -daemon=1
printf "Waiting for regtest bitcoind to start"
while ! ./bitcoin-cli -regtest getconnectioncount 2>/dev/null 1>&2
do printf .; sleep 1
done; echo
fjahr /
Last active Aug 10, 2022
Debugging Bitcoin Core

Moved to to allow for better collaboration.

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.


Network partition resistance

For the Bitcoin network to remain in consensus, the network of nodes must not be partitioned. So for an individual node to remain in consensus with the network, it must have at least one connection to that network of peers that share its consensus rules. This document describes how we attempt to achieve this.

We can't rely on inbound peers to be honest, because they are initiated by others. It's impossible for us to know, for example, whether all our inbound peers are controlled by the same adversary.

tasdikrahman /
Last active Jan 3, 2023
irssi cheatsheet

O(1) Block Propagation

The problem

Bitcoin miners want their newly-found blocks to propagate across the network as quickly as possible, because every millisecond of delay increases the chances that another block, found at about the same time, wins the "block race."