-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design and build the harness for pubsub tests #10
Comments
Thanks for posting—I also recalled something about:
Any clarifications or links to relevant repos would helpful Since the harness is a must have for people to implement and test scenarios, and for my own (selfish) purposes of diving into libp2p and getting myself familiar with the ecosystem, I'd be happy to take a run at building the initial test harness to keep things moving forward (though there may be a couple questions along the way). @diasdavid : I thought it was mentioned that you might take a crack at this, but it also sounds like there is a lot going on. So if this isn't duplicating efforts or working on something that you intended to do, I'd be happy to get this going. Let me know! |
IPTB exists for go-ipfs, but here we would be shooting for a straight network of libp2p nodes. Here is the repo https://github.com/whyrusleeping/iptb I've created this script for bitswap -- https://github.com/ipfs/js-ipfs-bitswap/blob/master/test/utils.js#L96 -- that can be repurposed, because it is essentially spawning libp2p nodes, JavaScript ones though :) @gavinmcdermott thank you for volunteering, that would be excellent! I'm happy to review and provide help with support, as human documentation or with code at any time. |
As you want to spawn much more nodes that we usually do in go-ipfs, you would have to go for something lighter, maybe clustered approach: Multiple nodes (few hundreds) inside one process (node or go) and then some of them can connect to the outside, with other clusters like that. IPTB creates full go-ipfs nodes and has few options for separating them: none or docker. It is also quite important to simulate real world quite accurately if you want to use it for testing, this means latency, packet drop and nodes going up and down, this is something that we missed during work on cjdns (which is written in C and we were able to create networks of millions of nodes during tests) and it turned out that our path searching implementation has some problems with that. Only after about 2k nodes joined real world network we started seeing those problems. |
Thanks for sharing @Kubuxu, much appreciated. |
I would also look at kubernetes, that has all the clustering that we may cc @hermanjunge as he may be interested in this too. He is doing this for
|
How can I be of help? |
@hermanjunge, gracias. Feel free to email me so we can sync up and keep any unrelated spam off the thread. |
The text was updated successfully, but these errors were encountered: