In the last post in this series, we have created a more or less functional bitcoin controller. However, to be reasonably easy to operate, there are still a few things that are missing. We have hardcoded secrets in our images as well as our code, and we log data, but do not publish events. These … Continue reading Building a bitcoin controller for Kubernetes part IX – managing secrets and creating events
Category: Blockchain
Building a bitcoin controller for Kubernetes part V – establishing connectivity
Our bitcoin controller now has the basic functionality that we expect - it can synchronize the to-be state and the as-is state and update status information. However, to be really useful, a few things are still missing. Most importantly, we want our nodes to form a real network and need to establish a mechanism to … Continue reading Building a bitcoin controller for Kubernetes part V – establishing connectivity
Building a bitcoin controller for Kubernetes part IV – garbage collection and status updates
In our short series on implementing a bitcoin controller for Kubernetes, we have reached the point where the controller is actually bringing up bitcoin nodes in our network. Today, we will extend its logic to also cover deletions and we will start to add additional logic to monitor the state of our network. Step 9: … Continue reading Building a bitcoin controller for Kubernetes part IV – garbage collection and status updates
Building a bitcoin controller for Kubernetes part III – service accounts and the reconciliation function
In the previous post, we have reached the point where our controller is up and running and is starting to handle events. However, we hit upon a problem at the end of the last post - when running in-cluster, our controller uses a service account which is not authorized to access our bitcoin network resources. … Continue reading Building a bitcoin controller for Kubernetes part III – service accounts and the reconciliation function
Building a bitcoin controller for Kubernetes part II – code generation and event handling
In this post, we will use the Kubernetes code generator to create client code and informers which will allow us to set up the basic event handlers for our customer controller. Before we start to dig into this, note that compared to my previous post, I had to make a few changes to the CRD … Continue reading Building a bitcoin controller for Kubernetes part II – code generation and event handling
Building a bitcoin controller for Kubernetes part I – the basics
As announced in a previous post, we will, in this and the following posts, implement a bitcoin controller for Kubernetes. This controller will be aimed at starting and operating a bitcoin test network and is not designed for production use. Here are some key points of the design: A bitcoin network will be specified by … Continue reading Building a bitcoin controller for Kubernetes part I – the basics
How the number of bitcoins is limited
In some of the previous posts, we did already hit upon the file chainparams.cpp in the source code of the bitcoin reference client. It is interesting to go through this and understand the meaning of the various parameters defined there. One of them should catch your attention: What does this parameter mean? It is in … Continue reading How the number of bitcoins is limited
Mining bitcoins with Python
In this post, we will learn to build a very simple miner in Python. Of course this miner will be comparatively slow and limited and only be useful in our test network, but it will hopefully help to explain the principles behind mining. When we want to mine a block, we first need some information … Continue reading Mining bitcoins with Python
The difficulty in the bitcoin protocol
Mining is a challenge - a miner has to solve a mathematical puzzle to create a valid block and is rewarded with a certain bitcoin amount (12.5 at the time of writing) for investing electricity and computing power. But technology evolves, and the whole mining process would be pointless if the challenge could not be … Continue reading The difficulty in the bitcoin protocol
Merkle trees
Suppose you are given a long file and wanted to use hashing to verify the integrity of the file. How would you do this in the most efficient way? Of course, the first thing that might come to your mind is to simply take a hash of the entire file. This is very easy, but … Continue reading Merkle trees