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.
Requirements & limits
The code is available in a public GitHub repository under the MIT license. The documented local workflow uses Foundry.
- Choose
Merkle.solfor its full binary-tree implementation orCompleteMerkle.solfor 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.
Install Murky and run its Foundry tests
Set up the repository with Foundry and run the documented test command.
Before you start
- Foundry
Steps
Clone the Murky repository.
Run
forge installin the repository.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.
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
Place the input JSON at
script/target/input.json.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 forCompleteMerkle.sol. - The repository describes the script but does not document input schema details here.
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

