A list of strategies used to fetch blocks when they are not present in the local blockstore
The blockstore is where blocks are stored
Optional
codecsIn order to pin CIDs that correspond to a DAG, it's necessary to know how to traverse that DAG. DAGWalkers take a block and yield any CIDs encoded within that block.
Optional
componentsComponents used by subclasses
The datastore is where data is stored
Optional
dnsAn optional DNS implementation used to perform queries for DNS records.
Optional
hashersBy default sha256, sha512 and identity hashes are supported for bitswap operations. To bitswap blocks with CIDs using other hashes pass appropriate MultihashHashers here.
Optional
holdGarbage collection requires preventing blockstore writes during searches for unpinned blocks as DAGs are typically pinned after they've been imported - without locking this could lead to the deletion of blocks while they are being added to the blockstore.
By default this lock is held on the current process and other processes will contact this process for access.
If Helia is being run in multiple processes, one process must hold the GC lock so use this option to control which process that is.
true
Optional
loggerAn optional logging component to pass to libp2p. If not specified the default implementation from libp2p will be used.
Optional
metricsA metrics object that can be used to collected arbitrary stats about node usage.
Optional
providerDuring provider lookups, peers can be returned from routing implementations with no multiaddrs.
This can happen when they've been retrieved from network peers that only store multiaddrs for a limited amount of time.
When this happens the peer's info has to be looked up with a further query.
To not have this query block the yielding of other providers returned with multiaddrs, a separate queue is used to perform this lookup.
This config value controls the concurrency of that queue.
5
Optional
routersRouters perform operations such as looking up content providers, information about network peers or getting/putting records.
Optional
loadAn optional function that can load a BlockCodec on demand. May return a promise.
Optional
loadAn optional function that can load a MultihashHasher on demand. May return a promise.
Options used to create a Helia node.