Setting up and testing our bitcoin network

In the last post in my series on bitcoin and the blockchain, we have successfully "dockerized" the bitcoin core reference implementation and have built the bitcoin-alpine docker container that contains a bitcoin server node on top of the Alpine Linux distribution. In this post, we will use this container image to build up and initialize … Continue reading Setting up and testing our bitcoin network

Building a bitcoin container with Docker

When we are playing with bitcoin transactions, we need some playground where making a mistake does not cost us real bitcoins and therefore money. In addition, we might want to play around with more than one bitcoin server to see how networkings works and how the messages are exchanged in the bitcoin peer-to-peer network. There … Continue reading Building a bitcoin container with Docker

Signing and verifying bitcoin transactions

If you have followed my blockchain posts so far, you know how to create bitcoin transactions by assembling transaction inputs and transaction outputs into a transaction data structure and serializing it. However, there is one subtlety that we have ignored so far - what exactly do you sign? You cannot sign the entire bitcoin transaction, … Continue reading Signing and verifying bitcoin transactions

On the road again – serializing and deserializing bitcoin transactions

In this post, I will show you how a bitcoin transaction presented in the raw format is to be interpreted and how conversely a bitcoin transaction stored in a C++ (and later Python) object can be converted into a hexadecimal representation (a process called serialization). Ultimately, the goal of this and subsequent posts will be … Continue reading On the road again – serializing and deserializing bitcoin transactions

Transactions in the bitcoin network

In my previous posts on the bitcoin protocol, I have described those objects that constitute participants - private and public keys and bitcoin addresses. Now we will look at those objects that represent actual transfers of bitcoins between these participants, namely at transactions. Essentially, a bitcoin transaction consists of two parts. First, a transaction contains … Continue reading Transactions in the bitcoin network