Versions in this module Expand all Collapse all v0 v0.1.1 Oct 26, 2022 Changes in this version + const EarliestBlockNumber + const LatestBlockNumber + const MetadataApi + const PendingBlockNumber + var DefaultHTTPTimeouts = HTTPTimeouts + var ErrClientQuit = errors.New("client is closed") + var ErrNoResult = errors.New("no result in JSON-RPC response") + var ErrNotificationsUnsupported = errors.New("notifications not supported") + var ErrSubscriptionNotFound = errors.New("subscription not found") + var ErrSubscriptionQueueOverflow = errors.New("subscription queue overflow") + func NewHTTPServer(cors []string, vhosts []string, timeouts HTTPTimeouts, srv http.Handler) *http.Server + func NewWSServer(allowedOrigins []string, srv *Server) *http.Server + type API struct + Namespace string + Public bool + Service interface{} + Version string + type BatchElem struct + Args []interface{} + Error error + Method string + Result interface{} + type BlockNumber int64 + func (bn *BlockNumber) UnmarshalJSON(data []byte) error + func (bn BlockNumber) Int64() int64 + type BlockNumberOrHash struct + BlockHash *common.Hash + BlockNumber *BlockNumber + RequireCanonical bool + func BlockNumberOrHashWithHash(hash common.Hash, canonical bool) BlockNumberOrHash + func BlockNumberOrHashWithNumber(blockNr BlockNumber) BlockNumberOrHash + func (bnh *BlockNumberOrHash) Hash() (common.Hash, bool) + func (bnh *BlockNumberOrHash) Number() (BlockNumber, bool) + func (bnh *BlockNumberOrHash) UnmarshalJSON(data []byte) error + type Client struct + func ClientFromContext(ctx context.Context) (*Client, bool) + func Dial(rawurl string) (*Client, error) + func DialContext(ctx context.Context, rawurl string) (*Client, error) + func DialHTTP(endpoint string) (*Client, error) + func DialHTTPWithClient(endpoint string, client *http.Client) (*Client, error) + func DialIO(ctx context.Context, in io.Reader, out io.Writer) (*Client, error) + func DialIPC(ctx context.Context, endpoint string) (*Client, error) + func DialInProc(handler *Server) *Client + func DialStdIO(ctx context.Context) (*Client, error) + func DialWebsocket(ctx context.Context, endpoint, origin string) (*Client, error) + func (c *Client) BatchCall(b []BatchElem) error + func (c *Client) BatchCallContext(ctx context.Context, b []BatchElem) error + func (c *Client) Call(result interface{}, method string, args ...interface{}) error + func (c *Client) CallContext(ctx context.Context, result interface{}, method string, args ...interface{}) error + func (c *Client) Close() + func (c *Client) Notify(ctx context.Context, method string, args ...interface{}) error + func (c *Client) RegisterName(name string, receiver interface{}) error + func (c *Client) Subscribe(ctx context.Context, ...) (*ClientSubscription, error) + func (c *Client) SupportedModules() (map[string]string, error) + type ClientSubscription struct + func (sub *ClientSubscription) Err() <-chan error + func (sub *ClientSubscription) Unsubscribe() + type CodecOption int + const OptionMethodInvocation + const OptionSubscriptions + type Conn interface + SetWriteDeadline func(time.Time) error + type ConnRemoteAddr interface + RemoteAddr func() string + type Error interface + Error func() string + ErrorCode func() int + type HTTPTimeouts struct + IdleTimeout time.Duration + ReadTimeout time.Duration + WriteTimeout time.Duration + type ID uint32 + func NewID() ID + type Notifier struct + func NotifierFromContext(ctx context.Context) (*Notifier, bool) + func (n *Notifier) Closed() <-chan interface{} + func (n *Notifier) CreateSubscription() *Subscription + func (n *Notifier) Notify(id ID, data interface{}) error + type RPCService struct + func (s *RPCService) Modules() map[string]string + type Server struct + func NewServer() *Server + func StartHTTPEndpoint(endpoint string, apis []API, modules []string, cors []string, vhosts []string, ...) (net.Listener, *Server, error) + func StartIPCEndpoint(ipcEndpoint string, apis []API) (net.Listener, *Server, error) + func StartWSEndpoint(endpoint string, apis []API, modules []string, wsOrigins []string, ...) (net.Listener, *Server, error) + func (s *Server) RegisterName(name string, receiver interface{}) error + func (s *Server) ServeCodec(codec ServerCodec, options CodecOption) + func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) + func (s *Server) ServeListener(l net.Listener) error + func (s *Server) Stop() + func (s *Server) WebsocketHandler(allowedOrigins []string) http.Handler + type ServerCodec interface + Close func() + Read func() (msgs []*jsonrpcMessage, isBatch bool, err error) + func NewJSONCodec(conn Conn) ServerCodec + type Subscription struct + ID ID + func (s *Subscription) Err() <-chan error + func (s *Subscription) MarshalJSON() ([]byte, error)