|
@@ -22,7 +22,6 @@ package main
|
|
|
import (
|
|
import (
|
|
|
"bytes"
|
|
"bytes"
|
|
|
"crypto/ecdsa"
|
|
"crypto/ecdsa"
|
|
|
- "fmt"
|
|
|
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
|
"math/big"
|
|
"math/big"
|
|
|
"math/rand"
|
|
"math/rand"
|
|
@@ -40,7 +39,7 @@ import (
|
|
|
"github.com/ethereum/go-ethereum/log"
|
|
"github.com/ethereum/go-ethereum/log"
|
|
|
"github.com/ethereum/go-ethereum/node"
|
|
"github.com/ethereum/go-ethereum/node"
|
|
|
"github.com/ethereum/go-ethereum/p2p"
|
|
"github.com/ethereum/go-ethereum/p2p"
|
|
|
- "github.com/ethereum/go-ethereum/p2p/discover"
|
|
|
|
|
|
|
+ "github.com/ethereum/go-ethereum/p2p/enode"
|
|
|
"github.com/ethereum/go-ethereum/params"
|
|
"github.com/ethereum/go-ethereum/params"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
@@ -62,11 +61,11 @@ func main() {
|
|
|
|
|
|
|
|
var (
|
|
var (
|
|
|
nodes []*node.Node
|
|
nodes []*node.Node
|
|
|
- enodes []string
|
|
|
|
|
|
|
+ enodes []*enode.Node
|
|
|
)
|
|
)
|
|
|
for _, sealer := range sealers {
|
|
for _, sealer := range sealers {
|
|
|
// Start the node and wait until it's up
|
|
// Start the node and wait until it's up
|
|
|
- node, err := makeSealer(genesis, enodes)
|
|
|
|
|
|
|
+ node, err := makeSealer(genesis)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
panic(err)
|
|
panic(err)
|
|
|
}
|
|
}
|
|
@@ -76,18 +75,12 @@ func main() {
|
|
|
time.Sleep(250 * time.Millisecond)
|
|
time.Sleep(250 * time.Millisecond)
|
|
|
}
|
|
}
|
|
|
// Connect the node to al the previous ones
|
|
// Connect the node to al the previous ones
|
|
|
- for _, enode := range enodes {
|
|
|
|
|
- enode, err := discover.ParseNode(enode)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- panic(err)
|
|
|
|
|
- }
|
|
|
|
|
- node.Server().AddPeer(enode)
|
|
|
|
|
|
|
+ for _, n := range enodes {
|
|
|
|
|
+ node.Server().AddPeer(n)
|
|
|
}
|
|
}
|
|
|
- // Start tracking the node and it's enode url
|
|
|
|
|
|
|
+ // Start tracking the node and it's enode
|
|
|
nodes = append(nodes, node)
|
|
nodes = append(nodes, node)
|
|
|
-
|
|
|
|
|
- enode := fmt.Sprintf("enode://%s@127.0.0.1:%d", node.Server().NodeInfo().ID, node.Server().NodeInfo().Ports.Listener)
|
|
|
|
|
- enodes = append(enodes, enode)
|
|
|
|
|
|
|
+ enodes = append(enodes, node.Server().Self())
|
|
|
|
|
|
|
|
// Inject the signer key and start sealing with it
|
|
// Inject the signer key and start sealing with it
|
|
|
store := node.AccountManager().Backends(keystore.KeyStoreType)[0].(*keystore.KeyStore)
|
|
store := node.AccountManager().Backends(keystore.KeyStoreType)[0].(*keystore.KeyStore)
|
|
@@ -177,7 +170,7 @@ func makeGenesis(faucets []*ecdsa.PrivateKey, sealers []*ecdsa.PrivateKey) *core
|
|
|
return genesis
|
|
return genesis
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func makeSealer(genesis *core.Genesis, nodes []string) (*node.Node, error) {
|
|
|
|
|
|
|
+func makeSealer(genesis *core.Genesis) (*node.Node, error) {
|
|
|
// Define the basic configurations for the Ethereum node
|
|
// Define the basic configurations for the Ethereum node
|
|
|
datadir, _ := ioutil.TempDir("", "")
|
|
datadir, _ := ioutil.TempDir("", "")
|
|
|
|
|
|