Documentation ¶
Index ¶
- Constants
- func NewHTTPServer(conf *ServerConfiguration, obs Observability, registrars ...Registrar) (*http.Server, error)
- func NewRESTServer(addr string, maxBodySize int64, obs Observability, registrars ...Registrar) *http.Serverdeprecated
- type API
- type AdminAPI
- type NodeInfoResponse
- type Observability
- type Option
- type Options
- type PeerInfo
- type Registrar
- type RegistrarFunc
- type ServerConfiguration
- type StateAPI
- func (s *StateAPI) GetBlock(ctx context.Context, blockNumber hex.Uint64) (hex.Bytes, error)
- func (s *StateAPI) GetRoundNumber(ctx context.Context) (hex.Uint64, error)
- func (s *StateAPI) GetTransactionProof(ctx context.Context, txHash hex.Bytes) (*TransactionRecordAndProof, error)
- func (s *StateAPI) GetTrustBase(epochNumber hex.Uint64) (types.RootTrustBase, error)
- func (s *StateAPI) GetUnit(unitID types.UnitID, includeStateProof bool) (*Unit[any], error)
- func (s *StateAPI) GetUnitsByOwnerID(ownerID hex.Bytes) ([]types.UnitID, error)
- func (s *StateAPI) SendTransaction(ctx context.Context, txBytes hex.Bytes) (hex.Bytes, error)
- type TransactionRecordAndProof
- type Unit
Constants ¶
View Source
const ( DefaultMaxBodyBytes int64 = 4194304 // 4MB DefaultBatchItemLimit int = 1000 DefaultBatchResponseSizeLimit int = int(DefaultMaxBodyBytes) )
Variables ¶
This section is empty.
Functions ¶
func NewHTTPServer ¶
func NewHTTPServer(conf *ServerConfiguration, obs Observability, registrars ...Registrar) (*http.Server, error)
func NewRESTServer
deprecated
Types ¶
type AdminAPI ¶ added in v0.4.0
type AdminAPI struct {
// contains filtered or unexported fields
}
func NewAdminAPI ¶ added in v0.4.0
func (*AdminAPI) GetNodeInfo ¶ added in v0.4.0
func (s *AdminAPI) GetNodeInfo() (*NodeInfoResponse, error)
GetNodeInfo returns information about the node.
type NodeInfoResponse ¶ added in v0.4.0
type NodeInfoResponse struct { NetworkID types.NetworkID `json:"networkId"` // hex encoded network identifier PartitionID types.PartitionID `json:"partitionId"` // hex encoded partition identifier Name string `json:"name"` // one of [money node | tokens node | evm node] PermissionedMode bool `json:"permissionedMode"` FeelessMode bool `json:"feelessMode"` Self PeerInfo `json:"self"` // information about this peer BootstrapNodes []PeerInfo `json:"bootstrapNodes"` RootValidators []PeerInfo `json:"rootValidators"` PartitionValidators []PeerInfo `json:"partitionValidators"` OpenConnections []PeerInfo `json:"openConnections"` // all libp2p connections to other peers in the network }
type Observability ¶
type Observability interface { Meter(name string, opts ...metric.MeterOption) metric.Meter PrometheusRegisterer() prometheus.Registerer Logger() *slog.Logger }
type PeerInfo ¶ added in v0.4.0
type PeerInfo struct { Identifier string `json:"identifier"` Addresses []multiaddr.Multiaddr `json:"addresses"` }
func (*PeerInfo) UnmarshalJSON ¶ added in v0.4.0
type RegistrarFunc ¶
RegistrarFunc type is an adapter to allow the use of ordinary function as Registrar.
func MetricsEndpoints ¶
func MetricsEndpoints(pr prometheus.Registerer) RegistrarFunc
func NodeEndpoints ¶
func NodeEndpoints(node partitionNode, obs Observability) RegistrarFunc
func (RegistrarFunc) Register ¶
func (f RegistrarFunc) Register(r *mux.Router)
type ServerConfiguration ¶
type ServerConfiguration struct { // Address specifies the TCP address for the server to listen on, in the form "host:port". // REST server isn't initialised if Address is empty. Address string // ReadTimeout is the maximum duration for reading the entire request, including the body. A zero or negative // value means there will be no timeout. ReadTimeout time.Duration // ReadHeaderTimeout is the amount of time allowed to read request headers. If ReadHeaderTimeout is zero, the // value of ReadTimeout is used. If both are zero, there is no timeout. ReadHeaderTimeout time.Duration // WriteTimeout is the maximum duration before timing out writes of the response. A zero or negative value means // there will be no timeout. WriteTimeout time.Duration // IdleTimeout is the maximum amount of time to wait for the next request when keep-alives are enabled. If // IdleTimeout is zero, the value of ReadTimeout is used. If both are zero, there is no timeout. IdleTimeout time.Duration // MaxHeaderBytes controls the maximum number of bytes the server will read parsing the request header's keys // and values, including the request line. It does not limit the size of the request body. If zero, // http.DefaultMaxHeaderBytes is used. MaxHeaderBytes int // MaxHeaderBytes controls the maximum number of bytes the server will read parsing the request body. If zero, // MaxBodyBytes is used. MaxBodyBytes int64 // BatchItemLimit is the maximum number of requests in a batch. BatchItemLimit int // BatchResponseSizeLimit is the maximum number of response bytes across all requests in a batch. BatchResponseSizeLimit int Router Registrar // APIs contains is an array of enabled RPC services. APIs []API }
ServerConfiguration is a common configuration for RPC servers.
func (*ServerConfiguration) IsAddressEmpty ¶
func (c *ServerConfiguration) IsAddressEmpty() bool
type StateAPI ¶
type StateAPI struct {
// contains filtered or unexported fields
}
func NewStateAPI ¶
func NewStateAPI(node partitionNode, ownerIndex partition.IndexReader) *StateAPI
func (*StateAPI) GetRoundNumber ¶
GetRoundNumber returns the current round number as seen by the node.
func (*StateAPI) GetTransactionProof ¶
func (s *StateAPI) GetTransactionProof(ctx context.Context, txHash hex.Bytes) (*TransactionRecordAndProof, error)
GetTransactionProof returns transaction record and proof for the given transaction hash.
func (*StateAPI) GetTrustBase ¶
GetTrustBase returns trust base for the given epoch.
func (*StateAPI) GetUnit ¶
GetUnit returns unit data and optionally the state proof for the given unitID.
func (*StateAPI) GetUnitsByOwnerID ¶
GetUnitsByOwnerID returns list of unit identifiers that belong to the given owner.
type TransactionRecordAndProof ¶ added in v0.4.0
Click to show internal directories.
Click to hide internal directories.