diff --git a/src/cutecoin/core/registry/identities.py b/src/cutecoin/core/registry/identities.py
index 51a567961ddf5adcbc78cfbccc3db5f0f51e9fa7..014cf22ce0203809250f8b44a7edcfb11f647f3c 100644
--- a/src/cutecoin/core/registry/identities.py
+++ b/src/cutecoin/core/registry/identities.py
@@ -17,7 +17,7 @@ class IdentitiesRegistry:
         """
         Initializer of the IdentitiesRegistry
 
-        :param list of Identity instances:
+        :param dict instances: A dictionary containing identities based on communities
         :return: An IdentitiesRegistry object
         :rtype: IdentitiesRegistry
         """
@@ -131,7 +131,8 @@ class IdentitiesRegistry:
         :param dict metadata: The person metadata
         :return: A new person if pubkey wasn't knwon, else the existing instance.
         """
-        if pubkey in self._instances:
+        identities = self._identities(community)
+        if pubkey in identities:
             if self._identities(community)[pubkey].blockchain_state == BlockchainState.NOT_FOUND:
                 self._identities(community)[pubkey].blockchain_state = blockchain_state
             elif self._identities(community)[pubkey].blockchain_state != BlockchainState.VALIDATED \
diff --git a/src/cutecoin/core/registry/identity.py b/src/cutecoin/core/registry/identity.py
index cfef4863e4be15d5a5695da9e0f7a5f85b221bbe..84afbfebfa5d1e36a1e1ab9d2c0db0d4071f4700 100644
--- a/src/cutecoin/core/registry/identity.py
+++ b/src/cutecoin/core/registry/identity.py
@@ -293,7 +293,7 @@ class Identity(QObject):
                                                       certifier_data['pubkey'],
                                                       BlockchainState.BUFFERED,
                                                       community)
-                                if certifier['identity'] not in certifiers:
+                                if certifier['identity'] not in [cert['identity'] for cert in certifiers]:
                                     block = yield from community.bma_access.future_request(bma.blockchain.Block,
                                                                          {'number': certifier_data['meta']['block_number']})
                                     certifier['cert_time'] = block['medianTime']
@@ -373,7 +373,7 @@ class Identity(QObject):
                                                                           certified_data['pubkey'],
                                                                           BlockchainState.BUFFERED,
                                                                           community)
-                        if certified['identity'] not in certified_list:
+                        if certified['identity'] not in [cert['identity'] for cert in certified_list]:
                             certified['cert_time'] = certified_data['meta']['timestamp']
                             certified['block_number'] = None
                             certified_list.append(certified)
diff --git a/src/cutecoin/tests/core/test_identities.py b/src/cutecoin/tests/core/test_identities.py
new file mode 100644
index 0000000000000000000000000000000000000000..330803092329888d8dc40ef407dc11b12c4e568d
--- /dev/null
+++ b/src/cutecoin/tests/core/test_identities.py
@@ -0,0 +1,45 @@
+import sys
+import unittest
+from unittest import mock
+import asyncio
+import quamash
+import logging
+from PyQt5.QtCore import QLocale
+from cutecoin.core.registry.identities import Identity, IdentitiesRegistry, LocalState, BlockchainState
+from cutecoin.tests import get_application
+
+
+class TestIdentity(unittest.TestCase):
+    def setUp(self):
+        self.qapplication = get_application()
+        QLocale.setDefault(QLocale("en_GB"))
+        self.lp = quamash.QEventLoop(self.qapplication)
+        asyncio.set_event_loop(self.lp)
+
+    def tearDown(self):
+        try:
+            self.lp.close()
+        finally:
+            asyncio.set_event_loop(None)
+
+    def test_identity_from_handled_data(self):
+        community = mock.MagicMock()
+        type(community).currency = mock.PropertyMock(return_value="test_currency")
+
+        identity = Identity("john", "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+                            LocalState.COMPLETED, BlockchainState.VALIDATED)
+        test_instances = {
+            "test_currency": {"7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ": identity}
+        }
+        identities_registry = IdentitiesRegistry(test_instances)
+
+        identity_from_data = identities_registry.from_handled_data("john",
+                                                                    "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ", BlockchainState.VALIDATED,
+                                                                   community)
+        self.assertEqual(identity, identity_from_data)
+
+
+if __name__ == '__main__':
+    logging.basicConfig(stream=sys.stderr)
+    logging.getLogger().setLevel(logging.DEBUG)
+    unittest.main()
diff --git a/src/cutecoin/tests/core/test_identity.py b/src/cutecoin/tests/core/test_identity.py
index 13be206691f3e44c9797208efd9c21b45e7f43f7..7af9db4f18e06d20094dfa5701cdc8427eb9e1e4 100644
--- a/src/cutecoin/tests/core/test_identity.py
+++ b/src/cutecoin/tests/core/test_identity.py
@@ -43,6 +43,23 @@ class TestIdentity(unittest.TestCase):
         finally:
             asyncio.set_event_loop(None)
 
+    def test_identity_certified_by(self):
+        mock = nice_blockchain.get_mock()
+        time.sleep(2)
+        logging.debug(mock.pretend_url)
+        API.reverse_url = pretender_reversed(mock.pretend_url)
+        identity = Identity("john", "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+                            LocalState.COMPLETED, BlockchainState.VALIDATED)
+
+        @asyncio.coroutine
+        def exec_test():
+            certified = yield from identity.certifiers_of(self.identities_registry, self.community)
+            self.assertEqual(len(certified), 1)
+            self.assertEqual(certified[0]['identity'].uid, "doe")
+
+        self.lp.run_until_complete(exec_test())
+        mock.delete_mock()
+
     def test_identity_membership(self):
         mock = nice_blockchain.get_mock()
         time.sleep(2)
diff --git a/src/cutecoin/tests/mocks/bma/nice_blockchain.py b/src/cutecoin/tests/mocks/bma/nice_blockchain.py
index e1f932902f39cac6964ed12a7c8fa5ca14482bcf..f60b6716be3d00fff7896ba096d079f43090b976 100644
--- a/src/cutecoin/tests/mocks/bma/nice_blockchain.py
+++ b/src/cutecoin/tests/mocks/bma/nice_blockchain.py
@@ -4,36 +4,49 @@ from pretenders.client.http import HTTPMock
 from pretenders.common.constants import FOREVER
 
 bma_peering = {
-  "version": 1,
-  "currency": "test_currency",
-  "endpoints": [
-    "BASIC_MERKLED_API localhost 127.0.0.1 50000"
-  ],
-  "status": "UP",
-  "block": "30152-00003E7F9234E7542FCF669B69B0F84FF79CCCD3",
-  "signature": "cXuqZuDfyHvxYAEUkPH1TQ1M+8YNDpj8kiHGYi3LIaMqEdVqwVc4yQYGivjxFMYyngRfxXkyvqBKZA6rKOulCA==",
-  "raw": "Version: 1\nType: Peer\nCurrency: meta_brouzouf\nPublicKey: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nBlock: 30152-00003E7F9234E7542FCF669B69B0F84FF79CCCD3\nEndpoints:\nBASIC_MERKLED_API localhost 127.0.0.1 50000\n",
-  "pubkey": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk"
+    "version": 1,
+    "currency": "test_currency",
+    "endpoints": [
+        "BASIC_MERKLED_API localhost 127.0.0.1 50000"
+    ],
+    "status": "UP",
+    "block": "30152-00003E7F9234E7542FCF669B69B0F84FF79CCCD3",
+    "signature": "cXuqZuDfyHvxYAEUkPH1TQ1M+8YNDpj8kiHGYi3LIaMqEdVqwVc4yQYGivjxFMYyngRfxXkyvqBKZA6rKOulCA==",
+    "raw": "Version: 1\nType: Peer\nCurrency: meta_brouzouf\nPublicKey: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nBlock: 30152-00003E7F9234E7542FCF669B69B0F84FF79CCCD3\nEndpoints:\nBASIC_MERKLED_API localhost 127.0.0.1 50000\n",
+    "pubkey": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk"
 }
 
 bma_lookup_john = {
-  "partial": False,
-  "results": [
-    {
-      "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
-      "uids": [
+    "partial": False,
+    "results": [
         {
-          "uid": "john",
-          "meta": {
-            "timestamp": 1441130831
-          },
-          "self": "ZrHK0cCqrxWReROK0ciiSb45+dRphJa68qFaSjdve8bBdnGAu7+DIu0d+u/fXrNRXuObihOKMBIawaIVPNHqDw==",
-          "others": []
+            "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+            "uids": [
+                {
+                    "uid": "john",
+                    "meta": {
+                        "timestamp": 1441130831
+                    },
+                    "self": "ZrHK0cCqrxWReROK0ciiSb45+dRphJa68qFaSjdve8bBdnGAu7+DIu0d+u/fXrNRXuObihOKMBIawaIVPNHqDw==",
+                    "others": [
+                        {
+              "pubkey": "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
+              "meta": {
+                "block_number": 38580
+              },
+              "uids": [
+                "doe"
+              ],
+              "isMember": True,
+              "wasMember": True,
+              "signature": "4ulycI2MtBu/8bZipy+OsXDCNm9EyUIdZ1HA7hbJ66phKRNvv70Oo2YOF/+VDRJb97z9TqWKgfIQ0NbXU15xDg=="
+            },
+                    ]
+                }
+            ],
+            "signed": []
         }
-      ],
-      "signed": []
-    }
-  ]
+    ]
 }
 
 bma_membership_john = {
@@ -41,52 +54,67 @@ bma_membership_john = {
     "uid": "inso",
     "sigDate": 1441130831,
     "memberships":
-    [
-        {
-
-            "version": "1",
-            "currency": "test_currency",
-            "membership": "IN",
-            "blockNumber": 0,
-            "blockHash": "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"
-        }
-    ]
+        [
+            {
+
+                "version": "1",
+                "currency": "test_currency",
+                "membership": "IN",
+                "blockNumber": 0,
+                "blockHash": "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"
+            }
+        ]
 }
 
 bma_lookup_doe = {
-  "partial": False,
-  "results": [
-    {
-      "pubkey": "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
-      "uids": [
+    "partial": False,
+    "results": [
         {
-          "uid": "doe",
-          "meta": {
-            "timestamp": 1441130831
-          },
-          "self": "cIkHPQQ5+xTb4cKWv85rcYcZT+E3GDtX8B2nCK9Vs12p2Yz4bVaZiMvBBwisAAy2WBOaqHS3ydpXGtADchOICw==",
-          "others": []
+            "pubkey": "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
+            "uids": [
+                {
+                    "uid": "doe",
+                    "meta": {
+                        "timestamp": 1441130831
+                    },
+                    "self": "cIkHPQQ5+xTb4cKWv85rcYcZT+E3GDtX8B2nCK9Vs12p2Yz4bVaZiMvBBwisAAy2WBOaqHS3ydpXGtADchOICw==",
+                    "others": []
+                }
+            ],
+            "signed": []
         }
-      ],
-      "signed": []
-    }
-  ]
+    ]
 }
 
 bma_certifiers_of_john = {
-  "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
-  "uid": "john",
-  "isMember": True,
-  "certifications": [
-  ]
+    "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+    "uid": "john",
+    "isMember": True,
+    "certifications": [
+        {
+          "pubkey": "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
+          "uid": "doe",
+          "isMember": True,
+          "wasMember": True,
+          "cert_time": {
+            "block": 15,
+            "medianTime": 1447693329
+          },
+          "written": {
+            "number": 15,
+            "hash": "0000EC88BBBAA29D530D2B815DEE264DDC9F07F4"
+          },
+          "signature": "oliiPDhniZAGHrIFL66oHR+cqD4aTgXX+20VFLMfNHwdYPeik76hy334zxhoDC4cPODMb9df2nF/EDfCefrNBg=="
+        },
+    ]
 }
 
 bma_certified_by_john = {
-  "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
-  "uid": "john",
-  "isMember": True,
-  "certifications": [
-  ]
+    "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+    "uid": "john",
+    "isMember": True,
+    "certifications": [
+    ]
 }
 
 bma_parameters = {
@@ -108,57 +136,56 @@ bma_parameters = {
 }
 
 bma_blockchain_0 = {
-  "version": 1,
-  "nonce": 10144,
-  "number": 0,
-  "powMin": 3,
-  "time": 1421838980,
-  "medianTime": 1421838980,
-  "membersCount": 4,
-  "monetaryMass": 0,
-  "currency": "test_currency",
-  "issuer": "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
-  "signature": "+78w7251vvRdhoIJ6IWHEiEOLxNrmfQf45Y5sYvPdnAdXkVpO1unMV5YA/G5Vhphyz1dICrbeKCPM5qbFsoWAQ==",
-  "hash": "00063EB6E83F8717CEF1D25B3E2EE308374A14B1",
-  "parameters": "0.1:86400:100:604800:2629800:3:3:2629800:3:11:600:20:144:0.67",
-  "previousHash": None,
-  "previousIssuer": None,
-  "dividend": None,
-  "membersChanges": [],
-  "identities": [
-    "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:Ot3zIp/nsHT3zgJy+2YcXPL6vaM5WFsD+F8w3qnJoBRuBG6lv761zoaExp2iyUnm8fDAyKPpMxRK2kf437QSCw==:1421787800:inso",
-    "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:GZKLgaxJKL+GqxVLePMt8OVLJ6qTLrib5Mr/j2gjiNRY2k485YLB2OlzhBzZVnD3xLs0xi69JUfmLnM54j3aCA==:1421786393:cgeek",
-    "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:th576H89dfymkG7/sH+DAIzjlmIqNEW6zY3ONrGeAml+k3f1ver399kYnEgG5YCaKXnnVM7P0oJHah80BV3mDw==:1421790376:moul",
-    "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:XRmbTYFkPeGVEU2mJzzN4h1oVNDsZ4yyNZlDAfBm9CWhBsZ82QqX9GPHye2hBxxiu4Nz1BHgQiME6B4JcAC8BA==:1421787461:galuel"
-  ],
-  "joiners": [
-    "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:ccJm3F44eLMhQtnQY/7+14SWCDqVTL3Miw65hBVpV+YiUSUknIGhBNN0C0Cf+Pf0/pa1tjucW8Us3z5IklFSDg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787800:inso",
-    "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:1lFIiaR0QX0jibr5zQpXVGzBvMGqcsTRlmHiwGz5HOAZT8PTdVUb5q6YGZ6qAUZjdMjPmhLaiMIpYc47wUnzBA==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421786393:cgeek",
-    "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:ctyAhpTRrAAOhFJukWI8RBr//nqYYdQibVzjOfaCdcWLb3TNFKrNBBothNsq/YrYHr7gKrpoftucf/oxLF8zAg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421790376:moul",
-    "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:uoiGaC5b7kWqtqdPxwatPk9QajZHCNT9rf8/8ud9Rli24z/igcOf0Zr4A6RTAIKWUq9foW39VqJe+Y9R3rhACw==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787461:galuel"
-  ],
-  "actives": [],
-  "leavers": [],
-  "excluded": [],
-  "certifications": [
-    "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:3wmCVW8AbVxRFm2PuLXD9UTCIg93MhUblZJvlYrDldSV4xuA7mZCd8TV4vb/6Bkc0FMQgBdHtpXrQ7dpo20uBA==",
-    "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:7UMQsUjLvuiZKIzOH5rrZDdDi5rXUo69EuQulY1Zm42xpRx/Gt5CkoTcJ/Mu83oElQbcZZTz/lVJ6IS0jzMiCQ==",
-    "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:twWSY9etI82FLEHzhdqIoHsC9ehWCA7DCPiGxDLCWGPO4TG77hwtn3RcC68qoKHCib577JCp+fcKyp2vyI6FDA==",
-    "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:7K5MHkO8ibf5SchmPkRrmsg9owEZZ23uEMJJSQYG7L3PUmAKmmV/0VSjivxXH8gJGQBGsXQoK79x1jsYnj2nAg==",
-    "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:Jua4FcEJFptSE5OoG1/Mgzx4e9jgGnYu7t8g1sqqPujI9hRhLFNXbQXedPS1q1OD5vWivA045gKOq/gnj8opDg==",
-    "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:R/DV4/wYjvBG09QSOGtnxd3bfPFhVjEE5Uy3BsBMVUvjLsgxjf8NgLhYVozcHTRWS43ArxlXKfS5m3+KIPhhAQ==",
-    "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:4hP+ahJK021akL4UxB6c5QLaGJXa9eapd3nfdFQe+Xy87f/XLhj8BCa22XbbOlyGdaZRT3AYzbCL2UD5tI8mCw==",
-    "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:sZTQJr0d/xQnxrIIdSePUJpSTOa8v6IYGXMF2fVDZxQU8vwfzPm2dUKTaF0nU6E9wOYszzkBHaXL85nir+WtCQ==",
-    "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:hDuBkoFhWhR/FgOU1+9SbQGBMIr47xqUzw1ZMERaPQo4aWm0WFbZurG4lvuJZzTyG6RF/gSw4VPvYZFPxWmADg==",
-    "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:79ZVrBehElVZh82fJdR18IJx06GkEVZTbwdHH4zb0S6VaGwdtLh1rvomm4ukBvUc8r/suTweG/SScsJairXNAg==",
-    "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:e/ai9E4G5CFB9Qi329e0ffYpZMgxj8mM4rviqIr2+UESA0UG86OuAAyHO11hYeyolZRiU8I7WdtNE98B1uZuBg==",
-    "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:q4PCneYkcPH8AHEqEvqTtYQWslhlYO2B87aReuOl1uPczn5Q3VkZFAsU48ZTYryeyWp2nxdQojdFYhlAUNchAw=="
-  ],
-  "transactions": [],
-  "raw": "Version: 1\nType: Block\nCurrency: test_currency\nNonce: 10144\nNumber: 0\nPoWMin: 3\nTime: 1421838980\nMedianTime: 1421838980\nIssuer: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nParameters: 0.1:86400:100:604800:2629800:3:3:2629800:3:11:600:20:144:0.67\nMembersCount: 4\nIdentities:\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:Ot3zIp/nsHT3zgJy+2YcXPL6vaM5WFsD+F8w3qnJoBRuBG6lv761zoaExp2iyUnm8fDAyKPpMxRK2kf437QSCw==:1421787800:inso\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:GZKLgaxJKL+GqxVLePMt8OVLJ6qTLrib5Mr/j2gjiNRY2k485YLB2OlzhBzZVnD3xLs0xi69JUfmLnM54j3aCA==:1421786393:cgeek\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:th576H89dfymkG7/sH+DAIzjlmIqNEW6zY3ONrGeAml+k3f1ver399kYnEgG5YCaKXnnVM7P0oJHah80BV3mDw==:1421790376:moul\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:XRmbTYFkPeGVEU2mJzzN4h1oVNDsZ4yyNZlDAfBm9CWhBsZ82QqX9GPHye2hBxxiu4Nz1BHgQiME6B4JcAC8BA==:1421787461:galuel\nJoiners:\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:ccJm3F44eLMhQtnQY/7+14SWCDqVTL3Miw65hBVpV+YiUSUknIGhBNN0C0Cf+Pf0/pa1tjucW8Us3z5IklFSDg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787800:inso\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:1lFIiaR0QX0jibr5zQpXVGzBvMGqcsTRlmHiwGz5HOAZT8PTdVUb5q6YGZ6qAUZjdMjPmhLaiMIpYc47wUnzBA==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421786393:cgeek\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:ctyAhpTRrAAOhFJukWI8RBr//nqYYdQibVzjOfaCdcWLb3TNFKrNBBothNsq/YrYHr7gKrpoftucf/oxLF8zAg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421790376:moul\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:uoiGaC5b7kWqtqdPxwatPk9QajZHCNT9rf8/8ud9Rli24z/igcOf0Zr4A6RTAIKWUq9foW39VqJe+Y9R3rhACw==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787461:galuel\nActives:\nLeavers:\nExcluded:\nCertifications:\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:3wmCVW8AbVxRFm2PuLXD9UTCIg93MhUblZJvlYrDldSV4xuA7mZCd8TV4vb/6Bkc0FMQgBdHtpXrQ7dpo20uBA==\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:7UMQsUjLvuiZKIzOH5rrZDdDi5rXUo69EuQulY1Zm42xpRx/Gt5CkoTcJ/Mu83oElQbcZZTz/lVJ6IS0jzMiCQ==\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:twWSY9etI82FLEHzhdqIoHsC9ehWCA7DCPiGxDLCWGPO4TG77hwtn3RcC68qoKHCib577JCp+fcKyp2vyI6FDA==\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:7K5MHkO8ibf5SchmPkRrmsg9owEZZ23uEMJJSQYG7L3PUmAKmmV/0VSjivxXH8gJGQBGsXQoK79x1jsYnj2nAg==\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:Jua4FcEJFptSE5OoG1/Mgzx4e9jgGnYu7t8g1sqqPujI9hRhLFNXbQXedPS1q1OD5vWivA045gKOq/gnj8opDg==\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:R/DV4/wYjvBG09QSOGtnxd3bfPFhVjEE5Uy3BsBMVUvjLsgxjf8NgLhYVozcHTRWS43ArxlXKfS5m3+KIPhhAQ==\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:4hP+ahJK021akL4UxB6c5QLaGJXa9eapd3nfdFQe+Xy87f/XLhj8BCa22XbbOlyGdaZRT3AYzbCL2UD5tI8mCw==\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:sZTQJr0d/xQnxrIIdSePUJpSTOa8v6IYGXMF2fVDZxQU8vwfzPm2dUKTaF0nU6E9wOYszzkBHaXL85nir+WtCQ==\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:hDuBkoFhWhR/FgOU1+9SbQGBMIr47xqUzw1ZMERaPQo4aWm0WFbZurG4lvuJZzTyG6RF/gSw4VPvYZFPxWmADg==\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:79ZVrBehElVZh82fJdR18IJx06GkEVZTbwdHH4zb0S6VaGwdtLh1rvomm4ukBvUc8r/suTweG/SScsJairXNAg==\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:e/ai9E4G5CFB9Qi329e0ffYpZMgxj8mM4rviqIr2+UESA0UG86OuAAyHO11hYeyolZRiU8I7WdtNE98B1uZuBg==\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:q4PCneYkcPH8AHEqEvqTtYQWslhlYO2B87aReuOl1uPczn5Q3VkZFAsU48ZTYryeyWp2nxdQojdFYhlAUNchAw==\nTransactions:\n"
+    "version": 1,
+    "nonce": 10144,
+    "number": 0,
+    "powMin": 3,
+    "time": 1421838980,
+    "medianTime": 1421838980,
+    "membersCount": 4,
+    "monetaryMass": 0,
+    "currency": "test_currency",
+    "issuer": "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
+    "signature": "+78w7251vvRdhoIJ6IWHEiEOLxNrmfQf45Y5sYvPdnAdXkVpO1unMV5YA/G5Vhphyz1dICrbeKCPM5qbFsoWAQ==",
+    "hash": "00063EB6E83F8717CEF1D25B3E2EE308374A14B1",
+    "parameters": "0.1:86400:100:604800:2629800:3:3:2629800:3:11:600:20:144:0.67",
+    "previousHash": None,
+    "previousIssuer": None,
+    "dividend": None,
+    "membersChanges": [],
+    "identities": [
+        "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:Ot3zIp/nsHT3zgJy+2YcXPL6vaM5WFsD+F8w3qnJoBRuBG6lv761zoaExp2iyUnm8fDAyKPpMxRK2kf437QSCw==:1421787800:inso",
+        "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:GZKLgaxJKL+GqxVLePMt8OVLJ6qTLrib5Mr/j2gjiNRY2k485YLB2OlzhBzZVnD3xLs0xi69JUfmLnM54j3aCA==:1421786393:cgeek",
+        "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:th576H89dfymkG7/sH+DAIzjlmIqNEW6zY3ONrGeAml+k3f1ver399kYnEgG5YCaKXnnVM7P0oJHah80BV3mDw==:1421790376:moul",
+        "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:XRmbTYFkPeGVEU2mJzzN4h1oVNDsZ4yyNZlDAfBm9CWhBsZ82QqX9GPHye2hBxxiu4Nz1BHgQiME6B4JcAC8BA==:1421787461:galuel"
+    ],
+    "joiners": [
+        "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:ccJm3F44eLMhQtnQY/7+14SWCDqVTL3Miw65hBVpV+YiUSUknIGhBNN0C0Cf+Pf0/pa1tjucW8Us3z5IklFSDg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787800:inso",
+        "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:1lFIiaR0QX0jibr5zQpXVGzBvMGqcsTRlmHiwGz5HOAZT8PTdVUb5q6YGZ6qAUZjdMjPmhLaiMIpYc47wUnzBA==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421786393:cgeek",
+        "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:ctyAhpTRrAAOhFJukWI8RBr//nqYYdQibVzjOfaCdcWLb3TNFKrNBBothNsq/YrYHr7gKrpoftucf/oxLF8zAg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421790376:moul",
+        "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:uoiGaC5b7kWqtqdPxwatPk9QajZHCNT9rf8/8ud9Rli24z/igcOf0Zr4A6RTAIKWUq9foW39VqJe+Y9R3rhACw==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787461:galuel"
+    ],
+    "actives": [],
+    "leavers": [],
+    "excluded": [],
+    "certifications": [
+        "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:3wmCVW8AbVxRFm2PuLXD9UTCIg93MhUblZJvlYrDldSV4xuA7mZCd8TV4vb/6Bkc0FMQgBdHtpXrQ7dpo20uBA==",
+        "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:7UMQsUjLvuiZKIzOH5rrZDdDi5rXUo69EuQulY1Zm42xpRx/Gt5CkoTcJ/Mu83oElQbcZZTz/lVJ6IS0jzMiCQ==",
+        "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:twWSY9etI82FLEHzhdqIoHsC9ehWCA7DCPiGxDLCWGPO4TG77hwtn3RcC68qoKHCib577JCp+fcKyp2vyI6FDA==",
+        "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:7K5MHkO8ibf5SchmPkRrmsg9owEZZ23uEMJJSQYG7L3PUmAKmmV/0VSjivxXH8gJGQBGsXQoK79x1jsYnj2nAg==",
+        "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:Jua4FcEJFptSE5OoG1/Mgzx4e9jgGnYu7t8g1sqqPujI9hRhLFNXbQXedPS1q1OD5vWivA045gKOq/gnj8opDg==",
+        "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:R/DV4/wYjvBG09QSOGtnxd3bfPFhVjEE5Uy3BsBMVUvjLsgxjf8NgLhYVozcHTRWS43ArxlXKfS5m3+KIPhhAQ==",
+        "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:4hP+ahJK021akL4UxB6c5QLaGJXa9eapd3nfdFQe+Xy87f/XLhj8BCa22XbbOlyGdaZRT3AYzbCL2UD5tI8mCw==",
+        "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:sZTQJr0d/xQnxrIIdSePUJpSTOa8v6IYGXMF2fVDZxQU8vwfzPm2dUKTaF0nU6E9wOYszzkBHaXL85nir+WtCQ==",
+        "37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:hDuBkoFhWhR/FgOU1+9SbQGBMIr47xqUzw1ZMERaPQo4aWm0WFbZurG4lvuJZzTyG6RF/gSw4VPvYZFPxWmADg==",
+        "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:79ZVrBehElVZh82fJdR18IJx06GkEVZTbwdHH4zb0S6VaGwdtLh1rvomm4ukBvUc8r/suTweG/SScsJairXNAg==",
+        "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:e/ai9E4G5CFB9Qi329e0ffYpZMgxj8mM4rviqIr2+UESA0UG86OuAAyHO11hYeyolZRiU8I7WdtNE98B1uZuBg==",
+        "BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:q4PCneYkcPH8AHEqEvqTtYQWslhlYO2B87aReuOl1uPczn5Q3VkZFAsU48ZTYryeyWp2nxdQojdFYhlAUNchAw=="
+    ],
+    "transactions": [],
+    "raw": "Version: 1\nType: Block\nCurrency: test_currency\nNonce: 10144\nNumber: 0\nPoWMin: 3\nTime: 1421838980\nMedianTime: 1421838980\nIssuer: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nParameters: 0.1:86400:100:604800:2629800:3:3:2629800:3:11:600:20:144:0.67\nMembersCount: 4\nIdentities:\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:Ot3zIp/nsHT3zgJy+2YcXPL6vaM5WFsD+F8w3qnJoBRuBG6lv761zoaExp2iyUnm8fDAyKPpMxRK2kf437QSCw==:1421787800:inso\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:GZKLgaxJKL+GqxVLePMt8OVLJ6qTLrib5Mr/j2gjiNRY2k485YLB2OlzhBzZVnD3xLs0xi69JUfmLnM54j3aCA==:1421786393:cgeek\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:th576H89dfymkG7/sH+DAIzjlmIqNEW6zY3ONrGeAml+k3f1ver399kYnEgG5YCaKXnnVM7P0oJHah80BV3mDw==:1421790376:moul\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:XRmbTYFkPeGVEU2mJzzN4h1oVNDsZ4yyNZlDAfBm9CWhBsZ82QqX9GPHye2hBxxiu4Nz1BHgQiME6B4JcAC8BA==:1421787461:galuel\nJoiners:\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:ccJm3F44eLMhQtnQY/7+14SWCDqVTL3Miw65hBVpV+YiUSUknIGhBNN0C0Cf+Pf0/pa1tjucW8Us3z5IklFSDg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787800:inso\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:1lFIiaR0QX0jibr5zQpXVGzBvMGqcsTRlmHiwGz5HOAZT8PTdVUb5q6YGZ6qAUZjdMjPmhLaiMIpYc47wUnzBA==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421786393:cgeek\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:ctyAhpTRrAAOhFJukWI8RBr//nqYYdQibVzjOfaCdcWLb3TNFKrNBBothNsq/YrYHr7gKrpoftucf/oxLF8zAg==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421790376:moul\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:uoiGaC5b7kWqtqdPxwatPk9QajZHCNT9rf8/8ud9Rli24z/igcOf0Zr4A6RTAIKWUq9foW39VqJe+Y9R3rhACw==:0:DA39A3EE5E6B4B0D3255BFEF95601890AFD80709:1421787461:galuel\nActives:\nLeavers:\nExcluded:\nCertifications:\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:3wmCVW8AbVxRFm2PuLXD9UTCIg93MhUblZJvlYrDldSV4xuA7mZCd8TV4vb/6Bkc0FMQgBdHtpXrQ7dpo20uBA==\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:7UMQsUjLvuiZKIzOH5rrZDdDi5rXUo69EuQulY1Zm42xpRx/Gt5CkoTcJ/Mu83oElQbcZZTz/lVJ6IS0jzMiCQ==\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:0:twWSY9etI82FLEHzhdqIoHsC9ehWCA7DCPiGxDLCWGPO4TG77hwtn3RcC68qoKHCib577JCp+fcKyp2vyI6FDA==\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:7K5MHkO8ibf5SchmPkRrmsg9owEZZ23uEMJJSQYG7L3PUmAKmmV/0VSjivxXH8gJGQBGsXQoK79x1jsYnj2nAg==\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:Jua4FcEJFptSE5OoG1/Mgzx4e9jgGnYu7t8g1sqqPujI9hRhLFNXbQXedPS1q1OD5vWivA045gKOq/gnj8opDg==\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:0:R/DV4/wYjvBG09QSOGtnxd3bfPFhVjEE5Uy3BsBMVUvjLsgxjf8NgLhYVozcHTRWS43ArxlXKfS5m3+KIPhhAQ==\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:4hP+ahJK021akL4UxB6c5QLaGJXa9eapd3nfdFQe+Xy87f/XLhj8BCa22XbbOlyGdaZRT3AYzbCL2UD5tI8mCw==\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:sZTQJr0d/xQnxrIIdSePUJpSTOa8v6IYGXMF2fVDZxQU8vwfzPm2dUKTaF0nU6E9wOYszzkBHaXL85nir+WtCQ==\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:BMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:0:hDuBkoFhWhR/FgOU1+9SbQGBMIr47xqUzw1ZMERaPQo4aWm0WFbZurG4lvuJZzTyG6RF/gSw4VPvYZFPxWmADg==\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:79ZVrBehElVZh82fJdR18IJx06GkEVZTbwdHH4zb0S6VaGwdtLh1rvomm4ukBvUc8r/suTweG/SScsJairXNAg==\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:e/ai9E4G5CFB9Qi329e0ffYpZMgxj8mM4rviqIr2+UESA0UG86OuAAyHO11hYeyolZRiU8I7WdtNE98B1uZuBg==\nBMAVuMDcGhYAV4wA27DL1VXX2ZARZGJYaMwpf7DJFMYH:37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:0:q4PCneYkcPH8AHEqEvqTtYQWslhlYO2B87aReuOl1uPczn5Q3VkZFAsU48ZTYryeyWp2nxdQojdFYhlAUNchAw==\nTransactions:\n"
 }
 
-
 bma_blockchain_current = {
     "version": 1,
     "nonce": 6909,
@@ -176,14 +203,14 @@ bma_blockchain_current = {
     "previousHash": "00003BDA844D77EEE7CF32A6C3C87F2ACBFCFCBB",
     "previousIssuer": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
     "dividend": None,
-    "membersChanges": [ ],
-    "identities": [ ],
-    "joiners": [ ],
-    "actives": [ ],
-    "leavers": [ ],
-    "excluded": [ ],
-    "certifications": [ ],
-    "transactions": [ ],
+    "membersChanges": [],
+    "identities": [],
+    "joiners": [],
+    "actives": [],
+    "leavers": [],
+    "excluded": [],
+    "certifications": [],
+    "transactions": [],
     "raw": "Version: 1\nType: Block\nCurrency: meta_brouzouf\nNonce: 6909\nNumber: 30898\nPoWMin: 4\nTime: 1441618206\nMedianTime: 1441614759\nIssuer: EPs9qX7HmCDy6ptUoMLpTzbh9toHu4au488pBTU9DN6y\nPreviousHash: 00003BDA844D77EEE7CF32A6C3C87F2ACBFCFCBB\nPreviousIssuer: HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nMembersCount: 20\nIdentities:\nJoiners:\nActives:\nLeavers:\nExcluded:\nCertifications:\nTransactions:\n"
 }
 
@@ -192,257 +219,257 @@ bma_txhistory_john = {
     "currency": "test_currency",
     "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
     "history":
-    {
-        "sent":
-    [
-    {
-        "version": 1,
-        "issuers":
-        [
-            "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ"
-        ],
-        "inputs":
-        [
-            "0:D:1:000A8362AE0C1B8045569CE07735DE4C18E81586:8"
-        ],
-        "outputs":
-        [
-            "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ:2",
-            "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn:6"
-        ],
-        "comment": "",
-        "signatures":
-        [
-            "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
-        ],
-        "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
-        "block_number": 2,
-        "time": 1421932545
-    },
-],
-"received":
-    [
         {
-            "version": 1,
-            "issuers":
-            [
-                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn"
-            ],
-            "inputs":
-            [
-                "0:D:1:000A8362AE0C1B8045569CE07735DE4C18E81586:8"
-            ],
-            "outputs":
-            [
-                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn:2",
-                "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ:20"
-            ],
-            "comment": "",
-            "signatures":
-            [
-                "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
-            ],
-            "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
-            "block_number": 2,
-            "time": 1421932545
-        },
-        {
-            "version": 1,
-            "issuers":
-            [
-                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn"
-            ],
-            "inputs":
-            [
-                "0:D:1:000A8362AE0C1B8045569CE07735DE4C18E81586:8"
-            ],
-            "outputs":
-            [
-                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn:5",
-                "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ:40"
-            ],
-            "comment": "",
-            "signatures":
-            [
-                "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
-            ],
-            "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
-            "block_number": 12,
-            "time": 1421932454
+            "sent":
+                [
+                    {
+                        "version": 1,
+                        "issuers":
+                            [
+                                "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ"
+                            ],
+                        "inputs":
+                            [
+                                "0:D:1:000A8362AE0C1B8045569CE07735DE4C18E81586:8"
+                            ],
+                        "outputs":
+                            [
+                                "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ:2",
+                                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn:6"
+                            ],
+                        "comment": "",
+                        "signatures":
+                            [
+                                "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
+                            ],
+                        "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
+                        "block_number": 2,
+                        "time": 1421932545
+                    },
+                ],
+            "received":
+                [
+                    {
+                        "version": 1,
+                        "issuers":
+                            [
+                                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn"
+                            ],
+                        "inputs":
+                            [
+                                "0:D:1:000A8362AE0C1B8045569CE07735DE4C18E81586:8"
+                            ],
+                        "outputs":
+                            [
+                                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn:2",
+                                "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ:20"
+                            ],
+                        "comment": "",
+                        "signatures":
+                            [
+                                "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
+                            ],
+                        "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
+                        "block_number": 2,
+                        "time": 1421932545
+                    },
+                    {
+                        "version": 1,
+                        "issuers":
+                            [
+                                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn"
+                            ],
+                        "inputs":
+                            [
+                                "0:D:1:000A8362AE0C1B8045569CE07735DE4C18E81586:8"
+                            ],
+                        "outputs":
+                            [
+                                "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn:5",
+                                "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ:40"
+                            ],
+                        "comment": "",
+                        "signatures":
+                            [
+                                "1Mn8q3K7N+R4GZEpAUm+XSyty1Uu+BuOy5t7BIRqgZcKqiaxfhAUfDBOcuk2i4TJy1oA5Rntby8hDN+cUCpvDg=="
+                            ],
+                        "hash": "5FB3CB80A982E2BDFBB3EA94673A74763F58CB2A",
+                        "block_number": 12,
+                        "time": 1421932454
+                    }
+                ],
+            "sending": [],
+            "receiving": []
         }
-        ],
-        "sending": [ ],
-        "receiving": [ ]
-    }
 }
 
 bma_udhistory_john = {
     "currency": "test_currency",
     "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
     "history":
-{
-    "history":
-    [
-    {
-        "block_number": 2,
-        "consumed": False,
-        "time": 1435749971,
-        "amount": 5
-    },
-    {
-
-        "block_number": 10,
-        "consumed": False,
-        "time": 1435836032,
-        "amount": 10
-
-    }
-    ]
-}}
+        {
+            "history":
+                [
+                    {
+                        "block_number": 2,
+                        "consumed": False,
+                        "time": 1435749971,
+                        "amount": 5
+                    },
+                    {
+
+                        "block_number": 10,
+                        "consumed": False,
+                        "time": 1435836032,
+                        "amount": 10
+
+                    }
+                ]
+        }}
 
 bma_txsources_john = {
     "currency": "test_currency",
     "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
     "sources":
-[
-{
-    "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
-    "type": "D",
-    "number": 2,
-    "fingerprint": "4A317E3D676E9800E1E92AA2A7255BCEEFF31185",
-    "amount": 7
-},
-    {
-    "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
-    "type": "D",
-    "number": 4,
-    "fingerprint": "4A317E3D676E9800E1E92AA2A7255BCEEFF31185",
-    "amount": 9
-}
-]}
+        [
+            {
+                "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+                "type": "D",
+                "number": 2,
+                "fingerprint": "4A317E3D676E9800E1E92AA2A7255BCEEFF31185",
+                "amount": 7
+            },
+            {
+                "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
+                "type": "D",
+                "number": 4,
+                "fingerprint": "4A317E3D676E9800E1E92AA2A7255BCEEFF31185",
+                "amount": 9
+            }
+        ]}
 
 bma_with_ud = {
     "result":
-    {
-        "blocks": []
-    }
+        {
+            "blocks": []
+        }
 }
 
 
 def get_mock():
     mock = HTTPMock('127.0.0.1', 50000)
 
-    mock.when('GET /network/peering')\
+    mock.when('GET /network/peering') \
         .reply(body=bytes(json.dumps(bma_peering), "utf-8"),
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/parameters')\
-            .reply(body=bytes(json.dumps(bma_parameters), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/with/[UD|ud]')\
-            .reply(body=bytes(json.dumps(bma_with_ud), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/current')\
-            .reply(body=bytes(json.dumps(bma_blockchain_current), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/block/0')\
-            .reply(body=bytes(json.dumps(bma_blockchain_0), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/block/15')\
-            .reply(body=bytes(json.dumps(bma_blockchain_current), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /tx/history/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ/blocks/0/99')\
-            .reply(body=bytes(json.dumps(bma_txhistory_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /tx/sources/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')\
-            .reply(body=bytes(json.dumps(bma_txsources_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /ud/history/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')\
-            .reply(body=bytes(json.dumps(bma_udhistory_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/certifiers-of/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')\
-            .reply(body=bytes(json.dumps(bma_certifiers_of_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/certified-by/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')\
-            .reply(body=bytes(json.dumps(bma_certified_by_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/lookup/john')\
-            .reply(body=bytes(json.dumps(bma_lookup_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/lookup/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')\
-            .reply(body=bytes(json.dumps(bma_lookup_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/lookup/doe')\
-            .reply(body=bytes(json.dumps(bma_lookup_doe), "utf-8"),
-                status=200,
-                times=1,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/lookup/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')\
-            .reply(body=bytes(json.dumps(bma_lookup_doe), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/memberships/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')\
-            .reply(body=bytes(json.dumps(bma_membership_john), "utf-8"),
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /wot/certifiers-of/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')\
-            .reply(body=b"No member matching this pubkey or uid",
-                status=404,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('GET /blockchain/memberships/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')\
-            .reply(body=b"No member matching this pubkey or uid",
-                status=404,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
-
-    mock.when('POST /tx/process')\
-            .reply(body=b"",
-                status=200,
-                times=FOREVER,
-                headers={'Content-Type': 'application/json'})
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/parameters') \
+        .reply(body=bytes(json.dumps(bma_parameters), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/with/[UD|ud]') \
+        .reply(body=bytes(json.dumps(bma_with_ud), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/current') \
+        .reply(body=bytes(json.dumps(bma_blockchain_current), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/block/0') \
+        .reply(body=bytes(json.dumps(bma_blockchain_0), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/block/15') \
+        .reply(body=bytes(json.dumps(bma_blockchain_current), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /tx/history/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ/blocks/0/99') \
+        .reply(body=bytes(json.dumps(bma_txhistory_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /tx/sources/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ') \
+        .reply(body=bytes(json.dumps(bma_txsources_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /ud/history/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ') \
+        .reply(body=bytes(json.dumps(bma_udhistory_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/certifiers-of/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ') \
+        .reply(body=bytes(json.dumps(bma_certifiers_of_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/certified-by/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ') \
+        .reply(body=bytes(json.dumps(bma_certified_by_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/lookup/john') \
+        .reply(body=bytes(json.dumps(bma_lookup_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/lookup/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ') \
+        .reply(body=bytes(json.dumps(bma_lookup_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/lookup/doe') \
+        .reply(body=bytes(json.dumps(bma_lookup_doe), "utf-8"),
+               status=200,
+               times=1,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/lookup/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn') \
+        .reply(body=bytes(json.dumps(bma_lookup_doe), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/memberships/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ') \
+        .reply(body=bytes(json.dumps(bma_membership_john), "utf-8"),
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /wot/certifiers-of/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn') \
+        .reply(body=b"No member matching this pubkey or uid",
+               status=404,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('GET /blockchain/memberships/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn') \
+        .reply(body=b"No member matching this pubkey or uid",
+               status=404,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
+
+    mock.when('POST /tx/process') \
+        .reply(body=b"",
+               status=200,
+               times=FOREVER,
+               headers={'Content-Type': 'application/json'})
 
     return mock