Quarterly Report of Q4 2024-TrueBlocks FY24–1558

Thomas Jay Rush
7 min readJan 10, 2025

--

As announced in June 2024 and reported on at the end of Q3 2024, TrueBlocks received an Ethereum Foundation ESP grant for TrueBlocks miniDapps.

As a reminder, the project included the development of an SDK and miniDapp (small, fully decentralized, and fully private application), demonstrating to the Ethereum community the practicality of a fully decentralized stack and showing how to build “truly” decentralized, local-first apps.

This fourth quarter 2024 report is the second of four such reports required to fulfill the terms of the grant.

Executive Summary

This is a list of our deliverables for 4Q 2024:

  • Near completion of miniDapp (upshot: we are well on our way).
  • Extend the SDK with on-chain write support (upshot: alpha version completed. Before incorporating it in production code, more security work is needed).
  • Speak at a conference or on a podcast at least once (upshot: spoke twice at DevCon and once at the Decentralize Philly meetup).
  • Produce a quarterly report (upshot: this document).

There were two additional accomplishments related to the grant:

  • We wrote an article, “Mist II: Revenge of the Nerds,” articulating a possible vision for resurrecting the Mist Browser. This is not a commitment to rebuilding Mist — just the start of a conversation.
  • We extracted part of our code into the new khedra component and wrote The Khedra Book. Khedra handles the long-running “service-” or “daemon-like” aspects of our mini-dApps. This avoids duplicating these functions in every mini-dApp. Also, it is much easier for others to build on our work. Building a docker version and a dAppNode version is also easier.

Deliverables for 4th Quarter 2024

In this section, we detail our progress on each of the deliverables.

Milestone 1: miniDapp Development

Goal: Release the first alpha version of a mini-dApp and present it publically

We made good progress on the mini-dApp this quarter. Here’s a video of us presenting our work on the Alpha release. We feel confident we will reach beta status by the end of 1st quarter 2025. This component is called trueblocks-browse, and its GitHub repo is here.

As part of this work, we made significant progress on khedra (called trueblocks-node in our prior update). Khedra’s repo is here.

During conversations with some of our users, we were convinced that separating khedra into a component focused on long-running aspects of scraping, indexing, monitoring, and pinning the data made sense. We even wrote a book about this new component: The Khedra Book.

An integral part of the mini-dApp, khedra solves several challenging problems and brings many benefits:

  1. Increases speed of development for new mini-dApps. Devs don’t have to solve the “long-running” process problem with each new mini-dApp.
  2. The monitoring portion of khedra caches user-defined address histories. This means mini-dApps may start immediately without waiting to catch up to the chain head. Also, as each block is processed, cached data is immediately made available to all mini-dApps. This was discussed in our article Mist II — Revenge of the Nerds.
  3. Separating concerns makes building and maintaining docker and dAppNode packages much easier.
  • The Kheda Book will (hopefully) make it easier for others to get started building on top of our work.
  • In addition to being usable from inside a mini-dApp, khedra may also be run as a stand-alone package. Users may download, install, and run khedra without downloading any other part of our stack. (RPC hosting services we’ve spoken to may be interested in this as an extension to their services.)
  • We had conversations with the BuidlGuidl team regarding the BuidlGuidl Client project. This work inspired khedra. We’ve toyed with packing a “node-runner” like the BuidlGuidl Client with khedra for an all-in-one package allowing users to run a “self-indexing, personal monitor of a locally running Ethereum node.”

(As a side note: If the original Mist Browser had had such a process, it may not have died such a quick death.)

This schematic diagram describes how our new framework is designed to achieve these benefits. (Replace the word “Mist” with “mini-dApp.”)

Summary: We’ve enhanced the TrueBlocks framework to make mini-dApps faster, easier to build, and more easily understood. This enhances others’ ability to leverage our work and develop their own local-first mini-dApps.

We’ve also set ourselves up to meet our grant commitments due at the end of the first and second quarters 2025. (Note: this will include developing an installer, completing the documentation (The Chifra Book and The Khedra books), and making public announcements.)

Resources:

Milestone 2: Extend the SDK with on-chain write operations

As reported at the end of the 3rd quarter, the TrueBlocks SDK is coded, documented, and working well. (We use it quite effectively in both the mini-dApp and khedra.) In the fourth quarter, we enhanced the SDK to add on-chain write capabilities. As a reminder, the Unchained Index publishing module of TrueBlocks requires on-chain writing capabilities.

While initially added to the SDK, we’ve chosen to comment it out there for now. Instead, we’ve created example code and proofs-of-concept. We did this to be ultra careful security-wise. This capability will be added to our mini-dApp but won’t be added to the SDK until it can be more carefully reviewed.

Summary: We have the “write-to-chain” capability needed for mini-dApps but have not included it in the SDK. We will revisit this issue next quarter. Finalizing this feature in the SDK will be an iterative process, and we will continue to improve it as we go.

Resources:

Milestone 3: Present our work publically

Our third agreed milestone was to present our work through conference talks, meetup presentations, or podcasts.

We presented our work publically three times.

The first presentation was for the Philadelphia, PA, USA “Decentralize Philly” meetup group. We presented an alpha version of our first mini-dApp (trueblocks-browse). Here’s a recording of that talk.

Here’s a screenshot of the alpha version of the trueblocks-browse. This view shows the Transactional History view. You can see many other views along the tab bar near the green button. The left side menu shows other categories of data we present. We expect to write multiple articles about the app in the coming quarter.

We were also lucky enough to attend DevCon in Bangkok in November, where we presented our work twice. Our first talk was a 10-minute lightning talk (here). Of course, this was not long enough to go into any detail. We only tried to explain one of our design philosophies: using everyday metaphors (such as a “bulletin board”) when working in complicated environments.

Unfortunately, our second talk at DevCon was not recorded; therefore, I can’t link to a video (here’s the announcement). In this hour-long talk, we presented the alpha version of the mini-dApp (trueblocks-browse) running against a dAppNode, which served as our local RPC endpoint. This presentation went very well. Thirty to forty people attended in a very crowded area. The session generated a lot of fruitful discussion and got us a lot of new contacts. Folks seemed genuinely interested.

Milestone 4: This report

As promised, we herein deliver our quarterly report.

Next Quarter (1st Q 2025)

According to our grant application, we have the following items on our agenda for the following quarter.:

MiniDApp Development (March 2025):

  • Produce the beta version of the mini-dApp (trueblocks-browse).
  • Complete installer trueblocks-browse for Mac and Linux versions (no Windows version).
  • Announce to the world the beta release.

Community Engagement (March 2025):

  • Encourage others to build upon our work through podcasts, video tutorials, etc.
  • Write at least one Medium article about local-first apps, local-first indexing, and genuinely decentralized applications.

Write a quarterly report (March 2025):

  • Delivered like this report through Medium

Conclusion

In conclusion, we’ve completed most of our deliverables for the fourth quarter of 2024. In addition, we made good progress on khedra, which will enhance all our future work. We built a prototype of the “write-to-chain” feature into our SDK (but moved it into a separate “example” repo until it can be further hardened). The prototype allows us to proceed with our work on the mini-dApps.

Your Support is Welcome

Thanks for reading. Thanks so much to everyone for all your support over the years. We look forward to continuing our work in 2025. As always, Live Long and Decentralize!

TrueBlocks is funded from personal funds and grants from The Ethereum Foundation (2018, 2022, 2024), Optimism Retro PGF (2022, 2023), Consensys (2019), Moloch DAO (2021), Filecoin/IPFS (2021), and our lovely GitCoin donors.

If you like this article and wish to support our work, please donate to our GitCoin grant using ETH or any token. If you’re an Optimism badge holder, vote for our project. Or send us a tip directly at trueblocks.eth or 0xf503017d7baf7fbc0fff7492b751025c6a78179b.

--

--

Thomas Jay Rush
Thomas Jay Rush

Written by Thomas Jay Rush

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

No responses yet