Chainer: A tiny append-only transaction log in Go

Chainer: A tiny append-only transaction log in Go
Cover Photo by Lorenzo Herrera on Unsplash Append only logs have a variety of applications. This post explores creating a tiny append-only log as a personal utility library that has the following interface. set(account, balance) get(account, height) increment_height() The Get and Set functions are the meat of the library. // Set adds a tx to the list at the current height func (b *chainer) Set(id string, balance uint64) { newtx := tx{height: b.
Read more →

A tiny monitoring library in Go

A tiny monitoring library in Go
I wrote a tiny monitoring library in Go over the weekend. The goal was to create something that was extensible to any type of source that I wanted to monitor while remaining simple and easy to test. I messed with a few different approaches and ultimately landed here. The library is one single file but I think it’s pretty robust. I initially tried a more interface-focused approach but I actually like the typed function implementation shown below.
Read more →

ManaCrypt: Developing an Experimental Token Vault in Solidity and Forge

ManaCrypt: Developing an Experimental Token Vault in Solidity and Forge
I have been brushing up my chops with Solidity lately, so I decided to sit down and write a simple token vault implementation. It’s going to be a simple holding contract for balances that we can extend with other functionality in the future, like bridging, merkle trees, or decentralized swaps if we really wanted to get wild with it. The code for this can be found at dylanlott/manacrypt. Prerequisities I’m going to use Forge to develop this since it’s the latest and greatest (and it really is the greatest in Solidity development).
Read more →