You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The RPCChainVM allows AvalancheGo to run a VM over gRPC rather than being registered within the AvalancheGo binary.
There are a few features or expectations that the RPCChainVM does not maintain that should either be fixed or explicitly documented for VM developers.
Discrepancies
Snow Ctx Lock
The snow context lock is held by the consensus engine while processing any message except for explicitly async App-specific messages. However, this lock is not transmitted over gRPC.
You can see the *snow.Context type created and passed in to the VM server is not populated, which provides a fresh default value for the lock that is unrelated to the lock held by the consensus engine:
// TODO: Allow the logger to be configured by the client
Ideally, this would inherit the log level from AvalancheGo by default. Alternatively, we should make it explicit that it's disconnected from AvalancheGo and the VM must configure the log level itself.
The text was updated successfully, but these errors were encountered:
The RPCChainVM allows AvalancheGo to run a VM over gRPC rather than being registered within the AvalancheGo binary.
There are a few features or expectations that the RPCChainVM does not maintain that should either be fixed or explicitly documented for VM developers.
Discrepancies
Snow Ctx Lock
The snow context lock is held by the consensus engine while processing any message except for explicitly async App-specific messages. However, this lock is not transmitted over gRPC.
You can see the
*snow.Context
type created and passed in to the VM server is not populated, which provides a fresh default value for the lock that is unrelated to the lock held by the consensus engine:avalanchego/vms/rpcchainvm/vm_server.go
Line 265 in 8172d8b
Snow Log
The log passed in to the VM is always configured at the info level:
avalanchego/vms/rpcchainvm/vm_server.go
Line 190 in 8172d8b
Ideally, this would inherit the log level from AvalancheGo by default. Alternatively, we should make it explicit that it's disconnected from AvalancheGo and the VM must configure the log level itself.
The text was updated successfully, but these errors were encountered: