mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 10:22:23 +00:00
swarm/pss: port to p2p/enode
This commit is contained in:
parent
421a83db7e
commit
8b3a50ab13
16 changed files with 48 additions and 356 deletions
|
|
@ -27,7 +27,7 @@ import (
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||||
"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/p2p/protocols"
|
"github.com/ethereum/go-ethereum/p2p/protocols"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
|
|
@ -283,8 +283,7 @@ func (c *Client) RunProtocol(ctx context.Context, proto *p2p.Protocol) error {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
c.peerPool[topicobj][pubkeyid] = rw
|
c.peerPool[topicobj][pubkeyid] = rw
|
||||||
nid, _ := discover.HexID("0x00")
|
p := p2p.NewPeer(enode.ID{}, fmt.Sprintf("%v", addr), []p2p.Cap{})
|
||||||
p := p2p.NewPeer(nid, fmt.Sprintf("%v", addr), []p2p.Cap{})
|
|
||||||
go proto.Run(p, c.peerPool[topicobj][pubkeyid])
|
go proto.Run(p, c.peerPool[topicobj][pubkeyid])
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
|
|
@ -334,8 +333,7 @@ func (c *Client) AddPssPeer(pubkeyid string, addr []byte, spec *protocols.Spec)
|
||||||
c.poolMu.Lock()
|
c.poolMu.Lock()
|
||||||
c.peerPool[topic][pubkeyid] = rw
|
c.peerPool[topic][pubkeyid] = rw
|
||||||
c.poolMu.Unlock()
|
c.poolMu.Unlock()
|
||||||
nid, _ := discover.HexID("0x00")
|
p := p2p.NewPeer(enode.ID{}, fmt.Sprintf("%v", addr), []p2p.Cap{})
|
||||||
p := p2p.NewPeer(nid, fmt.Sprintf("%v", addr), []p2p.Cap{})
|
|
||||||
go c.protos[topic].Run(p, c.peerPool[topic][pubkeyid])
|
go c.protos[topic].Run(p, c.peerPool[topic][pubkeyid])
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,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/p2p/simulations"
|
"github.com/ethereum/go-ethereum/p2p/simulations"
|
||||||
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
|
|
@ -232,12 +232,11 @@ func setupNetwork(numnodes int) (clients []*rpc.Client, err error) {
|
||||||
|
|
||||||
func newServices() adapters.Services {
|
func newServices() adapters.Services {
|
||||||
stateStore := state.NewInmemoryStore()
|
stateStore := state.NewInmemoryStore()
|
||||||
kademlias := make(map[discover.NodeID]*network.Kademlia)
|
kademlias := make(map[enode.ID]*network.Kademlia)
|
||||||
kademlia := func(id discover.NodeID) *network.Kademlia {
|
kademlia := func(id enode.ID) *network.Kademlia {
|
||||||
if k, ok := kademlias[id]; ok {
|
if k, ok := kademlias[id]; ok {
|
||||||
return k
|
return k
|
||||||
}
|
}
|
||||||
addr := network.NewAddrFromNodeID(id)
|
|
||||||
params := network.NewKadParams()
|
params := network.NewKadParams()
|
||||||
params.MinProxBinSize = 2
|
params.MinProxBinSize = 2
|
||||||
params.MaxBinSize = 3
|
params.MaxBinSize = 3
|
||||||
|
|
@ -245,7 +244,7 @@ func newServices() adapters.Services {
|
||||||
params.MaxRetries = 1000
|
params.MaxRetries = 1000
|
||||||
params.RetryExponent = 2
|
params.RetryExponent = 2
|
||||||
params.RetryInterval = 1000000
|
params.RetryInterval = 1000000
|
||||||
kademlias[id] = network.NewKademlia(addr.Over(), params)
|
kademlias[id] = network.NewKademlia(id[:], params)
|
||||||
return kademlias[id]
|
return kademlias[id]
|
||||||
}
|
}
|
||||||
return adapters.Services{
|
return adapters.Services{
|
||||||
|
|
@ -269,7 +268,7 @@ func newServices() adapters.Services {
|
||||||
return ps, nil
|
return ps, nil
|
||||||
},
|
},
|
||||||
"bzz": func(ctx *adapters.ServiceContext) (node.Service, error) {
|
"bzz": func(ctx *adapters.ServiceContext) (node.Service, error) {
|
||||||
addr := network.NewAddrFromNodeID(ctx.Config.ID)
|
addr := network.NewAddr(ctx.Config.Node())
|
||||||
hp := network.NewHiveParams()
|
hp := network.NewHiveParams()
|
||||||
hp.Discovery = false
|
hp.Discovery = false
|
||||||
config := &network.BzzConfig{
|
config := &network.BzzConfig{
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"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/discover"
|
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||||
"github.com/ethereum/go-ethereum/p2p/simulations"
|
"github.com/ethereum/go-ethereum/p2p/simulations"
|
||||||
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
||||||
"github.com/ethereum/go-ethereum/swarm/network"
|
"github.com/ethereum/go-ethereum/swarm/network"
|
||||||
|
|
@ -203,12 +203,11 @@ func TestStart(t *testing.T) {
|
||||||
|
|
||||||
func newServices(allowRaw bool) adapters.Services {
|
func newServices(allowRaw bool) adapters.Services {
|
||||||
stateStore := state.NewInmemoryStore()
|
stateStore := state.NewInmemoryStore()
|
||||||
kademlias := make(map[discover.NodeID]*network.Kademlia)
|
kademlias := make(map[enode.ID]*network.Kademlia)
|
||||||
kademlia := func(id discover.NodeID) *network.Kademlia {
|
kademlia := func(id enode.ID) *network.Kademlia {
|
||||||
if k, ok := kademlias[id]; ok {
|
if k, ok := kademlias[id]; ok {
|
||||||
return k
|
return k
|
||||||
}
|
}
|
||||||
addr := network.NewAddrFromNodeID(id)
|
|
||||||
params := network.NewKadParams()
|
params := network.NewKadParams()
|
||||||
params.MinProxBinSize = 2
|
params.MinProxBinSize = 2
|
||||||
params.MaxBinSize = 3
|
params.MaxBinSize = 3
|
||||||
|
|
@ -216,7 +215,7 @@ func newServices(allowRaw bool) adapters.Services {
|
||||||
params.MaxRetries = 1000
|
params.MaxRetries = 1000
|
||||||
params.RetryExponent = 2
|
params.RetryExponent = 2
|
||||||
params.RetryInterval = 1000000
|
params.RetryInterval = 1000000
|
||||||
kademlias[id] = network.NewKademlia(addr.Over(), params)
|
kademlias[id] = network.NewKademlia(id[:], params)
|
||||||
return kademlias[id]
|
return kademlias[id]
|
||||||
}
|
}
|
||||||
return adapters.Services{
|
return adapters.Services{
|
||||||
|
|
@ -238,7 +237,7 @@ func newServices(allowRaw bool) adapters.Services {
|
||||||
return ps, nil
|
return ps, nil
|
||||||
},
|
},
|
||||||
"bzz": func(ctx *adapters.ServiceContext) (node.Service, error) {
|
"bzz": func(ctx *adapters.ServiceContext) (node.Service, error) {
|
||||||
addr := network.NewAddrFromNodeID(ctx.Config.ID)
|
addr := network.NewAddr(ctx.Config.Node())
|
||||||
hp := network.NewHiveParams()
|
hp := network.NewHiveParams()
|
||||||
hp.Discovery = false
|
hp.Discovery = false
|
||||||
config := &network.BzzConfig{
|
config := &network.BzzConfig{
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ import (
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"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/swarm/log"
|
"github.com/ethereum/go-ethereum/swarm/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -111,8 +111,7 @@ func testProtocol(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// add right peer's public key as protocol peer on left
|
// add right peer's public key as protocol peer on left
|
||||||
nid, _ := discover.HexID("0x00") // this hack is needed to satisfy the p2p method
|
p := p2p.NewPeer(enode.ID{}, fmt.Sprintf("%x", common.FromHex(loaddrhex)), []p2p.Cap{})
|
||||||
p := p2p.NewPeer(nid, fmt.Sprintf("%x", common.FromHex(loaddrhex)), []p2p.Cap{})
|
|
||||||
_, err = pssprotocols[lnodeinfo.ID].protocol.AddPeer(p, PingTopic, true, rpubkey)
|
_, err = pssprotocols[lnodeinfo.ID].protocol.AddPeer(p, PingTopic, true, rpubkey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/metrics"
|
"github.com/ethereum/go-ethereum/metrics"
|
||||||
"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/p2p/protocols"
|
"github.com/ethereum/go-ethereum/p2p/protocols"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
"github.com/ethereum/go-ethereum/swarm/log"
|
"github.com/ethereum/go-ethereum/swarm/log"
|
||||||
|
|
@ -70,7 +70,7 @@ type pssCacheEntry struct {
|
||||||
// abstraction to enable access to p2p.protocols.Peer.Send
|
// abstraction to enable access to p2p.protocols.Peer.Send
|
||||||
type senderPeer interface {
|
type senderPeer interface {
|
||||||
Info() *p2p.PeerInfo
|
Info() *p2p.PeerInfo
|
||||||
ID() discover.NodeID
|
ID() enode.ID
|
||||||
Address() []byte
|
Address() []byte
|
||||||
Send(context.Context, interface{}) error
|
Send(context.Context, interface{}) error
|
||||||
}
|
}
|
||||||
|
|
@ -430,8 +430,7 @@ func (p *Pss) process(pssmsg *PssMsg) error {
|
||||||
|
|
||||||
func (p *Pss) executeHandlers(topic Topic, payload []byte, from *PssAddress, asymmetric bool, keyid string) {
|
func (p *Pss) executeHandlers(topic Topic, payload []byte, from *PssAddress, asymmetric bool, keyid string) {
|
||||||
handlers := p.getHandlers(topic)
|
handlers := p.getHandlers(topic)
|
||||||
nid, _ := discover.HexID("0x00") // this hack is needed to satisfy the p2p method
|
peer := p2p.NewPeer(enode.ID{}, fmt.Sprintf("%x", from), []p2p.Cap{})
|
||||||
peer := p2p.NewPeer(nid, fmt.Sprintf("%x", from), []p2p.Cap{})
|
|
||||||
for f := range handlers {
|
for f := range handlers {
|
||||||
err := (*f)(payload, peer, asymmetric, keyid)
|
err := (*f)(payload, peer, asymmetric, keyid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/metrics/influxdb"
|
"github.com/ethereum/go-ethereum/metrics/influxdb"
|
||||||
"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/p2p/protocols"
|
"github.com/ethereum/go-ethereum/p2p/protocols"
|
||||||
"github.com/ethereum/go-ethereum/p2p/simulations"
|
"github.com/ethereum/go-ethereum/p2p/simulations"
|
||||||
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
||||||
|
|
@ -576,7 +576,7 @@ func TestMismatch(t *testing.T) {
|
||||||
Name: pssProtocolName,
|
Name: pssProtocolName,
|
||||||
Version: 0,
|
Version: 0,
|
||||||
}
|
}
|
||||||
nid, _ := discover.HexID("0x01")
|
nid := enode.ID{0x01}
|
||||||
wrongpsspeer := network.NewPeer(&network.BzzPeer{
|
wrongpsspeer := network.NewPeer(&network.BzzPeer{
|
||||||
Peer: protocols.NewPeer(p2p.NewPeer(nid, common.ToHex(wrongpssaddr.Over()), []p2p.Cap{wrongpsscap}), rw, nil),
|
Peer: protocols.NewPeer(p2p.NewPeer(nid, common.ToHex(wrongpssaddr.Over()), []p2p.Cap{wrongpsscap}), rw, nil),
|
||||||
BzzAddr: &network.BzzAddr{OAddr: wrongpssaddr.Over(), UAddr: nil},
|
BzzAddr: &network.BzzAddr{OAddr: wrongpssaddr.Over(), UAddr: nil},
|
||||||
|
|
@ -588,7 +588,7 @@ func TestMismatch(t *testing.T) {
|
||||||
Name: "nopss",
|
Name: "nopss",
|
||||||
Version: 1,
|
Version: 1,
|
||||||
}
|
}
|
||||||
nid, _ = discover.HexID("0x02")
|
nid = enode.ID{0x02}
|
||||||
nopsspeer := network.NewPeer(&network.BzzPeer{
|
nopsspeer := network.NewPeer(&network.BzzPeer{
|
||||||
Peer: protocols.NewPeer(p2p.NewPeer(nid, common.ToHex(nopssaddr.Over()), []p2p.Cap{nopsscap}), rw, nil),
|
Peer: protocols.NewPeer(p2p.NewPeer(nid, common.ToHex(nopssaddr.Over()), []p2p.Cap{nopsscap}), rw, nil),
|
||||||
BzzAddr: &network.BzzAddr{OAddr: nopssaddr.Over(), UAddr: nil},
|
BzzAddr: &network.BzzAddr{OAddr: nopssaddr.Over(), UAddr: nil},
|
||||||
|
|
@ -923,11 +923,11 @@ func testSendAsym(t *testing.T) {
|
||||||
|
|
||||||
type Job struct {
|
type Job struct {
|
||||||
Msg []byte
|
Msg []byte
|
||||||
SendNode discover.NodeID
|
SendNode enode.ID
|
||||||
RecvNode discover.NodeID
|
RecvNode enode.ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func worker(id int, jobs <-chan Job, rpcs map[discover.NodeID]*rpc.Client, pubkeys map[discover.NodeID]string, topic string) {
|
func worker(id int, jobs <-chan Job, rpcs map[enode.ID]*rpc.Client, pubkeys map[enode.ID]string, topic string) {
|
||||||
for j := range jobs {
|
for j := range jobs {
|
||||||
rpcs[j.SendNode].Call(nil, "pss_sendAsym", pubkeys[j.RecvNode], topic, hexutil.Encode(j.Msg))
|
rpcs[j.SendNode].Call(nil, "pss_sendAsym", pubkeys[j.RecvNode], topic, hexutil.Encode(j.Msg))
|
||||||
}
|
}
|
||||||
|
|
@ -977,7 +977,7 @@ func TestNetwork10000(t *testing.T) {
|
||||||
|
|
||||||
func testNetwork(t *testing.T) {
|
func testNetwork(t *testing.T) {
|
||||||
type msgnotifyC struct {
|
type msgnotifyC struct {
|
||||||
id discover.NodeID
|
id enode.ID
|
||||||
msgIdx int
|
msgIdx int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -989,16 +989,16 @@ func testNetwork(t *testing.T) {
|
||||||
|
|
||||||
log.Info("network test", "nodecount", nodecount, "msgcount", msgcount, "addrhintsize", addrsize)
|
log.Info("network test", "nodecount", nodecount, "msgcount", msgcount, "addrhintsize", addrsize)
|
||||||
|
|
||||||
nodes := make([]discover.NodeID, nodecount)
|
nodes := make([]enode.ID, nodecount)
|
||||||
bzzaddrs := make(map[discover.NodeID]string, nodecount)
|
bzzaddrs := make(map[enode.ID]string, nodecount)
|
||||||
rpcs := make(map[discover.NodeID]*rpc.Client, nodecount)
|
rpcs := make(map[enode.ID]*rpc.Client, nodecount)
|
||||||
pubkeys := make(map[discover.NodeID]string, nodecount)
|
pubkeys := make(map[enode.ID]string, nodecount)
|
||||||
|
|
||||||
sentmsgs := make([][]byte, msgcount)
|
sentmsgs := make([][]byte, msgcount)
|
||||||
recvmsgs := make([]bool, msgcount)
|
recvmsgs := make([]bool, msgcount)
|
||||||
nodemsgcount := make(map[discover.NodeID]int, nodecount)
|
nodemsgcount := make(map[enode.ID]int, nodecount)
|
||||||
|
|
||||||
trigger := make(chan discover.NodeID)
|
trigger := make(chan enode.ID)
|
||||||
|
|
||||||
var a adapters.NodeAdapter
|
var a adapters.NodeAdapter
|
||||||
if adapter == "exec" {
|
if adapter == "exec" {
|
||||||
|
|
@ -1038,7 +1038,7 @@ func testNetwork(t *testing.T) {
|
||||||
|
|
||||||
time.Sleep(1 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
|
|
||||||
triggerChecks := func(trigger chan discover.NodeID, id discover.NodeID, rpcclient *rpc.Client, topic string) error {
|
triggerChecks := func(trigger chan enode.ID, id enode.ID, rpcclient *rpc.Client, topic string) error {
|
||||||
msgC := make(chan APIMsg)
|
msgC := make(chan APIMsg)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
@ -1542,12 +1542,11 @@ func setupNetwork(numnodes int, allowRaw bool) (clients []*rpc.Client, err error
|
||||||
|
|
||||||
func newServices(allowRaw bool) adapters.Services {
|
func newServices(allowRaw bool) adapters.Services {
|
||||||
stateStore := state.NewInmemoryStore()
|
stateStore := state.NewInmemoryStore()
|
||||||
kademlias := make(map[discover.NodeID]*network.Kademlia)
|
kademlias := make(map[enode.ID]*network.Kademlia)
|
||||||
kademlia := func(id discover.NodeID) *network.Kademlia {
|
kademlia := func(id enode.ID) *network.Kademlia {
|
||||||
if k, ok := kademlias[id]; ok {
|
if k, ok := kademlias[id]; ok {
|
||||||
return k
|
return k
|
||||||
}
|
}
|
||||||
addr := network.NewAddrFromNodeID(id)
|
|
||||||
params := network.NewKadParams()
|
params := network.NewKadParams()
|
||||||
params.MinProxBinSize = 2
|
params.MinProxBinSize = 2
|
||||||
params.MaxBinSize = 3
|
params.MaxBinSize = 3
|
||||||
|
|
@ -1555,7 +1554,7 @@ func newServices(allowRaw bool) adapters.Services {
|
||||||
params.MaxRetries = 1000
|
params.MaxRetries = 1000
|
||||||
params.RetryExponent = 2
|
params.RetryExponent = 2
|
||||||
params.RetryInterval = 1000000
|
params.RetryInterval = 1000000
|
||||||
kademlias[id] = network.NewKademlia(addr.Over(), params)
|
kademlias[id] = network.NewKademlia(id[:], params)
|
||||||
return kademlias[id]
|
return kademlias[id]
|
||||||
}
|
}
|
||||||
return adapters.Services{
|
return adapters.Services{
|
||||||
|
|
@ -1606,7 +1605,7 @@ func newServices(allowRaw bool) adapters.Services {
|
||||||
return ps, nil
|
return ps, nil
|
||||||
},
|
},
|
||||||
"bzz": func(ctx *adapters.ServiceContext) (node.Service, error) {
|
"bzz": func(ctx *adapters.ServiceContext) (node.Service, error) {
|
||||||
addr := network.NewAddrFromNodeID(ctx.Config.ID)
|
addr := network.NewAddr(ctx.Config.Node())
|
||||||
hp := network.NewHiveParams()
|
hp := network.NewHiveParams()
|
||||||
hp.Discovery = false
|
hp.Discovery = false
|
||||||
config := &network.BzzConfig{
|
config := &network.BzzConfig{
|
||||||
|
|
@ -1620,16 +1619,12 @@ func newServices(allowRaw bool) adapters.Services {
|
||||||
}
|
}
|
||||||
|
|
||||||
func newTestPss(privkey *ecdsa.PrivateKey, kad *network.Kademlia, ppextra *PssParams) *Pss {
|
func newTestPss(privkey *ecdsa.PrivateKey, kad *network.Kademlia, ppextra *PssParams) *Pss {
|
||||||
|
nid := enode.PubkeyToIDV4(&privkey.PublicKey)
|
||||||
var nid discover.NodeID
|
|
||||||
copy(nid[:], crypto.FromECDSAPub(&privkey.PublicKey))
|
|
||||||
addr := network.NewAddrFromNodeID(nid)
|
|
||||||
|
|
||||||
// set up routing if kademlia is not passed to us
|
// set up routing if kademlia is not passed to us
|
||||||
if kad == nil {
|
if kad == nil {
|
||||||
kp := network.NewKadParams()
|
kp := network.NewKadParams()
|
||||||
kp.MinProxBinSize = 3
|
kp.MinProxBinSize = 3
|
||||||
kad = network.NewKademlia(addr.Over(), kp)
|
kad = network.NewKademlia(nid[:], kp)
|
||||||
}
|
}
|
||||||
|
|
||||||
// create pss
|
// create pss
|
||||||
|
|
|
||||||
2
swarm/pss/testdata/snapshot_128.json
vendored
2
swarm/pss/testdata/snapshot_128.json
vendored
File diff suppressed because one or more lines are too long
2
swarm/pss/testdata/snapshot_16.json
vendored
2
swarm/pss/testdata/snapshot_16.json
vendored
File diff suppressed because one or more lines are too long
68
swarm/pss/testdata/snapshot_2.json
vendored
68
swarm/pss/testdata/snapshot_2.json
vendored
|
|
@ -1,67 +1 @@
|
||||||
{
|
{"nodes":[{"node":{"config":{"id":"73d6ad4a75069dced660fa4cb98143ee5573df7cb15d9a295acf1655e9683384","private_key":"e567b7d9c554e5102cdc99b6523bace02dbb8951415c8816d82ba2d2e97fa23b","name":"node01","services":["pss","bzz"],"enable_msg_events":false,"port":0},"up":true}},{"node":{"config":{"id":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","private_key":"c7526db70acd02f36d3b201ef3e1d85e38c52bee6931453213dbc5edec4d0976","name":"node02","services":["pss","bzz"],"enable_msg_events":false,"port":0},"up":true}}],"conns":[{"one":"73d6ad4a75069dced660fa4cb98143ee5573df7cb15d9a295acf1655e9683384","other":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","up":true}]}
|
||||||
"conns":[
|
|
||||||
{
|
|
||||||
"other":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"one":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nodes":[
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"config":{
|
|
||||||
"private_key":"e567b7d9c554e5102cdc99b6523bace02dbb8951415c8816d82ba2d2e97fa23b",
|
|
||||||
"name":"node01",
|
|
||||||
"id":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"services":[
|
|
||||||
"pss","bzz"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"info":{
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"listenAddr":"",
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 73d6ad\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 dfd4 | 3 8a1e (0) d776 (0) dfd4 (0)\n============ DEPTH: 1 ==========================================\n001 3 05da 159c 3451 | 3 05da (0) 159c (0) 3451 (0)\n002 0 | 0\n003 1 6e8d | 1 6e8d (0)\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"c9atSnUGnc7WYPpMuYFD7lVz33yxXZopWs8WVeloM4Q="
|
|
||||||
},
|
|
||||||
"ports":{
|
|
||||||
"listener":0,
|
|
||||||
"discovery":0
|
|
||||||
},
|
|
||||||
"name":"node01",
|
|
||||||
"id":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"enode":"enode://7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"info":{
|
|
||||||
"listenAddr":"",
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"ports":{
|
|
||||||
"discovery":0,
|
|
||||||
"listener":0
|
|
||||||
},
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 6e8da8\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 8a1e | 3 8a1e (0) d776 (0) dfd4 (0)\n============ DEPTH: 1 ==========================================\n001 3 3451 159c 05da | 3 05da (0) 159c (0) 3451 (0)\n002 0 | 0\n003 1 73d6 | 1 73d6 (0)\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"bo2oaruJSrNQRMjEVRRyJd+WyrSY2gZ6EY8fuaQX+eM="
|
|
||||||
},
|
|
||||||
"id":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"name":"node02",
|
|
||||||
"enode":"enode://0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"config":{
|
|
||||||
"name":"node02",
|
|
||||||
"id":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"services":[
|
|
||||||
"pss","bzz"
|
|
||||||
],
|
|
||||||
"private_key":"c7526db70acd02f36d3b201ef3e1d85e38c52bee6931453213dbc5edec4d0976"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
2
swarm/pss/testdata/snapshot_256.json
vendored
2
swarm/pss/testdata/snapshot_256.json
vendored
File diff suppressed because one or more lines are too long
101
swarm/pss/testdata/snapshot_3.json
vendored
101
swarm/pss/testdata/snapshot_3.json
vendored
|
|
@ -1,100 +1 @@
|
||||||
{
|
{"nodes":[{"node":{"config":{"id":"73d6ad4a75069dced660fa4cb98143ee5573df7cb15d9a295acf1655e9683384","private_key":"e567b7d9c554e5102cdc99b6523bace02dbb8951415c8816d82ba2d2e97fa23b","name":"node01","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}},{"node":{"config":{"id":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","private_key":"c7526db70acd02f36d3b201ef3e1d85e38c52bee6931453213dbc5edec4d0976","name":"node02","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}},{"node":{"config":{"id":"8a1eb78ff13df318e7f8116dffee98cd7d9905650fa53f16766b754a63f387ac","private_key":"61b5728f59bc43080c3b8eb0458fb30d7723e2747355b6dc980f35f3ed431199","name":"node03","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}}],"conns":[{"one":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","other":"8a1eb78ff13df318e7f8116dffee98cd7d9905650fa53f16766b754a63f387ac","up":true},{"one":"73d6ad4a75069dced660fa4cb98143ee5573df7cb15d9a295acf1655e9683384","other":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","up":true}]}
|
||||||
"conns":[
|
|
||||||
{
|
|
||||||
"one":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"other":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c",
|
|
||||||
"up":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"other":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"one":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nodes":[
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"config":{
|
|
||||||
"private_key":"e567b7d9c554e5102cdc99b6523bace02dbb8951415c8816d82ba2d2e97fa23b",
|
|
||||||
"name":"node01",
|
|
||||||
"id":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"info":{
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"listenAddr":"",
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 73d6ad\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 dfd4 | 3 8a1e (0) d776 (0) dfd4 (0)\n============ DEPTH: 1 ==========================================\n001 3 05da 159c 3451 | 3 05da (0) 159c (0) 3451 (0)\n002 0 | 0\n003 1 6e8d | 1 6e8d (0)\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"c9atSnUGnc7WYPpMuYFD7lVz33yxXZopWs8WVeloM4Q="
|
|
||||||
},
|
|
||||||
"ports":{
|
|
||||||
"listener":0,
|
|
||||||
"discovery":0
|
|
||||||
},
|
|
||||||
"name":"node01",
|
|
||||||
"id":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"enode":"enode://7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"info":{
|
|
||||||
"listenAddr":"",
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"ports":{
|
|
||||||
"discovery":0,
|
|
||||||
"listener":0
|
|
||||||
},
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 6e8da8\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 8a1e | 3 8a1e (0) d776 (0) dfd4 (0)\n============ DEPTH: 1 ==========================================\n001 3 3451 159c 05da | 3 05da (0) 159c (0) 3451 (0)\n002 0 | 0\n003 1 73d6 | 1 73d6 (0)\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"bo2oaruJSrNQRMjEVRRyJd+WyrSY2gZ6EY8fuaQX+eM="
|
|
||||||
},
|
|
||||||
"id":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"name":"node02",
|
|
||||||
"enode":"enode://0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"config":{
|
|
||||||
"name":"node02",
|
|
||||||
"id":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
],
|
|
||||||
"private_key":"c7526db70acd02f36d3b201ef3e1d85e38c52bee6931453213dbc5edec4d0976"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"config":{
|
|
||||||
"private_key":"61b5728f59bc43080c3b8eb0458fb30d7723e2747355b6dc980f35f3ed431199",
|
|
||||||
"id":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c",
|
|
||||||
"name":"node03",
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"info":{
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"listenAddr":"",
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 8a1eb7\npopulation: 3 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 6e8d | 5 05da (0) 159c (0) 3451 (0) 73d6 (0)\n============ DEPTH: 1 ==========================================\n001 2 dfd4 d776 | 2 dfd4 (0) d776 (0)\n002 0 | 0\n003 0 | 0\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"ih63j/E98xjn+BFt/+6YzX2ZBWUPpT8Wdmt1SmPzh6w="
|
|
||||||
},
|
|
||||||
"ports":{
|
|
||||||
"discovery":0,
|
|
||||||
"listener":0
|
|
||||||
},
|
|
||||||
"name":"node03",
|
|
||||||
"id":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c",
|
|
||||||
"enode":"enode://6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
2
swarm/pss/testdata/snapshot_32.json
vendored
2
swarm/pss/testdata/snapshot_32.json
vendored
File diff suppressed because one or more lines are too long
134
swarm/pss/testdata/snapshot_4.json
vendored
134
swarm/pss/testdata/snapshot_4.json
vendored
|
|
@ -1,133 +1 @@
|
||||||
{
|
{"nodes":[{"node":{"config":{"id":"73d6ad4a75069dced660fa4cb98143ee5573df7cb15d9a295acf1655e9683384","private_key":"e567b7d9c554e5102cdc99b6523bace02dbb8951415c8816d82ba2d2e97fa23b","name":"node01","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}},{"node":{"config":{"id":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","private_key":"c7526db70acd02f36d3b201ef3e1d85e38c52bee6931453213dbc5edec4d0976","name":"node02","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}},{"node":{"config":{"id":"8a1eb78ff13df318e7f8116dffee98cd7d9905650fa53f16766b754a63f387ac","private_key":"61b5728f59bc43080c3b8eb0458fb30d7723e2747355b6dc980f35f3ed431199","name":"node03","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}},{"node":{"config":{"id":"d7768334f79d626adb433f44b703a818555e3331056036ef3f8d1282586bf044","private_key":"075b07c29ceac4ffa2a114afd67b21dfc438126bc169bf7c154be6d81d86ed38","name":"node04","services":["bzz","pss"],"enable_msg_events":false,"port":0},"up":true}}],"conns":[{"one":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","other":"8a1eb78ff13df318e7f8116dffee98cd7d9905650fa53f16766b754a63f387ac","up":true},{"one":"73d6ad4a75069dced660fa4cb98143ee5573df7cb15d9a295acf1655e9683384","other":"6e8da86abb894ab35044c8c455147225df96cab498da067a118f1fb9a417f9e3","up":true},{"one":"8a1eb78ff13df318e7f8116dffee98cd7d9905650fa53f16766b754a63f387ac","other":"d7768334f79d626adb433f44b703a818555e3331056036ef3f8d1282586bf044","up":true}]}
|
||||||
"conns":[
|
|
||||||
{
|
|
||||||
"one":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"other":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c",
|
|
||||||
"up":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"other":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"one":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"up":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"up":true,
|
|
||||||
"other":"83388147883592bab4fdaddb4e56f8cb1c56dc5c2e910fc6a7277ac89b77cc7ce24892ed6984f3414589cb3b8c4b69356ff9aab7ca52fdd58f12dee2a2152523",
|
|
||||||
"one":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nodes":[
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"config":{
|
|
||||||
"private_key":"e567b7d9c554e5102cdc99b6523bace02dbb8951415c8816d82ba2d2e97fa23b",
|
|
||||||
"name":"node01",
|
|
||||||
"id":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"info":{
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"listenAddr":"",
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 73d6ad\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 dfd4 | 3 8a1e (0) d776 (0) dfd4 (0)\n============ DEPTH: 1 ==========================================\n001 3 05da 159c 3451 | 3 05da (0) 159c (0) 3451 (0)\n002 0 | 0\n003 1 6e8d | 1 6e8d (0)\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"c9atSnUGnc7WYPpMuYFD7lVz33yxXZopWs8WVeloM4Q="
|
|
||||||
},
|
|
||||||
"ports":{
|
|
||||||
"listener":0,
|
|
||||||
"discovery":0
|
|
||||||
},
|
|
||||||
"name":"node01",
|
|
||||||
"id":"7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66",
|
|
||||||
"enode":"enode://7b12f55c7c012104e006775d03b89722b403fb0e1ecb79af8cadfa6947425aedb323fb9416c84b782d35f3216acb5d94a1dd31d60a3eba45f9051bf503de1b66@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"info":{
|
|
||||||
"listenAddr":"",
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"ports":{
|
|
||||||
"discovery":0,
|
|
||||||
"listener":0
|
|
||||||
},
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 6e8da8\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 8a1e | 3 8a1e (0) d776 (0) dfd4 (0)\n============ DEPTH: 1 ==========================================\n001 3 3451 159c 05da | 3 05da (0) 159c (0) 3451 (0)\n002 0 | 0\n003 1 73d6 | 1 73d6 (0)\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"bo2oaruJSrNQRMjEVRRyJd+WyrSY2gZ6EY8fuaQX+eM="
|
|
||||||
},
|
|
||||||
"id":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"name":"node02",
|
|
||||||
"enode":"enode://0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"config":{
|
|
||||||
"name":"node02",
|
|
||||||
"id":"0eec333dd211c2ea81db614fe58bf0300c15e50e1b044e47ef93067a6cdbc3bc666b40bdcc515bbf580355dbef9370294ef1ee92ee0525e78a8beed00c2b99f5",
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
],
|
|
||||||
"private_key":"c7526db70acd02f36d3b201ef3e1d85e38c52bee6931453213dbc5edec4d0976"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"config":{
|
|
||||||
"private_key":"61b5728f59bc43080c3b8eb0458fb30d7723e2747355b6dc980f35f3ed431199",
|
|
||||||
"id":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c",
|
|
||||||
"name":"node03",
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"info":{
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"listenAddr":"",
|
|
||||||
"protocols":{
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: 8a1eb7\npopulation: 3 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 1 6e8d | 5 05da (0) 159c (0) 3451 (0) 73d6 (0)\n============ DEPTH: 1 ==========================================\n001 2 dfd4 d776 | 2 dfd4 (0) d776 (0)\n002 0 | 0\n003 0 | 0\n004 0 | 0\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n=========================================================================",
|
|
||||||
"bzz":"ih63j/E98xjn+BFt/+6YzX2ZBWUPpT8Wdmt1SmPzh6w="
|
|
||||||
},
|
|
||||||
"ports":{
|
|
||||||
"discovery":0,
|
|
||||||
"listener":0
|
|
||||||
},
|
|
||||||
"name":"node03",
|
|
||||||
"id":"6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c",
|
|
||||||
"enode":"enode://6f6ee658538ea66a68c9cb914d09f228f6ee9942c337a8d5a2cb3a0f021e83dd0fab481ca8ebf56ed913f6ddf69caa3249459d43e61e5e5b162ded7e1c918c9c@0.0.0.0:0"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"node":{
|
|
||||||
"info":{
|
|
||||||
"name":"node04",
|
|
||||||
"id":"83388147883592bab4fdaddb4e56f8cb1c56dc5c2e910fc6a7277ac89b77cc7ce24892ed6984f3414589cb3b8c4b69356ff9aab7ca52fdd58f12dee2a2152523",
|
|
||||||
"enode":"enode://83388147883592bab4fdaddb4e56f8cb1c56dc5c2e910fc6a7277ac89b77cc7ce24892ed6984f3414589cb3b8c4b69356ff9aab7ca52fdd58f12dee2a2152523@0.0.0.0:0",
|
|
||||||
"ip":"0.0.0.0",
|
|
||||||
"listenAddr":"",
|
|
||||||
"protocols":{
|
|
||||||
"bzz":"13aDNPedYmrbQz9EtwOoGFVeMzEFYDbvP40Sglhr8EQ=",
|
|
||||||
"hive":"\n=========================================================================\nFri Sep 29 21:22:53 UTC 2017 KΛÐΞMLIΛ hive: queen's address: d77683\npopulation: 5 (7), MinProxBinSize: 2, MinBinSize: 1, MaxBinSize: 3\n000 3 3451 159c 05da | 5 6e8d (0) 73d6 (0) 3451 (0) 159c (0)\n============ DEPTH: 1 ==========================================\n001 1 8a1e | 1 8a1e (0)\n002 0 | 0\n003 0 | 0\n004 1 dfd4 | 1 dfd4 (0)\n005 0 | 0\n006 0 | 0\n007 0 | 0\n008 0 | 0\n009 0 | 0\n010 0 | 0\n011 0 | 0\n012 0 | 0\n013 0 | 0\n014 0 | 0\n015 0 | 0\n========================================================================="
|
|
||||||
},
|
|
||||||
"ports":{
|
|
||||||
"listener":0,
|
|
||||||
"discovery":0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"config":{
|
|
||||||
"services":[
|
|
||||||
"bzz","pss"
|
|
||||||
],
|
|
||||||
"id":"83388147883592bab4fdaddb4e56f8cb1c56dc5c2e910fc6a7277ac89b77cc7ce24892ed6984f3414589cb3b8c4b69356ff9aab7ca52fdd58f12dee2a2152523",
|
|
||||||
"name":"node04",
|
|
||||||
"private_key":"075b07c29ceac4ffa2a114afd67b21dfc438126bc169bf7c154be6d81d86ed38"
|
|
||||||
},
|
|
||||||
"up":true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
2
swarm/pss/testdata/snapshot_64.json
vendored
2
swarm/pss/testdata/snapshot_64.json
vendored
File diff suppressed because one or more lines are too long
2
swarm/pss/testdata/snapshot_8.json
vendored
2
swarm/pss/testdata/snapshot_8.json
vendored
File diff suppressed because one or more lines are too long
|
|
@ -65,7 +65,7 @@ The validation phase of the TestNetwork test is done using an RPC subscription:
|
||||||
|
|
||||||
```
|
```
|
||||||
...
|
...
|
||||||
triggerChecks := func(trigger chan discover.NodeID, id discover.NodeID, rpcclient *rpc.Client) error {
|
triggerChecks := func(trigger chan enode.ID, id enode.ID, rpcclient *rpc.Client) error {
|
||||||
msgC := make(chan APIMsg)
|
msgC := make(chan APIMsg)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue