Closed roaminro closed 1 year ago
opened a draft PR as there are no tests available for this new feature, might need to create a minimal "test plugin" that can be used the integration tests repository
This pull request is stale because it has been open for 30 days with no activity.
This pull request was closed because it has been inactive for 14 days since being marked as stale.
Brief description
This PR adds the ability for node operator to run addional microservices that can leverage the already established P2P network created for the blockchain:
plugins
was added, it accepts an array of strings.plugins
:AMQP
AMQP broadcast handler
that will listen to the topicplugin.PLUGIN_NAME
Gossip Manager
that will listen to P2P messages gossiped on the topicplugin.PLUGIN_NAME
Limitations:
libp2p
does not propagate gossiped messages that are not handled by a node, meaning that a node running a plugin needs to be connected to other nodes that run the same plugin in order to receive P2P messages... (I asked the team behind the go-libp2p library and they told me you can tell a node torelay
gossiped messages for a given topic, but you'll need to know the plugins' topics before turning on the node)Additional changes:
Checklist
Demonstration