diff --git a/examples/create_public_key.py b/examples/create_public_key.py
index 8b1fee8923c27aca1fdd37af1f482671f0eb0139..4283a847ae386196f57d075065aecc7d9beaffea 100644
--- a/examples/create_public_key.py
+++ b/examples/create_public_key.py
@@ -31,7 +31,7 @@ def create_public_key():
     key = SigningKey.from_credentials(salt, password)
 
     # Display your public key
-    print("Public key for your credentials: %s" % key.pubkey)
+    print(f"Public key for your credentials: {key.pubkey}")
 
 
 if __name__ == "__main__":
diff --git a/examples/listen_ws2p.py b/examples/listen_ws2p.py
index b4bf30160af1798276d06088bca4750e01a19464..e2f0135a37827901b2d2827936b699a754d389ed 100644
--- a/examples/listen_ws2p.py
+++ b/examples/listen_ws2p.py
@@ -70,11 +70,11 @@ def listen_ws2p():
         # HANDSHAKE #######################################################
         try:
             # Resolve handshake
-            print("Handshake...")
+            print("Handshake…")
             handshake(ws, signing_key, CURRENCY)
         except jsonschema.ValidationError as exception:
             print(exception.message)
-            print("HANDSHAKE FAILED !")
+            print("HANDSHAKE FAILED!")
             return
 
         print("Handshake ok")
@@ -83,7 +83,7 @@ def listen_ws2p():
             loop = True
             # Iterate on each message received...
             while loop:
-                print("Waiting message, press CTRL-C to stop...")
+                print("Waiting message, press CTRL-C to stop…")
                 # Wait and capture next message
                 data = ws.receive_json()
                 print("Message received:")
diff --git a/examples/load_cleartext_ascii_armor_message.py b/examples/load_cleartext_ascii_armor_message.py
index 65d6f9a449c088ad58c9e8d9a8003169daec3409..0e1aafd8fa56e4cc0d56cb53ef6cf8c0b9965a5a 100644
--- a/examples/load_cleartext_ascii_armor_message.py
+++ b/examples/load_cleartext_ascii_armor_message.py
@@ -30,11 +30,7 @@ def load_cleartext_ascii_armor_message():
     with open(CLEARTEXT_AA_MESSAGE_PATH) as file_handler:
         ascii_armor_block = file_handler.read()
 
-    print(
-        "Cleartext Ascii Armor Message loaded from file ./{}".format(
-            CLEARTEXT_AA_MESSAGE_PATH
-        )
-    )
+    print(f"Cleartext Ascii Armor Message loaded from file {CLEARTEXT_AA_MESSAGE_PATH}")
 
     result = AsciiArmor.parse(ascii_armor_block, None, [pubkeyBase58])
     print(
diff --git a/examples/load_encrypted_ascii_armor_message.py b/examples/load_encrypted_ascii_armor_message.py
index fbf2eeb3bafa21feaa2cfa4c9f92b232fee50332..b1a11597c5aa40f2a449b915e5031468c2e78000 100644
--- a/examples/load_encrypted_ascii_armor_message.py
+++ b/examples/load_encrypted_ascii_armor_message.py
@@ -41,12 +41,7 @@ def load_encrypted_ascii_armor_message():
     with open(ENCRYPTED_AA_MESSAGE_PATH) as file_handler:
         ascii_armor_block = file_handler.read()
 
-    print(
-        "Encrypted Ascii Armor Message loaded from file {}".format(
-            ENCRYPTED_AA_MESSAGE_PATH
-        )
-    )
-
+    print(f"Encrypted Ascii Armor Message loaded from file {ENCRYPTED_AA_MESSAGE_PATH}")
     print(AsciiArmor.parse(ascii_armor_block, signing_key, [pubkeyBase58]))
 
 
diff --git a/examples/request_available_nodes.py b/examples/request_available_nodes.py
index 8952e0302a9fd7064cb3b385d6ea5afbc999ed23..0d908c2cd5ed94f98db04b77896f1b2d1051d3c9 100644
--- a/examples/request_available_nodes.py
+++ b/examples/request_available_nodes.py
@@ -28,9 +28,6 @@ BMAS_ENDPOINT = "BMAS g1-test.duniter.org 443"
 
 
 def request_available_nodes():
-    """
-    Main code
-    """
     # Create Client from endpoint string in Duniter format
     client = Client(BMAS_ENDPOINT)
 
diff --git a/examples/request_data_async.py b/examples/request_data_async.py
index 63c277923292b6c10c750c89cf6961fd28212da9..b5c18ca7a3ec89009c3ecaa67c94bc06bb1e5d48 100644
--- a/examples/request_data_async.py
+++ b/examples/request_data_async.py
@@ -40,13 +40,9 @@ async def coroutine(function, *args, **kwargs):
 async def request_data_async():
     """
     Main code (asynchronous requests)
-
-    You can send one millions request with aiohttp :
-
+    You can send one millions request with aiohttp:
     https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html
-
-    But don't do that on one server, it's DDOS !
-
+    But don't do that on one server, it's DDOS!
     """
     # Create Client from endpoint string in Duniter format
     client = Client(BMAS_ENDPOINT)
diff --git a/examples/request_data_elasticsearch.py b/examples/request_data_elasticsearch.py
index 17e8ccc904147fe26a624568612920aea94e4589..5a9f254e4d00effa535412ec83ff14a8cef139e5 100644
--- a/examples/request_data_elasticsearch.py
+++ b/examples/request_data_elasticsearch.py
@@ -54,10 +54,11 @@ def request_data_elasticsearch():
 
     # prompt entry
     pubkey = input("\nEnter a public key to get the user profile: ")
+    pubkey = pubkey.strip(" \n")
 
     # Get the profil of a public key (direct REST GET request)
     print(f"\nGET user/profile/{pubkey}/_source:")
-    response = client.get("user/profile/{}/_source".format(pubkey.strip(" \n")))
+    response = client.get(f"user/profile/{pubkey}/_source")
     print(response)
 
 
diff --git a/examples/request_web_socket_block.py b/examples/request_web_socket_block.py
index 0c4009f8887948013b215b243266d88831adc507..928e83439ca722178bd488344bf968b4f2c7ef96 100644
--- a/examples/request_web_socket_block.py
+++ b/examples/request_web_socket_block.py
@@ -47,7 +47,7 @@ def request_web_socket_block():
         loop = True
         # Iterate on each message received...
         while loop:
-            print("Waiting message...")
+            print("Waiting message…")
             # Wait and capture next message
             data = ws.receive_json()
             jsonschema.validate(data, bma.ws.WS_BLOCK_SCHEMA)
diff --git a/examples/request_ws2p.py b/examples/request_ws2p.py
index 28280e343140620f7ccaf9b09e7128e8f4102bab..6e32d688a92d3c4e4ec4b048ff7a5a5e094e455d 100644
--- a/examples/request_ws2p.py
+++ b/examples/request_ws2p.py
@@ -114,7 +114,7 @@ def request_ws2p():
             handshake(ws, signing_key, CURRENCY)
         except ValidationError as exception:
             print(exception.message)
-            print("HANDSHAKE FAILED !")
+            print("HANDSHAKE FAILED!")
             return
 
         # Send ws2p request
diff --git a/examples/save_and_load_private_key_file.py b/examples/save_and_load_private_key_file.py
index f443922255ae18d8d5b4fa934adb9bb8f81b1a9b..4584f1ea985b796c51d83efdbe299fac05820973 100644
--- a/examples/save_and_load_private_key_file.py
+++ b/examples/save_and_load_private_key_file.py
@@ -68,8 +68,7 @@ def save_and_load_private_key_file():
 
     # check public key from file
     print(
-        "Public key %s loaded from file %s"
-        % (loaded_signer.pubkey, PRIVATE_KEYS_FILE_PATH)
+        f"Public key {loaded_signer.pubkey} loaded from file {PRIVATE_KEYS_FILE_PATH}"
     )
 
 
diff --git a/examples/save_and_load_private_key_file_ewif.py b/examples/save_and_load_private_key_file_ewif.py
index 5f2b3d55eaf713955a416c4f9b9e7dfdfbff6b1b..1e8bc49735b8cd84c60884fd48969f27d5dc5d30 100644
--- a/examples/save_and_load_private_key_file_ewif.py
+++ b/examples/save_and_load_private_key_file_ewif.py
@@ -63,8 +63,7 @@ def save_and_load_private_key_file_ewif():
 
     # document saved
     print(
-        "Private key for public key %s saved in %s"
-        % (signer.pubkey, PRIVATE_KEY_FILE_PATH)
+        f"Private key for public key {signer.pubkey} saved in {PRIVATE_KEY_FILE_PATH}"
     )
 
     try:
@@ -75,8 +74,7 @@ def save_and_load_private_key_file_ewif():
 
         # check public key from file
         print(
-            "Public key %s loaded from file %s"
-            % (loaded_signer.pubkey, PRIVATE_KEY_FILE_PATH)
+            f"Public key {loaded_signer.pubkey} loaded from file {PRIVATE_KEY_FILE_PATH}"
         )
 
     except OSError as error:
diff --git a/examples/save_and_load_private_key_file_pubsec.py b/examples/save_and_load_private_key_file_pubsec.py
index 8a11df657034924e37914966e11eac1e8a712f9c..98dd59e29651748aa803a0663db71a85130a748e 100644
--- a/examples/save_and_load_private_key_file_pubsec.py
+++ b/examples/save_and_load_private_key_file_pubsec.py
@@ -60,8 +60,7 @@ def save_and_load_private_key_file_pubsec():
 
     # document saved
     print(
-        "Private key for public key %s saved in %s"
-        % (signer.pubkey, PRIVATE_KEY_FILE_PATH)
+        f"Private key for public key {signer.pubkey} saved in {PRIVATE_KEY_FILE_PATH}"
     )
 
     try:
@@ -70,8 +69,7 @@ def save_and_load_private_key_file_pubsec():
 
         # check public key from file
         print(
-            "Public key %s loaded from file %s"
-            % (loaded_signer.pubkey, PRIVATE_KEY_FILE_PATH)
+            f"Public key {loaded_signer.pubkey} loaded from file {PRIVATE_KEY_FILE_PATH}"
         )
 
     except OSError as error:
diff --git a/examples/save_and_load_private_key_file_wif.py b/examples/save_and_load_private_key_file_wif.py
index c3e2147ebe27c0c11058d9d3ed06b4199cda33c8..30a0cd8f227baa635135545b9220a06cc8b4e630 100644
--- a/examples/save_and_load_private_key_file_wif.py
+++ b/examples/save_and_load_private_key_file_wif.py
@@ -60,8 +60,7 @@ def save_and_load_private_key_file_wif():
 
     # document saved
     print(
-        "Private key for public key %s saved in %s"
-        % (signer.pubkey, PRIVATE_KEY_FILE_PATH)
+        f"Private key for public key {signer.pubkey} saved in {PRIVATE_KEY_FILE_PATH}"
     )
 
     try:
@@ -72,8 +71,7 @@ def save_and_load_private_key_file_wif():
 
         # check public key from file
         print(
-            "Public key %s loaded from file %s"
-            % (loaded_signer.pubkey, PRIVATE_KEY_FILE_PATH)
+            f"Public key {loaded_signer.pubkey} loaded from file {PRIVATE_KEY_FILE_PATH}"
         )
 
     except OSError as error:
diff --git a/examples/save_binary_encrypted_message.py b/examples/save_binary_encrypted_message.py
index a5159ab5c64919f16d570a69eb9bcbdb328362c4..a1cc4b20e8bdc26baa80b0d6e71a6890cc6b774e 100644
--- a/examples/save_binary_encrypted_message.py
+++ b/examples/save_binary_encrypted_message.py
@@ -37,7 +37,7 @@ def save_binary_encrypted_message():
     with open(ENCRYPTED_MESSAGE_FILENAME, "wb") as file_handler:
         file_handler.write(encrypted_message)
 
-    print(f"Encrypted message saved in file ./{ENCRYPTED_MESSAGE_FILENAME}")
+    print(f"Encrypted message saved in file {ENCRYPTED_MESSAGE_FILENAME}")
 
 
 if __name__ == "__main__":
diff --git a/examples/save_binary_signed_message.py b/examples/save_binary_signed_message.py
index ae7b5020729d8f61dd6df0c6f369cc2802ca0074..f1f708eaf7b7a2076963ecd3a5a3b9c4b5e1829f 100644
--- a/examples/save_binary_signed_message.py
+++ b/examples/save_binary_signed_message.py
@@ -37,7 +37,7 @@ def save_binary_signed_message():
     key = SigningKey.from_credentials(salt, password)
 
     # Display your public key
-    print("Public key for your credentials: %s" % key.pubkey)
+    print(f"Public key for your credentials: {key.pubkey}")
 
     message = input("Enter your message: ")
 
@@ -55,7 +55,7 @@ def save_binary_signed_message():
     with open(SIGNED_MESSAGE_FILENAME, "wb") as file_handler:
         file_handler.write(signed_message)
 
-    print(f"Signed message saved in file ./{SIGNED_MESSAGE_FILENAME}")
+    print(f"Signed message saved in file {SIGNED_MESSAGE_FILENAME}")
 
 
 if __name__ == "__main__":
diff --git a/examples/save_cleartext_ascii_armor_message.py b/examples/save_cleartext_ascii_armor_message.py
index 8a60fcbdc5dca3210a15f220b9605f75fbde98e9..0a07351bb1954d227398228e1f84a16bb72bdfef 100644
--- a/examples/save_cleartext_ascii_armor_message.py
+++ b/examples/save_cleartext_ascii_armor_message.py
@@ -42,7 +42,7 @@ def save_cleartext_ascii_armor_message():
 
     print(f"Message signed by puplic key : {signing_key.pubkey}")
 
-    comment = f"generated by Duniterpy {__version__}"
+    comment = f"Generated by DuniterPy {__version__}"
     # Dash escape the message and sign it
     aa_cleartext_message = AsciiArmor.create(
         message, None, [signing_key], None, signatures_comment=comment
@@ -52,11 +52,7 @@ def save_cleartext_ascii_armor_message():
     with open(CLEARTEXT_AA_MESSAGE_PATH, "w") as file_handler:
         file_handler.write(aa_cleartext_message)
 
-    print(
-        "Cleartext Ascii Armor Message saved in file ./{}".format(
-            CLEARTEXT_AA_MESSAGE_PATH
-        )
-    )
+    print(f"Cleartext Ascii Armor Message saved in file {CLEARTEXT_AA_MESSAGE_PATH}")
 
 
 if __name__ == "__main__":
diff --git a/examples/save_encrypted_ascii_armor_message.py b/examples/save_encrypted_ascii_armor_message.py
index e055fc8637ee2cbf101b078bf9be9a2e8c9d21f3..cd417934cc78136ffe55b6950c85fb183a310864 100644
--- a/examples/save_encrypted_ascii_armor_message.py
+++ b/examples/save_encrypted_ascii_armor_message.py
@@ -41,9 +41,9 @@ def save_encrypted_ascii_armor_message():
     # Enter the message
     message = input("Enter your message: ")
 
-    print(f"Message signed by puplic key : {signing_key.pubkey}")
+    print(f"Message signed by puplic key: {signing_key.pubkey}")
 
-    comment = f"generated by Duniterpy {__version__}"
+    comment = f"Generated by DuniterPy {__version__}"
     # Encrypt the message, only the recipient secret key will be able to decrypt the message
     encrypted_message = AsciiArmor.create(
         message,
@@ -57,11 +57,7 @@ def save_encrypted_ascii_armor_message():
     with open(ENCRYPTED_AA_MESSAGE_PATH, "w") as file_handler:
         file_handler.write(encrypted_message)
 
-    print(
-        "Encrypted Ascii Armor Message saved in file {}".format(
-            ENCRYPTED_AA_MESSAGE_PATH
-        )
-    )
+    print(f"Encrypted Ascii Armor Message saved in file {ENCRYPTED_AA_MESSAGE_PATH}")
 
 
 if __name__ == "__main__":
diff --git a/examples/save_revoke_document.py b/examples/save_revoke_document.py
index b66773b821f3b047eb0c520946a9c25d43801cab..22b4fcb1117116402d6c3a006b9d00e9d0c7ca9a 100644
--- a/examples/save_revoke_document.py
+++ b/examples/save_revoke_document.py
@@ -134,7 +134,7 @@ def save_revoke_document():
         fp.write(revocation_signed_raw_document)
 
     # document saved
-    print("Revocation document saved in %s" % REVOCATION_DOCUMENT_FILE_PATH)
+    print(f"Revocation document saved in {REVOCATION_DOCUMENT_FILE_PATH}")
 
 
 if __name__ == "__main__":
diff --git a/examples/send_transaction.py b/examples/send_transaction.py
index e9c8b53c4c6c840f846381d098003d5bf86a7239..e29d230f16184bb2515bbe6ca0bf02f1e5045d1d 100644
--- a/examples/send_transaction.py
+++ b/examples/send_transaction.py
@@ -135,7 +135,7 @@ def send_transaction():
     response = client(bma.tx.sources, pubkey_from)
 
     if len(response["sources"]) == 0:
-        print("no sources found for account %s" % pubkey_to)
+        print(f"no sources found for account {pubkey_to}")
         return
 
     # get the first source