Announcement: dev toolkit alpha

Eric Tung
Mel Blog
Published in
3 min readAug 30, 2022

Why a dev toolkit?

Themelio has been running a beta mainnet for more than a year already — this means relatively full-featured nodes, wallets, and most of what you’d expect out of a running network. But during that time, actually using the betanet for things beyond sending around money or minting MEL was difficult. Key programs such as themelio-node were not very well documented, tools like Melscan missed a lot of important info, and there wasn’t a way of writing on-chain covenants other than manually creating MelVM programs.

All that has now changed. We’ve been working on a huge batch of tooling improvements over the past few months, and now we’re happy to announce that there’s a reasonably feature-complete set of development tools for hacking in and on Themelio:

Melodeon: our high-level covenant language

An example of a Melodeon covenant, in the Melodeon playground

We’ve released an alpha version of Melodeon, a high-level language for writing covenants — Themelio’s version of on-chain programming. Melodeon is a user-friendly, purely functional, and strongly typed language that might feel like a hybrid of ML and TypeScript. Melodeon makes writing the rather “weird” bounded-execution, UTXO-based covenants of Themelio just as natural as programming in a more traditional environment.

This release includes:

A rewritten, much more feature-rich Melscan

Melscan, our open-source block explorer, has been greatly improved. The entire architecture is now based on a simple Rust backend with a SvelteKit frontend, as opposed to the old monolithic Rust program.

Melscan’s new coin graph explorer

This update includes many more features especially useful for developers. A brief, incomplete selection:

  • A stats page summarizing network-wide statistics like money supply, and richest addresses.
  • A much more detailed transaction page including disassembled MelVM covenants, detailed listings of every field of the transaction, etc.
  • A coin graph explorer, accessible through every transaction page, that allows interactive exploration of the entire Themelio UTXO/coin graph.

New wallet system

melwalletd, the program underlying all of our official wallets, has received a fairly extensive overhaul and a properly specified API. Notably, it no longer hardcodes the “mainnet” and “testnet” as the two networks on which wallets can be created, but is intended to manage wallets on any network specified by the user.

Extensive documentation and tooling updates

We’ve done a lot of work making sure that our tools are much more stable, usable, and well-documented. This has impacted almost every Themelio project, but most notably:

  • themelio-node, the reference full-node implementation, now has a revamped configuration format, proper support for creating testing “simnets”, as well as a detailed README.
  • docs.themelio.org received many changes to bring pages up-to-date with the latest tooling, as well as a reorganization that makes it easier to find relevant docs
  • melwalletd and melwallet-cli now both have detailed documentation

--

--