1
0
Fork 0
mirror of https://github.com/eosswedenorg/thalos synced 2026-06-20 09:56:47 +02:00

Move config into it's own package.

This commit is contained in:
Henrik Hautakoski 2022-03-11 11:26:26 +01:00
parent 545474be4e
commit 97a3f0e2f3
2 changed files with 16 additions and 15 deletions

55
config/config.go Normal file
View file

@ -0,0 +1,55 @@
package config
import (
"io/ioutil"
"encoding/json"
)
const NULL_BLOCK_NUMBER uint32 = 0xffffffff
type RedisConfig struct {
Addr string `json:"addr"`
Password string `json:"password"`
DB int `json:db`
CacheID string `json:"cache_id"`
}
type Config struct {
ShipApi string `json:"ship_api"`
Api string `json:"api"`
Redis RedisConfig `json:"redis"`
IrreversibleOnly bool `json:"irreversible_only"`
MaxMessagesInFlight uint32 `json:"max_messages_in_flight"`
StartBlockNum uint32 `json:"start_block_num"`
EndBlockNum uint32 `json:"end_block_num"`
}
func Load(filename string) (Config, error) {
cfg := Config{
StartBlockNum: NULL_BLOCK_NUMBER,
EndBlockNum: NULL_BLOCK_NUMBER,
MaxMessagesInFlight: 10,
IrreversibleOnly: false,
Redis: RedisConfig{
Addr: "localhost:6379",
Password: "",
DB: 0,
},
}
bytes, err := ioutil.ReadFile(filename)
if err != nil {
return cfg, err
}
err = json.Unmarshal(bytes, &cfg)
if err != nil {
return cfg, err
}
return cfg, nil
}