<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://chrispinnock.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://chrispinnock.com/" rel="alternate" type="text/html" /><updated>2026-04-16T09:12:38+01:00</updated><id>https://chrispinnock.com/feed.xml</id><title type="html">Chris Pinnock</title><subtitle>Publications and articles by Chris Pinnock</subtitle><author><name></name></author><entry><title type="html">Stakehouse Episode III</title><link href="https://chrispinnock.com/2026/04/15/stakehouse3.html" rel="alternate" type="text/html" title="Stakehouse Episode III" /><published>2026-04-15T19:00:00+01:00</published><updated>2026-04-15T19:00:00+01:00</updated><id>https://chrispinnock.com/2026/04/15/stakehouse3</id><content type="html" xml:base="https://chrispinnock.com/2026/04/15/stakehouse3.html"><![CDATA[<iframe width="560" height="315" src="https://www.youtube.com/embed/pDHBYyYSSY4?si=e9raRB0flH_2TeNu" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>🥩 It finally looks like spring outside so we opened the beer garden at the Stakehouse!</p>

<p>🍷 We talked about all things Tezos, AI, OpenClaw, Gold, Metals and BLS keys. Is Infrastructure as Code dead? We asked the tough questions no-one else does.</p>

<p>Watch OpenClaw AI Agent install a Tezos Baker!</p>

<p>🙅 Joining me were your smooth-talking bar stewards for the evening: Cryptonio (@Crypt0nio), Blangs (@tezosgaming), Germán (@knayawp) and Chris (@chrispinnock)!</p>

<p>⚠️  Do not take anything we say as investment advice!</p>

<p>👉 Merch? Thought you would ask: <a href="https://store.chrispinnock.com/">Stakehouse Tees and Mugs</a></p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Using OpenClaw to set up a Tezos baker</title><link href="https://chrispinnock.com/2026/04/07/using-openclaw-to-set-up-a-tezos-baker.html" rel="alternate" type="text/html" title="Using OpenClaw to set up a Tezos baker" /><published>2026-04-07T18:35:00+01:00</published><updated>2026-04-07T18:35:00+01:00</updated><id>https://chrispinnock.com/2026/04/07/using-openclaw-to-set-up-a-tezos-baker</id><content type="html" xml:base="https://chrispinnock.com/2026/04/07/using-openclaw-to-set-up-a-tezos-baker.html"><![CDATA[<p><img src="/assets/2026/04/bakerclaw.jpeg" style="float:right;border-radius:8px;margin:20px;" /></p>

<p>On Friday, I posted instructions on how to set up a <a href="https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers.html">Tezos baker for the impatient</a>. These instructions are fine for use on a test network.</p>

<p>On Saturday, I posted some thoughts on OpenClaw. Today I’m going to show you how to use OpenClaw to install a Tezos baker using the instructions from Friday. Of course, you can do this by hand yourself, but it’s a good demonstration of OpenClaw’s abilities.</p>

<p>If you follow this guide, please be aware that you will need some Claude AI credits. I’m going to use instances in <a href="https://cloud.google.com/">Google Cloud</a> for my baker. This also costs money, unless you are on a free tier setup.</p>

<p><strong>Warning:</strong> <strong>Continue at your own expense and risk.</strong></p>

<p>I’m going to assume that you have Linux machine dedicated for OpenClaw and you have access to it. In my case, the machine is in my garage connected to my home network. It is running Debian Linux 13. I’ve logged into this server with SSH and got a shell running on it.</p>

<h2 id="installing-openclaw">Installing OpenClaw</h2>

<p>Follow the instructions at the <a href="https://docs.openclaw.ai/start/getting-started">OpenClaw site</a>. To install, first make sure that the OpenClaw machine has Node.js installed and the version is v22 or higher:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ node -v
v24.14.1
</code></pre></div></div>

<p>If it is not, go to the <a href="https://nodejs.org/en/download">NodeJS Download site</a> and follow the instructions. For example:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
. ./.nvm/nvm.sh
nvm install 24
</code></pre></div></div>

<p>Then install OpenClaw:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl -fsSL https://openclaw.ai/install.sh | bash
</code></pre></div></div>
<p><img src="/assets/2026/04/openclaw-install.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<p>The configurator will run. Follow the instructions. Make sure you understand the lock down statement and agree it. Then choose Quickstart. Use the cursor keys, Space and Enter to select items.</p>

<p>Pick an AI provider. I’m using Anthropic (Claude). Go to the <a href="https://platform.claude.com/dashboard">Claude Console</a>. In Settings you can buy credits in the Billing section and you can generate an API key in the API keys section. The API key gives OpenClaw access to Claude.</p>

<p>Back in the OpenClaw setup, choose API key and then paste the key you’ve created. Keep a note of this key safely, e.g. in a password manager.</p>

<p>Then choose a model. The default choice of Sonnet is enough for our purposes. Other models may be more expensive.</p>

<p>You don’t have to setup a channel, but it is useful if you want to talk to your agent on the move. Telegram is the easiest. You can create a bot in Telegram using the BotFather. Find BotFather in Telegram and follow the instructions to create a bot. The process is straightfoward.</p>

<p>If you skip setting up a channel, you can use the text user interface (TUI).</p>

<p>For the search provider, pick DuckDuckGo for now. Then skip configuring skills and skip configuring hooks.</p>

<p>Now your chat interface will be available. Choose Hatch in TUI to launch. Your claw instance will ask you some questions. Answer wisely. You can exit the session with <code class="language-plaintext highlighter-rouge">/quit</code>. You can return to the TUI with <code class="language-plaintext highlighter-rouge">openclaw tui</code> at any time.</p>

<p><img src="/assets/2026/04/openclaw-tui.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<h2 id="set-up-google-cloud-platform-gcp">Set up Google Cloud Platform (GCP)</h2>

<p>If you are going to use GCP, you’ll need the gcloud tools. You can ask your OpenClaw to help. Type the following on the TUI (or Telegram or whichever channel you have setup):</p>

<blockquote>
  <p>Please install the gcloud tools on this machine.</p>
</blockquote>

<p>Once they are installed, you will need to authorise your access from the shell yourself:</p>

<p><code class="language-plaintext highlighter-rouge">gcloud auth login</code></p>

<p>The tool will present a URL to put into your web browser. Log in with your Google account, then paste the key into the shell tool.</p>

<p>Now you can create a project in GCP. I’ll call the project <em>openclawspace</em>. You can, of course, do this in the browser, but you can also do it on the command line. Make sure that you have a payment method on your GCP account.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gcloud projects create openclawspace
gcloud billing projects link openclawspace --billing-account=YOUR-ID
</code></pre></div></div>
<p>From here everything is simple. Ask your agent to enable the Compute API:</p>

<blockquote>
  <p>Please enable the Compute API on the openclawspace project.</p>
</blockquote>

<h2 id="installing-the-baker">Installing the baker</h2>

<p>Ask your agent to create the server:</p>

<blockquote>
  <p>Please use gcloud on the project “openclawspace” to create a server with 16GB, Debian 13 and 100GB of storage. Let’s call this server testbaker for this conversation.</p>
</blockquote>

<p><img src="/assets/2026/04/testbaker-setup.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<p>From the Google Cloud console you should be able to see the test machine.</p>

<p><img src="/assets/2026/04/openclaw-gcp-console.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<p>Then ask your agent to install the baking software.</p>

<blockquote>
  <p>Please follow the instructions on this URL https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers.html to setup a Tezos baker on the testbaker machine. Access the server with gcloud compute ssh. Let me know if you need anything.</p>
</blockquote>

<p>During the setup, OpenClaw will ask you to get funds from the faucet for the baker key. Other than that there is no interaction required.</p>

<p><img src="/assets/2026/04/tallinn-faucet.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<p>OpenClaw will also tell you the baker and companion keys, and summarise what it has done. What I particularly liked was that OpenClaw found a bug. (The bug has been reported.)</p>

<p><img src="/assets/2026/04/bakerup.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<p>Once the process has finished, you will be able to see the baking key and operations on the block explorer at <a href="https://tallinnnet.tzkt.io">tallinnnet.tzkt.io</a>.</p>

<p><img src="/assets/2026/04/baker-operations.png" style="display: block; margin-left: auto; margin-right: auto;" /></p>

<h2 id="standalone-server">Standalone server</h2>

<p>If you have a server already, you’ll just need to give your agent the details. The account he will use needs sudo access. For example:</p>

<blockquote>
  <p>Hi - I have setup an account on the server 135.136.10.4 with username terry. It has sudo access. Can you try to log in?</p>
</blockquote>

<blockquote>
  <p>Please follow the instructions on this URL https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers.html to setup a Tezos baker. Access the server with ssh. Let me know if you need anything.</p>
</blockquote>

<h2 id="want-to-stop-baking">Want to stop baking?</h2>

<p>In the unlikely event that you want to stop baking, you can ask your agent to help.</p>

<blockquote>
  <p>Please unstake everything on the testbaker using the baker key.</p>
</blockquote>

<p>Then wait 4 cycles (e.g. 4 days on mainnet, a lot less on tallinnnet) and decommission the server.</p>

<blockquote>
  <p>Please delete the server instance testbaker.</p>
</blockquote>

<h2 id="summary">Summary</h2>

<p>The future of infrastructure provisioning is here! Just ask your AI agent to do what you want or get it to read the manual. The complexity here was setting up OpenClaw and Gcloud. In my next article, I will show you how to set up a more secure set of servers.</p>

<p><em>Thanks to Fabrice for the image and testing. Thanks to Simon for introducing me to OpenClaw.</em></p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Using OpenClaw for System Administration</title><link href="https://chrispinnock.com/2026/04/04/using-openclaw-for-system-administration.html" rel="alternate" type="text/html" title="Using OpenClaw for System Administration" /><published>2026-04-04T07:00:00+01:00</published><updated>2026-04-04T07:00:00+01:00</updated><id>https://chrispinnock.com/2026/04/04/using-openclaw-for-system-administration</id><content type="html" xml:base="https://chrispinnock.com/2026/04/04/using-openclaw-for-system-administration.html"><![CDATA[<p><img src="/assets/2026/04/claw.png" style="float:right;border-radius:8px;margin:20px" /></p>

<p>Now, as you may know I’ve been suffering with AI fatigue recently. Not with the tools themselves, but with the general chit-chat about it. Over the new year period, every supplier I know has been on the telephone with their eyes gleaming.</p>

<blockquote>
  <p>“We’ve added AI to our product. Oh, and we are going to put the prices up too. Happy New Year, Chris.”</p>
</blockquote>

<p>You see, my worry has been that I will get lazy. My success in learning Russian was held back by relying on Google Translate too much. New tools need to be used in a measured way.</p>

<p>But I’ve been investigating and using AI tools more in March. And I have to say they’ve got <em>incredibly good incredibly quickly</em>. I have been using <a href="https://grok.com">Grok</a> for image generation and <a href="https://claude.ai">Claude</a> for research. In fact, I used Claude to help check examples in my book <a href="https://learningrussianverbs.com">Learning Russian Verbs</a>.</p>

<p>When I bought a Mac in 2007 for the first time, I had an uplifting feeling. In an instant, I could create things without having to understand every detail of the process. It came with GarageBand, iMovie, Pages, Sheets and Keynote. I could make music and films. It was possible to create something without hassle from day one. This is now my view of AI agents, but the possibilities are bigger.</p>

<p>One of my colleagues stumbled into the office a few weeks ago and mentioned that his life had been changed. He had discovered <a href="https://openclaw.ai">OpenClaw</a>. He is using it to do research but also to get things done.</p>

<p>OpenClaw works directly from your computer. It behaves like any AI agent but it also integrates into your computing environment. You can talk to it via a browser or most chat applications. You can integrate it with your email and use it as a personal assistant. Last week, I bit the bullet and set up an OpenClaw on a spare machine in my garage. I’m using it with Claude, but you can use it with most AI backends.</p>

<p><img src="/assets/2026/04/terry-as-imagined-by-grok.jpg" style="float:left;border-radius:8px;margin:20px" title="Terry as imagined by Grok" /></p>

<p><em>Terrence the Clawbot, II</em> was born last week, Terry for short. I’m going to refer to Terry as a <em>he</em>. For the record, my Siri personality at home is a <em>she</em>. I don’t know why I added the II, but Terry thinks there was another one before him. It keeps him on his toes, I guess.</p>

<p>I chat to Terry over Telegram, integrated using the BotFather. Terry sends me reports every morning about Tezos, space programmes, my search results and other things. Every day, Terry checks and corrects my book that is in progress. I have not given Terry access to much otherwise, but he is incredibly useful.</p>

<p>The interesting thing is that Terry can do some Linux server administration. My colleague managed to get his OpenClaw instance to set up a <a href="https://tezos.com">Tezos</a> baker from scratch. He gave it a simple prompt. It went off and did it, and it worked. It output a PDF of instructions, which we spent some time refining.The backend API Claude has a lot of knowledge about Tezos, but some of it is out of date. There were some things to fix, but ultimately it worked.</p>

<p>Anyway, I decided to do some experiments. I fed a chapter from my book which I’m currently writing into OpenClaw. I set up a server on GCP and gave Terry a login with <em>sudo</em> access. Terry is working in my account on a Linux server. I asked Terry to check the chapter by using the server. The chapter gives <a href="https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers.html">impatient people instructions to set up a baker</a> on a Tezos test network. He was able to set up a complete baking installation. All he asked me to do was get funds from the faucet and he waited for me to complete that part.</p>

<p>He pointed out some mistakes in the document, which I’ve fixed. The only thing that was a bit skew was he mentioned doing something that wasn’t necessary. Nobody is perfect, not even Terry.</p>

<p>I then set up another server and asked him to follow the instructions, but to use a different test network. He was able to do adapt the instructions and do it.</p>

<p>I then set up ten servers and asked Terry to set up nodes on each. I asked him to use a different test network. I also asked him not to generate keys, start DAL nodes or the baker. He did all ten servers without any errors.</p>

<p>In my next post, I will show you how (at high level) to set up OpenClaw and use it to set up a Tezos baker on a test network. Then after Easter, I will show you how to set up a Remote Signer using OpenClaw. We will use it to make the baking setup more secure.</p>

<p>I’m tempted to say that we don’t need<a href="https://en.wikipedia.org/wiki/Infrastructure_as_code"> Infrastructure as Code (IaC) </a> tools anymore. Our AI agents can <a href="https://en.wikipedia.org/wiki/RTFM">read the manual</a>.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Quick Start Guide for the Impatient Tezos Bakers</title><link href="https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers.html" rel="alternate" type="text/html" title="Quick Start Guide for the Impatient Tezos Bakers" /><published>2026-04-03T09:49:00+01:00</published><updated>2026-04-03T09:49:00+01:00</updated><id>https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers</id><content type="html" xml:base="https://chrispinnock.com/2026/04/03/quick-start-guide-for-the-impatient-bakers.html"><![CDATA[<p><img src="/assets/featuredimages/cream-baker-small.png" style="float:right;margin:10px;border-radius:8px;" /></p>

<p><em>This is an edited section from my forthcoming book “Running Tezos Infrastructure”.  No, I don’t know when I will have it finished. But I hope to have it done this year. Note also - the screenshots need updating to match the other detail in the article, so are provided for indication only.</em></p>

<p>Many people ask me “can I become a baker on <a href="https://tezos.com">Tezos</a>, Chris?” The answer is “Yes, of course.”</p>

<p>In this article, we are going to set up baker on a test network (tallinnnet) using a Linux system. We will set up the node and the DAL. Then we will generate a baking key and a companion key. We will get funds for the baking key from the test network’s faucet. Then we will start the baker.</p>

<p>This is to give you a high-level introduction to the concepts and software components. You can skip this chapter if you want.</p>

<p>Also note that <strong>the keys are stored on the computer’s hard disc</strong>. If your system is compromised, <strong>you may lose your keys and your funds</strong>. On mainnet you will need to protect your keys with more security. We will be following up with another article on this for impatient people.</p>

<h2 id="prepare-your-machine">Prepare your machine</h2>

<p>For this demonstration you will need a machine with a modern CPU with at least 4 cores and 16GB of RAM. For storage you will need 200GB of fast hard disc. SSD or NvME drives are best for blockchain storage. We will assume <a href="https://www.debian.org">Debian</a> Linux 13 throughout. Your user must have sudo access.</p>

<p>If you don’t have a machine, you can use a cloud service like Amazon Web Services EC2 or Google Cloud Compute Engine. On both, the standard disc volumes are fast enough for blockchain storage.</p>

<h2 id="download-and-install-octez">Download and install Octez</h2>

<p>We will install the Octez client, node, DAL node and baker packages. We do this from the official Octez package site.</p>

<p>Make sure that <em>curl</em> and <em>gpg</em> are installed:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt install curl gpg
</code></pre></div></div>

<p>Then accept the GPG key from the Octez packages repository:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ curl -s "https://packages.nomadic-labs.com/debian/octez.asc" | \
    sudo gpg --dearmor -o /etc/apt/keyrings/octez.gpg
</code></pre></div></div>

<p>Add the package source list for Octez. For example:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>echo "deb [signed-by=/etc/apt/keyrings/octez.gpg] https://packages.nomadic-labs.com/debian trixie main" \
 | sudo tee /etc/apt/sources.list.d/octez.list
</code></pre></div></div>

<p>Update the packages catalogue.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt update
</code></pre></div></div>

<p>Install the baker, which installs the client, node and DAL node as dependencies:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt install -y octez-baker
</code></pre></div></div>

<h2 id="configure-the-node">Configure the node</h2>

<p>We are going to run the node on the tallinnnet test network. This test network is smaller than mainnet and is specifically for testing. More importantly, the coins do not have any real value and so you can safely make mistakes.</p>

<p>The software in the Octez packages run under a user account called <em>tezos</em>. We need to use this account to configure the node. Firstly, switch to this user:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo su - tezos
</code></pre></div></div>

<p>Now we configure the node.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ octez-node config init --network=https://teztnets.com/tallinnnet \
                        --history-mode=rolling \
                        --net-addr="[::]:9732" \
                        --rpc-addr="127.0.0.1:8732"
Created /home/tezos/.tezos-node/config.json for network.
</code></pre></div></div>

<p>The command line options are:</p>

<ul>
  <li><em>network</em> - tells the node we want to run on the tallinnnet test network. The URL points to a web resource containing information about it.</li>
  <li><em>history-mode</em> - specifies the rolling history mode.</li>
  <li><em>net-addr -</em> tells the node to listen on TCP port 9732 to the Tezos gossip network.</li>
  <li><em>rpc-addr</em> - tells the node which address and port to listen on for Remote Procedure Calls (RPC). We will only listen locally on the machine.</li>
</ul>

<p>In rolling history mode the node keeps enough information to take part in the chain. We will cover all the history modes later on.</p>

<p>The node’s storage and configuration are in the directory <em>.tezos-node</em> in the tezos user’s home directory. Included in the <em>config.json</em> file is information about the network’s boot nodes. They have enough information to help your node join the network.</p>

<h2 id="download-a-snapshot">Download a snapshot</h2>

<p>A snapshot is a recent backup of the Tezos blockchain. We will download a snapshot from https://snapshots.tzinit.org’s snapshot server located in Europe. Then we will import it.</p>

<p>As the tezos user:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ wget https://snapshots.tzinit.org/tallinnnet/rolling
2024-06-12 15:02:33 (97.7 MB/s) - ‘rolling’ saved [1333975040/1333975040]

$ octez-node snapshot import rolling
Jun 12 15:02:51.584: Note: the import of a snapshot can be sped up using the '--no-check' option.
Jun 12 15:02:51.584:   Only use this option if you fully trust the snapshot source.
Jun 12 15:02:51.584: importing data from snapshot rolling:
Jun 12 15:02:51.584:   chain TEZOS_TALLINNNET_2025-11-18T21:00:00Z, block hash BKsaiQCKKyhRtF3zexct7dyzzvoKzXBoyk8jt7cvZ6hHSBUiKSk at level 6606685, timestamp 2026-03-12T11:59:56-00:00 in rolling (snapshot version 7)
Jun 12 15:02:51.584: you may consider using the --block &lt;block_hash&gt; argument to ensure that the
Jun 12 15:02:51.584:   block imported is the one you expected
Jun 12 15:02:51.585: retrieving and validating data. This can take a while, please bear with us
Copying protocols: 1/1 Done
Importing context Done
Checking context integrity Done
Storing floating blocks: 360 blocks written Done
Jun 12 15:06:15.369: successful import from file rolling
</code></pre></div></div>

<p>Exit the tezos account to your normal account.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ exit
</code></pre></div></div>

<h2 id="run-the-node-and-synchronise-it">Run the node and synchronise it</h2>

<p>The packages provide a convenient set of startup scripts. Enable and start the node service with:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo systemctl enable octez-node
$ sudo systemctl start octez-node
</code></pre></div></div>

<p>You can check progress in the logs:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo tail -f /var/log/tezos/node.log
Jun 12 15:10:15.300: the node configuration has been successfully validated.
Jun 12 15:10:15.300: read identity file
Jun 12 15:10:15.300: starting the Octez node 24.3 (40fb8d06)
Jun 12 15:10:38.854: disabled local peer discovery
Jun 12 15:10:38.857: p2p initialization: bootstrapping
Jun 12 15:10:39.001: p2p initialization: p2p_maintenance_started
Jun 12 15:10:39.436: block validator process started with pid 39499
Jun 12 15:10:39.928: external validation initialized
Jun 12 15:10:40.639: activate chain NetXnHfVqm9iesp
....
Jun 12 15:10:41.240: synchronisation status: synced
Jun 12 15:10:41.241: chain is bootstrapped
</code></pre></div></div>

<p>The node generates an identity key to join the network with. Then the node will synchronise with the network. It downloads the blocks from when the snapshot was taken to the current time.</p>

<p>Once the node’s identity has been generated, you can connect to the node and see the progress:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ octez-client bootstrapped
Warning:

                 This is NOT the Tezos Mainnet.

           Do NOT use your fundraiser keys on this network.

Waiting for the node to be bootstrapped...
Current head: BMFiD4AvKcMd (timestamp: 2024-06-12T13:23:46.000-00:00, validation: 2024-06-12T14:09:56.782-00:00)
Current head: BM7qgqsKSPTD (timestamp: 2024-06-12T13:23:51.000-00:00, validation: 2024-06-12T14:09:56.816-00:00)
...
Current head: BM2JfqL2DJnD (timestamp: 2024-06-12T14:09:26.000-00:00, validation: 2024-06-12T14:10:11.796-00:00)
Current head: BLqtHTHcfoYW (timestamp: 2024-06-12T14:09:31.000-00:00, validation: 2024-06-12T14:10:11.825-00:00)
Node is bootstrapped.
</code></pre></div></div>
<p>Use CTRL+C to exit if necessary.</p>

<p>We have successfully put a Tezos node on the tallinnnet test network.</p>

<p>Every time we run the <code class="language-plaintext highlighter-rouge">octez-client</code> command we usually get the warning below. I won’t include it in the output anymore in this section. You can suppress it by setting an environment variable but we will cover this later.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Warning:

                 This is NOT the Tezos Mainnet.

           Do NOT use your fundraiser keys on this network.
</code></pre></div></div>

<h2 id="setup-a-wallet">Setup a wallet</h2>

<p>On Tezos, you need a stake to bake. You must connect a wallet to the baker process. The produced blocks are signed with the baker’s secret key held in the wallet. The baker must be able to access the key to sign the blocks.</p>

<p>We will generate a key pair (a public key and a secret key) for the purposes of baking on tallinnnet. We will not protect the key pair as any related coins do not have value on the test network. We will see later that a large part of a baker’s job is protecting keys on mainnet.</p>

<p>As the baker processes will run in the tezos account, we need to create the wallet there too. The wallet is stored in the .tezos-client directory in the tezos user’s home directory. Below we create a key pair and list the known addresses including the one we have created. We also create a companion key used by the DAL node. We will use BLS keys.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo su - tezos
$ octez-client gen keys bakerkey --sig bls
$ octez-client gen keys companion --sig bls
$ octez-client list known addresses
bakerkey: tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf (unencrypted sk known)
companion: tz4TJdBjeX5cnUFPUUXgiLbdEm1G7HgGceok (unencrypted sk known)
</code></pre></div></div>

<h2 id="fund-the-wallet-from-the-faucet">Fund the wallet from the faucet</h2>

<p>We need some coins for our wallet. A baker needs to have access to a stake of at least 6000tz to get baking rights. Also we will need a small amount for fees. The first thing a baker does is “self-delegate”. This tells the blockchain the baker intends to bake with the wallet. It requires a small amount of tez as a fee. For the purposes of this demonstration, we will get 7000tz from the tallinnnet faucet.</p>

<p>Of course, if we were doing this on mainnet, we would have to get real coins by other means. For example, by buying them on an exchange.</p>

<p>With your web browser, go to: <a href="https://faucet.tallinnnet.teztnets.com">https://faucet.tallinnnet.teztnets.com</a>. In the section <em>Fund any address,</em> enter the address from the previous step. Then enter 7000tz in the dialogue. Click “Request 7000tz”.</p>

<p><img src="/assets/2026/04/002-Faucet.png" alt="Getting Tez" /></p>

<p>There is a “proof-of-work challenge” that your browser must solve before the coins are sent. This prevents abuse of the faucet by slowing the requests down.</p>

<p>Now you have your coins, you can check your balance on the command line:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ octez-client get balance for bakerkey
7000 tz
</code></pre></div></div>

<h2 id="configure-the-dal-node">Configure the DAL Node</h2>

<p>At the time of writing, it is not mandatory to run a DAL node, but if you don’t you will miss out on rewards. The baker uses the DAL node for attestations. Configuring and running the DAL node is easy. As we are setting the node up specifically for our baker, it’s best practice to tell it the baker’s address.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo su - tezos
$ octez-dal-node config init --attester-profile tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf
$ exit
</code></pre></div></div>

<p>Now start the DAL node. It will join the DAL network for tallinnnet. You can check that status of it in the file <em>/var/log/tezos/octez-dal-node.log.</em></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo systemctl enable octez-dal-node
$ sudo systemctl start octez-dal-node
$ tail -f /var/log/tezos/octez-dal-node.log
</code></pre></div></div>
<h2 id="set-up-the-baker">Set up the baker</h2>

<p>We need to edit one file as root to configure the baker. Edit <em>/etc/default/octez-baker</em> (for example with <code class="language-plaintext highlighter-rouge">vi /etc/default/octez-baker</code>) and edit the relevant lines in the file to reflect these settings:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>AGNOSTIC_BAKER="true"
RUNTIME_OPTS="--dal-node http://127.0.0.1:10732"
</code></pre></div></div>
<p>You can uncomment the current values and edit them, or put the two lines at the bottom of the file. They will override anything above.</p>

<p>The first line tells the system to use the new combined baker. In previous releases, there was a baker for each protocol. Going forward, the combined baker is the preferred one. The second line tells the baker where to find the DAL node. By default, the baker will attempt to use all keys in the wallet. We are assuming that you just have the baker and companion key. You can adjust the BAKER_KEY variable if you want to configure this directly.</p>

<p>By default, the configuration tells the baker to vote pass for Liquidity Baking. This is fine for the purposes of getting going on a test network, but on mainnet you might want to do something else. We cover this later on.</p>

<h2 id="declare-the-key-for-baking-and-stake">Declare the key for baking and stake</h2>

<p>Now we self-delegate to declare that we want to bake with the keys. As the tezos user, run the following commands:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo su - tezos
$ octez-client register key bakerkey as delegate
</code></pre></div></div>

<p>Next you need to declare the stake. We will use 6000tz.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ octez-client stake 6000 for bakerkey
</code></pre></div></div>

<p>We also need to connect the  companion key with the baking key.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ octez-client set companion key for bakerkey to companion
$ exit
</code></pre></div></div>

<p>We can see the operations on the block explorer.</p>

<p><img src="/assets/2026/04/004-Delegation.png" alt="" /></p>

<p>Both commands will output a lot of information about the operations, but we will skip the detail for now.</p>

<p>Now we configure the baker server to run. Exit the tezos account (e.g. with <code class="language-plaintext highlighter-rouge">exit</code>) and as root or using <code class="language-plaintext highlighter-rouge">sudo</code>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo systemctl enable octez-baker
$ sudo systemctl start octez-baker
</code></pre></div></div>

<p>At the same time, the <code class="language-plaintext highlighter-rouge">systemctl</code> commands above also enable and run the accuser. This is the server that observes the network for bad behaviour such as double baking. We will talk about this later in the book.</p>

<p>You can check the log files in <em>/var/log/tezos.</em> There is a file <em>baker.log</em> for the baker and one called <em>accuser.log</em> for the accuser.</p>

<p>We are now ready to bake on tallinnnet. But we need to wait for 5 cycles before we will get baking rights.</p>

<p>We returned a few days later and found that we had baking rights.</p>

<p><img src="/assets/2026/04/005-Rights.png" alt="" /></p>

<p>On 12th July we started to attest and bake blocks. Here are three log entries from the server. The first is for a <em>preattestation:</em></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Jul 12 09:41:00.418: received new forge event:
Jul 12 09:41:00.418:   preattestation ready for delegate bakerkey (tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf) at level 7049219 (round 0)
Jul 12 09:41:00.421: injected preattestation ooMpTSgQvFqUrVwT5tKbH6EQDwTJcWpwWZtHBS5mGGP1H8BbcXC
Jul 12 09:41:00.421:   for bakerkey (tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf) for level 7049219,
Jul 12 09:41:00.421:   round 0
</code></pre></div></div>

<p>The second is for an <em>attestation:</em></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Jul 12 09:41:00.421: received new forge event:
Jul 12 09:41:00.421:   attestation ready for delegate bakerkey (tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf) at level 7049219 (round 0)
Jul 12 09:41:00.423: received new head BLJVDFa4YgfvWtAz4miYWznpFzxDyqqWwDtMjWrLcSCkbfQ8iMU at
Jul 12 09:41:00.423:   level 7049219, round 0
Jul 12 09:41:00.968: injected attestation onwmEzchZqa4nu47oBCYAh9942FjQUuCwi63y99BY7WdbgC5Wdw for
Jul 12 09:41:00.968:   bakerkey (tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf) for level 7049219, round
Jul 12 09:41:00.968:   0
</code></pre></div></div>

<p>Finally, a log entry for a <em>baked block.</em></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Jul 12 14:13:33.339: received new forge event:
Jul 12 14:13:33.339:   block ready for delegate: bakerkey (tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf) at level 7052131 (round: 0)
Jul 12 14:13:34.004: block BKoNkYwfgjRbdQB1tLZYVQ1AQme9oAx2ksV2h9Sk6Ja9WuVWKr3 at level 7052131,
Jul 12 14:13:34.004:   round 0 injected for bakerkey (tz4E9Sgyx2mRg6GmVZRGNo8dD2imaXx9zfAf)
Jul 12 14:13:34.011: received new proposal BKoNkYwfgjRbdQB1tLZYVQ1AQme9oAx2ksV2h9Sk6Ja9WuVWKr3 at
Jul 12 14:13:34.011:   level 7052131, round 0

</code></pre></div></div>

<p>We have glossed over a lot of detail here, but there is nothing else you need to know to set up a baker on a test network. On a production setup you should do more to protect your keys.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Teztalks Live</title><link href="https://chrispinnock.com/2026/03/23/teztalks-live.html" rel="alternate" type="text/html" title="Teztalks Live" /><published>2026-03-23T08:00:00+00:00</published><updated>2026-03-23T08:00:00+00:00</updated><id>https://chrispinnock.com/2026/03/23/teztalks-live</id><content type="html" xml:base="https://chrispinnock.com/2026/03/23/teztalks-live.html"><![CDATA[<iframe width="560" height="315" src="https://www.youtube.com/embed/nJQQDxlIvDg?si=KqYAK5xPoR95zbVg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>I spoke with Blangs on TezTalks Radio, talking about what I do from a security and infrastructure perspective at Tezos Foundation.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Pie and Mash?</title><link href="https://chrispinnock.com/2026/03/14/pnm.html" rel="alternate" type="text/html" title="Pie and Mash?" /><published>2026-03-14T09:55:00+00:00</published><updated>2026-03-14T09:55:00+00:00</updated><id>https://chrispinnock.com/2026/03/14/pnm</id><content type="html" xml:base="https://chrispinnock.com/2026/03/14/pnm.html"><![CDATA[<p><img src="/assets/featuredimages/pam.jpeg" style="float:left; margin:20px;border-radius: 8px;" alt="Pie and Mash" /></p>

<p>I’ve started a new blog about <a href="https://en.wikipedia.org/wiki/Pie_and_mash">Pie and Mash</a>, but also <a href="https://englishbreakfastsociety.com">Full Englishes</a> and <a href="https://en.wikipedia.org/wiki/Fish_and_chips">Fish and Chips</a>. I will be writing about my visits to cheap and cheerful cafes and restaurants. You can find it at <a href="https://pieandmash.chrispinnock.com">pieandmash.chrispinnock.com</a>.</p>

<p>I lived in east London between 1993 and 1999, and bizarrely I never went to a Pie and Mash shop! This is despite living in Wanstead for 4 years where there is one on the high street. Perhaps I’m compensating for missed opportunities.</p>

<p>Ah but I hear you ask: Aren’t you the bloke that has been going on about <a href="https://diet.chrispinnock.com">low-carb diets for over 10 years</a>? Why would you be starting a new blog on <a href="https://en.wikipedia.org/wiki/Pie_and_mash">Pie and Mash</a>?</p>

<p>Well, there are several reasons.</p>

<p><strong>1. Reconnect with the basic pleasures of life</strong></p>

<p>Pie and Mash is a cheap and nutritious meal. The pies are simply minced beef and the mash is only the potato.  Most Pie and Mash shops sell stewed or jellied eels as well. The liquor is made with the juice from the stewed eels. Very little goes to waste.</p>

<p>Usually there is vinegar and chilli vinegar on the table. Pepper is a favourite addition. That is it. I suspect the vinegar cut through the fatty taste of cheaper pies in the “good old days”.</p>

<p>Going out to fancy restaurants is nice, but it is not how ordinary people live. Rising living costs mean people are not going out as much. The cheap working people’s cafe is a retreat from all this. You can get Pie and Mash with a cup of tea for around £10 in some places.</p>

<p><strong>2. Cheat Day</strong></p>

<p>I don’t usually each starchy or sugary carbs during the week. But at the moment, my diet allows my one day off a week. Provided I don’t go too crazy, I can eat anything I want to. It’s the day where Fish and Chips, Burgers, Pie and Mash, or anything messy may be eaten.</p>

<p><strong>3. Something to do</strong></p>

<p>More often than not I find myself on my own on Saturday lunch time. I’m out and about, shopping or I’ve just been to the gym. Well, what to do then? Pop out for Pie and Mash for around a tenner. Maybe I will have Fish and Chips in the evening too. I won’t have to cook either way.</p>

<p><strong>4. Cataloguing</strong></p>

<p>I’m not the only one. <a href="https://urt.blogspot.com">Unified Review Theory</a>: we like to catalogue things. There is a dude I know that catalogues every croissant he eats. Also I knew a fellow who catalogued every beer he drank after a certain age. He was upset about the ones he hadn’t catalogued before. Why not write every experience up?</p>

<p>We will score our experiences using a simple system: <em>Excellent</em>, <em>Good</em> or <em>Awful.</em> These are the metrics:</p>
<ul>
  <li><strong>Authenticity</strong> - was the food made on site? For example, some shops buy their pies from other places.</li>
  <li><strong>Taste</strong> -the most important factor of all.</li>
  <li><strong>Size</strong> - e.g. were the pies smaller than other places, was the fish actually medium, etc</li>
  <li><strong>Presentation</strong> - the first bite is with the eye, but unless it is awful we are not too bothered</li>
</ul>

<p>For Pie and Mash, I will:</p>
<ul>
  <li>Order double pie and double mash with liquor.</li>
  <li>Order a cup of tea.</li>
  <li>Turn the pies over and add chilli vinegar to one.</li>
  <li>Not bother with eels or other additions.</li>
</ul>

<p><em>This is a repost of my <a href="https://pieandmash.chrispinnock.com/about/">P&amp;M blog introduction</a>.</em></p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Chief Baker’s Installation Night Off</title><link href="https://chrispinnock.com/2026/02/25/installation-night-off.html" rel="alternate" type="text/html" title="Chief Baker’s Installation Night Off" /><published>2026-02-25T18:00:00+00:00</published><updated>2026-02-25T18:00:00+00:00</updated><id>https://chrispinnock.com/2026/02/25/installation-night-off</id><content type="html" xml:base="https://chrispinnock.com/2026/02/25/installation-night-off.html"><![CDATA[<iframe width="560" height="315" src="https://www.youtube.com/embed/C_e_pj8dEJI?si=KD8i_VUUV9SYmP8U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>On Wednesday 25th February, Germán and I showed the world how to install a 
Tezos node and baker using Octez. (And I showed Germán how to do it properly.)</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Chief Baker’s Talinn Night Off</title><link href="https://chrispinnock.com/2026/01/24/tallinn-night-off.html" rel="alternate" type="text/html" title="Chief Baker’s Talinn Night Off" /><published>2026-01-24T14:00:00+00:00</published><updated>2026-01-24T14:00:00+00:00</updated><id>https://chrispinnock.com/2026/01/24/tallinn-night-off</id><content type="html" xml:base="https://chrispinnock.com/2026/01/24/tallinn-night-off.html"><![CDATA[<iframe width="560" height="315" src="https://www.youtube.com/embed/yQzSOJ2W0nw?si=zg53rgZEJhaDsqtO" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>On Saturday 24th Jan 2026 around 1600, the Tezos blockchain switched to the Tallinn protocol. Germán and I saw the new protocol in together.</p>

<p>We streamed this at 1515 UK time on Saturday 24th January 2026.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Stakehouse Episode 2</title><link href="https://chrispinnock.com/2025/12/18/stakehouse2.html" rel="alternate" type="text/html" title="Stakehouse Episode 2" /><published>2025-12-18T18:00:00+00:00</published><updated>2025-12-18T18:00:00+00:00</updated><id>https://chrispinnock.com/2025/12/18/stakehouse2</id><content type="html" xml:base="https://chrispinnock.com/2025/12/18/stakehouse2.html"><![CDATA[<iframe width="560" height="315" src="https://www.youtube.com/embed/ruvVRyrxQXI?si=rOsbXIwL7TObLcK1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>🥩 The Stakehouse was open again in December.</p>

<p>🍷 Sometimes on those cold nights, you need somewhere to get away from it all. Stakehouse is a virtual bar for all of us. Join your bar stewards for the evening Cryptonio, Blangs, Germán and me.</p>

<p>🍷 We opened the sherry and ate mince pies, whilst reviewing the year and talking about the Tallinn proposal.</p>

<p>👉 We streamed this at 1800 UK time on Thursday 18th December 2025.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Stakehouse Episode 1</title><link href="https://chrispinnock.com/2025/10/09/stakehouse1.html" rel="alternate" type="text/html" title="Stakehouse Episode 1" /><published>2025-10-09T19:00:00+01:00</published><updated>2025-10-09T19:00:00+01:00</updated><id>https://chrispinnock.com/2025/10/09/stakehouse1</id><content type="html" xml:base="https://chrispinnock.com/2025/10/09/stakehouse1.html"><![CDATA[<iframe width="560" height="315" src="https://www.youtube.com/embed/gPgh2y7FmyA?si=7YAyVunriIlXbX_9" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>🥩 Welcome to the Stakehouse. The new quarterly video space about Tezos, blockchain and life!</p>

<p>🍷 Sometimes on those cold nights, you need somewhere to get away from it all. Stakehouse is a virtual bar for all of us. Join your bar stewards for the evening Cryptonio, Blangs, Germán and me at the Stakehouse for opening time.</p>

<p>👉 We streamed this at 1800 UK time on Thursday 9th October 2025.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[]]></summary></entry></feed>