diff --git a/main.go b/main.go index 9b0fc7beca86ba050a95a239f365f11630b5cba6..2eb9d49f9bc77f40923a2f0f0846d38ffab50591 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "github.com/iotaledger/goshimmer/plugins/autopeering" "github.com/iotaledger/goshimmer/plugins/cli" "github.com/iotaledger/goshimmer/plugins/gossip" + gossip_on_solidification "github.com/iotaledger/goshimmer/plugins/gossip-on-solidification" "github.com/iotaledger/goshimmer/plugins/gracefulshutdown" "github.com/iotaledger/goshimmer/plugins/statusscreen" statusscreen_tps "github.com/iotaledger/goshimmer/plugins/statusscreen-tps" @@ -21,6 +22,7 @@ func main() { cli.PLUGIN, autopeering.PLUGIN, gossip.PLUGIN, + gossip_on_solidification.PLUGIN, tangle.PLUGIN, analysis.PLUGIN, gracefulshutdown.PLUGIN, diff --git a/plugins/gossip-on-solidification/plugin.go b/plugins/gossip-on-solidification/plugin.go new file mode 100644 index 0000000000000000000000000000000000000000..1c2268007bd1336b3643f294d3572953c38fa60a --- /dev/null +++ b/plugins/gossip-on-solidification/plugin.go @@ -0,0 +1,15 @@ +package gossip_on_solidification + +import ( + "github.com/iotaledger/goshimmer/packages/events" + "github.com/iotaledger/goshimmer/packages/model/value_transaction" + "github.com/iotaledger/goshimmer/packages/node" + "github.com/iotaledger/goshimmer/plugins/gossip" + "github.com/iotaledger/goshimmer/plugins/tangle" +) + +var PLUGIN = node.NewPlugin("Gossip On Solidification", func(plugin *node.Plugin) { + tangle.Events.TransactionSolid.Attach(events.NewClosure(func(tx *value_transaction.ValueTransaction) { + gossip.SendTransaction(tx.MetaTransaction) + })) +}) diff --git a/plugins/gossip/plugin.go b/plugins/gossip/plugin.go index 0f02bd1404f577c1d265e239493aeec712e97ead..df702928ff8acdbb4b852dc9146c12c0ec3fbd86 100644 --- a/plugins/gossip/plugin.go +++ b/plugins/gossip/plugin.go @@ -1,6 +1,8 @@ package gossip import ( + "github.com/iotaledger/goshimmer/packages/events" + "github.com/iotaledger/goshimmer/packages/model/meta_transaction" "github.com/iotaledger/goshimmer/packages/node" ) @@ -10,6 +12,10 @@ func configure(plugin *node.Plugin) { configureNeighbors(plugin) configureServer(plugin) configureSendQueue(plugin) + + Events.ReceiveTransaction.Attach(events.NewClosure(func(tx *meta_transaction.MetaTransaction) { + plugin.LogDebug("Received TX " + string(tx.GetHash())) + })) } func run(plugin *node.Plugin) {