peer

package
v0.6.9 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2017 License: ISC Imports: 25 Imported by: 0

Documentation

Overview

this module handle the peer to peer network

server-side:

* broadcaster of block, transactions * listener for RPC requests e.g. retrieve old block

client-side

* subscriber listens to several broadcasters * connector to retrieve missing data from other listeners

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BlockHeight added in v0.6.8

func BlockHeight() uint64

return global block height

func ClientCount added in v0.6.9

func ClientCount() uint64

return connection counts

func FetchConnectors added in v0.3.30

func FetchConnectors() []*zmqutil.Connected

func FetchSubscribers added in v0.3.30

func FetchSubscribers() []*zmqutil.Connected

func Finalise

func Finalise() error

finialise - stop all background tasks

func Initialise

func Initialise(configuration *Configuration, version string) error

initialise peer backgrouds processes

func PublicKey added in v0.6.3

func PublicKey() []byte

return public key

Types

type Announce added in v0.2.0

type Announce struct {
	Broadcast []string `libucl:"broadcast" json:"broadcast"`
	Listen    []string `libucl:"listen" json:"listen"`
}

for announcements

type Configuration added in v0.2.0

type Configuration struct {
	DynamicConnections bool         `libucl:"dynamic_connections" json:"dynamic_connections"`
	Broadcast          []string     `libucl:"broadcast" json:"broadcast"`
	Listen             []string     `libucl:"listen" json:"listen"`
	Announce           Announce     `libucl:"announce" json:"announce"`
	PrivateKey         string       `libucl:"private_key" json:"private_key"`
	PublicKey          string       `libucl:"public_key" json:"public_key"`
	Subscribe          []Connection `libucl:"subscribe" json:"subscribe,omitempty"`
	Connect            []Connection `libucl:"connect" json:"connect,omitempty"`
}

a block of configuration data this is read from a libucl configuration file

type Connection added in v0.2.0

type Connection struct {
	PublicKey string `libucl:"public_key" json:"public_key"`
	Address   string `libucl:"address" json:"address"`
}

hardwired connections this is read from a libucl configuration file

Directories

Path Synopsis
maintain REQ/REP connection to clients this allow for push of blocks, transactions...
maintain REQ/REP connection to clients this allow for push of blocks, transactions...

Jump to

Keyboard shortcuts

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