From 91d15ad5b305769a705dac1844bd0189e7559cbe Mon Sep 17 00:00:00 2001 From: lash Date: Mon, 18 Mar 2019 13:18:01 +0100 Subject: [PATCH] cmd/p2p/swarm: Remove comments + config.Enode nomarshal --- cmd/swarm/config.go | 4 +-- cmd/swarm/config_test.go | 43 +++++++++++++------------------ cmd/swarm/run_test.go | 13 +++------- p2p/simulations/adapters/exec.go | 3 ++- p2p/simulations/adapters/types.go | 9 +++---- swarm/api/config.go | 28 +++++++++----------- swarm/swarm.go | 5 ---- 7 files changed, 40 insertions(+), 65 deletions(-) diff --git a/cmd/swarm/config.go b/cmd/swarm/config.go index dad8cdbbd2..623fce6205 100644 --- a/cmd/swarm/config.go +++ b/cmd/swarm/config.go @@ -135,9 +135,9 @@ func initSwarmNode(config *bzzapi.Config, stack *node.Node, ctx *cli.Context) er return err } //configuration phase completed here - log.Info("Starting Swarm with the following parameters:") + log.Debug("Starting Swarm with the following parameters:") //after having created the config, print it to screen - log.Info(printConfig(config)) + log.Debug(printConfig(config)) return nil } diff --git a/cmd/swarm/config_test.go b/cmd/swarm/config_test.go index ee6b0c0825..869edd0f70 100644 --- a/cmd/swarm/config_test.go +++ b/cmd/swarm/config_test.go @@ -31,7 +31,6 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/swarm" "github.com/ethereum/go-ethereum/swarm/api" - "github.com/ethereum/go-ethereum/swarm/log" ) func TestConfigDump(t *testing.T) { @@ -162,16 +161,6 @@ func TestConfigFileOverrides(t *testing.T) { defaultConf.HiveParams.KeepAliveInterval = 6000000000 defaultConf.Swap.Params.Strategy.AutoCashInterval = 600 * time.Second //defaultConf.SyncParams.KeyBufferSize = 512 - - dir, err := ioutil.TempDir("", "bzztest") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - conf, account, pk := getTestAccountWithPrivateKey(t, dir) - node := &testNode{Dir: dir} - defaultConf.Init(pk) - //create a TOML string out, err := tomlSettings.Marshal(&defaultConf) if err != nil { @@ -189,6 +178,14 @@ func TestConfigFileOverrides(t *testing.T) { } f.Sync() + dir, err := ioutil.TempDir("", "bzztest") + if err != nil { + t.Fatal(err) + } + defer os.RemoveAll(dir) + conf, account := getTestAccount(t, dir) + node := &testNode{Dir: dir} + flags := []string{ fmt.Sprintf("--%s", SwarmTomlConfigPathFlag.Name), f.Name(), fmt.Sprintf("--%s", SwarmAccountFlag.Name), account.Address.String(), @@ -375,19 +372,6 @@ func TestConfigCmdLineOverridesFile(t *testing.T) { defaultConf.HiveParams.KeepAliveInterval = 6000000000 defaultConf.Swap.Params.Strategy.AutoCashInterval = 600 * time.Second //defaultConf.SyncParams.KeyBufferSize = 512 - - dir, err := ioutil.TempDir("", "bzztest") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - conf, account, pk := getTestAccountWithPrivateKey(t, dir) - node := &testNode{Dir: dir} - - expectNetworkId := uint64(77) - - defaultConf.Init(pk) - //create a TOML file out, err := tomlSettings.Marshal(&defaultConf) if err != nil { @@ -407,6 +391,16 @@ func TestConfigCmdLineOverridesFile(t *testing.T) { } f.Sync() + dir, err := ioutil.TempDir("", "bzztest") + if err != nil { + t.Fatal(err) + } + defer os.RemoveAll(dir) + conf, account := getTestAccount(t, dir) + node := &testNode{Dir: dir} + + expectNetworkId := uint64(77) + flags := []string{ fmt.Sprintf("--%s", SwarmNetworkIdFlag.Name), "77", fmt.Sprintf("--%s", SwarmPortFlag.Name), httpPort, @@ -417,7 +411,6 @@ func TestConfigCmdLineOverridesFile(t *testing.T) { fmt.Sprintf("--%s", utils.DataDirFlag.Name), dir, fmt.Sprintf("--%s", utils.IPCPathFlag.Name), conf.IPCPath, } - log.Warn("exec with flags", "f", flags) node.Cmd = runSwarm(t, flags...) node.Cmd.InputLine(testPassphrase) defer func() { diff --git a/cmd/swarm/run_test.go b/cmd/swarm/run_test.go index 2fff3c7063..9681c8990a 100644 --- a/cmd/swarm/run_test.go +++ b/cmd/swarm/run_test.go @@ -222,12 +222,7 @@ type testNode struct { const testPassphrase = "swarm-test-passphrase" func getTestAccount(t *testing.T, dir string) (conf *node.Config, account accounts.Account) { - conf, account, _ = getTestAccountWithPrivateKey(t, dir) - return -} - -func getTestAccountWithPrivateKey(t *testing.T, dir string) (conf *node.Config, account accounts.Account, pk *ecdsa.PrivateKey) { - // create kej + // create key conf = &node.Config{ DataDir: dir, IPCPath: "bzzd.ipc", @@ -237,19 +232,17 @@ func getTestAccountWithPrivateKey(t *testing.T, dir string) (conf *node.Config, if err != nil { t.Fatal(err) } - ks := n.AccountManager().Backends(keystore.KeyStoreType)[0].(*keystore.KeyStore) - account, err = ks.NewAccount(testPassphrase) + account, err = n.AccountManager().Backends(keystore.KeyStoreType)[0].(*keystore.KeyStore).NewAccount(testPassphrase) if err != nil { t.Fatal(err) } - pk = decryptStoreAccount(ks, account.Address.String(), []string{testPassphrase}) // use a unique IPCPath when running tests on Windows if runtime.GOOS == "windows" { conf.IPCPath = fmt.Sprintf("bzzd-%s.ipc", account.Address.String()) } - return conf, account, pk + return conf, account } func existingTestNode(t *testing.T, dir string, bzzaccount string) *testNode { diff --git a/p2p/simulations/adapters/exec.go b/p2p/simulations/adapters/exec.go index 1326621da4..5c8b4f64fb 100644 --- a/p2p/simulations/adapters/exec.go +++ b/p2p/simulations/adapters/exec.go @@ -96,7 +96,6 @@ func (e *ExecAdapter) NewNode(config *NodeConfig) (Node, error) { if err != nil { return nil, err } - log.Warn("set default enr", "e", config) // generate the config conf := &execNodeConfig{ Stack: node.DefaultConfig, @@ -415,6 +414,8 @@ func startExecNodeStack() (*node.Node, error) { if err := json.Unmarshal([]byte(confEnv), &conf); err != nil { return nil, fmt.Errorf("error decoding %s: %v", envNodeConfig, err) } + // TODO verify that ListenAddr will contain the corrent tcp addr + // if we should start using exec adapters with other host than local nodeTcpConn, err := net.ResolveTCPAddr("tcp", conf.Stack.P2P.ListenAddr) if err != nil { conf.Node.initDefaultEnode() diff --git a/p2p/simulations/adapters/types.go b/p2p/simulations/adapters/types.go index 47b0e85695..e3e17f608b 100644 --- a/p2p/simulations/adapters/types.go +++ b/p2p/simulations/adapters/types.go @@ -272,14 +272,11 @@ func (n *NodeConfig) initDefaultEnode() error { } func (n *NodeConfig) initEnode(ip net.IP, tcpport int, udpport int) error { - - // dialer in simulations based on ENR records - // doesn't work unless we explicitly set localhost record - enrIp := enr.IP(net.IPv4(127, 0, 0, 1)) + enrIp := enr.IP(ip) n.Record.Set(&enrIp) - enrTcpPort := enr.TCP(0) + enrTcpPort := enr.TCP(tcpport) n.Record.Set(&enrTcpPort) - enrUdpPort := enr.UDP(0) + enrUdpPort := enr.UDP(tcpport) n.Record.Set(&enrUdpPort) err := enode.SignV4(&n.Record, n.PrivateKey) diff --git a/swarm/api/config.go b/swarm/api/config.go index 8e057365a4..d64829acf3 100644 --- a/swarm/api/config.go +++ b/swarm/api/config.go @@ -30,7 +30,6 @@ import ( "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/p2p/enode" "github.com/ethereum/go-ethereum/p2p/enr" - "github.com/ethereum/go-ethereum/swarm/log" "github.com/ethereum/go-ethereum/swarm/network" "github.com/ethereum/go-ethereum/swarm/pss" "github.com/ethereum/go-ethereum/swarm/services/swap" @@ -49,18 +48,17 @@ type Config struct { *storage.FileStoreParams *storage.LocalStoreParams *network.HiveParams - Swap *swap.LocalProfile - Pss *pss.PssParams - Contract common.Address - EnsRoot common.Address - EnsAPIs []string - Path string - ListenAddr string - Port string - PublicKey string - BzzKey string - //NodeID string - Enode *enode.Node `toml:",omit"` + Swap *swap.LocalProfile + Pss *pss.PssParams + Contract common.Address + EnsRoot common.Address + EnsAPIs []string + Path string + ListenAddr string + Port string + PublicKey string + BzzKey string + Enode *enode.Node `toml:"-"` NetworkID uint64 SwapEnabled bool SyncEnabled bool @@ -89,7 +87,6 @@ func NewConfig() (c *Config) { ListenAddr: DefaultHTTPListenAddr, Port: DefaultHTTPPort, Path: node.DefaultDataDir(), - Enode: &enode.Node{}, EnsAPIs: nil, EnsRoot: ens.TestNetAddress, NetworkID: network.DefaultNetworkID, @@ -123,7 +120,7 @@ func (c *Config) Init(prvKey *ecdsa.PrivateKey) error { c.PublicKey = pubkeyhex c.BzzKey = keyhex - //c.NodeID = enode.PubkeyToIDV4(&prvKey.PublicKey).String() + var record enr.Record record.Set(network.NewENRAddrEntry(bzzkeybytes)) record.Set(network.ENRLightNodeEntry(c.LightNodeEnabled)) @@ -136,7 +133,6 @@ func (c *Config) Init(prvKey *ecdsa.PrivateKey) error { if err != nil { return fmt.Errorf("Enode create fail: %v", err) } - log.Warn("setting enode record", "node", c.Enode) if c.SwapEnabled { c.Swap.Init(c.Contract, prvKey) diff --git a/swarm/swarm.go b/swarm/swarm.go index 08cdd0cd4c..e42a2eb035 100644 --- a/swarm/swarm.go +++ b/swarm/swarm.go @@ -170,12 +170,7 @@ func NewSwarm(config *api.Config, mockStore *mock.NodeStore) (self *Swarm, err e self.accountingMetrics = protocols.SetupAccountingMetrics(10*time.Second, filepath.Join(config.Path, "metrics.db")) } - // var nodeID enode.ID - // if err := nodeID.UnmarshalText([]byte(config.NodeID)); err != nil { - // return nil, err - // } nodeID := config.Enode.ID() - bzzconfig.UnderlayAddr = []byte(nodeID.String()) syncing := stream.SyncingAutoSubscribe if !config.SyncEnabled || config.LightNodeEnabled {