Documentation ¶
Index ¶
- Variables
- func GetBlockForMining(chain uint64) *core.StBlock
- func GetHashPowerOfBlocks(chain uint64) uint64
- func GetMyHashPower(chain uint64) uint64
- func GetSyncBlock(chain, index uint64) []byte
- func GetTransList(chain uint64, key []byte) []core.Hash
- func Init()
- func SaveBlockReliability(chain uint64, key []byte, rb TReliability)
- func SaveBlockRunStat(chain uint64, key []byte, rb BlockRunStat)
- func SaveIDBlocks(chain, index uint64, ib IDBlocks)
- func SaveTransList(chain uint64, key []byte, value []core.Hash)
- func SetSyncBlock(chain, index uint64, key []byte)
- type BlockRunStat
- type IDBlocks
- type InternalPlugin
- type ItemBlock
- type MsgPlugin
- type NATTPlugin
- type SyncPlugin
- type TReliability
Constants ¶
This section is empty.
Variables ¶
var ( // SelfAddress node address SelfAddress string // NodesCount nodes count NodesCount int )
GetNodes get p2p nodes
Functions ¶
func GetBlockForMining ¶
GetBlockForMining get block info for mine
func GetHashPowerOfBlocks ¶
GetHashPowerOfBlocks get average hashpower of blocks
func GetMyHashPower ¶
GetMyHashPower get my average hashpower
func GetSyncBlock ¶
GetSyncBlock get sync block by index
func GetTransList ¶
GetTransList get trans list of block
func SaveBlockReliability ¶
func SaveBlockReliability(chain uint64, key []byte, rb TReliability)
SaveBlockReliability save block reliability
func SaveBlockRunStat ¶
func SaveBlockRunStat(chain uint64, key []byte, rb BlockRunStat)
SaveBlockRunStat save block stat
func SaveIDBlocks ¶
SaveIDBlocks save blocks of the index
func SaveTransList ¶
SaveTransList save trans list of block
func SetSyncBlock ¶
SetSyncBlock set sync block, index:key
Types ¶
type BlockRunStat ¶
type BlockRunStat struct { RunTimes int `json:"run_times,omitempty"` RunSuccessCount int `json:"run_success_count,omitempty"` RollbackCount int `json:"rollback_count,omitempty"` RollbackTime int64 `json:"rollback_time,omitempty"` SelectedCount uint64 `json:"selected_count,omitempty"` }
BlockRunStat stat of block
func ReadBlockRunStat ¶
func ReadBlockRunStat(chain uint64, key []byte) (cl BlockRunStat)
ReadBlockRunStat get stat of block
type IDBlocks ¶
type IDBlocks struct {
Items []ItemBlock
}
IDBlocks the blocks of same index
func ReadIDBlocks ¶
ReadIDBlocks get blocks of the index
type InternalPlugin ¶
InternalPlugin process p2p message
func (*InternalPlugin) Cleanup ¶
func (p *InternalPlugin) Cleanup(n libp2p.Network)
Cleanup plugin uninstall
func (*InternalPlugin) PeerConnect ¶
func (p *InternalPlugin) PeerConnect(s libp2p.Session)
PeerConnect peer connect
func (*InternalPlugin) PeerDisconnect ¶
func (p *InternalPlugin) PeerDisconnect(s libp2p.Session)
PeerDisconnect peer disconnect
func (*InternalPlugin) Startup ¶
func (p *InternalPlugin) Startup(n libp2p.Network)
Startup is called only once when the plugin is loaded
type MsgPlugin ¶
MsgPlugin process p2p message
type NATTPlugin ¶
type NATTPlugin struct { libp2p.Plugin Nodes map[string]libp2p.Session // contains filtered or unexported fields }
NATTPlugin nat traversal
func (*NATTPlugin) PeerConnect ¶
func (p *NATTPlugin) PeerConnect(s libp2p.Session)
PeerConnect peer connect
func (*NATTPlugin) PeerDisconnect ¶
func (p *NATTPlugin) PeerDisconnect(s libp2p.Session)
PeerDisconnect peer disconnect
func (*NATTPlugin) Receive ¶
func (p *NATTPlugin) Receive(ctx libp2p.Event) error
Receive receive message
func (*NATTPlugin) Startup ¶
func (p *NATTPlugin) Startup(n libp2p.Network)
Startup is called only once when the plugin is loaded
type SyncPlugin ¶
SyncPlugin sync plugin
func (*SyncPlugin) Receive ¶
func (p *SyncPlugin) Receive(ctx libp2p.Event) error
Receive receive message
func (*SyncPlugin) Startup ¶
func (p *SyncPlugin) Startup(n libp2p.Network)
Startup is called only once when the plugin is loaded
type TReliability ¶
type TReliability struct { Key core.Hash `json:"key,omitempty"` Previous core.Hash `json:"previous,omitempty"` Parent core.Hash `json:"parent,omitempty"` LeftChild core.Hash `json:"left_child,omitempty"` RightChild core.Hash `json:"right_child,omitempty"` Producer core.Address `json:"producer,omitempty"` TransListHash core.Hash `json:"trans_list_hash,omitempty"` Time uint64 `json:"time,omitempty"` Index uint64 `json:"index,omitempty"` HashPower uint64 `json:"hash_power,omitempty"` Admin bool `json:"admin,omitempty"` Ready bool `json:"ready,omitempty"` }
TReliability Reliability of block
func ReadBlockReliability ¶
func ReadBlockReliability(chain uint64, key []byte) TReliability
ReadBlockReliability get Reliability of block from db
func (TReliability) Cmp ¶
func (r TReliability) Cmp(y TReliability) int
Cmp compares x and y and returns:
+1 if x > y -1 if x < y 0 if x = y
func (*TReliability) Recalculation ¶
func (r *TReliability) Recalculation(chain uint64)
Recalculation recalculation