Documentation ¶
Index ¶
- Constants
- Variables
- func DBProvider(ID string, backendType dbm.BackendType, dbDir string) (dbm.DB, error)
- func DeriveGenesisDoc(burrowGenesisDoc *genesis.GenesisDoc, appHash []byte) *tmTypes.GenesisDoc
- func EnsureNodeKey(nodeKeyFile string) (*p2p.NodeKey, error)
- func NewLogger(logger *logging.Logger) log.Logger
- func NewNodeKey() *p2p.NodeKey
- func NewPrivValidatorMemory(addressable crypto.Addressable, signer crypto.Signer) *privValidatorMemory
- func WriteNodeKey(nodeKeyFile string, key json.RawMessage) error
- type BurrowTendermintConfig
- type LastSignedInfo
- type Node
- type NodeInfo
- func (*NodeInfo) Descriptor() ([]byte, []int)
- func (m *NodeInfo) GetListenAddress() string
- func (m *NodeInfo) GetMoniker() string
- func (m *NodeInfo) GetNetwork() string
- func (m *NodeInfo) GetRPCAddress() string
- func (m *NodeInfo) GetTxIndex() string
- func (m *NodeInfo) GetVersion() string
- func (m *NodeInfo) Marshal() (dAtA []byte, err error)
- func (m *NodeInfo) MarshalTo(dAtA []byte) (int, error)
- func (m *NodeInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*NodeInfo) ProtoMessage()
- func (m *NodeInfo) Reset()
- func (m *NodeInfo) Size() (n int)
- func (m *NodeInfo) String() string
- func (m *NodeInfo) Unmarshal(dAtA []byte) error
- func (m *NodeInfo) XXX_DiscardUnknown()
- func (m *NodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *NodeInfo) XXX_Merge(src proto.Message)
- func (*NodeInfo) XXX_MessageName() string
- func (m *NodeInfo) XXX_Size() int
- func (m *NodeInfo) XXX_Unmarshal(b []byte) error
- type NodeView
- func (nv *NodeView) BlockStore() state.BlockStore
- func (nv *NodeView) IsSyncing() bool
- func (nv *NodeView) MempoolTransactions(maxTxs int) ([]*txs.Envelope, error)
- func (nv *NodeView) NodeInfo() *NodeInfo
- func (nv *NodeView) PeerRoundStates() ([]*ctypes.PeerRoundState, error)
- func (nv *NodeView) Peers() p2p.IPeerSet
- func (nv *NodeView) RoundState() *ctypes.RoundState
- func (nv *NodeView) RoundStateJSON() ([]byte, error)
- func (nv *NodeView) RunID() simpleuuid.UUID
- func (nv *NodeView) ValidatorAddress() crypto.Address
- func (nv *NodeView) ValidatorPublicKey() *crypto.PublicKey
Constants ¶
const ( NeverCreateEmptyBlocks = "never" AlwaysCreateEmptyBlocks = "always" )
Variables ¶
Functions ¶
func DBProvider ¶ added in v0.19.0
func DeriveGenesisDoc ¶ added in v0.18.0
func DeriveGenesisDoc(burrowGenesisDoc *genesis.GenesisDoc, appHash []byte) *tmTypes.GenesisDoc
func NewNodeKey ¶ added in v0.34.4
func NewPrivValidatorMemory ¶ added in v0.20.0
func NewPrivValidatorMemory(addressable crypto.Addressable, signer crypto.Signer) *privValidatorMemory
Create a PrivValidator with in-memory state that takes an addressable representing the validator identity and a signer providing private signing for that identity.
func WriteNodeKey ¶ added in v0.34.4
func WriteNodeKey(nodeKeyFile string, key json.RawMessage) error
Types ¶
type BurrowTendermintConfig ¶ added in v0.18.0
type BurrowTendermintConfig struct { Enabled bool // Initial peers we connect to for peer exchange Seeds string // Whether this node should crawl the network looking for new peers - disconnecting to peers after it has shared addresses SeedMode bool // Peers to which we automatically connect PersistentPeers string ListenHost string ListenPort string // Optional external that nodes may provide with their NodeInfo ExternalAddress string // Set true for strict address routability rules // Set false for private or local networks AddrBookStrict bool Moniker string // Only accept connections from registered peers IdentifyPeers bool // Peers ID or address this node is authorize to sync with AuthorizedPeers string // EmptyBlocks mode and possible interval between empty blocks in seconds, one of: // "", "never" (to never create unnecessary blocks) // "always" (to create empty blocks each consensus round) CreateEmptyBlocks string }
Burrow's view on Tendermint's config. Since we operate as a Tendermint harness not all configuration values are applicable, we may not allow some values to specified, or we may not allow some to be set independently. So this serves as a layer of indirection over Tendermint's real config that we derive from ours.
func DefaultBurrowTendermintConfig ¶ added in v0.18.0
func DefaultBurrowTendermintConfig() *BurrowTendermintConfig
func (*BurrowTendermintConfig) DefaultAuthorizedPeersProvider ¶ added in v0.23.0
func (btc *BurrowTendermintConfig) DefaultAuthorizedPeersProvider() abci.AuthorizedPeers
func (*BurrowTendermintConfig) ListenAddress ¶ added in v0.18.0
func (btc *BurrowTendermintConfig) ListenAddress() string
type LastSignedInfo ¶ added in v0.20.0
type LastSignedInfo struct { sync.Mutex Height int64 `json:"height"` Round int32 `json:"round"` Step int8 `json:"step"` Signature []byte `json:"signature,omitempty"` // so we don't lose signatures SignBytes binary.HexBytes `json:"signbytes,omitempty"` // so we don't lose signatures }
LastSignedInfo contains information about the latest data signed by a validator to help prevent double signing.
func NewLastSignedInfo ¶ added in v0.20.0
func NewLastSignedInfo() *LastSignedInfo
func (*LastSignedInfo) SignProposal ¶ added in v0.20.0
func (lsi *LastSignedInfo) SignProposal(sign tmCryptoSigner, chainID string, proposal *tmproto.Proposal) error
SignProposal signs a canonical representation of the proposal, along with the chainID. Implements PrivValidator.
func (*LastSignedInfo) SignVote ¶ added in v0.20.0
func (lsi *LastSignedInfo) SignVote(sign tmCryptoSigner, chainID string, vote *tmproto.Vote) error
SignVote signs a canonical representation of the vote, along with the chainID. Implements PrivValidator.
func (*LastSignedInfo) String ¶ added in v0.20.0
func (lsi *LastSignedInfo) String() string
String returns a string representation of the LastSignedInfo.
type Node ¶ added in v0.18.0
Serves as a wrapper around the Tendermint node's closeable resources (database connections)
type NodeInfo ¶ added in v0.20.0
type NodeInfo struct { ID github_com_hyperledger_burrow_crypto.Address `protobuf:"bytes,1,opt,name=ID,proto3,customtype=github.com/hyperledger/burrow/crypto.Address" json:"ID"` ListenAddress string `protobuf:"bytes,2,opt,name=ListenAddress,proto3" json:"ListenAddress,omitempty"` Network string `protobuf:"bytes,3,opt,name=Network,proto3" json:"Network,omitempty"` Version string `protobuf:"bytes,4,opt,name=Version,proto3" json:"Version,omitempty"` Channels github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,5,opt,name=Channels,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"Channels"` Moniker string `protobuf:"bytes,6,opt,name=Moniker,proto3" json:"Moniker,omitempty"` RPCAddress string `protobuf:"bytes,7,opt,name=RPCAddress,proto3" json:"RPCAddress,omitempty"` TxIndex string `protobuf:"bytes,8,opt,name=TxIndex,proto3" json:"TxIndex,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func NewNodeInfo ¶ added in v0.20.0
func NewNodeInfo(ni p2p.DefaultNodeInfo) *NodeInfo
func (*NodeInfo) Descriptor ¶ added in v0.20.0
func (*NodeInfo) GetListenAddress ¶ added in v0.20.0
func (*NodeInfo) GetMoniker ¶ added in v0.20.0
func (*NodeInfo) GetNetwork ¶ added in v0.20.0
func (*NodeInfo) GetRPCAddress ¶ added in v0.24.0
func (*NodeInfo) GetTxIndex ¶ added in v0.24.0
func (*NodeInfo) GetVersion ¶ added in v0.20.0
func (*NodeInfo) MarshalToSizedBuffer ¶ added in v0.34.4
func (*NodeInfo) ProtoMessage ¶ added in v0.20.0
func (*NodeInfo) ProtoMessage()
func (*NodeInfo) XXX_DiscardUnknown ¶ added in v0.23.0
func (m *NodeInfo) XXX_DiscardUnknown()
func (*NodeInfo) XXX_Marshal ¶ added in v0.23.0
func (*NodeInfo) XXX_MessageName ¶ added in v0.20.0
func (*NodeInfo) XXX_Unmarshal ¶ added in v0.23.0
type NodeView ¶ added in v0.20.0
type NodeView struct {
// contains filtered or unexported fields
}
func NewNodeView ¶ added in v0.20.0
func (*NodeView) BlockStore ¶ added in v0.20.0
func (nv *NodeView) BlockStore() state.BlockStore
func (*NodeView) MempoolTransactions ¶ added in v0.20.0
Pass -1 to get all available transactions
func (*NodeView) PeerRoundStates ¶ added in v0.20.0
func (nv *NodeView) PeerRoundStates() ([]*ctypes.PeerRoundState, error)
func (*NodeView) RoundState ¶ added in v0.20.0
func (nv *NodeView) RoundState() *ctypes.RoundState
func (*NodeView) RoundStateJSON ¶ added in v0.20.1
func (*NodeView) RunID ¶ added in v0.20.1
func (nv *NodeView) RunID() simpleuuid.UUID