OpenViSTAI · Agents · Blockchain · Crypto
Menu
Smart Contracts

Murky

Murky is an open-source Solidity library of contracts for generating Merkle roots and inclusion proofs and verifying whether a leaf is included under a root. It provides full and complete binary-tree implementations, sorted concatenation-based hashing by default, and a base contract that developers can inherit to supply a custom hashing function.

Independent OpenViST project profile, based on linked sources.

Murky — OpenViST project profile in Smart Contracts.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Murky when a Solidity application needs root generation, proof generation, or inclusion verification, especially when choosing between full and complete binary-tree structures matters.

Who it is for

  • Solidity developers adding Merkle inclusion checks to smart contracts.
  • Teams generating roots and proofs for allowlists or JSON-based datasets.
  • Developers aligning on-chain tree structure with an off-chain tool that uses complete binary trees.

Documented uses

  • Calculate a Merkle root from leaf data.
  • Generate a proof for a selected leaf.
  • Verify a leaf's inclusion against a root.
  • Generate proof data from JSON using the included Foundry script.
Before you choose

Requirements & limits

The code is available in a public GitHub repository under the MIT license. The documented local workflow uses Foundry.

  • Choose Merkle.sol for its full binary-tree implementation or CompleteMerkle.sol for complete binary trees.
  • Both implementations use sorted concatenation-based hashing by default; custom hashing requires inheritance from MurkyBase.sol.
  • The included JSON proof-generation script is documented with Merkle.sol.
  • The README states that the code has not been audited.

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

Install Murky and run its Foundry tests

Set up the repository with Foundry and run the documented test command.

Before you start

  • Foundry

Steps

  1. Clone the Murky repository.

  2. Run forge install in the repository.

  3. Run forge test.

Expected outcome

The repository's Foundry test suite runs through the documented command.

Guide limitations

  • This setup and test sequence does not audit the code or establish correctness for a particular integration.
Source-based practical guide

Generate proofs from the documented JSON input

Use the repository's Foundry script to process JSON input and write generated proof data.

Before you start

  • Foundry
  • The Murky repository
  • JSON input at script/target/input.json

Steps

  1. Place the input JSON at script/target/input.json.

  2. Run forge script script/Merkle.s.sol.

Expected outcome

The script is documented to generate proof data and write it to `script/target/output.json`.

Guide limitations

  • The documented script uses Merkle.sol; no equivalent JSON workflow is specified for CompleteMerkle.sol.
  • The repository describes the script but does not document input schema details here.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
dmfxyz/murky · Official homepage title · retained in its source language