{"id":41173626,"url":"https://github.com/chainpoint/merkletools-go","last_synced_at":"2026-01-22T19:50:14.255Z","repository":{"id":57694434,"uuid":"168612404","full_name":"chainpoint/merkletools-go","owner":"chainpoint","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-03T22:28:21.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2023-08-07T11:21:49.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chainpoint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-31T23:26:24.000Z","updated_at":"2022-04-29T19:52:46.000Z","dependencies_parsed_at":"2022-09-26T21:01:32.252Z","dependency_job_id":null,"html_url":"https://github.com/chainpoint/merkletools-go","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/chainpoint/merkletools-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fmerkletools-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fmerkletools-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fmerkletools-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fmerkletools-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chainpoint","download_url":"https://codeload.github.com/chainpoint/merkletools-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fmerkletools-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28669720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-22T19:50:13.798Z","updated_at":"2026-01-22T19:50:14.249Z","avatar_url":"https://github.com/chainpoint.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# merkletools-go\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nMerkletools-go is a library used by the Chainpoint project to efficiently generate and interact with [Merkle trees](https://en.wikipedia.org/wiki/Merkle_tree). \nIt possesses a number of options for creating blockchain-compatible trees and generating proofs of inclusion.\n\n## Install\n\nThis package uses Go modules for dependency management.\n\n`go get github.com/chainpoint/merkletools-go`\n\n## Usage\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"encoding/hex\"\n\t\"time\"\n\tmerkletools \"github.com/chainpoint/merkletools-go\"\n)\n\nfunc main() {\n\tmt := merkletools.MerkleTree{}\n\tvar hash, _ = hex.DecodeString(\"cb4990b9a8936bbc137ddeb6dcab4620897b099a450ecdc5f3e86ef4b3a7135c\")\n\tleafCount := 100000\n\tfor i := 0; i \u003c leafCount; i++ {\n\t\tmt.AddLeaf(hash)\n\t}\n\n\tmt.MakeTree()\n\n\tfor i := 0; i \u003c leafCount; i++ {\n\t\tproof := mt.GetProof(i)\n\t\tisValid := merkletools.VerifyProof(proof, mt.GetLeaf(i).Hash, mt.GetMerkleRoot())\n\t\tif !isValid {\n\t\t\tpanic(\"Bad Proof!\")\n\t\t}\n\t}\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainpoint%2Fmerkletools-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainpoint%2Fmerkletools-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainpoint%2Fmerkletools-go/lists"}