Files
evm/plugin/main.go
T
2022-01-31 17:22:51 +03:00

42 lines
907 B
Go

// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package main
import (
"fmt"
"os"
"github.com/hashicorp/go-plugin"
"github.com/ava-labs/avalanchego/utils/ulimit"
"github.com/ava-labs/avalanchego/vms/rpcchainvm"
"github.com/ava-labs/subnet-evm/plugin/evm"
)
func main() {
version, err := PrintVersion()
if err != nil {
fmt.Printf("couldn't get config: %s", err)
os.Exit(1)
}
if version {
fmt.Println(evm.Version)
os.Exit(0)
}
if err := ulimit.Set(ulimit.DefaultFDLimit); err != nil {
fmt.Printf("failed to set fd limit correctly due to: %s", err)
os.Exit(1)
}
plugin.Serve(&plugin.ServeConfig{
HandshakeConfig: rpcchainvm.Handshake,
Plugins: map[string]plugin.Plugin{
"vm": rpcchainvm.New(&evm.VM{}),
},
// A non-nil value here enables gRPC serving for this plugin...
GRPCServer: plugin.DefaultGRPCServer,
})
}