bee

package module
v1.18.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2023 License: BSD-3-Clause Imports: 2 Imported by: 5

README

Swarm Bee

Go Go Reference codecov Go Report Card API OpenAPI Specs Debug API OpenAPI Specs Docker Pulls GitHub all releases GitHub

DISCLAIMER

This software is provided to you "as is", use at your own risk and without warranties of any kind. It is your responsibility to read and understand how Swarm works and the implications of running this software. The usage of Bee involves various risks, including, but not limited to: damage to hardware or loss of funds associated with the Ethereum account connected to your node. No developers or entity involved will be liable for any claims and damages associated with your use, inability to use, or your interaction with other nodes or the software.

Our documentation is hosted at https://docs.ethswarm.org.

Versioning

There are two versioning schemes used in Bee that you should be aware of. The main Bee version does NOT follow strict Semantic Versioning. Bee hosts different peer-to-peer wire protocol implementations and individual protocol breaking changes would necessitate a bump in the major part of the version. Breaking changes are expected with bumps of the minor version component. New (backward-compatible) features and bug fixes are expected with a bump of the patch component. Major version bumps are reserved for significant changes in Swarm's incentive structure.

The second set of versions that are important are the Bee's API versions (denoted in our Bee and Bee Debug OpenAPI specifications). These versions do follow Semantic Versioning and hence you should follow these for breaking changes.

Contributing

Please read the coding guidelines and style guide.

Installing

Install instructions

Get in touch

Only official website

License

This library is distributed under the BSD-style license found in the LICENSE file.

Documentation

Overview

Package bee is the root package of Ethereum Swarm node implementation.

Index

Constants

This section is empty.

Variables

View Source
var (
	Version = func() string {
		if commitHash != "" {
			return version + "-" + commitHash
		}
		return version + "-dev"
	}()

	// CommitTime returns the time of the commit from which this code was derived.
	// If it's not set (in the case of running the code directly without compilation)
	// then the current time will be returned.
	CommitTime = func() string {
		if commitTime == "" {
			commitTime = strconv.Itoa(int(time.Now().Unix()))
		}
		return commitTime
	}
)

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
bee
pkg
accounting
Package accounting provides functionalities needed to do per-peer accounting.
Package accounting provides functionalities needed to do per-peer accounting.
accounting/mock
Package mock provides a mock implementation for the accounting interface.
Package mock provides a mock implementation for the accounting interface.
addressbook
Package addressbook provides persisted mapping between overlay (topology) address and bzz.Address address, which contains underlay (physical) address.
Package addressbook provides persisted mapping between overlay (topology) address and bzz.Address address, which contains underlay (physical) address.
api
Package api provides the functionality of the Bee client-facing HTTP API.
Package api provides the functionality of the Bee client-facing HTTP API.
bitvector
Package bitvector provides functionality of a simple bit vector implementation.
Package bitvector provides functionality of a simple bit vector implementation.
bmt
Package bmt implements Binary Merkle Tree hash.
Package bmt implements Binary Merkle Tree hash.
bmt/reference
Package reference is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize n where 0 <= n <= 4096
Package reference is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize n where 0 <= n <= 4096
bmtpool
Package bmtpool provides easy access to binary merkle tree hashers managed in as a resource pool.
Package bmtpool provides easy access to binary merkle tree hashers managed in as a resource pool.
bzz
Package bzz exposes the data structure and operations necessary on the bzz.Address type which used in the handshake protocol, address-book and hive protocol.
Package bzz exposes the data structure and operations necessary on the bzz.Address type which used in the handshake protocol, address-book and hive protocol.
cac
discovery
Package discovery exposes the discovery driver interface which is implemented by discovery protocols.
Package discovery exposes the discovery driver interface which is implemented by discovery protocols.
encryption
Package encryption exposes functionalities needed for encryption and decryption operations in Bee.
Package encryption exposes functionalities needed for encryption and decryption operations in Bee.
feeds
Package feeds implements generic interfaces and methods for time-based feeds indexing schemes are implemented in subpackages - epochs - sequence
Package feeds implements generic interfaces and methods for time-based feeds indexing schemes are implemented in subpackages - epochs - sequence
feeds/epochs
Package epochs implements time-based feeds using epochs as index and provide sequential as well as concurrent lookup algorithms
Package epochs implements time-based feeds using epochs as index and provide sequential as well as concurrent lookup algorithms
feeds/sequence
Package sequence provides implementation of sequential indexing for time-based feeds this feed type is best suited for - version updates - followed updates - frequent or regular-interval updates
Package sequence provides implementation of sequential indexing for time-based feeds this feed type is best suited for - version updates - followed updates - frequent or regular-interval updates
feeds/testing
package testing provides tests for update and resolution of time-based feeds
package testing provides tests for update and resolution of time-based feeds
file
Package file provides interfaces for file-oriented operations.
Package file provides interfaces for file-oriented operations.
file/joiner
Package joiner provides implementations of the file.Joiner interface
Package joiner provides implementations of the file.Joiner interface
file/loadsave
Package loadsave provides lightweight persistence abstraction for manifest operations.
Package loadsave provides lightweight persistence abstraction for manifest operations.
file/pipeline
Package pipeline provides functionality for hashing pipelines needed to create different flavors of merkelised representations of arbitrary data.
Package pipeline provides functionality for hashing pipelines needed to create different flavors of merkelised representations of arbitrary data.
file/splitter
Package splitter provides implementations of the file.Splitter interface
Package splitter provides implementations of the file.Splitter interface
hive
Package hive exposes the hive protocol implementation which is the discovery protocol used to inform and be informed about other peers in the network.
Package hive exposes the hive protocol implementation which is the discovery protocol used to inform and be informed about other peers in the network.
hive/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
intervalstore
Package intervalstore provides a persistence layer for intervals relating to a peer.
Package intervalstore provides a persistence layer for intervals relating to a peer.
jsonhttp
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
jsonhttp/jsonhttptest
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
log
manifest
Package manifest contains the abstractions needed for collection representation in Swarm.
Package manifest contains the abstractions needed for collection representation in Swarm.
node
Package node defines the concept of a Bee node by bootstrapping and injecting all necessary dependencies.
Package node defines the concept of a Bee node by bootstrapping and injecting all necessary dependencies.
p2p
Package p2p provides the peer-to-peer abstractions used across different protocols in Bee.
Package p2p provides the peer-to-peer abstractions used across different protocols in Bee.
p2p/libp2p/internal/handshake/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
p2p/libp2p/internal/headers/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
p2p/libp2p/internal/reacher
Package reacher runs a background worker that will ping peers from an internal queue and report back the reachability to the notifier.
Package reacher runs a background worker that will ping peers from an internal queue and report back the reachability to the notifier.
p2p/protobuf/internal/pb
Package pb holds only Protocol Buffer definitions and generated code for testing purposes.
Package pb holds only Protocol Buffer definitions and generated code for testing purposes.
pingpong
Package pingpong exposes the simple ping-pong protocol which measures round-trip-time with other peers.
Package pingpong exposes the simple ping-pong protocol which measures round-trip-time with other peers.
pingpong/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
pss
Package pss exposes functionalities needed to communicate with other peers on the network.
Package pss exposes functionalities needed to communicate with other peers on the network.
puller
Package puller provides protocol-orchestrating functionality over the pullsync protocol.
Package puller provides protocol-orchestrating functionality over the pullsync protocol.
pullsync
Package pullsync contains protocol that is used to ensure that there is correct chunk replication in the neighborhood of the node.
Package pullsync contains protocol that is used to ensure that there is correct chunk replication in the neighborhood of the node.
pusher
Package pusher provides protocol-orchestrating functionality over the pushsync protocol.
Package pusher provides protocol-orchestrating functionality over the pushsync protocol.
pushsync
Package pushsync provides the pushsync protocol implementation.
Package pushsync provides the pushsync protocol implementation.
ratelimit
Package ratelimit provides a mechanism to rate limit requests based on a string key, refill rate and burst amount.
Package ratelimit provides a mechanism to rate limit requests based on a string key, refill rate and burst amount.
resolver
Package resolver handles name resolution for the Swarm bee.
Package resolver handles name resolution for the Swarm bee.
retrieval
Package retrieval provides the retrieval protocol implementation.
Package retrieval provides the retrieval protocol implementation.
salud
Package salud monitors the connected peers, calculates certain thresholds, and marks peers as unhealthy that fall short of the thresholds to maintain network salud (health).
Package salud monitors the connected peers, calculates certain thresholds, and marks peers as unhealthy that fall short of the thresholds to maintain network salud (health).
sctx
Package sctx provides convenience methods for context value injection and extraction.
Package sctx provides convenience methods for context value injection and extraction.
settlement/pseudosettle
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount.
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount.
shed
Package shed provides a simple abstraction components to compose more complex operations on storage data organized in fields and indexes.
Package shed provides a simple abstraction components to compose more complex operations on storage data organized in fields and indexes.
soc
Package soc provides the single-owner chunk implementation and validator.
Package soc provides the single-owner chunk implementation and validator.
statestore
Package statestore provides statestore implementation and mock.
Package statestore provides statestore implementation and mock.
steward
Package stewardess provides convenience methods for reseeding content on Swarm.
Package stewardess provides convenience methods for reseeding content on Swarm.
swarm
Package swarm contains most basic and general Swarm concepts.
Package swarm contains most basic and general Swarm concepts.
topology
Package topology exposes abstractions needed in topology-aware components.
Package topology exposes abstractions needed in topology-aware components.
topology/kademlia
Package kademlia provides an implementation of the topology.Driver interface in a way that a kademlia connectivity is actively maintained by the node.
Package kademlia provides an implementation of the topology.Driver interface in a way that a kademlia connectivity is actively maintained by the node.
topology/kademlia/internal/metrics
Package metrics provides service for collecting various metrics about peers.
Package metrics provides service for collecting various metrics about peers.
topology/kademlia/internal/waitnext
Package metrics provides service for collecting various metrics about peers.
Package metrics provides service for collecting various metrics about peers.
tracing
Package tracing helps with the propagation of the tracing span through context in the system.
Package tracing helps with the propagation of the tracing span through context in the system.
traversal
Package traversal provides abstraction and implementation needed to traverse all chunks below a given root hash.
Package traversal provides abstraction and implementation needed to traverse all chunks below a given root hash.
util
Package util is a placeholder for common utilities used by multiple packages.
Package util is a placeholder for common utilities used by multiple packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL