25 May 2023 |
Lonnie TC | I was seeking some simple pinecone examples for:
- Sending messages to one, or more, or all nodes (LAN<->LAN, and WAN<->WAN, and WAN<->LAN)
- I can currently connect 2 Windows nodes but Windows to Linux, or Linux to Linux does not seem to work
- Locating nearest neighbors, if possible but not required.
I can make some basic connections (Win to Win) but have not been able to figure out a simple way to pass messages or packets. I thought that maybe I would try to extend the main.go (https://github.com/matrix-org/pinecone/blob/main/cmd/pinecone/main.go) but then realized that perhaps I need to see some other examples if I can find then which has let me to you, my friend. :)
| 18:31:05 |
Lonnie TC | Ultimately, my project will probably be in a private P2P network to keep things isolated as well. At least initially, I think. | 18:32:15 |
Lonnie TC | * Ultimately, my project will probably be in a private P2P network to keep things isolated as well. At least initially, I think. | 18:32:43 |
Devon Dmytro | The biggest concern I see with using pinecone for that use case is that the current design does not support massive scalability (think less than a couple thousand nodes in a single network)
The maintenance traffic doesn't scale well above that and will quickly eat up bandwidth across the network.
We are planning to address that for matrix through other means, but if you wanted to have a single, flat p2p network topology at a bigger scale, pinecone isn't the best choice right now | 18:33:42 |
Devon Dmytro | The Dendrite example I linked to you is the same as the code we use for our iOS & android demo apps.
They do local multicast discovery, LAN comms, comms over the internet, & (not included in that repo) they do BLE discovery and comms as well.
Which should cover most of the things you mentioned | 18:36:01 |
Lonnie TC | Devon Dmytro: I see. What might you suggest as an alternative as I really did not want to utilize libp2p as well but the options seem limited for what I am trying to accomplish and I am not sure if dendrite is ready for scaling to those levels as well? | 18:36:29 |
Lonnie TC | So then, do you think that the Dendrite might be a better option for what I need. Doesn't that require to run on the Matrix network or can it be set up as a private network? | 18:38:05 |
Devon Dmytro | ah - no, Dendrite is not what you are looking for | 18:38:36 |
Devon Dmytro | Dendrite is just a matrix server, we just embed pinecone in Dendrite to handle all the networking | 18:39:22 |
Devon Dmytro | I was only talking about it as an example of something that uses pinecone in a variety of ways 🙂 | 18:39:53 |
Lonnie TC | I see. But if you think that pinecone is not suitable for this type of task then I should look for another solution, I guess. | 18:41:22 |
Devon Dmytro | a lot of pinecone's design went into making it work over any type of transport and be highly mobile (ie. to support working over BLE, or out in the woods, etc.)
I'm assuming your use case would probably fit better with a p2p technology designed for more regular over-the-internet type usage. | 18:41:56 |
Devon Dmytro | I don't imagine a lot of people doing ecommerce out in the woods 😛 | 18:42:35 |
Lonnie TC | Yea, I think that you are correct, but I really liked the idea of nodes being able to relay packets to other nodes when I read that about pinecone. It also seemed better, for my particular use case that Yggdrasil and other similar projects. | 18:43:36 |
Devon Dmytro | the relaying is all done matrix-side, not actually in pinecone.
so you wouldn't even get that benefit solely from using pinecone I'm afraid 🙂 | 18:44:37 |
Devon Dmytro | I would guess libp2p (& their kademlia DHT usage) would be a better solution for you.
But I haven't been following the latest in that style of p2p approach very closesly recently | 18:47:07 |
Devon Dmytro | * I would guess libp2p (& their kademlia DHT usage) would be a better solution for you.
But I haven't been following the latest in that style of p2p approach very closely recently | 18:47:09 |
Lonnie TC | Ah, I did not think about that, but makes sense now. Ok then, I guess that I am back off to the races to see what else might be out there to possibly work with this effort. I truly appreciate you taking the time to discuss it with me. | 18:47:35 |
Devon Dmytro | Also - the reason we don't require TUN/TAP setup is because pinecone doesn't do peer discovery over the internet.
We have it this way since the main focus is for local p2p usage, and any broader internet p2p usage would be via hosting nodes, as opposed to doing direct peer connections. | 18:49:42 |
Lonnie TC | Well then, it seems that I definitely need to look more to see if there might exist a more suitable library.
Thanks again and I appreciate your time. I'll go do a bit more research now so have a great day and I wish you the best of luck and success with Matrix as it is a very good project as well from what I have read. | 18:52:20 |
Devon Dmytro | Any time 🙂 I wish you the best of luck with your project. | 18:53:38 |
| rimuru changed their profile picture. | 22:36:25 |
26 May 2023 |
| Andrew Morgan (anoa) [away; back 31st] changed their display name from Andrew Morgan (anoa) to Andrew Morgan (anoa) [away; back 31st]. | 03:17:40 |
| d--33--m joined the room. | 06:56:54 |
| David Langley changed their display name from David Langley [out sick] to David Langley. | 08:24:08 |
| Cube joined the room. | 18:47:31 |
| Sergey Sherkunov joined the room. | 20:04:16 |
| Paul DH28 changed their display name from pat to Paul DH28. | 20:52:04 |
| @sparkyfirefly:matrix.org left the room. | 21:09:40 |
27 May 2023 |
| [bot] joined the room. | 04:14:15 |