OpenViSTAI · Agents · Blockchain · Crypto
Menu
Infrastructure

Mako

Mako is a from-scratch Bitcoin implementation in near-C89 C. It provides a reusable, no-I/O core library called libmako and a separate full-node library, libnode, linked into the mako and makod command-line binaries.

Independent OpenViST project profile, based on linked sources.

Mako — OpenViST project profile in Infrastructure.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Mako for Bitcoin implementation research, learning, and non-production experiments where its missing features and incomplete status are acceptable.

Who it is for

  • C developers exploring Bitcoin data structures and protocol primitives.
  • Researchers and learners studying an independent Bitcoin implementation.
  • Developers experimenting with command-line Bitcoin node workflows.

Documented uses

  • Study a from-scratch Bitcoin implementation written in near-C89 C.
  • Reuse Bitcoin data structures and primitives through the libmako core library.
  • Build the documented mako and makod command-line binaries for experimentation.
  • Examine the separation between a no-I/O core library and a full-node library.
Before you choose

Requirements & limits

  • The core library performs no I/O; full-node functionality is separated into libnode.
  • The documented build uses CMake and make and produces mako and makod.
  • The project is described as near-C89 and more-or-less dependency-less, with lcdb vendored.
  • The README says not to use Mako in production.
  • Wallet and wallet RPC functionality are absent, some RPC calls are missing, and consensus support does not include Taproot.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Build Mako’s experimental command-line binaries

Use the documented build commands to produce the mako and makod binaries for experimentation.

Before you start

  • A Linux or Windows/Win32 environment; the README says the project has so far been tested on Linux and Win32 via MinGW cross-compilation.
  • CMake and make, as used in the documented build commands.

Steps

  1. From the project directory, run cmake . -DCMAKE_C_FLAGS=-g -DCMAKE_BUILD_TYPE=Release.

  2. Run make.

  3. The documented build produces mako and makod; their arguments mimic bitcoin-cli and bitcoind, respectively.

Expected outcome

The build produces the two command-line binaries for experimental use.

Guide limitations

  • The README says not to use Mako in production and describes the node as incomplete.
  • Some RPC calls, including getblocktemplate, are missing; wallet functionality is absent; consensus support does not include Taproot.
  • The README says the project has so far been tested on Linux and Win32 only.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
chjj/mako · Official homepage title · retained in its source language