TrueBlocks Progress Report — 4th Quarter 2022

Introduction

Thomas Jay Rush
8 min readDec 30, 2022

For some people, the end of the year is a time of happy celebration. A time spent with family and friends, sharing gifts, drinking, and having fun. That’s mostly true for me, but the end of the year also signifies something else for me. It signifies a time when my ability to procrastinate gets seriously challenged. The end of the year feels like a deadline. A big fat annoying deadline…

In that vein, here is a report on our progress at TrueBlocks for the fourth quarter of 2022.

Even though I tease, I’m happy to produce this report as part of our responsibilities related to our Ethereum Foundation Grant in September.

Below, we list the major Releases we made this quarter. Next, we discuss our community-building efforts. Following that, we link to a few articles and blog posts by people who are either directly using or are being inspired by our ideas. We finish with a bit of fun. Before we begin, though, let’s review our milestones.

Milestones

We discussed the milestones we’ve agreed to in our grant announcement. Here, we show screenshots from that article:

We’ve accomplished all of these milestones except for writing the second draft of the Specification for the Unchained Index (we will finish this early next week). We’ve released a beta version of our docker package and have a good plan for finishing it in the next few months. We also released a rudimentary alpha version of our dAppNode package. Once the docker version is complete, the dappnode package will follow shortly thereafter.

As you’ll see below, we’ve had a lot of calls with Giveth, for whom we are building a tool to help them find fraudulent donations. Admittedly, this work is taking forever, but we hope they will be among the first users of our dAppNode package.

Here’s what we’re working towards for the next milestone in April. We have high hopes that we will be able to reach these goals by April (although, maybe less so for the “documentation” part. Documentation is hard.)

In the remained of this article, we present more detail on the progress we’ve made toward these milestones.

Major Releases

We made five major releases in the quarter. The easiest way to explain them is to show screenshots (see below). Pay particular attention to the title of each release, which explains the main purpose of the release, and the list of contributors, which we are proud to say is growing.

As an aside — our releases are named after the counties in the State of Pennsylvania, USA. Our home.

The Chester Release included a near-complete rewrite of our index scraper. This release was included in the previous quarter’s report.

The release included removing a huge amount of complicated C++ code and replacing it with a smaller amount of complicated GoLang code. Porting TrueBlocks to GoLang was one of the things we agreed to deliver as part of our grant. This difficult rewrite helped prepare us for our docker release, which is described below. The Chester Release also included, very importantly, the production of our Specification for the Unchained Index. We will be releasing a second draft of this spec very soon.

The Clarion Release added a major feature to our GoLang code (thanks to Dawid Szlachta) called StreamMany. This feature allows us to export data produced by any chifra endpoint identically — as a stream of text. Local-first software (such as Linux command-line tools) ‘want’ to stream their output. The “s” in sed (which is a stream editor) stands for “stream”. The chifra command-line tools “want” to work as any other Linux tool. (The JSON-istas of this world seem to have lost that idea.)

We also added a fun feature called PetNames in this release (see below). We leave the explanation of petnames as an exercise. This release also saw a few new contributors and fixed a number of small- to medium-sized bugs.

The Clearfield Release was another major rewrite — this time to the accounting modules. We’ve written about our excellent accounting modules elsewhere (here and here), but this time we went even further. Until this release, our ETH accounting was excellent, but our ERC-20 token accounting was a bit less so. With this release, we’ve brought our ERC-20 token accounting up to the standards of the ETH account. What is that standard? you may ask: 99.98% accurate. We challenge anyone to meet that standard. We also fixed a number of outstanding bugs.

The Columbia Release was another major milestone — a docker version. This was very satisfying as it accomplished two things: (1) it meets one of the requirements for our Ethereum Foundation grant, and (2) the announcement of this release made it into the #MuchClicked tweet for Ethereum Week in Review!

This is not the final version of our docker package, but it moves that repo well along. We have more work to do with the docker version, including enabling chifra init on startup and running chifra scrape and chifra monitor continually. (Note: chifra monitor is not part of the EF grant.)

There was other progress in relation to our docker version made in our develop branch, but this has not yet made it into a release. That is, we released the first version of our trueblocks-dappnode package. While this package is not yet in beta, it is started. This repo was also part of our EF milestones for the quarter.

The final release of the quarter, the Crawford Release, is an unexpected bonus that we didn’t actually plan. Some time ago, the previously mentioned code wizard, Dawid Szlachta, extracted some of the code in trueblocks-explorer into a library that he called “the SDK”. We were very pleased to be able to pull this code out into a GitHub repo of its own this quarter. We even added a rudimentary Python version of the SDK. Wizard Szlachta also produced some code we call the Four Byte Cross Product tool, which may come in handy in the future as we port to GoLang.

Community

We’ve had a fair amount of activity in our community. We had calls with lots of people this quarter, including dAppNode, Giveth (multiple calls), Rotki, members of GitCoin’s FDD, and members of the Open Data Initiative.

We’re always open to having calls with anyone. Hit us up in our Discord.

While many of these calls were related to things in addition to TrueBlocks, we think it’s important to participate in the discussions about Open Data. In this vein, we’ve agreed to sponsor (in a small way) the forthcoming Open Data Initiative Hackathon in January 2023.

We’re hoping to sponsor a small prize for a single-winner Essay Contest in the next Open Data Initiative hackathon. Possible topics:

  • What’s the worst outcome that comes out of crypto?
  • Why is decentralization important?
  • How can we avoid the seemingly inevitable slide down the hill to centralization?
  • Can decentralization and centralization live together amicably?
  • Is there such a thing as progressive decentralization?
  • What does a truly private world wide computing system look like?
  • How does surveillance capitalism survive in a truly private computing ecosystem?
  • What’s the most amazing outcome that comes from crypto in thirty years?
  • Describe the most beautiful city run completely on a decentralized stack.

Articles Written by Us

One of our milestones was to produce a few articles about TrueBlocks. We link to those articles here. The one about “Better Accounting for Blockchains” is particularly intesting.

Articles Written by Users

We’ve also had a number of articles written by friends and/or members of our community. These articles, in some cases, use TrueBlocks as the primary source of data. In other cases, some of the ideas behind TrueBlocks (such as the Unchained Index) served as major influences for the ideas presented. In any case, we’re very pleased that our tools continue to get adoption.

This article is a pre-release article by one of our users. It is our understanding that he used our tools to help with data acquisition for his study. He also wrote this wonderful article on installing Erigon and TrueBlocks together on the same machine.

A yet-to-be-published academic article by one of our users called Arbitrage in Crypto Markets: An Analysis of Primary Ethereum Blockchain Data (copy available upon request).

The following collection of four articles was written by a community member who has apparently Grokked what we’ve been talking about for the last six years. Welcome…

This tweet and response…

…may have led to a few articles by the very prolific William Scwabb, a long-time friend and supporter:

We also, just today, got this very nice mention:

Dall-E-Dresses

We had fun feeding petnames, which are unique three-word phrases deterministically generated from an Ethereum address using chifra names, into Dall-E, the text-to-image generator. Here’s trueblocks.eth as an AI-generated image from an address and the prompt “Sadly-sitting-anteater in Steam Punk Style:

Support Our Work

TrueBlocks is funded from our own personal funds and grants from The Ethereum Foundation (2018), Consensys (2019), Moloch DAO (2021), Filecoin/IPFS (2021), our GitCoin donors, and, of course, The Ethereum Foundation (2022).

If you like this article and wish to support our work, please donate to our GitCoin grant https://gitcoin.co/grants/184/trueblocks. Even small amounts have a big impact.

If you’d rather, feel free to send ETH or any other token to us directly at trueblocks.eth or 0xf503017d7baf7fbc0fff7492b751025c6a78179b.

--

--

Thomas Jay Rush

Blockchain Enthusiast, Founder TrueBlocks, LLC and Philadelphia Ethereum Meetup, MS Computer Science UPenn