Setup essential Nitro config

This commit is contained in:
Prathamesh Musale 2023-10-12 13:20:43 +05:30
parent 1af95d35ab
commit b205f31605
5 changed files with 56 additions and 12 deletions

View File

@ -35,3 +35,21 @@ func addDatabaseFlags(command *cobra.Command) {
viper.BindPFlag("database.user", command.PersistentFlags().Lookup("database-user")) viper.BindPFlag("database.user", command.PersistentFlags().Lookup("database-user"))
viper.BindPFlag("database.password", command.PersistentFlags().Lookup("database-password")) viper.BindPFlag("database.password", command.PersistentFlags().Lookup("database-password"))
} }
func addNitroFlags(command *cobra.Command) {
// nitro flags
command.PersistentFlags().String("nitro-pk", "", "nitro pk")
command.PersistentFlags().String("nitro-chainPk", "", "nitro chainPk")
command.PersistentFlags().String("nitro-chainUrl", "", "nitro chainUrl")
command.PersistentFlags().String("nitro-naAddress", "", "nitro naAddress")
command.PersistentFlags().String("nitro-vpaAddress", "", "nitro vpaAddress")
command.PersistentFlags().String("nitro-caAddress", "", "nitro caAddress")
// nitro flag bindings
viper.BindPFlag("nitro.pk", command.PersistentFlags().Lookup("nitro-pk"))
viper.BindPFlag("nitro.chainPk", command.PersistentFlags().Lookup("nitro-chainPk"))
viper.BindPFlag("nitro.chainUrl", command.PersistentFlags().Lookup("nitro-chainUrl"))
viper.BindPFlag("nitro.naAddress", command.PersistentFlags().Lookup("nitro-naAddress"))
viper.BindPFlag("nitro.vpaAddress", command.PersistentFlags().Lookup("nitro-vpaAddress"))
viper.BindPFlag("nitro.caAddress", command.PersistentFlags().Lookup("nitro-caAddress"))
}

View File

@ -85,7 +85,7 @@ func serve() {
server.Serve(wg) server.Serve(wg)
// TODO: Create required config for Nitro node // TODO: Create required config for Nitro node
nitroNode, err := initializeNitroNode() nitroNode, err := initializeNitroNode(serverConfig.Nitro)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -290,6 +290,8 @@ func init() {
addDatabaseFlags(serveCmd) addDatabaseFlags(serveCmd)
addNitroFlags(serveCmd)
// flags for all config variables // flags for all config variables
// eth graphql and json-rpc parameters // eth graphql and json-rpc parameters
serveCmd.PersistentFlags().Bool("server-graphql", false, "turn on the eth graphql server") serveCmd.PersistentFlags().Bool("server-graphql", false, "turn on the eth graphql server")
@ -370,19 +372,19 @@ func init() {
viper.BindPFlag("validator.everyNthBlock", serveCmd.PersistentFlags().Lookup("validator-every-nth-block")) viper.BindPFlag("validator.everyNthBlock", serveCmd.PersistentFlags().Lookup("validator-every-nth-block"))
} }
func initializeNitroNode() (*nitroNode.Node, error) { func initializeNitroNode(nitroConfig *s.NitroConfig) (*nitroNode.Node, error) {
// TODO: Configure // TODO: Configure
pkString := "" pkString := nitroConfig.Pk
useDurableStore := true useDurableStore := true
durableStoreFolder := "./data/nitro-store" durableStoreFolder := "./data/nitro-store"
msgPort := 3005 msgPort := 3005
wsMsgPort := 5005 wsMsgPort := 5005
chainUrl := "ws://127.0.0.1:8545" chainUrl := nitroConfig.ChainUrl
chainStartBlock := uint64(0) chainStartBlock := uint64(0)
chainPk := "" chainPk := nitroConfig.ChainPk
naAddress := "" naAddress := nitroConfig.NaAddress
vpaAddress := "" vpaAddress := nitroConfig.VpaAddress
caAddress := "" caAddress := nitroConfig.CaAddress
chainAuthToken := "" chainAuthToken := ""
publicIp := "0.0.0.0" publicIp := "0.0.0.0"

4
go.mod
View File

@ -11,7 +11,6 @@ require (
github.com/ethereum/go-ethereum v1.12.0 // TODO: Investigate github.com/ethereum/go-ethereum v1.12.0 // TODO: Investigate
github.com/google/uuid v1.3.0 github.com/google/uuid v1.3.0
github.com/graph-gophers/graphql-go v1.3.0 github.com/graph-gophers/graphql-go v1.3.0
github.com/hashicorp/golang-lru/v2 v2.0.5
github.com/ipfs/go-cid v0.4.1 github.com/ipfs/go-cid v0.4.1
github.com/jmoiron/sqlx v1.3.5 github.com/jmoiron/sqlx v1.3.5
github.com/joho/godotenv v1.4.0 github.com/joho/godotenv v1.4.0
@ -92,6 +91,7 @@ require (
github.com/hashicorp/go-bexpr v0.1.12 // indirect github.com/hashicorp/go-bexpr v0.1.12 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect
github.com/hashicorp/golang-lru/v2 v2.0.5 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect
github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
github.com/holiman/uint256 v1.2.3 // indirect github.com/holiman/uint256 v1.2.3 // indirect
@ -300,4 +300,4 @@ replace (
github.com/cerc-io/ipfs-ethdb/v5 => git.vdb.to/deep-stack/ipfs-ethdb/v5 v5.0.1-alpha.0.20231003124335-b6cf70668a07 github.com/cerc-io/ipfs-ethdb/v5 => git.vdb.to/deep-stack/ipfs-ethdb/v5 v5.0.1-alpha.0.20231003124335-b6cf70668a07
) )
replace github.com/statechannels/go-nitro v0.1.1 => github.com/cerc-io/go-nitro v0.1.2-0.20231012043644-1b31b5133214 replace github.com/statechannels/go-nitro v0.1.1 => github.com/cerc-io/go-nitro v0.1.2-0.20231012062355-dc2cb28411a5

4
go.sum
View File

@ -116,8 +116,8 @@ github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/ceramicnetwork/go-dag-jose v0.1.0 h1:yJ/HVlfKpnD3LdYP03AHyTvbm3BpPiz2oZiOeReJRdU= github.com/ceramicnetwork/go-dag-jose v0.1.0 h1:yJ/HVlfKpnD3LdYP03AHyTvbm3BpPiz2oZiOeReJRdU=
github.com/ceramicnetwork/go-dag-jose v0.1.0/go.mod h1:qYA1nYt0X8u4XoMAVoOV3upUVKtrxy/I670Dg5F0wjI= github.com/ceramicnetwork/go-dag-jose v0.1.0/go.mod h1:qYA1nYt0X8u4XoMAVoOV3upUVKtrxy/I670Dg5F0wjI=
github.com/cerc-io/go-nitro v0.1.2-0.20231012043644-1b31b5133214 h1:nrkG2Rym9jOpIFD9MyVLTkfrxyG3Uf0ibusIHeQDKQk= github.com/cerc-io/go-nitro v0.1.2-0.20231012062355-dc2cb28411a5 h1:wMrhik+HPv/cdhyWL0nUImZ0XGFZ0el4eSY7QjwH0aA=
github.com/cerc-io/go-nitro v0.1.2-0.20231012043644-1b31b5133214/go.mod h1:gkKL37JcSo54ybLTI6VJRmP75bWEu9i1kc9RYmQLp+I= github.com/cerc-io/go-nitro v0.1.2-0.20231012062355-dc2cb28411a5/go.mod h1:gkKL37JcSo54ybLTI6VJRmP75bWEu9i1kc9RYmQLp+I=
github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk=
github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=

View File

@ -81,6 +81,15 @@ const (
DATABASE_MAX_CONN_LIFETIME = "DATABASE_MAX_CONN_LIFETIME" DATABASE_MAX_CONN_LIFETIME = "DATABASE_MAX_CONN_LIFETIME"
) )
type NitroConfig struct {
Pk string
ChainPk string
ChainUrl string
NaAddress string
VpaAddress string
CaAddress string
}
// Config struct // Config struct
type Config struct { type Config struct {
DB *sqlx.DB DB *sqlx.DB
@ -116,6 +125,8 @@ type Config struct {
StateValidationEnabled bool StateValidationEnabled bool
StateValidationEveryNthBlock uint64 StateValidationEveryNthBlock uint64
Nitro *NitroConfig
} }
// NewConfig is used to initialize a watcher config from a .toml file // NewConfig is used to initialize a watcher config from a .toml file
@ -248,6 +259,8 @@ func NewConfig() (*Config, error) {
c.loadValidatorConfig() c.loadValidatorConfig()
c.loadNitroConfig()
return c, err return c, err
} }
@ -280,6 +293,17 @@ func (c *Config) dbInit() {
c.DBConfig.MaxConnLifetime = time.Duration(viper.GetInt("database.maxLifetime")) c.DBConfig.MaxConnLifetime = time.Duration(viper.GetInt("database.maxLifetime"))
} }
func (c *Config) loadNitroConfig() {
c.Nitro = &NitroConfig{}
c.Nitro.Pk = viper.GetString("nitro.pk")
c.Nitro.ChainPk = viper.GetString("nitro.chainPk")
c.Nitro.ChainUrl = viper.GetString("nitro.chainUrl")
c.Nitro.NaAddress = viper.GetString("nitro.naAddress")
c.Nitro.VpaAddress = viper.GetString("nitro.vpaAddress")
c.Nitro.CaAddress = viper.GetString("nitro.caAddress")
}
func (c *Config) loadGroupCacheConfig() { func (c *Config) loadGroupCacheConfig() {
viper.BindEnv("groupcache.pool.enabled", ethServerShared.GcachePoolEnabled) viper.BindEnv("groupcache.pool.enabled", ethServerShared.GcachePoolEnabled)
viper.BindEnv("groupcache.pool.httpEndpoint", ethServerShared.GcachePoolHttpPath) viper.BindEnv("groupcache.pool.httpEndpoint", ethServerShared.GcachePoolHttpPath)