Documentation
¶
Index ¶
- Constants
- Variables
- func BannerString() string
- func IsHealthyCoverage(coverage, supply uint64, fraction Fraction) bool
- func NewLogger(name string, level zapcore.Level, outputs []string, timeLayout string) *zap.SugaredLogger
- type Fraction
- type Global
- func (l *Global) AssertMustError(err error)
- func (l *Global) AssertNoError(err error, prefix ...string)
- func (l *Global) Assertf(cond bool, format string, args ...any)
- func (l *Global) AttachmentFinished(started ...time.Time)
- func (l *Global) ClockCatchUpWithLedgerTime(ts ledger.Time)
- func (l *Global) Counter(name string) int
- func (l *Global) CounterLines(prefix ...string) *lines.Lines
- func (l *Global) Ctx() context.Context
- func (l *Global) DeadlockCatchingDisabled() bool
- func (l *Global) DecCounter(name string)
- func (l *Global) IncCounter(name string)
- func (l *Global) Infof0(template string, args ...any)
- func (l *Global) Infof1(template string, args ...any)
- func (l *Global) Infof2(template string, args ...any)
- func (l *Global) InfofAtLevel(level int, template string, args ...any)
- func (l *Global) IsBootstrapMode() bool
- func (l *Global) IsShuttingDown() bool
- func (l *Global) Log() *zap.SugaredLogger
- func (l *Global) MarkWorkProcessStarted(name string)
- func (l *Global) MarkWorkProcessStopped(name string)
- func (l *Global) MetricsRegistry() *prometheus.Registry
- func (l *Global) RepeatInBackground(name string, period time.Duration, fun func() bool, skipFirst ...bool)
- func (l *Global) StartTracingTags(tags ...string)
- func (l *Global) Stop()
- func (l *Global) StopTracingTag(tag string)
- func (l *Global) Tracef(tag string, format string, args ...any)
- func (l *Global) TxPullParameters() (repeatPeriod time.Duration, maxAttempts int, numPeers int)
- func (l *Global) VerbosityLevel() int
- func (l *Global) WaitAllWorkProcessesStop(timeout ...time.Duration) bool
- type Logging
- type Metrics
- type NodeGlobal
- type NodeInfo
- type StartStop
- type TxBytesGet
- type TxBytesPersist
- type TxBytesStore
Constants ¶
View Source
const ( MultiStateDBName = "proximadb" TxStoreDBName = "proximadb.txstore" ConfigKeyTxStoreType = "txstore.type" // MaxSyncPortionSlots max number of slots in the sync portion MaxSyncPortionSlots = 100 )
View Source
const ( PullRepeatPeriodDefault = 2 * time.Second PullMaxAttemptsDefault = 30 PullFromNumPeersDefault = 3 )
PullTimeout maximum time allowed for the virtual txid become transaction (full vertex)
View Source
const TimeLayoutDefault = "01-02 15:04:05.000"
View Source
const TraceTag = "global"
View Source
const ( // Version has the following structure: vA.B.C[-<label>] // A is major version. It is 0 until beta. All alpha testnets are 'v0.n...'. Beta starts at 1 // B is minor version. Change of the version means breaking change // C is subversion. Change usually means non-breaking change // <label is arbitrary label> Version = "v0.4.4-testnet" )
Variables ¶
View Source
var ( FractionHalf = Fraction{ Numerator: 1, Denominator: 2, } Fraction23 = Fraction{ Numerator: 2, Denominator: 3, } FractionHealthyBranch = FractionHalf ErrInterrupted = errors.New("interrupted by global stop") )
View Source
var ( CommitHash = "N/A" CommitTime = "N/A" )
Functions ¶
func BannerString ¶
func BannerString() string
func IsHealthyCoverage ¶
IsHealthyCoverage coverage is healthy if it is bigger than 2 times the fraction of supply
Types ¶
type Global ¶
type Global struct { *zap.SugaredLogger // contains filtered or unexported fields }
func NewDefault ¶
func NewFromConfig ¶
func NewFromConfig() *Global
func (*Global) AssertMustError ¶
func (*Global) AssertNoError ¶
func (*Global) AttachmentFinished ¶
func (*Global) ClockCatchUpWithLedgerTime ¶
func (*Global) DeadlockCatchingDisabled ¶
func (*Global) DecCounter ¶
func (*Global) IncCounter ¶
func (*Global) InfofAtLevel ¶
func (*Global) IsBootstrapMode ¶
func (*Global) IsShuttingDown ¶
func (*Global) Log ¶
func (l *Global) Log() *zap.SugaredLogger
func (*Global) MarkWorkProcessStarted ¶
func (*Global) MarkWorkProcessStopped ¶
func (*Global) MetricsRegistry ¶
func (l *Global) MetricsRegistry() *prometheus.Registry
func (*Global) RepeatInBackground ¶
func (*Global) StartTracingTags ¶
func (*Global) StopTracingTag ¶
func (*Global) TxPullParameters ¶
func (*Global) VerbosityLevel ¶
type Logging ¶
type Logging interface { Log() *zap.SugaredLogger Tracef(tag string, format string, args ...any) StartTracingTags(tags ...string) // Assertf asserts only if global shutdown wasn't issued Assertf(cond bool, format string, args ...any) AssertNoError(err error, prefix ...string) VerbosityLevel() int Infof0(template string, args ...any) Infof1(template string, args ...any) Infof2(template string, args ...any) IncCounter(name string) DecCounter(nane string) Counter(name string) int CounterLines(prefix ...string) *lines.Lines AttachmentFinished(started ...time.Time) // TxPullParameters repeat after period, max attempts, num peers TxPullParameters() (repeatPeriod time.Duration, maxAttempts int, numPeers int) // DeadlockCatchingDisabled config parameter to disdable deadlock catching DeadlockCatchingDisabled() bool }
type Metrics ¶
type Metrics interface {
MetricsRegistry() *prometheus.Registry
}
type NodeInfo ¶
type NodeInfo struct { ID peer.ID `json:"id"` Version string `json:"version"` CommitHash string `json:"commit_hash"` CommitTime string `json:"commit_time"` NumStaticAlive uint16 `json:"num_static_peers"` NumDynamicAlive uint16 `json:"num_dynamic_alive"` Sequencer *ledger.ChainID `json:"sequencers,omitempty"` }
func NodeInfoFromBytes ¶
type StartStop ¶
type StartStop interface { Ctx() context.Context // global context of the node. Canceling means stopping the node Stop() IsShuttingDown() bool ClockCatchUpWithLedgerTime(ts ledger.Time) MarkWorkProcessStarted(name string) MarkWorkProcessStopped(name string) RepeatInBackground(name string, period time.Duration, fun func() bool, skipFirst ...bool) // runs background goroutine }
StartStop interface of the global objects which coordinates graceful shutdown
type TxBytesGet ¶
type TxBytesGet interface { // GetTxBytesWithMetadata return empty slice on absence, otherwise returns concatenated metadata bytes and transaction bytes GetTxBytesWithMetadata(id *ledger.TransactionID) []byte HasTxBytes(txid *ledger.TransactionID) bool }
type TxBytesPersist ¶
type TxBytesPersist interface { // PersistTxBytesWithMetadata saves txBytes prefixed with metadata bytes. // metadata == nil is interpreted as empty metadata (one 0 byte as prefix) PersistTxBytesWithMetadata(txBytes []byte, metadata *txmetadata.TransactionMetadata) (ledger.TransactionID, error) }
type TxBytesStore ¶
type TxBytesStore interface { TxBytesGet TxBytesPersist }
Click to show internal directories.
Click to hide internal directories.