Ethereum RLP Encoding w/code in Erlang and TypeScript

This is a standard for encoding arbitrary(ish)-depth lists of lists of … of lists of bytestrings, as a single bytestring. -type decoded_data() :: binary() | [decoded_data()]. -spec encode(Data) -> RLP when Data :: decoded_data(), RLP :: binary(). -spec decode(RLP) -> {Data, Rest} when RLP :: binary(), Data :: decoded_data(), Rest :: binary(). Ethereum’s docs are […]

Base64 v. Base58 with code in Erlang and TypeScript

Base64 and Base58 are two algorithms for encoding byte arrays to plain text. I initially assumed these were two instances of the same “Base N” algorithm. This is not the case. These are two fundamentally different algorithms. Base64 is simpler. It treats your byte array as a stream of bytes. It encodes 3 bytes at […] An Explainer is a somewhat complicated system in that it directly uses on-chain contract call transactions as its payment method. This means that a sale’s status passes through phases that are governed by actions that occur on the chain which can only be initiated by transactions that are signed by the users and must be verified […]

Alternative Tracks

“How did you go bankrupt?” Bill asked.“Two ways,” Mike said. “Gradually, then suddenly.” Ernest Hemingway, The Sun Also Rises A cascade of financial crises are rushing across the Western world. Gradually Imagine a set of express trains that are all headed toward a single catastrophic, multi-track collision. Each train is heavily damaged already, but the […]