cmd/swarm: add config file (#15548)
This commit adds a TOML configuration option to swarm. It reuses the TOML configuration structure used in geth with swarm customized items. The commit: * Adds a "dumpconfig" command to the swarm executable which allows printing the (default) configuration to stdout, which then can be redirected to a file in order to customize it. * Adds a "--config <file>" option to the swarm executable which will allow to load a configuration file in TOML format from the specified location in order to initialize the Swarm node The override priorities are like follows: environment variables override command line arguments override config file override default config.
This commit is contained in:
@@ -80,17 +80,10 @@ type PayProfile struct {
|
||||
lock sync.RWMutex
|
||||
}
|
||||
|
||||
func DefaultSwapParams(contract common.Address, prvkey *ecdsa.PrivateKey) *SwapParams {
|
||||
pubkey := &prvkey.PublicKey
|
||||
//create params with default values
|
||||
func NewDefaultSwapParams() *SwapParams {
|
||||
return &SwapParams{
|
||||
PayProfile: &PayProfile{
|
||||
PublicKey: common.ToHex(crypto.FromECDSAPub(pubkey)),
|
||||
Contract: contract,
|
||||
Beneficiary: crypto.PubkeyToAddress(*pubkey),
|
||||
privateKey: prvkey,
|
||||
publicKey: pubkey,
|
||||
owner: crypto.PubkeyToAddress(*pubkey),
|
||||
},
|
||||
PayProfile: &PayProfile{},
|
||||
Params: &swap.Params{
|
||||
Profile: &swap.Profile{
|
||||
BuyAt: buyAt,
|
||||
@@ -109,6 +102,21 @@ func DefaultSwapParams(contract common.Address, prvkey *ecdsa.PrivateKey) *SwapP
|
||||
}
|
||||
}
|
||||
|
||||
//this can only finally be set after all config options (file, cmd line, env vars)
|
||||
//have been evaluated
|
||||
func (self *SwapParams) Init(contract common.Address, prvkey *ecdsa.PrivateKey) {
|
||||
pubkey := &prvkey.PublicKey
|
||||
|
||||
self.PayProfile = &PayProfile{
|
||||
PublicKey: common.ToHex(crypto.FromECDSAPub(pubkey)),
|
||||
Contract: contract,
|
||||
Beneficiary: crypto.PubkeyToAddress(*pubkey),
|
||||
privateKey: prvkey,
|
||||
publicKey: pubkey,
|
||||
owner: crypto.PubkeyToAddress(*pubkey),
|
||||
}
|
||||
}
|
||||
|
||||
// swap constructor, parameters
|
||||
// * global chequebook, assume deployed service and
|
||||
// * the balance is at buffer.
|
||||
|
Reference in New Issue
Block a user