package rpc import ( "fmt" "strconv" "github.com/spf13/viper" "github.com/cosmos/cosmos-sdk/client/context" "github.com/cosmos/cosmos-sdk/client/flags" ) // PublicNetAPI is the eth_ prefixed set of APIs in the Web3 JSON-RPC spec. type PublicNetAPI struct { networkVersion uint64 } // NewPublicNetAPI creates an instance of the public Net Web3 API. func NewPublicNetAPI(_ context.CLIContext) *PublicNetAPI { chainID := viper.GetString(flags.FlagChainID) // parse the chainID from a integer string intChainID, err := strconv.ParseUint(chainID, 0, 64) if err != nil { panic(fmt.Sprintf("invalid chainID: %s, must be integer format", chainID)) } return &PublicNetAPI{ networkVersion: intChainID, } } // Version returns the current ethereum protocol version. func (s *PublicNetAPI) Version() string { return fmt.Sprintf("%d", s.networkVersion) }