ethrpc

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2024 License: MIT Imports: 8 Imported by: 0

README

GoDoc

ethrpc

Simple go lib to make RPC calls to Ethereum-like nodes easy

TODO

  • Support websocket

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadString

func ReadString(v any, e error) (string, error)

ReadString decodes the return value as a string and returns it

func ReadTo

func ReadTo(target any) func(v any, e error) error

ReadTo returns a setter function that will return an error if an error happens. This is a bit convoluted because of limitation in Go's syntax, but this could be used as:

err = ReadTo(&block)(target.RPC("eth_getBlockByNumber", "0x1b4", true))

func ReadUint64

func ReadUint64(v any, e error) (uint64, error)

ReadUint64 decodes the return value and passes it as a uint64.

This can be used as: res, err := ReadUint64(target.Do("eth_blockNumber"))

Types

type RPC

type RPC struct {
	// contains filtered or unexported fields
}

TODO support ws protocol

func New

func New(h string) *RPC

New returns a new instance of RPC to perform requests to the given RPC endpoint

func (*RPC) Do

func (r *RPC) Do(method string, args ...any) (json.RawMessage, error)

Do performs a RPC request

func (*RPC) DoCtx

func (r *RPC) DoCtx(ctx context.Context, method string, args ...any) (json.RawMessage, error)

DoCtx performs a RPC request, taking an optional context that can be cancelled to stop the request

func (*RPC) To

func (r *RPC) To(target any, method string, args ...any) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL