Documentation
¶
Index ¶
- Variables
- type BroadcastOutbound
- type Config
- type Listener
- type LogFilter
- type Option
- type Responder
- type Server
- func (api *Server) EstimateActionGasConsumption(ctx context.Context, in *iotexapi.EstimateActionGasConsumptionRequest) (*iotexapi.EstimateActionGasConsumptionResponse, error)
- func (api *Server) EstimateGasForAction(ctx context.Context, in *iotexapi.EstimateGasForActionRequest) (*iotexapi.EstimateGasForActionResponse, error)
- func (api *Server) GetAccount(ctx context.Context, in *iotexapi.GetAccountRequest) (*iotexapi.GetAccountResponse, error)
- func (api *Server) GetActions(ctx context.Context, in *iotexapi.GetActionsRequest) (*iotexapi.GetActionsResponse, error)
- func (api *Server) GetBlockMetas(ctx context.Context, in *iotexapi.GetBlockMetasRequest) (*iotexapi.GetBlockMetasResponse, error)
- func (api *Server) GetChainMeta(ctx context.Context, in *iotexapi.GetChainMetaRequest) (*iotexapi.GetChainMetaResponse, error)
- func (api *Server) GetEpochMeta(ctx context.Context, in *iotexapi.GetEpochMetaRequest) (*iotexapi.GetEpochMetaResponse, error)
- func (api *Server) GetLogs(ctx context.Context, in *iotexapi.GetLogsRequest) (*iotexapi.GetLogsResponse, error)
- func (api *Server) GetRawBlocks(ctx context.Context, in *iotexapi.GetRawBlocksRequest) (*iotexapi.GetRawBlocksResponse, error)
- func (api *Server) GetReceiptByAction(ctx context.Context, in *iotexapi.GetReceiptByActionRequest) (*iotexapi.GetReceiptByActionResponse, error)
- func (api *Server) GetServerMeta(ctx context.Context, in *iotexapi.GetServerMetaRequest) (*iotexapi.GetServerMetaResponse, error)
- func (api *Server) GetVotes(ctx context.Context, in *iotexapi.GetVotesRequest) (*iotexapi.GetVotesResponse, error)
- func (api *Server) ReadContract(ctx context.Context, in *iotexapi.ReadContractRequest) (*iotexapi.ReadContractResponse, error)
- func (api *Server) ReadState(ctx context.Context, in *iotexapi.ReadStateRequest) (*iotexapi.ReadStateResponse, error)
- func (api *Server) SendAction(ctx context.Context, in *iotexapi.SendActionRequest) (res *iotexapi.SendActionResponse, err error)
- func (api *Server) Start() error
- func (api *Server) Stop() error
- func (api *Server) StreamBlocks(in *iotexapi.StreamBlocksRequest, ...) error
- func (api *Server) StreamLogs(in *iotexapi.StreamLogsRequest, stream iotexapi.APIService_StreamLogsServer) error
- func (api *Server) SuggestGasPrice(ctx context.Context, in *iotexapi.SuggestGasPriceRequest) (*iotexapi.SuggestGasPriceResponse, error)
- type ServiceClient
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInternalServer indicates the internal server error ErrInternalServer = errors.New("internal server error") // ErrReceipt indicates the error of receipt ErrReceipt = errors.New("invalid receipt") // ErrAction indicates the error of action ErrAction = errors.New("invalid action") )
Functions ¶
This section is empty.
Types ¶
type BroadcastOutbound ¶
BroadcastOutbound sends a broadcast message to the whole network
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config represents the config to setup api
type Listener ¶ added in v0.7.1
type Listener interface {
Start() error
Stop() error
HandleBlock(*block.Block) error
AddResponder(Responder) error
}
Listener pass new block to all responders
func NewChainListener ¶ added in v0.7.1
func NewChainListener() Listener
NewChainListener returns a new blockchain chainListener
type LogFilter ¶ added in v0.7.1
type LogFilter struct {
*iotexapi.LogsFilter
// contains filtered or unexported fields
}
LogFilter contains options for contract log filtering.
func (*LogFilter) MatchBlock ¶ added in v0.7.1
func (l *LogFilter) MatchBlock(blk *block.Block) []*iotextypes.Log
MatchBlock returns matching logs in a given block
type Option ¶
Option is the option to override the api config
func WithBroadcastOutbound ¶
func WithBroadcastOutbound(broadcastHandler BroadcastOutbound) Option
WithBroadcastOutbound is the option to broadcast msg outbound
type Responder ¶ added in v0.7.1
Responder responds to new block
func NewBlockListener ¶ added in v0.7.1
func NewBlockListener(stream iotexapi.APIService_StreamBlocksServer, errChan chan error) Responder
NewBlockListener returns a new block listener
func NewLogFilter ¶ added in v0.7.1
func NewLogFilter(in *iotexapi.LogsFilter, stream iotexapi.APIService_StreamLogsServer, errChan chan error) Responder
NewLogFilter returns a new log filter
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server provides api for user to query blockchain data
func NewServer ¶
func NewServer( cfg config.Config, chain blockchain.Blockchain, dispatcher dispatcher.Dispatcher, actPool actpool.ActPool, registry *protocol.Registry, electionCommittee committee.Committee, opts ...Option, ) (*Server, error)
NewServer creates a new server
func (*Server) EstimateActionGasConsumption ¶ added in v0.7.2
func (api *Server) EstimateActionGasConsumption(ctx context.Context, in *iotexapi.EstimateActionGasConsumptionRequest) (*iotexapi.EstimateActionGasConsumptionResponse, error)
EstimateActionGasConsumption estimate gas consume for exectution and transfer
func (*Server) EstimateGasForAction ¶
func (api *Server) EstimateGasForAction(ctx context.Context, in *iotexapi.EstimateGasForActionRequest) (*iotexapi.EstimateGasForActionResponse, error)
EstimateGasForAction estimates gas for action
func (*Server) GetAccount ¶
func (api *Server) GetAccount(ctx context.Context, in *iotexapi.GetAccountRequest) (*iotexapi.GetAccountResponse, error)
GetAccount returns the metadata of an account
func (*Server) GetActions ¶
func (api *Server) GetActions(ctx context.Context, in *iotexapi.GetActionsRequest) (*iotexapi.GetActionsResponse, error)
GetActions returns actions
func (*Server) GetBlockMetas ¶
func (api *Server) GetBlockMetas(ctx context.Context, in *iotexapi.GetBlockMetasRequest) (*iotexapi.GetBlockMetasResponse, error)
GetBlockMetas returns block metadata
func (*Server) GetChainMeta ¶
func (api *Server) GetChainMeta(ctx context.Context, in *iotexapi.GetChainMetaRequest) (*iotexapi.GetChainMetaResponse, error)
GetChainMeta returns blockchain metadata
func (*Server) GetEpochMeta ¶
func (api *Server) GetEpochMeta( ctx context.Context, in *iotexapi.GetEpochMetaRequest, ) (*iotexapi.GetEpochMetaResponse, error)
GetEpochMeta gets epoch metadata
func (*Server) GetLogs ¶ added in v0.7.1
func (api *Server) GetLogs( ctx context.Context, in *iotexapi.GetLogsRequest, ) (*iotexapi.GetLogsResponse, error)
GetLogs get logs filtered by contract address and topics
func (*Server) GetRawBlocks ¶ added in v0.6.0
func (api *Server) GetRawBlocks( ctx context.Context, in *iotexapi.GetRawBlocksRequest, ) (*iotexapi.GetRawBlocksResponse, error)
GetRawBlocks gets raw block data
func (*Server) GetReceiptByAction ¶
func (api *Server) GetReceiptByAction(ctx context.Context, in *iotexapi.GetReceiptByActionRequest) (*iotexapi.GetReceiptByActionResponse, error)
GetReceiptByAction gets receipt with corresponding action hash
func (*Server) GetServerMeta ¶
func (api *Server) GetServerMeta(ctx context.Context, in *iotexapi.GetServerMetaRequest) (*iotexapi.GetServerMetaResponse, error)
GetServerMeta gets the server metadata
func (*Server) GetVotes ¶ added in v0.8.1
func (api *Server) GetVotes( ctx context.Context, in *iotexapi.GetVotesRequest, ) (*iotexapi.GetVotesResponse, error)
GetVotes gets votes for req
func (*Server) ReadContract ¶
func (api *Server) ReadContract(ctx context.Context, in *iotexapi.ReadContractRequest) (*iotexapi.ReadContractResponse, error)
ReadContract reads the state in a contract address specified by the slot
func (*Server) ReadState ¶
func (api *Server) ReadState(ctx context.Context, in *iotexapi.ReadStateRequest) (*iotexapi.ReadStateResponse, error)
ReadState reads state on blockchain
func (*Server) SendAction ¶
func (api *Server) SendAction(ctx context.Context, in *iotexapi.SendActionRequest) (res *iotexapi.SendActionResponse, err error)
SendAction is the API to send an action to blockchain.
func (*Server) StreamBlocks ¶ added in v0.6.0
func (api *Server) StreamBlocks(in *iotexapi.StreamBlocksRequest, stream iotexapi.APIService_StreamBlocksServer) error
StreamBlocks streams blocks
func (*Server) StreamLogs ¶ added in v0.7.1
func (api *Server) StreamLogs(in *iotexapi.StreamLogsRequest, stream iotexapi.APIService_StreamLogsServer) error
StreamLogs streams logs that match the filter condition
func (*Server) SuggestGasPrice ¶
func (api *Server) SuggestGasPrice(ctx context.Context, in *iotexapi.SuggestGasPriceRequest) (*iotexapi.SuggestGasPriceResponse, error)
SuggestGasPrice suggests gas price
type ServiceClient ¶ added in v0.6.0
type ServiceClient interface {
// get the address detail of an address
GetAccount(ctx context.Context, in *iotexapi.GetAccountRequest, opts ...grpc.CallOption) (*iotexapi.GetAccountResponse, error)
// get action(s) by:
// 1. start index and action count
// 2. action hash
// 3. address with start index and action count
// 4. get unconfirmed actions by address with start index and action count
// 5. block hash with start index and action count
GetActions(ctx context.Context, in *iotexapi.GetActionsRequest, opts ...grpc.CallOption) (*iotexapi.GetActionsResponse, error)
// get block metadata(s) by:
// 1. start index and block count
// 2. block hash
GetBlockMetas(ctx context.Context, in *iotexapi.GetBlockMetasRequest, opts ...grpc.CallOption) (*iotexapi.GetBlockMetasResponse, error)
// get chain metadata
GetChainMeta(ctx context.Context, in *iotexapi.GetChainMetaRequest, opts ...grpc.CallOption) (*iotexapi.GetChainMetaResponse, error)
// get server version
GetServerMeta(ctx context.Context, in *iotexapi.GetServerMetaRequest, opts ...grpc.CallOption) (*iotexapi.GetServerMetaResponse, error)
// sendAction
SendAction(ctx context.Context, in *iotexapi.SendActionRequest, opts ...grpc.CallOption) (*iotexapi.SendActionResponse, error)
// get receipt by action Hash
GetReceiptByAction(ctx context.Context, in *iotexapi.GetReceiptByActionRequest, opts ...grpc.CallOption) (*iotexapi.GetReceiptByActionResponse, error)
// TODO: read contract
ReadContract(ctx context.Context, in *iotexapi.ReadContractRequest, opts ...grpc.CallOption) (*iotexapi.ReadContractResponse, error)
// suggest gas price
SuggestGasPrice(ctx context.Context, in *iotexapi.SuggestGasPriceRequest, opts ...grpc.CallOption) (*iotexapi.SuggestGasPriceResponse, error)
// estimate gas for action
EstimateGasForAction(ctx context.Context, in *iotexapi.EstimateGasForActionRequest, opts ...grpc.CallOption) (*iotexapi.EstimateGasForActionResponse, error)
// read state from blockchain
ReadState(ctx context.Context, in *iotexapi.ReadStateRequest, opts ...grpc.CallOption) (*iotexapi.ReadStateResponse, error)
// get epoch metadata
GetEpochMeta(ctx context.Context, in *iotexapi.GetEpochMetaRequest, opts ...grpc.CallOption) (*iotexapi.GetEpochMetaResponse, error)
// get raw blocks data
GetRawBlocks(ctx context.Context, in *iotexapi.GetRawBlocksRequest, opts ...grpc.CallOption) (*iotexapi.GetRawBlocksResponse, error)
// get logs filtered by contract address and topics
GetLogs(ctx context.Context, in *iotexapi.GetLogsRequest, opts ...grpc.CallOption) (*iotexapi.GetLogsResponse, error)
// get block info in stream
StreamBlocks(ctx context.Context, in *iotexapi.StreamBlocksRequest, opts ...grpc.CallOption) (iotexapi.APIService_StreamBlocksClient, error)
// get filtered logs in stream
StreamLogs(ctx context.Context, in *iotexapi.StreamLogsRequest, opts ...grpc.CallOption) (iotexapi.APIService_StreamLogsClient, error)
}
ServiceClient is the api service client interface corresponding to the one in github.com/iotexproject/iotex-proto. This interface is used by mockgen for test purposes. Remember to update it whenever definitions in api.proto change.