Categorygithub.com/RTradeLtd/go-blockservice
modulepackage
1.0.0-rc2
Repository: https://github.com/rtradeltd/go-blockservice.git
Documentation: pkg.go.dev

# README

go-blockservice

a fork of ipfs/go-blockservice optimized for usage with TemporalX.

Modifications

  • WriteThrough and non-WriteThrough blockservice are condensed into the same one. We leverage the underlying blockstore logic to avoid excessive writes to disk, and to determine what we need to announce to the network. Only blocks we do not have previously will be announced to the network
  • Remove ipfs/go-log and use uber-go/zap instead
  • Allow insecure hash functions
    • The point of not allowing insecure hash functions is somewhat useful in public networks, but insecure hash functions are often used within enterprise environments (checksum, short lived cache keys, etc...)

License

All original code is licensed as it is upstream, modifications are licensed under AGPL-v3 and will be marked accordingly

# Packages

No description provided by the author

# Functions

New creates a BlockService with given datastore instance.
NewSession creates a new session that allows for controlled exchange of wantlists to decrease the bandwidth overhead.

# Variables

ErrNotFound is returned when the blockservice is unable to find the key.

# Structs

Session is a helper type to provide higher level access to bitswap sessions.

# Interfaces

BlockGetter is the common interface shared between blockservice sessions and the blockservice.
BlockService is a hybrid block datastore.