Back to godoc.org
github.com/spacemeshos/go-spacemesh

command go-spacemesh

v0.1.10 (docs-prerelease)
Latest Go to latest
Published: Apr 17, 2020 | License: MIT | Module: github.com/spacemeshos/go-spacemesh
Path Synopsis
activation Package activation is responsible for creating activation transactions and running the mining flow, coordinating PoST building, sending proofs to PoET and building NIPoST structs.
api Package api provides the local go-spacemesh API endpoints.
api/config Package config provides configuration for GRPC and HTTP api servers
cmd Package cmd is the base package for various sets of builds and executables created from go-spacemesh
cmd/hare package hare is the tester executable running instances of hare consensus algorithm
cmd/integration Package integration provides RPC testing harness for executing and interacting with full node
cmd/multi_node_sim package multi_node_sim is an implementation of a framework running multiple nodes in same executable with fast hare implementation.
cmd/node Package node contains the main executable for go-spacemesh node
cmd/p2p package p2p cmd is the main executable for running p2p tests and simulations
cmd/sync
collector Package collector implements event collecting from pubsub
common/types Package types defines the types used by go-spacemesh consensus algorithms and structs
common/util Package util provides common utility functions.
config Package config contains go-spacemesh node configuration definitions
crypto Package crypto provides funcs and types used by other packages to perform crypto related ops
crypto/sha3 Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
database Package database defines interfaces to key value type databases used by various components in go-spacemesh node
eligibility Package eligibility defines fixed size oracle used for node testing
events Package events defines events published by go-spacemsh node using nodes pubsub
filesystem Package filesystem provides functionality for interacting with directories and files in a cross-platform manner.
hare Package hare implements the Hare Protocol.
hare/config
hare/eligibility
hare/eligibility/config
hare/metrics
log Package log provides the both file and console (general) logging capabilities to spacemesh modules such as app and identity.
mesh Package mesh defines the main store point for all the block-mesh objects such as blocks, transactions and global state
metrics Package metrics defines telemetry primitives to be used across components.
miner Package miner is responsible for creating valid blocks that contain valid activation transactions and transactions
monitoring
monitoring/main
nattraversal Package nattraversal provides tools for acquiring ports on a Network Address Translator (NAT).
nattraversal/upnp Package upnp provides a simple and opinionated interface to UPnP-enabled routers, allowing users to forward ports and discover their external IP address.
oracle
p2p Package p2p provides a networking api for creating p2p protocols by enabling sending direct messages to a set of provided neighbors or broadcasting a message to all of them.
p2p/config Package config defines configuration used in the p2p package
p2p/connectionpool Package connectionpool functions as a connection cache that takes care of connecting and reusing connected sockets.
p2p/discovery Package discovery implements uses bitcoin-based addrbook to store network addresses and collects them by crawling the network using a simple protocol.
p2p/gossip Package gossip implements simple protocol to send new validated messages to all peers and ignore old or not valid messages.
p2p/metrics Package metrics defines metric reporting for the p2p component.
p2p/net Package net manages the accepting network connections/messages and routing the data upward for the protocols to consume.
p2p/net/wire
p2p/net/wire/delimited Package delimited implements a reader and writer for simple streams of length-delimited byte records.
p2p/node Package node defines simple data structures to represent p2p node identities.
p2p/p2pcrypto Package p2pcrypto defines the cryptographic primitives used to communicate and identify in the p2p network, it uses go stdlib's NaCL box implementation.
p2p/server Package server is used to wrap the p2p services to define multiple req-res messages under one protocol.
p2p/service Package service defines basic interfaces to for protocols to consume p2p functionality.
p2p/version Package version includes methods to compare versions between nodes.
pendingtxs Package pendingtxs exposes the AccountPendingTxs type, which keeps track of transactions that haven't been applied to global state yet.
post
priorityq
prque
rand
rlp Package rlp implements the RLP serialization format.
signing
state
sync
timesync Package timesync is used to check system time reliability by communicating with NTP time servers.
timesync/config
tortoise
trie Package trie implements Merkle Patricia Tries.
turbohare Package turbohare is a component returning block ids for layer as seen by this miner, without running any consensus process