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 →

A simple binary tree in Rust

I’m writing a simple binary tree in Rust as part of my current endeavor to learn this language. I might eventually extend this into a rewrite of some parts of my Orderbook series, but who knows. The day is young. Starting off Make a new cargo package and name it something dumb. $> cargo new beetree Navigate into the sweet new repo that cargo setup for you and get into the main.
Read more →

Automatic Deploys Without a PaaS

I’ve written at length about a deployment first development style of workflow. I’ve found this to be particularly useful for side projects where you might just want to occasionally drop in and add a feature without too much hassle. Lowering the bar to first commit in a single work session can be a huge boost to development speed. I’ve tried a lot of different solutions - Rancher, minikube, custom shell scripts and Make commands, some CLI libraries like flightplanJS, and even git hooks.
Read more →