rpcchainvm

package
v1.9.2-rc.2 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: BSD-3-Clause Imports: 55 Imported by: 40

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Handshake is a common handshake that is shared by plugin and host.
	Handshake = plugin.HandshakeConfig{
		ProtocolVersion:  version.RPCChainVMProtocol,
		MagicCookieKey:   "VM_PLUGIN",
		MagicCookieValue: "dynamic",
	}

	// PluginMap is the map of plugins we can dispense.
	PluginMap = map[string]plugin.Plugin{
		"vm": &vmPlugin{},
	}
)

Functions

func New

func New(vm block.ChainVM) plugin.Plugin

New will be called by the server side of the plugin to pass into the server side PluginMap for dispatching.

func NewFactory added in v1.7.6

func NewFactory(path string, processTracker resource.ProcessTracker) vms.Factory

func Serve added in v1.7.10

func Serve(vm block.ChainVM)

Serve serves a ChainVM plugin using sane gRPC server defaults.

Types

type VMClient

type VMClient struct {
	*chain.State
	// contains filtered or unexported fields
}

VMClient is an implementation of a VM that talks over RPC.

func NewClient

func NewClient(client vmpb.VMClient) *VMClient

NewClient returns a VM connected to a remote VM

func (*VMClient) AppGossip added in v1.5.3

func (vm *VMClient) AppGossip(ctx context.Context, nodeID ids.NodeID, msg []byte) error

func (*VMClient) AppRequest added in v1.5.3

func (vm *VMClient) AppRequest(ctx context.Context, nodeID ids.NodeID, requestID uint32, deadline time.Time, request []byte) error

func (*VMClient) AppRequestFailed added in v1.5.3

func (vm *VMClient) AppRequestFailed(ctx context.Context, nodeID ids.NodeID, requestID uint32) error

func (*VMClient) AppResponse added in v1.5.3

func (vm *VMClient) AppResponse(ctx context.Context, nodeID ids.NodeID, requestID uint32, response []byte) error

func (*VMClient) BatchedParseBlock added in v1.6.4

func (vm *VMClient) BatchedParseBlock(blksBytes [][]byte) ([]snowman.Block, error)

func (*VMClient) Connected added in v1.4.8

func (vm *VMClient) Connected(nodeID ids.NodeID, nodeVersion *version.Application) error

func (*VMClient) CreateHandlers

func (vm *VMClient) CreateHandlers() (map[string]*common.HTTPHandler, error)

func (*VMClient) CreateStaticHandlers added in v1.4.8

func (vm *VMClient) CreateStaticHandlers() (map[string]*common.HTTPHandler, error)

func (*VMClient) CrossChainAppRequest added in v1.9.1

func (vm *VMClient) CrossChainAppRequest(ctx context.Context, chainID ids.ID, requestID uint32, deadline time.Time, request []byte) error

func (*VMClient) CrossChainAppRequestFailed added in v1.9.1

func (vm *VMClient) CrossChainAppRequestFailed(ctx context.Context, chainID ids.ID, requestID uint32) error

func (*VMClient) CrossChainAppResponse added in v1.9.1

func (vm *VMClient) CrossChainAppResponse(ctx context.Context, chainID ids.ID, requestID uint32, response []byte) error

func (*VMClient) Disconnected added in v1.4.8

func (vm *VMClient) Disconnected(nodeID ids.NodeID) error

func (*VMClient) Gather added in v1.7.0

func (vm *VMClient) Gather() ([]*dto.MetricFamily, error)

func (*VMClient) GetAncestors added in v1.6.4

func (vm *VMClient) GetAncestors(
	blkID ids.ID,
	maxBlocksNum int,
	maxBlocksSize int,
	maxBlocksRetrivalTime time.Duration,
) ([][]byte, error)

func (*VMClient) GetBlockIDAtHeight added in v1.7.5

func (vm *VMClient) GetBlockIDAtHeight(height uint64) (ids.ID, error)

func (*VMClient) GetLastStateSummary added in v1.7.11

func (vm *VMClient) GetLastStateSummary() (block.StateSummary, error)

func (*VMClient) GetOngoingSyncStateSummary added in v1.7.11

func (vm *VMClient) GetOngoingSyncStateSummary() (block.StateSummary, error)

func (*VMClient) GetStateSummary added in v1.7.11

func (vm *VMClient) GetStateSummary(summaryHeight uint64) (block.StateSummary, error)

func (*VMClient) HealthCheck added in v1.2.1

func (vm *VMClient) HealthCheck() (interface{}, error)

func (*VMClient) Initialize

func (vm *VMClient) Initialize(
	ctx *snow.Context,
	dbManager manager.Manager,
	genesisBytes []byte,
	upgradeBytes []byte,
	configBytes []byte,
	toEngine chan<- common.Message,
	fxs []*common.Fx,
	appSender common.AppSender,
) error

func (*VMClient) ParseStateSummary added in v1.7.11

func (vm *VMClient) ParseStateSummary(summaryBytes []byte) (block.StateSummary, error)

func (*VMClient) SetPreference

func (vm *VMClient) SetPreference(id ids.ID) error

func (*VMClient) SetProcess

func (vm *VMClient) SetProcess(ctx *snow.Context, proc *plugin.Client, processTracker resource.ProcessTracker)

SetProcess gives ownership of the server process to the client.

func (*VMClient) SetState added in v1.7.5

func (vm *VMClient) SetState(state snow.State) error

func (*VMClient) Shutdown

func (vm *VMClient) Shutdown() error

func (*VMClient) StateSyncEnabled added in v1.7.11

func (vm *VMClient) StateSyncEnabled() (bool, error)

func (*VMClient) VerifyHeightIndex added in v1.7.5

func (vm *VMClient) VerifyHeightIndex() error

func (*VMClient) Version added in v1.4.10

func (vm *VMClient) Version() (string, error)

type VMServer

type VMServer struct {
	vmpb.UnsafeVMServer
	// contains filtered or unexported fields
}

VMServer is a VM that is managed over RPC.

func NewServer

func NewServer(vm block.ChainVM) *VMServer

NewServer returns a vm instance connected to a remote vm instance

func (*VMServer) AppGossip added in v1.5.3

func (vm *VMServer) AppGossip(ctx context.Context, req *vmpb.AppGossipMsg) (*emptypb.Empty, error)

func (*VMServer) AppRequest added in v1.5.3

func (vm *VMServer) AppRequest(ctx context.Context, req *vmpb.AppRequestMsg) (*emptypb.Empty, error)

func (*VMServer) AppRequestFailed added in v1.5.3

func (vm *VMServer) AppRequestFailed(ctx context.Context, req *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)

func (*VMServer) AppResponse added in v1.5.3

func (vm *VMServer) AppResponse(ctx context.Context, req *vmpb.AppResponseMsg) (*emptypb.Empty, error)

func (*VMServer) BatchedParseBlock added in v1.6.4

func (vm *VMServer) BatchedParseBlock(
	ctx context.Context,
	req *vmpb.BatchedParseBlockRequest,
) (*vmpb.BatchedParseBlockResponse, error)

func (*VMServer) BlockAccept

func (vm *VMServer) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)

func (*VMServer) BlockReject

func (vm *VMServer) BlockReject(_ context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)

func (*VMServer) BlockVerify

func (*VMServer) BuildBlock

func (*VMServer) Connected added in v1.6.4

func (vm *VMServer) Connected(_ context.Context, req *vmpb.ConnectedRequest) (*emptypb.Empty, error)

func (*VMServer) CreateHandlers

func (*VMServer) CreateStaticHandlers added in v1.4.8

func (vm *VMServer) CreateStaticHandlers(context.Context, *emptypb.Empty) (*vmpb.CreateStaticHandlersResponse, error)

func (*VMServer) CrossChainAppRequest added in v1.9.1

func (vm *VMServer) CrossChainAppRequest(ctx context.Context, msg *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)

func (*VMServer) CrossChainAppRequestFailed added in v1.9.1

func (vm *VMServer) CrossChainAppRequestFailed(ctx context.Context, msg *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)

func (*VMServer) CrossChainAppResponse added in v1.9.1

func (vm *VMServer) CrossChainAppResponse(ctx context.Context, msg *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)

func (*VMServer) Disconnected added in v1.6.4

func (vm *VMServer) Disconnected(_ context.Context, req *vmpb.DisconnectedRequest) (*emptypb.Empty, error)

func (*VMServer) Gather added in v1.7.0

func (*VMServer) GetAncestors added in v1.6.4

func (*VMServer) GetBlock

func (*VMServer) GetBlockIDAtHeight added in v1.7.5

func (*VMServer) GetLastStateSummary added in v1.7.11

func (vm *VMServer) GetLastStateSummary(
	ctx context.Context,
	empty *emptypb.Empty,
) (*vmpb.GetLastStateSummaryResponse, error)

func (*VMServer) GetOngoingSyncStateSummary added in v1.7.11

func (vm *VMServer) GetOngoingSyncStateSummary(
	context.Context,
	*emptypb.Empty,
) (*vmpb.GetOngoingSyncStateSummaryResponse, error)

func (*VMServer) GetStateSummary added in v1.7.11

func (vm *VMServer) GetStateSummary(
	ctx context.Context,
	req *vmpb.GetStateSummaryRequest,
) (*vmpb.GetStateSummaryResponse, error)

func (*VMServer) Health added in v1.0.3

func (vm *VMServer) Health(ctx context.Context, req *emptypb.Empty) (*vmpb.HealthResponse, error)

func (*VMServer) Initialize

func (*VMServer) ParseBlock

func (*VMServer) ParseStateSummary added in v1.7.11

func (vm *VMServer) ParseStateSummary(
	ctx context.Context,
	req *vmpb.ParseStateSummaryRequest,
) (*vmpb.ParseStateSummaryResponse, error)

func (*VMServer) SetPreference

func (vm *VMServer) SetPreference(_ context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)

func (*VMServer) SetState added in v1.7.5

func (vm *VMServer) SetState(_ context.Context, stateReq *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)

func (*VMServer) Shutdown

func (vm *VMServer) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)

func (*VMServer) StateSummaryAccept added in v1.7.11

func (*VMServer) StateSyncEnabled added in v1.7.11

func (*VMServer) VerifyHeightIndex added in v1.7.5

func (*VMServer) Version added in v1.4.10

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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