Comments (10)
Can you post the gossipsub-related question in the gossipsub repo please? And please let me know what insights you get from the BandwidthReporter
.
from go-libp2p.
I don't think it has anything to do with the DHT. In any case, you can make your own DHT network and have only the traffic that it is necessary for you and your users.
from go-libp2p.
Is this internet traffic or does it include local network (e.g. mDNS) traffic?
from go-libp2p.
There is no mDNS enabled at those servers (off by default).
from go-libp2p.
Can you try enabling the bandwidth counter: https://github.com/libp2p/go-libp2p/blob/master/core/metrics/bandwidth.go? It's accessible via the libp2p.BandwithReporter
option, and should allow you to find out which protocol and peer are responsible for the traffic.
from go-libp2p.
Thanks for your suggestion. We were not aware oft this option. We will enable it and will share the result here.
However, we tried to reduce the traffic in the latest release through these modifications:
- Removing the Signature (64 bytes).
- Removing the PID author (38 bytes).
- Defining the Message ID as the first 20 bytes of the message hash.
- Introducing a new type of node: Node Gossip (experimental).
Node Gossip nodes are a type of node that gossips the message. Meanwhile, non-gossip nodes only consume incoming messages, and they don't broadcast the message. This is experimental, but it appears to be working fine so far.
There are some questions:
-
In certain situations (like block announcements), consensus nodes might produce the exact message with the exact message ID. We assumed that identical messages emitted by different nodes would be ignored by the network, but it seems that this is not the case. We still observe nodes receiving the same message repeatedly. Any thoughts on this?
-
It appears that the node gossip sends messages to all nodes, regardless of whether they have the message or not. Is there any way to reduce outgoing traffic? I'm not sure, but maybe using the
WithFloodPublish(false)
config could help?
from go-libp2p.
Oops, seems like we needed more information for this issue, please comment with more details or this issue will be closed in 7 days.
from go-libp2p.
Unfortunately, we were unable to install the metrics using BandwidthReporter
.
I've been told that it didn't reveal any new information.
We apologize if our efforts couldn't be of assistance in this case.
from go-libp2p.
Oops, seems like we needed more information for this issue, please comment with more details or this issue will be closed in 7 days.
from go-libp2p.
This issue was closed because it is missing author input.
from go-libp2p.
Related Issues (20)
- Is there to be an example about hole-punching? HOT 26
- How to set limits properly HOT 4
- Peer Discovery Fail HOT 1
- Peerstore reports empty protocolID list HOT 18
- Can quic.Transport be directly connected? HOT 13
- `p2p/security/tls`: does not handle simultaneous closes HOT 3
- version 0.32.1 mdns issue HOT 4
- WebRTC: Tracking Issue HOT 2
- Make WebRTC non experimental HOT 1
- proper support for IPv6 link-local addresses HOT 7
- go-libp2p-asn-util adds ~4MiB to builds and increases build times, even in configurations where it will never be used HOT 5
- 如何搭建dht服务器,没有找到相关的代码,请问有没有热心大佬给个地址或者方法 HOT 3
- Auto Relay Doesn't Work in libp2p Network HOT 2
- Use the same port for TCP and WebSocket HOT 5
- Add Transient as a "connectedness" state HOT 2
- Per-connection protocol list HOT 2
- \network\rcmgr.go:166:27: network.NullResourceManager (type) is not an expression HOT 2
- Filter out undefined/reserved addresses HOT 13
- v0.34
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-libp2p.