diff --git a/dap_chain_node_cli.c b/dap_chain_node_cli.c
index d2e0f1776a17aedceaa7d619f8239311b25c8e71..f9c86610eb17007d12be478f46cddb7ee04113db 100755
--- a/dap_chain_node_cli.c
+++ b/dap_chain_node_cli.c
@@ -783,7 +783,7 @@ int dap_chain_node_cli_init(dap_config_t * g_config)
             );
 
     dap_chain_node_cli_cmd_item_create("node", com_node, "Work with node",
-            "node add  -net <net name> -addr {<node address> | -alias <node alias>} -cell <cell id>  {-ipv4 <ipv4 external address> | -ipv6 <ipv6 external address>}\n\n"
+            "node add  -net <net name> -addr {<node address> | -alias <node alias>} {-port <port>} -cell <cell id>  {-ipv4 <ipv4 external address> | -ipv6 <ipv6 external address>}\n\n"
                     "node del  -net <net name> -addr <node address> | -alias <node alias>\n\n"
                     "node link {add|del}  -net <net name> {-addr <node address> | -alias <node alias>} -link <node address>\n\n"
                     "node alias -addr <node address> -alias <node alias>\n\n"
diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c
index 45fe200d70fc92100c41f9d01b5d972dd1399a8d..3797e3fd9991c085ef238ad9186582b5e014878a 100644
--- a/dap_chain_node_cli_cmd.c
+++ b/dap_chain_node_cli_cmd.c
@@ -519,20 +519,26 @@ static int node_info_dump_with_reply(dap_chain_net_t * a_net, dap_chain_node_add
         }
 
         dap_string_append_printf(l_string_reply, "\n");
+        char l_port_str[10];
+        sprintf(l_port_str,"%d",node_info_read->hdr.ext_port);
+
         // set short reply with node param
         if(!a_is_full)
             dap_string_append_printf(l_string_reply,
-                    "node address "NODE_ADDR_FP_STR"\tcell 0x%016llx\tipv4 %s\tnumber of links %u",
+                    "node address "NODE_ADDR_FP_STR"\tcell 0x%016llx\tipv4 %s\tport: %s\tnumber of links %u",
                     NODE_ADDR_FP_ARGS_S(node_info_read->hdr.address),
                     node_info_read->hdr.cell_id.uint64, str_ip4,
+                    node_info_read->hdr.ext_port ? l_port_str : "default",
                     node_info_read->hdr.links_number);
         else
             // set full reply with node param
             dap_string_append_printf(l_string_reply,
-                    "node address " NODE_ADDR_FP_STR "\ncell 0x%016llx\nipv4 %s\nipv6 %s%s\nlinks %u%s",
+                    "node address " NODE_ADDR_FP_STR "\ncell 0x%016llx\nipv4 %s\nipv6 %s\nport: %s%s\nlinks %u%s",
                     NODE_ADDR_FP_ARGS_S(node_info_read->hdr.address),
                     node_info_read->hdr.cell_id.uint64,
-                    str_ip4, str_ip6, aliases_string->str,
+                    str_ip4, str_ip6,
+                    node_info_read->hdr.ext_port ? l_port_str : "default",
+                    aliases_string->str,
                     node_info_read->hdr.links_number, links_string->str);
         dap_string_free(aliases_string, true);
         dap_string_free(links_string, true);
@@ -725,7 +731,7 @@ int com_global_db(int a_argc, char ** a_argv, char **a_str_reply)
                 }
         }
     }
-    /*case CMD_FLUSH:
+    case CMD_FLUSH:
     {
         int res_flush = dap_chain_global_db_flush();
         switch (res_flush) {
@@ -750,7 +756,7 @@ int com_global_db(int a_argc, char ** a_argv, char **a_str_reply)
             break;
         }
         return 0;
-    }*/
+    }
     default:
         dap_chain_node_cli_set_reply_text(a_str_reply, "parameters are not valid");
         return -1;
@@ -796,7 +802,7 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply)
         dap_chain_node_cli_set_reply_text(a_str_reply, "command %s not recognized", a_argv[1]);
         return -1;
     }
-    const char *l_addr_str = NULL, *alias_str = NULL;
+    const char *l_addr_str = NULL, *l_port_str = NULL, *alias_str = NULL;
     const char *l_cell_str = NULL, *l_link_str = NULL, *a_ipv4_str = NULL, *a_ipv6_str = NULL;
 
     // find net
@@ -807,6 +813,7 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply)
 
     // find addr, alias
     dap_chain_node_cli_find_option_val(a_argv, arg_index, a_argc, "-addr", &l_addr_str);
+    dap_chain_node_cli_find_option_val(a_argv, arg_index, a_argc, "-port", &l_port_str);
     dap_chain_node_cli_find_option_val(a_argv, arg_index, a_argc, "-alias", &alias_str);
     dap_chain_node_cli_find_option_val(a_argv, arg_index, a_argc, "-cell", &l_cell_str);
     dap_chain_node_cli_find_option_val(a_argv, arg_index, a_argc, "-ipv4", &a_ipv4_str);
@@ -828,6 +835,12 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply)
         if(l_node_info)
             memcpy(&l_node_info->hdr.address, &l_node_addr, sizeof(dap_chain_node_addr_t));
     }
+    if(l_port_str) {
+        uint16_t l_node_port = 0;
+        dap_digit_from_string(l_port_str, &l_node_port, sizeof(uint16_t));
+        if(l_node_info)
+            l_node_info->hdr.ext_port = l_node_port;
+    }
     if(l_cell_str && l_node_info) {
         dap_digit_from_string(l_cell_str, l_node_info->hdr.cell_id.raw, sizeof(l_node_info->hdr.cell_id.raw)); //DAP_CHAIN_CELL_ID_SIZE);
     }