diff --git a/lib/core/message/lib.rs b/lib/core/message/lib.rs
index f8e32160879e01620bb2b3af792fa8754ed010b8..32fad9250ebe43b2e3d1b87f2584179148cc29e4 100644
--- a/lib/core/message/lib.rs
+++ b/lib/core/message/lib.rs
@@ -49,6 +49,8 @@ use crate::responses::*;
 pub enum DursMsg {
     /// Durs module event
     Event {
+        /// The module that issued the event
+        event_from: ModuleStaticName,
         /// Event type
         event_type: ModuleEvent,
         /// Event content
diff --git a/lib/modules/blockchain/blockchain/src/constants.rs b/lib/modules/blockchain/blockchain/src/constants.rs
index 6f575d144cff5384b0ed3e59473d100540b879f9..9b477e696512cb5cf8863b2ea128219c7be79542 100644
--- a/lib/modules/blockchain/blockchain/src/constants.rs
+++ b/lib/modules/blockchain/blockchain/src/constants.rs
@@ -13,6 +13,9 @@
 // You should have received a copy of the GNU Affero General Public License
 // along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
+/// Module name
+pub static MODULE_NAME: &'static str = "blockchain";
+
 /// Default currency
 pub static DEFAULT_CURRENCY: &'static str = "g1";
 
diff --git a/lib/modules/blockchain/blockchain/src/events/sent.rs b/lib/modules/blockchain/blockchain/src/events/sent.rs
index 3f1a996c4c7b2bf5ea4f318dab7418ca831c38f6..d165ba6187fb996173986ca58a653a368c7a3287 100644
--- a/lib/modules/blockchain/blockchain/src/events/sent.rs
+++ b/lib/modules/blockchain/blockchain/src/events/sent.rs
@@ -29,6 +29,7 @@ pub fn send_event(bc: &BlockchainModule, event: &BlockchainEvent) {
     };
     bc.router_sender
         .send(RouterThreadMessage::ModuleMessage(DursMsg::Event {
+            event_from: ModuleStaticName(MODULE_NAME),
             event_type: module_event,
             event_content: DursEvent::BlockchainEvent(Box::new(event.clone())),
         }))
diff --git a/lib/modules/blockchain/blockchain/src/lib.rs b/lib/modules/blockchain/blockchain/src/lib.rs
index f03e474a96ee85794dcacd5d4c4234304f27df74..daf65f1e4419931cd36cdf6e2bdfa185270ab67d 100644
--- a/lib/modules/blockchain/blockchain/src/lib.rs
+++ b/lib/modules/blockchain/blockchain/src/lib.rs
@@ -181,7 +181,7 @@ pub enum VerifyBlockHashsError {
 impl BlockchainModule {
     /// Return module identifier
     pub fn name() -> ModuleStaticName {
-        ModuleStaticName("blockchain")
+        ModuleStaticName(MODULE_NAME)
     }
     /// Loading blockchain configuration
     pub fn load_blockchain_conf<DC: DursConfTrait>(
@@ -279,6 +279,7 @@ impl BlockchainModule {
                         DursMsg::Event {
                             event_type,
                             event_content,
+                            ..
                         } => events::received::receive_event(self, event_type, event_content),
                         DursMsg::Response {
                             req_id,
diff --git a/lib/modules/ws2p-v1-legacy/src/constants.rs b/lib/modules/ws2p-v1-legacy/src/constants.rs
index cdc14af73e1013607c3c924fc838e602d1cdb1a6..f9d92d6a03065797b5af0bf9771f17afe7965ac4 100644
--- a/lib/modules/ws2p-v1-legacy/src/constants.rs
+++ b/lib/modules/ws2p-v1-legacy/src/constants.rs
@@ -15,6 +15,9 @@
 
 //! WS2Pv1 constants
 
+/// Module name
+pub static MODULE_NAME: &'static str = "ws2p1";
+
 /// API Name
 pub static WS2P_API: &'static str = "WS2P";
 
diff --git a/lib/modules/ws2p-v1-legacy/src/events/sent.rs b/lib/modules/ws2p-v1-legacy/src/events/sent.rs
index 16750ed882da3305b1d8c68abcb7777524847f70..c386d45afe9d7355a845a98e40a662420c94f51e 100644
--- a/lib/modules/ws2p-v1-legacy/src/events/sent.rs
+++ b/lib/modules/ws2p-v1-legacy/src/events/sent.rs
@@ -15,10 +15,11 @@
 
 //! Sub-module managing the events emitted by the blockchain module.
 
+use crate::constants;
 use crate::WS2Pv1Module;
 use durs_message::events::DursEvent;
 use durs_message::*;
-use durs_module::{ModuleEvent, RouterThreadMessage};
+use durs_module::{ModuleEvent, ModuleStaticName, RouterThreadMessage};
 use durs_network::documents::BlockchainDocument;
 use durs_network::events::NetworkEvent;
 
@@ -52,6 +53,7 @@ pub fn send_network_event(ws2p_module: &mut WS2Pv1Module, event: NetworkEvent) {
     ws2p_module
         .router_sender
         .send(RouterThreadMessage::ModuleMessage(DursMsg::Event {
+            event_from: ModuleStaticName(constants::MODULE_NAME),
             event_type: module_event,
             event_content: DursEvent::NetworkEvent(event),
         }))
diff --git a/lib/modules/ws2p-v1-legacy/src/lib.rs b/lib/modules/ws2p-v1-legacy/src/lib.rs
index ef00b93a5b6bb12f9a8612a26eb0d56b58a3a248..ed7c9e22f444df5faf193ec90c77cb6f74558b04 100644
--- a/lib/modules/ws2p-v1-legacy/src/lib.rs
+++ b/lib/modules/ws2p-v1-legacy/src/lib.rs
@@ -360,7 +360,7 @@ impl DursModule<DuRsConf, DursMsg> for WS2Pv1Module {
     type ModuleOpt = WS2POpt;
 
     fn name() -> ModuleStaticName {
-        ModuleStaticName("ws2p1")
+        ModuleStaticName(MODULE_NAME)
     }
     fn priority() -> ModulePriority {
         ModulePriority::Essential()