laconicd/ethereum/rpc/net_api.go

37 lines
838 B
Go
Raw Normal View History

2021-04-18 16:39:15 +00:00
package rpc
import (
"fmt"
2021-04-18 16:39:15 +00:00
"github.com/spf13/viper"
2021-04-17 10:00:07 +00:00
ethermint "github.com/cosmos/ethermint/types"
2021-04-18 16:39:15 +00:00
"github.com/cosmos/cosmos-sdk/client"
"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
}
2021-04-18 16:39:15 +00:00
// NewPublicNetAPI creates an instance of the public Net Web3 API.
func NewPublicNetAPI(_ client.Context) *PublicNetAPI {
chainID := viper.GetString(flags.FlagChainID)
// parse the chainID from a integer string
2021-04-18 16:39:15 +00:00
chainIDEpoch, err := ethermint.ParseChainID(chainID)
if err != nil {
panic(err)
}
return &PublicNetAPI{
networkVersion: chainIDEpoch.Uint64(),
}
}
// Version returns the current ethereum protocol version.
2021-04-18 16:39:15 +00:00
func (s *PublicNetAPI) Version() string {
return fmt.Sprintf("%d", s.networkVersion)
}