Hello,
I am working on a P2P project and was thinking about forking Yggdrasil since although I find it to be pretty good, I also would like to see some additional modifications to improve it, but still remain compatible with the network, if at all possible.
I would like to investigate adding a plugin system with an dynamic API so that users can call functions. This would be things like a plugin for a p2p database that shards and replicates data across many nodes in the network, or possible a time server, all of which could be just built-in calls from the plugins.
Research from Hashicorp seems to have a nice RPC solution that runs the plugins independently from the main application to prevent crashing the system and a similar approach could be used here, I think.
https://zerofruit-web3.medium.com/hashicorp-plugin-system-design-and-implementation-5f939f09e3b3
https://github.com/hashicorp/go-plugin
Also, I am wondering if your RiV-Mesh has the latest updates from Yggdrasil as well, but do like the idea that you have integrated QUIC.
Along those lines, I have seen some benchmarks for KCP which suggest that it is even better than QUICK and TCP, but that also could be a plugin, perhaps.
Any thoughts?
Thanks