From 13306f81a4d983572839428ed7751b4af989a96f Mon Sep 17 00:00:00 2001 From: Hans Moog <hm@mkjc.net> Date: Sat, 15 Jun 2019 12:08:25 +0200 Subject: [PATCH] Feat: gossip on solididification strategy added --- main.go | 2 ++ plugins/gossip-on-solidification/plugin.go | 15 +++++++++++++++ plugins/gossip/plugin.go | 6 ++++++ 3 files changed, 23 insertions(+) create mode 100644 plugins/gossip-on-solidification/plugin.go diff --git a/main.go b/main.go index 9b0fc7be..2eb9d49f 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 00000000..1c226800 --- /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 0f02bd14..df702928 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) { -- GitLab