Top 0.3% dependent packages on proxy.golang.org
Top 0.5% dependent repos on proxy.golang.org
Top 4.7% forks on proxy.golang.org
Top 1.1% docker downloads on proxy.golang.org
proxy.golang.org : github.com/filecoin-project/go-hamt-ipld/v2
Package hamt provides a reference implementation of the IPLD HAMT used in the Filecoin blockchain. It includes some optional flexibility such that it may be used for other purposes outside of Filecoin. HAMT is a "hash array mapped trie" https://en.wikipedia.org/wiki/Hash_array_mapped_trie. This implementation extends the standard form by including buckets for the key/value pairs at storage leaves and CHAMP mutation semantics https://michael.steindorfer.name/publications/oopsla15.pdf. The CHAMP invariant and mutation rules provide us with the ability to maintain canonical forms given any set of keys and their values, regardless of insertion order and intermediate data insertion and deletion. Therefore, for any given set of keys and their values, a HAMT using the same parameters and CHAMP semantics, the root node should always produce the same content identifier (CID). The HAMT algorithm hashes incoming keys and uses incrementing subsections of that hash digest at each level of its tree structure to determine the placement of either the entry or a link to a child node of the tree. A `bitWidth` determines the number of bits of the hash to use for index calculation at each level of the tree such that the root node takes the first `bitWidth` bits of the hash to calculate an index and as we move lower in the tree, we move along the hash by `depth x bitWidth` bits. In this way, a sufficiently randomizing hash function will generate a hash that provides a new index at each level of the data structure. An index comprising `bitWidth` bits will generate index values of `[ 0, 2^bitWidth )`. So a `bitWidth` of 8 will generate indexes of 0 to 255 inclusive. Each node in the tree can therefore hold up to `2^bitWidth` elements of data, which we store in an array. In the this HAMT and the IPLD HashMap we store entries in buckets. A `Set(key, value)` mutation where the index generated at the root node for the hash of key denotes an array index that does not yet contain an entry, we create a new bucket and insert the key / value pair entry. In this way, a single node can theoretically hold up to `2^bitWidth x bucketSize` entries, where `bucketSize` is the maximum number of elements a bucket is allowed to contain ("collisions"). In practice, indexes do not distribute with perfect randomness so this maximum is theoretical. Entries stored in the node's buckets are stored in key-sorted order. This HAMT implementation: • Fixes the `bucketSize` to 3. • Defaults the `bitWidth` to 8, however within Filecoin it uses 5 • Defaults the hash algorithm to the 64-bit variant of Murmur3-x64 The algorithm used here is identical to that of the IPLD HashMap algorithm specified at https://github.com/ipld/specs/blob/master/data-structures/hashmap.md. The specific parameters used by Filecoin and the DAG-CBOR block layout differ from the specification and are defined at https://github.com/ipld/specs/blob/master/data-structures/hashmap.md#Appendix-Filecoin-hamt-variant.
Registry
-
Source
- Documentation
- JSON
purl: pkg:golang/github.com/filecoin-project/go-hamt-ipld/v2
License: MIT
Latest release: almost 5 years ago
First release: almost 5 years ago
Namespace: github.com/filecoin-project/go-hamt-ipld
Dependent packages: 198
Dependent repositories: 190
Stars: 28 on GitHub
Forks: 23 on GitHub
Docker dependents: 14
Docker downloads: 18,037
See more repository details: repos.ecosyste.ms
Last synced: 16 days ago
github.com/Schwartz10/cli/v2 v2.2.1
Copyright © 2023 NAME HERE <EMAIL ADDRESS> Licensed under the Apache License, Version 2.0 (the "...7 versions - Latest release: about 1 year ago - 0 stars on GitHub
github.com/schwartz10/cli/v2 v2.2.1
7 versions - Latest release: about 1 year ago - 0 stars on GitHubgithub.phpd.cn/filecoin-project/venus v1.15.2
87 versions - Latest release: about 1 year agogithub.com/nemolc/lotus v1.26.2
288 versions - Latest release: about 1 year ago - 0 stars on GitHubgithub.xiaoq7.com/filecoin-project/venus-wallet v1.15.0
34 versions - Latest release: about 1 year agogithub.phpd.cn/filecoin-project/venus-wallet v1.15.0
34 versions - Latest release: about 1 year agogithub.com/swanchain/ubi-benchmark v0.0.1
A ubi benchmark program to test the computing provider's resource1 version - Latest release: over 1 year ago - 0 stars on GitHub
github.com/linolabx/cli_helpers/plugins/_lotus v0.1.1
2 versions - Latest release: over 1 year ago - 0 stars on GitHubgithub.com/jimpick/glif-msg-finder v0.0.0-20240112185433-63fe1cf159be
Find messages sent to GLIF agents1 version - Latest release: over 1 year ago - 0 stars on GitHub
github.com/ipfs-force-community/damocles/damocles-manager v0.0.0-20240111153612-3dc15784134f
sealing cluster for venus67 versions - Latest release: over 1 year ago - 1 dependent repositories - 20 stars on GitHub
github.com/LexLuthr/lotus v1.25.2
Implementation of the Filecoin protocol, written in Go281 versions - Latest release: over 1 year ago - 0 stars on GitHub
github.skymusic.top/filecoin-project/lotus v1.25.2
281 versions - Latest release: over 1 year agogithub.imxd.top/filecoin-project/lotus v1.25.2
281 versions - Latest release: over 1 year agogithub.com/lexluthr/lotus v1.25.2
Implementation of the Filecoin protocol, written in Go281 versions - Latest release: over 1 year ago - 0 stars on GitHub
github.com/filecoin-project/venus/venus-devtool v0.0.0-20240110074451-d18cba64d948
Filecoin Full Node Implementation in Go55 versions - Latest release: over 1 year ago - 1 dependent package - 1,978 stars on GitHub
github.com/simlecode/api-compare v0.0.0-20231225032752-b61464ac903d
Compare the apis of venus and lotus23 versions - Latest release: over 1 year ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHub
git.sxxfuture.net/filfi/letsfil/letsfil-job v0.0.0-20231222074232-5f8fd1c97ec1
4 versions - Latest release: over 1 year agogithub.com/filecoin-project/venus/venus-component v0.0.0-20231222025745-bc5ddbcdfc92
Filecoin Full Node Implementation in Go51 versions - Latest release: over 1 year ago - 1,978 stars on GitHub
github.com/NpoolPlatform/sphinx-proxy v0.0.0-20231217085258-a787770460cd
34 versions - Latest release: over 1 year ago - 6 dependent packages - 6 dependent repositories - 2 stars on GitHubgithub.com/NpoolPlatform/sphinx-plugin v0.0.0-20231217084706-666de84dc283
25 versions - Latest release: over 1 year ago - 3 dependent packages - 2 dependent repositories - 0 stars on GitHubgithub.com/lotus-web3/ribs v0.0.0-20231214132456-42aa089b8242
(WIP pre-MVP) Filecoin native scalable blockstore60 versions - Latest release: over 1 year ago - 1 dependent repositories - 10 stars on GitHub
github.com/glifio/pools-metrics v0.0.0-20231212180855-799cf2c2fb00
5 versions - Latest release: over 1 year ago - 0 stars on GitHubgithub.com/filecoin-project/filecoin-chain-archiver v1.4.0
Filecoin snapshot / chain export software9 versions - Latest release: over 1 year ago - 3 stars on GitHub
github.com/travisperson/filsnap v1.4.0
Filecoin snapshot / chain export software9 versions - Latest release: over 1 year ago - 4 stars on GitHub
github.com/ipfs-force-community/venus-tool v0.1.3
venus-tool8 versions - Latest release: over 1 year ago - 2 stars on GitHub
github.com/ipfs-force-community/brightbird v1.0.3
31 versions - Latest release: over 1 year ago - 3 stars on GitHubgithub.com/filecoin-project/motion/integration/ribs v0.0.0-20231116164649-421fde20ffd4
:motorcycle: Accelerating Data onto FileCoin1 version - Latest release: over 1 year ago - 22 stars on GitHub
github.com/ipfs-force-community/api-compare v0.0.0-20231113023235-d006c2033ea1
Compare the apis of venus and lotus1 version - Latest release: over 1 year ago - 0 stars on GitHub
github.com/glifio/glif v1.0.3
Copyright © 2023 NAME HERE <EMAIL ADDRESS> Licensed under the Apache License, Version 2.0 (the "...5 versions - Latest release: over 1 year ago - 6 stars on GitHub
github.com/glifio/cli v1.0.3
Copyright © 2023 NAME HERE <EMAIL ADDRESS> Licensed under the Apache License, Version 2.0 (the "...6 versions - Latest release: over 1 year ago - 1 dependent repositories - 4 stars on GitHub
github.com/Schwartz10/cli v1.0.3
5 versions - Latest release: over 1 year ago - 0 stars on GitHubgithub.com/schwartz10/cli v1.0.3
5 versions - Latest release: over 1 year ago - 0 stars on GitHubgit.sxxfuture.net/filfi/letsfil/letsfil-collector v0.0.4
4 versions - Latest release: over 1 year ago - 0 stars on git.sxxfuture.netgithub.com/gnasnik/fvm-contracts v0.0.0-20231013082227-f51386deb1b1
FVM smart contracts1 version - Latest release: over 1 year ago - 0 stars on GitHub
github.com/bsn-si/IPEHR-gateway/src v0.0.0-20230926052515-4eea6972ecf4
IPEHR-gateway is a solution to provide benefits of decentralized architecture to common HMS apps ...15 versions - Latest release: over 1 year ago - 1 dependent package - 1 dependent repositories - 8 stars on GitHub
github.com/filecoin-project/lily-archiver v0.0.0-20230823064334-6c9f11be646c
Produces regular archives of on-chain state for the Filecoin network.2 versions - Latest release: almost 2 years ago - 3 stars on GitHub
github.com/filecoin-project/boost v1.7.5
Boost is a tool for Filecoin storage providers to manage data storage and retrievals on Filecoin.49 versions - Latest release: almost 2 years ago - 20 dependent packages - 6 dependent repositories - 77 stars on GitHub
github.com/team-telnyx/boost v1.7.5
49 versions - Latest release: almost 2 years ago - 0 stars on GitHubgithub.com/application-research/delta v1.0.8
Filecoin deal proposal / making service9 versions - Latest release: almost 2 years ago - 16 stars on GitHub
github.com/consensus-shipyard/lotus v0.4.1
Reference implementation of the Filecoin protocol, written in Go6 versions - Latest release: almost 2 years ago - 1 stars on GitHub
github.com/consensus-shipyard/go-ipc-types v0.1.8
Go types for IPC12 versions - Latest release: almost 2 years ago - 1 dependent package - 0 stars on GitHub
github.com/pando-project/pando v0.0.0-20230707113127-a919e66ced81
Ensuring access to notarized metadata3 versions - Latest release: almost 2 years ago - 21 stars on GitHub
github.com/FogMeta/rebuilder-tools v0.0.0-20230612094821-a9a0261df9ed
2 versions - Latest release: about 2 years ago - 0 stars on GitHubgithub.com/ipfs-force-community/venus-cluster/venus-sector-manager v0.0.0-20230609081829-98e9d40ce681
sealing cluster for venus63 versions - Latest release: about 2 years ago - 1 dependent repositories - 16 stars on GitHub
github.com/ribasushi/go-toolbox-interplanetary v0.0.0-20230530112735-a1bf265b7762
21 versions - Latest release: about 2 years ago - 2 dependent packages - 2 dependent repositories - 2 stars on GitHubgithub.com/filmineio/telegraf-input-lotus v0.0.0-20230524090212-9ab7a3e8501e
A Telegraf external (execd) input plugin for streaming metrics from Filecoin lotus and lotus-mine...1 version - Latest release: about 2 years ago - 5 stars on GitHub
github.com/OpenFilWallet/OpenFilWallet v1.0.0-rc2
Open source Filecoin miner wallet4 versions - Latest release: about 2 years ago - 0 stars on GitHub
github.com/openfilwallet/openfilwallet v1.0.0-rc2
Open source Filecoin miner wallet2 versions - Latest release: about 2 years ago - 8 stars on GitHub
github.com/filecoin-project/cidtravel v0.0.0-20230508175115-6d07f0e8577f
Universal interplanetary data explorer1 version - Latest release: about 2 years ago - 3 stars on GitHub
github.com/aschmahmann/filexp v0.0.0-20230505162521-96699aa964a0
Explore Filecoin State3 versions - Latest release: about 2 years ago - 5 stars on GitHub
github.com/jhyehuang/fil-cmd v0.0.0-20230425070243-e1deddfb3978
Copyright © 2021 NAME HERE [email protected] Licensed under the Apache License, Version 2.0 (the "L...1 version - Latest release: about 2 years ago
github.com/application-research/delta-importer v1.1.0
Import client for Delta4 versions - Latest release: about 2 years ago - 2 stars on GitHub
github.com/lanzafame/mineraddrctl v0.0.0-20230421003953-d5b08453add9
1 version - Latest release: about 2 years agogithub.com/application-research/edge-ur v1.0.2
It creates a new Echo instance, adds some middleware, creates a new WhyPFS node, creates a new Ga...22 versions - Latest release: about 2 years ago - 2 stars on GitHub
github.com/data-preservation-programs/RetrievalBot/common v0.0.0-20230406183953-254845aa9209
1 version - Latest release: about 2 years agogithub.com/labs3/filecoin-wallet-signing v1.0.2
Copyright © 2021 NAME HERE <EMAIL ADDRESS> Licensed under the Apache License, Version 2.0 (the "...3 versions - Latest release: about 2 years ago - 0 stars on GitHub
github.com/ribasushi/spade v0.0.0-20230323134455-69d8405e15f3
4 versions - Latest release: over 2 years ago - 15 stars on GitHubgithub.com/brossetti1/lotus v0.0.0-20230317211743-5147e44b3e9c
Reference implementation of the Filecoin protocol, written in Go1 version - Latest release: over 2 years ago - 1 stars on GitHub
github.com/zelin44913/lotus1203 v0.0.0-20230316124922-484cccfc429d
Reference implementation of the Filecoin protocol, written in Go2 versions - Latest release: over 2 years ago - 0 stars on GitHub
github.com/application-research/estuary v0.4.3
A custom IPFS/Filecoin node that makes it easy to pin IPFS content and make Filecoin deals.34 versions - Latest release: over 2 years ago - 1 dependent package - 1 dependent repositories - 217 stars on GitHub
github.com/whyrusleeping/estuary v0.4.3
33 versions - Latest release: over 2 years agogithub.com/brossetti1/filclient v0.4.0
A minimal filecoin client library1 version - Latest release: over 2 years ago - 1 stars on GitHub
github.com/jacobheun/lotus v1.20.0-rc1-boost
Reference implementation of the Filecoin protocol, written in Go1 version - Latest release: over 2 years ago - 0 stars on GitHub
github.com/application-research/autoretrieve v0.0.0-20230203025218-40aa4c847784
A server to make GraphSync data accessible on IPFS18 versions - Latest release: over 2 years ago - 20 stars on GitHub
github.com/jimpick/sp-kyc-checks v0.0.0-20230201194251-fa84fca72da8
A number of checks (built using go test) to check form submissions from Filecoin Storage Providers1 version - Latest release: over 2 years ago - 0 stars on GitHub
github.com/filecoin-project/sentinel-archiver v0.0.0-20230116070707-e970b5950ace
Produces regular archives of on-chain state for the Filecoin network.4 versions - Latest release: over 2 years ago - 3 stars on GitHub
github.com/caeret/fil-block-watcher v0.0.0-20230114082525-6aa664aa1e49
5 versions - Latest release: over 2 years ago - 0 stars on GitHubgithub.com/filecoin-project/lotus/testplans/lotus-soup v0.0.0-20230110150616-2995a530dcc7
Reference implementation of the Filecoin protocol, written in Go17 versions - Latest release: over 2 years ago - 2,597 stars on GitHub
github.com/ribasushi/fil-naive-marketwatch v0.0.0-20230108103026-4899b8d2726c
3 versions - Latest release: over 2 years ago - 1 stars on GitHubgithub.com/application-research/filclient-unstable v0.0.0-20221210001238-73c6aa077bb3
rewrite2 versions - Latest release: over 2 years ago - 4 stars on GitHub
github.com/jlogelin/wormhole v0.0.0-20221204151742-d1af7becbf50
Wormhole is an experimental IPFS node backed by the Filecoin Graphsync Protocol1 version - Latest release: over 2 years ago - 0 stars on GitHub
github.com/filecoin-project/evergreen-dealer v0.0.0-20221128104413-10833cea7fb2
2 versions - Latest release: over 2 years ago - 1 dependent package - 7 stars ongithub.com/textileio/broker-core v0.0.0-20221124150840-269d6e450fd7
Broker for the Filecoin network2 versions - Latest release: over 2 years ago - 5 stars on GitHub
github.com/twygod/filclient v0.4.0
5 versions - Latest release: over 2 years agogithub.com/application-research/filclient v0.4.0
A minimal filecoin client library5 versions - Latest release: over 2 years ago - 7 dependent packages - 3 dependent repositories - 42 stars on GitHub
github.com/rickiey/sector_penalty v0.0.0-20221123083423-ac8a22c8b99b
Copyright © 2021 NAME HERE <EMAIL ADDRESS> Licensed under the Apache License, Version 2.0 (the "...1 version - Latest release: over 2 years ago - 6 stars on GitHub
github.com/application-research/barge v0.1.2
Barge - CLI tool to stream/upload files/cars/dirs to Estuary4 versions - Latest release: over 2 years ago - 3 stars on GitHub
github.com/zondax/filecoin-actors-cids v1.1800.2
12 versions - Latest release: over 2 years ago - 6 dependent packages - 3 dependent repositories - 0 stars on GitHubgithub.com/mrhunter1986/lotus v1.17.2
Reference implementation of the Filecoin protocol, written in Go1 version - Latest release: over 2 years ago - 0 stars on GitHub
github.com/MrHunter1986/lotus v1.17.2
Reference implementation of the Filecoin protocol, written in Go1 version - Latest release: over 2 years ago - 0 stars on GitHub
github.com/bacalhau-project/lotus-filecoin-image v0.0.2
2 versions - Latest release: over 2 years ago - 0 stars on GitHubgithub.com/ribasushi/fil-fip36-vote-tally v0.0.0-20220929092646-cad0b4225db2
1 version - Latest release: over 2 years ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHubgithub.com/robquistnl/evergreen-dealer v0.0.0-20220920183904-3a8893096c68
2 versions - Latest release: almost 3 years ago - 0 stars on GitHubgithub.com/xianleigirl/lotus v1.18.3
Implementation of the Filecoin protocol, written in Go179 versions - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/xianLeigirl/lotus v1.18.3
Implementation of the Filecoin protocol, written in Go179 versions - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/XianLeiGirl/lotus v1.18.3
Implementation of the Filecoin protocol, written in Go179 versions - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/XianLeigirl/lotus v1.18.3
Implementation of the Filecoin protocol, written in Go179 versions - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/kenlabs/pando v0.0.0-20220831095041-200cca451ed3
2 versions - Latest release: almost 3 years ago - 3 dependent packages - 4 dependent repositoriesgithub.com/kenlabs/pando-store v0.0.0-20220830091510-f352ae77d56b
1 version - Latest release: almost 3 years ago - 2 dependent packages - 1 dependent repositories - 0 stars on GitHubgithub.com/frrist/fil-chain-export v0.0.0-20220823163551-6258b42cd504
Utility for exporting the filecoin blockchain from a blockstore1 version - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/froghub-io/lotus-load-balance-client v0.0.0-20220811061107-e773f2c2563c
soft load balance client for lotus1 version - Latest release: almost 3 years ago - 2 stars on GitHub
github.com/llifezou/fil-wallet v0.2.0
filecoin hd wallet4 versions - Latest release: almost 3 years ago - 4 stars on GitHub
github.com/llifezou/fil-sdk v0.0.1
1 version - Latest release: almost 3 years ago - 1 dependent package - 1 dependent repositoriesgithub.com/wcgcyx/fcr v0.1.2
Filecoin secondary retrieval client3 versions - Latest release: almost 3 years ago - 11 stars on GitHub
github.com/vikstrous2/lotus v1.16.1 removed
173 versions - Latest release: almost 3 years agogithub.com/Jorropo/lotus v1.16.1
Implementation of the Filecoin protocol, written in Go180 versions - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/factor8solutions/lotus v1.16.1 removed
174 versions - Latest release: almost 3 years agogithub.com/Factor8Solutions/lotus v1.16.1 removed
172 versions - Latest release: almost 3 years agogithub.com/jorropo/lotus v1.16.1
Implementation of the Filecoin protocol, written in Go180 versions - Latest release: almost 3 years ago - 0 stars on GitHub
github.com/filedrive-team/filfind/backend v0.0.0-20220701071615-d0a0e5858de5
1 version - Latest release: almost 3 years ago - 1 stars on GitHubCheck this option to include packages that no longer depend on this package in their latest version but previously did.