diff --git a/ethereum/main.go b/ethereum/main.go index bff5485df1..b3f581dd59 100644 --- a/ethereum/main.go +++ b/ethereum/main.go @@ -52,7 +52,7 @@ func main() { // create, import, export keys utils.KeyTasks(keyManager, KeyRing, GenAddr, SecretFile, ExportDir, NonInteractive) - clientIdentity := utils.NewClientIdentity(ClientIdentifier, Version, Identifier) + clientIdentity := utils.NewClientIdentity(ClientIdentifier, Version, Identifier, keyManager) ethereum := utils.NewEthereum(db, clientIdentity, keyManager, UseUPnP, OutboundPort, MaxPeer) diff --git a/mist/main.go b/mist/main.go index 54c4d45013..ea2aa6d179 100644 --- a/mist/main.go +++ b/mist/main.go @@ -40,7 +40,7 @@ func run() error { // create, import, export keys utils.KeyTasks(keyManager, KeyRing, GenAddr, SecretFile, ExportDir, NonInteractive) - clientIdentity := utils.NewClientIdentity(ClientIdentifier, Version, Identifier) + clientIdentity := utils.NewClientIdentity(ClientIdentifier, Version, Identifier, keyManager) ethereum = utils.NewEthereum(db, clientIdentity, keyManager, UseUPnP, OutboundPort, MaxPeer) diff --git a/utils/cmd.go b/utils/cmd.go index 09898665f4..64a73ebaf8 100644 --- a/utils/cmd.go +++ b/utils/cmd.go @@ -10,7 +10,6 @@ import ( "path/filepath" "regexp" "runtime" - "time" "bitbucket.org/kardianos/osext" "github.com/ethereum/eth-go" @@ -21,7 +20,7 @@ import ( "github.com/ethereum/eth-go/ethpipe" "github.com/ethereum/eth-go/ethrpc" "github.com/ethereum/eth-go/ethutil" - "github.com/ethereum/eth-go/ethwire" + "github.com/ethereum/eth-go/p2p" ) var logger = ethlog.NewLogger("CLI") @@ -144,18 +143,17 @@ func NewDatabase() ethutil.Database { return db } -func NewClientIdentity(clientIdentifier, version, customIdentifier string) *ethwire.SimpleClientIdentity { +func NewClientIdentity(clientIdentifier, version, customIdentifier string, keyManager *ethcrypto.KeyManager) *p2p.SimpleClientIdentity { logger.Infoln("identity created") - return ethwire.NewSimpleClientIdentity(clientIdentifier, version, customIdentifier) + pubkey := keyManager.PublicKey()[1:] + return p2p.NewSimpleClientIdentity(clientIdentifier, version, customIdentifier, string(pubkey)) } -func NewEthereum(db ethutil.Database, clientIdentity ethwire.ClientIdentity, keyManager *ethcrypto.KeyManager, usePnp bool, OutboundPort string, MaxPeer int) *eth.Ethereum { - ethereum, err := eth.New(db, clientIdentity, keyManager, eth.CapDefault, usePnp) +func NewEthereum(db ethutil.Database, clientIdentity p2p.ClientIdentity, keyManager *ethcrypto.KeyManager, usePnp bool, OutboundPort string, MaxPeer int) *eth.Ethereum { + ethereum, err := eth.New(db, clientIdentity, keyManager, eth.CapDefault, usePnp, OutboundPort, MaxPeer) if err != nil { logger.Fatalln("eth start err:", err) } - ethereum.Port = OutboundPort - ethereum.MaxPeers = MaxPeer return ethereum } @@ -268,11 +266,6 @@ func StartMining(ethereum *eth.Ethereum) bool { if miner == nil { miner = ethminer.NewDefaultMiner(addr, ethereum) } - // Give it some time to connect with peers - time.Sleep(3 * time.Second) - for !ethereum.IsUpToDate() { - time.Sleep(5 * time.Second) - } miner.Start() }() RegisterInterrupt(func(os.Signal) {