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."
|Beyond IP Transactions: towards a payment protocol
|IP transactions were originally introduced as a first "out-of-band" protocol
|for negotiating a transaction output's public key. Being inconvenient and
|insecure, they became obsolete, and recent versions of bitcoin don't support
|The result is that static bitcoin addresses have become the most common way of
|defining requested payments. This may be fine for anonymous donations, but is not
Let’s start by what you can do while typing. These keystrokes change only what happens on the input line (the line where you type stuff).
arrow left/right: move one character left or right.
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.
Moved to https://github.com/fjahr/debugging_bitcoin 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.
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.
|./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