core

package
v1.0.15 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2019 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const ConsensusTopic = "consensus"

ConsensusTopic is the topic used in consensus algorithm

View Source
const GenesisBlockNonce = 0

GenesisBlockNonce is the nonce of the genesis block

View Source
const MaxBulkTransactionSize = 2 << 17 //128KB bulks

MaxBulkTransactionSize specifies the maximum size of one bulk with txs which can be send over the network TODO convert this const into a var and read it from config when this code moves to another binary

View Source
const MetricAppVersion = "erd_app_version"

MetricAppVersion is the metric for the current app version

View Source
const MetricConnectedNodes = "erd_connected_nodes"

MetricConnectedNodes is the metric for monitoring total connected peers on the network

View Source
const MetricCountAcceptedBlocks = "erd_count_accepted_blocks"

MetricCountAcceptedBlocks is the metric for monitoring number of blocks that was accepted proposed by a node

View Source
const MetricCountConsensus = "erd_count_consensus"

MetricCountConsensus is the metric for monitoring number of rounds when a node was in consensus group

View Source
const MetricCountLeader = "erd_count_leader"

MetricCountLeader is the metric for monitoring number of rounds when a node was leader

View Source
const MetricCpuLoadPercent = "erd_cpu_load_percent"

MetricCpuLoadPercent is the metric for monitoring CPU load [%]

View Source
const MetricCurrentRound = "erd_current_round"

MetricCurrentRound is the metric for monitoring the current round of a node

View Source
const MetricIsSyncing = "erd_is_syncing"

MetricIsSyncing is the metric for monitoring if a node is syncing

View Source
const MetricLiveValidatorNodes = "erd_max_validator_nodes"

MetricLiveValidatorNodes is the metric for monitoring live validators on the network

View Source
const MetricMemLoadPercent = "erd_mem_load_percent"

MetricMemLoadPercent is the metric for monitoring memory load [%]

View Source
const MetricNetworkRecvBps = "erd_network_recv_bps"

MetricNetworkRecvBps is the metric for monitoring network received bytes per second

View Source
const MetricNetworkRecvBpsPeak = "erd_network_recv_bps_peak"

MetricNetworkRecvBpsPeak is the metric for monitoring network received peak bytes per second

View Source
const MetricNetworkRecvPercent = "erd_network_recv_percent"

MetricNetworkRecvPercent is the metric for monitoring network receive load [%]

View Source
const MetricNetworkSentBps = "erd_network_sent_bps"

MetricNetworkSentBps is the metric for monitoring network sent bytes per second

View Source
const MetricNetworkSentBpsPeak = "erd_network_sent_bps_peak"

MetricNetworkSentBpsPeak is the metric for monitoring network sent peak bytes per second

View Source
const MetricNetworkSentPercent = "erd_network_sent_percent"

MetricNetworkSentPercent is the metric for monitoring network sent load [%]

View Source
const MetricNodeType = "erd_node_type"

MetricNodeType is the metric for monitoring the type of the node

View Source
const MetricNonce = "erd_nonce"

MetricNonce is the metric for monitoring the nonce of a node

View Source
const MetricNumConnectedPeers = "erd_num_connected_peers"

MetricNumConnectedPeers is the metric for monitoring the number of connected peers

View Source
const MetricProbableHighestNonce = "erd_probable_highest_nonce"

MetricProbableHighestNonce is the metric for monitoring the max speculative nonce received by the node by listening on the network

View Source
const MetricPublicKeyBlockSign = "erd_public_key_block_sign"

MetricPublicKeyBlockSign is the metric for monitoring public key of a node used in block signing

View Source
const MetricPublicKeyTxSign = "erd_public_key_tx_sign"

MetricPublicKeyTxSign is the metric for monitoring public key of a node used in tx signing (balance account held by the node)

View Source
const MetricRoundTime = "erd_round_time"

MetricRoundTime is the metric for round time in seconds

View Source
const MetricShardId = "erd_shard_id"

MetricShardId is the metric for monitoring shard id of a node

View Source
const MetricSynchronizedRound = "erd_synchronized_round"

MetricSynchronizedRound is the metric for monitoring the synchronized round of a node

View Source
const MetricTotalMem = "erd_total_mem"

MetricTotalMem is the metric for monitoring total memory bytes

View Source
const MetricTxPoolLoad = "erd_tx_pool_load"

MetricTxPoolLoad is the metric for monitoring number of transactions from pool of a node

View Source
const UnVersionedAppString = "undefined"

UnVersionedAppString represents the default app version that indicate that the binary wasn't build by setting the appVersion flag

Variables

View Source
var ErrEmptyFile = errors.New("empty file provided")

ErrEmptyFile signals that a empty file has been provided

View Source
var ErrInvalidIndex = errors.New("invalid private key index")

ErrInvalidIndex signals that an invalid private key index has been provided

View Source
var ErrInvalidValue = errors.New("invalid value provided")

ErrInvalidValue signals that a nil value has been provided

View Source
var ErrNilCoordinator = errors.New("nil coordinator provided")

ErrNilCoordinator signals that a nil shardCoordinator has been provided

View Source
var ErrNilFile = errors.New("nil file provided")

ErrNilFile signals that a nil file has been provided

View Source
var ErrNilHasher = errors.New("nil hashser provided")

ErrNilHasher signals that a nil marshalizer has been provided

View Source
var ErrNilInputData = errors.New("nil input data")

ErrNilInputData signals that a nil data has been provided

View Source
var ErrNilLogger = errors.New("nil logger provided")

ErrNilLogger signals that a nil logger has been provided

View Source
var ErrNilMarshalizer = errors.New("nil marshalizer provided")

ErrNilMarshalizer signals that a nil marshalizer has been provided

View Source
var ErrNilUrl = errors.New("url is empty")

ErrNilUrl signals that the provided url is empty

View Source
var ErrPemFileIsInvalid = errors.New("pem file is invalid")

ErrPemFileIsInvalid signals that a pem file is invalid

View Source
var ErrWrongTypeAssertion = errors.New("wrong type assertion")

ErrWrongTypeAssertion signals that an type assertion failed

Functions

func CalculateHash

func CalculateHash(
	marshalizer marshal.Marshalizer,
	hasher hashing.Hasher,
	object interface{},
) ([]byte, error)

CalculateHash marshalizes the interface and calculates its hash

func ConvertBytes

func ConvertBytes(bytes uint64) string

ConvertBytes converts the input bytes in a readable string using multipliers (k, M, G)

func CreateFile

func CreateFile(prefix string, subfolder string, fileExtension string) (*os.File, error)

CreateFile opens or creates a file relative to the default path

func GetTrimmedPk

func GetTrimmedPk(pk string) string

GetTrimmedPk returns a trimmed string to the pkPrefixSize value

func LoadJsonFile

func LoadJsonFile(dest interface{}, relativePath string, log *logger.Logger) error

LoadJsonFile method to open and decode json file

func LoadP2PConfig

func LoadP2PConfig(filepath string) (*config.P2PConfig, error)

LoadP2PConfig returns a P2PConfig by reading the config file provided

func LoadServersPConfig added in v1.0.3

func LoadServersPConfig(filepath string) (*config.ServersConfig, error)

LoadServersPConfig returns a ServersConfig by reading the config file provided

func LoadSkFromPemFile added in v1.0.3

func LoadSkFromPemFile(relativePath string, log *logger.Logger, skIndex int) ([]byte, error)

LoadSkFromPemFile loads the secret key bytes stored in the file

func LoadTomlFile

func LoadTomlFile(dest interface{}, relativePath string, log *logger.Logger) error

LoadTomlFile method to open and decode toml file

func Max added in v1.0.11

func Max(a uint32, b uint32) uint32

Max returns the maximum number between two given

func OpenFile

func OpenFile(relativePath string, log *logger.Logger) (*os.File, error)

OpenFile method opens the file from given path - does not close the file

func SaveSkToPemFile

func SaveSkToPemFile(file *os.File, identifier string, skBytes []byte) error

SaveSkToPemFile saves secret key bytes in the file

func ToB64 added in v1.0.3

func ToB64(buff []byte) string

ToB64 encodes the given buff to base64

func ToHex

func ToHex(buff []byte) string

ToHex encodes the given buff to hex

Types

type AppStatusHandler

type AppStatusHandler interface {
	IsInterfaceNil() bool
	Increment(key string)
	Decrement(key string)
	SetInt64Value(key string, value int64)
	SetUInt64Value(key string, value uint64)
	SetStringValue(key string, value string)
	Close()
}

AppStatusHandler interface will handle different implementations of monitoring tools, such as Prometheus of term-ui

type ConnectedAddressesHandler

type ConnectedAddressesHandler interface {
	ConnectedAddresses() []string
}

ConnectedAddressesHandler interface will be used for passing the network component to AppStatusPolling

type NodeType

type NodeType string

NodeType represents the node's role in the network

const NodeTypeObserver NodeType = "observer"

NodeTypeObserver signals that a node is running as observer node

const NodeTypeValidator NodeType = "validator"

NodeTypeValidator signals that a node is running as validator node

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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