aboutsummaryrefslogtreecommitdiffstats
path: root/swarm/swarm.go
diff options
context:
space:
mode:
authorholisticode <holistic.computing@gmail.com>2017-12-12 05:56:06 +0800
committerFelix Lange <fjl@users.noreply.github.com>2017-12-12 05:56:06 +0800
commit32516c768ec09e2a71cab5983d2c8b8ae5d92fc7 (patch)
tree9f02126fd6f219163776ad1ab8a8b924a32811a4 /swarm/swarm.go
parent1a32bdf92cceb7a42e5636e12d95609e17b8f786 (diff)
downloaddexon-32516c768ec09e2a71cab5983d2c8b8ae5d92fc7.tar.gz
dexon-32516c768ec09e2a71cab5983d2c8b8ae5d92fc7.tar.zst
dexon-32516c768ec09e2a71cab5983d2c8b8ae5d92fc7.zip
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.
Diffstat (limited to 'swarm/swarm.go')
-rw-r--r--swarm/swarm.go12
1 files changed, 5 insertions, 7 deletions
diff --git a/swarm/swarm.go b/swarm/swarm.go
index 9db15325a..3be3660b5 100644
--- a/swarm/swarm.go
+++ b/swarm/swarm.go
@@ -220,7 +220,7 @@ func (self *Swarm) Start(srv *p2p.Server) error {
// stops all component services.
func (self *Swarm) Stop() error {
self.dpa.Stop()
- self.hive.Stop()
+ err := self.hive.Stop()
if ch := self.config.Swap.Chequebook(); ch != nil {
ch.Stop()
ch.Save()
@@ -230,7 +230,7 @@ func (self *Swarm) Stop() error {
self.lstore.DbStore.Close()
}
self.sfs.Stop()
- return self.config.Save()
+ return err
}
// implements the node.Service interface
@@ -301,7 +301,6 @@ func (self *Swarm) SetChequebook(ctx context.Context) error {
return err
}
log.Info(fmt.Sprintf("new chequebook set (%v): saving config file, resetting all connections in the hive", self.config.Swap.Contract.Hex()))
- self.config.Save()
self.hive.DropAll()
return nil
}
@@ -314,10 +313,9 @@ func NewLocalSwarm(datadir, port string) (self *Swarm, err error) {
return
}
- config, err := api.NewConfig(datadir, common.Address{}, prvKey, network.NetworkId)
- if err != nil {
- return
- }
+ config := api.NewDefaultConfig()
+ config.Path = datadir
+ config.Init(prvKey)
config.Port = port
dpa, err := storage.NewLocalDPA(datadir)