Documentation ¶
Overview ¶
Package rpc contains RPC handler methods and utilities to start Ethermint's Web3-compatibly JSON-RPC server.
Package rpc contains RPC handler methods, namespaces and utilities to start Ethermint's Web3-compatible JSON-RPC server.
The list of available namespaces are:
* `rpc/namespaces/eth`: `eth` namespace. Exposes the `PublicEthereumAPI` and the `PublicFilterAPI`. * `rpc/namespaces/personal`: `personal` namespace. Exposes the `PrivateAccountAPI`. * `rpc/namespaces/net`: `net` namespace. Exposes the `PublicNetAPI`. * `rpc/namespaces/web3`: `web3` namespace. Exposes the `PublicWeb3API`
Index ¶
- Constants
- func GetRPCAPIs(ctx *server.Context, clientCtx client.Context, tmWSClient *rpcclient.WSClient, ...) []rpc.API
- func RegisterAPINamespace(ns string, creator APICreator) error
- type APICreator
- type ErrorMessageJSON
- type ErrorResponseJSON
- type SubscriptionNotification
- type SubscriptionResponseJSON
- type SubscriptionResult
- type WebsocketsServer
Constants ¶
const ( CosmosNamespace = "cosmos" Web3Namespace = "web3" EthNamespace = "eth" PersonalNamespace = "personal" NetNamespace = "net" TxPoolNamespace = "txpool" DebugNamespace = "debug" MinerNamespace = "miner" )
RPC namespaces and API version
Variables ¶
This section is empty.
Functions ¶
func GetRPCAPIs ¶
func GetRPCAPIs(ctx *server.Context, clientCtx client.Context, tmWSClient *rpcclient.WSClient, allowUnprotectedTxs bool, indexer ethermint.EVMTxIndexer, selectedAPIs []string) []rpc.API
GetRPCAPIs returns the list of all APIs
func RegisterAPINamespace ¶
func RegisterAPINamespace(ns string, creator APICreator) error
RegisterAPINamespace registers a new API namespace with the API creator. This function fails if the namespace is already registered.
Types ¶
type APICreator ¶
type APICreator = func( ctx *server.Context, clientCtx client.Context, tendermintWebsocketClient *rpcclient.WSClient, allowUnprotectedTxs bool, indexer ethermint.EVMTxIndexer, ) []rpc.API
APICreator creates the JSON-RPC API implementations.
type ErrorMessageJSON ¶
type ErrorResponseJSON ¶
type ErrorResponseJSON struct { Jsonrpc string `json:"jsonrpc"` Error *ErrorMessageJSON `json:"error"` ID *big.Int `json:"id"` }
type SubscriptionNotification ¶
type SubscriptionNotification struct { Jsonrpc string `json:"jsonrpc"` Method string `json:"method"` Params *SubscriptionResult `json:"params"` }
type SubscriptionResult ¶
type WebsocketsServer ¶
type WebsocketsServer interface {
Start()
}