Skip to content

Commit fb000f1

Browse files
committed
Merge branch 'wasm' of https://github.com/talentlessguy/bee into wasm
2 parents 6bc2c66 + e46c46c commit fb000f1

3 files changed

Lines changed: 40 additions & 16 deletions

File tree

dist/style.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
body {
2-
background-color: orange;
2+
background-color: rgb(71, 55, 24);
33
}

dist/sw.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,9 @@ async function main() {
107107

108108
// Bootstrap addresses
109109
const bootstrapMultiaddrs = [
110-
'/ip4/127.0.0.1/tcp/1634/ws/p2p/QmXaWHrPsmJ2CY1XNqRb2WTisWZXEzaCsawmcex1CiidvX',
110+
'/ip4/127.0.0.1/tcp/1634/ws/p2p/QmbPUii1SGZ6hKiSQjgWV9WuGCmSGSA2L2RBpFQBHPHrTF',
111+
// '/ip4/172.26.20.131/tcp/1634/ws/p2p/QmVQhnaTT84UBfW5EPivTd6SP2Rq62pCLKawtugPtd3yXH',
112+
// '/ip4/188.245.222.246/tcp/1634/ws/p2p/QmccBpjXGFUS8ZydhUnZYLcMvTNcNSjF5ntyMS8sCfz3o2'
111113
]
112114

113115
go.argv = [
@@ -122,8 +124,9 @@ async function main() {
122124
'--verbosity',
123125
'debug',
124126
// '--blockchain-rpc-endpoint',
125-
// 'wss://ethereum-sepolia-rpc.publicnode.com',
127+
// 'https://ethereum-sepolia-rpc.publicnode.com/ac5b7f52aabd778861c2588f872f15c5fc34f0b343ec3d18ac2e91f5526e9c2b',
126128
'--mainnet=false',
129+
'--network-id=5',
127130
]
128131

129132
// Override Go's `fs.readFile` with ZenFS readFile functionality

pkg/hive/hive_js.go

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -175,20 +175,41 @@ func (s *Service) checkAndAddPeers(ctx context.Context, peers pb.Peers) {
175175
wg := sync.WaitGroup{}
176176

177177
addPeer := func(newPeer *pb.BzzAddress, multiUnderlay ma.Multiaddr) {
178-
wsProto := false
179-
ma.ForEach(multiUnderlay, func(c ma.Component) bool {
180-
if c.Protocol().Name == "ws" {
181-
wsProto = true
182-
return false
178+
parts := ma.Split(multiUnderlay)
179+
180+
var baseParts []ma.Component
181+
var p2pID string
182+
183+
for _, c := range parts {
184+
switch c.Protocol().Name {
185+
case "ws", "wss":
186+
continue // skip if already present
187+
case "p2p":
188+
p2pID = c.Value()
189+
default:
190+
baseParts = append(baseParts, c)
183191
}
184-
return true
185-
})
192+
}
186193

187-
if !wsProto {
188-
s.logger.Debug("skipping non-websocket peer", "peer_address", hex.EncodeToString(newPeer.Overlay), "underlay", multiUnderlay)
189-
return
194+
baseAddr, _ := ma.NewMultiaddr("")
195+
for _, c := range baseParts {
196+
componentStr := "/" + c.Protocol().Name + "/" + c.Value()
197+
component, err := ma.NewMultiaddr(componentStr)
198+
if err != nil {
199+
s.logger.Error(errors.New("invalid multiaddr component"), "component", componentStr, "error", err)
200+
return
201+
}
202+
baseAddr = baseAddr.Encapsulate(component)
203+
}
204+
205+
// Add /ws and /p2p
206+
baseAddr = baseAddr.Encapsulate(ma.StringCast("/ws"))
207+
if p2pID != "" {
208+
baseAddr = baseAddr.Encapsulate(ma.StringCast("/p2p/" + p2pID))
190209
}
191210

211+
s.logger.Debug("rewritten multiaddr to use websocket", "peer_address", hex.EncodeToString(newPeer.Overlay), "ws_underlay", baseAddr.String())
212+
192213
err := s.sem.Acquire(ctx, 1)
193214
if err != nil {
194215
return
@@ -206,15 +227,15 @@ func (s *Service) checkAndAddPeers(ctx context.Context, peers pb.Peers) {
206227
defer cancel()
207228

208229
// check if the underlay is usable by doing a raw ping using libp2p
209-
if _, err := s.streamer.Ping(ctx, multiUnderlay); err != nil {
230+
if _, err := s.streamer.Ping(ctx, baseAddr); err != nil {
210231

211-
s.logger.Debug("unreachable peer underlay", "peer_address", hex.EncodeToString(newPeer.Overlay), "underlay", multiUnderlay)
232+
s.logger.Debug("unreachable peer underlay", "peer_address", hex.EncodeToString(newPeer.Overlay), "underlay", multiUnderlay, "error", err)
212233
return
213234
}
214235

215236
bzzAddress := bzz.Address{
216237
Overlay: swarm.NewAddress(newPeer.Overlay),
217-
Underlay: multiUnderlay,
238+
Underlay: baseAddr,
218239
Signature: newPeer.Signature,
219240
Nonce: newPeer.Nonce,
220241
}

0 commit comments

Comments
 (0)