diff --git a/KelvinDashboardService/DapChainHistoryHandler.cpp b/KelvinDashboardService/DapChainHistoryHandler.cpp
index 542a1d827947bbde99ef8c662ed7485e9ac332b7..a499b95e7588d80e7ccbc15c05bc94b13bccc18f 100644
--- a/KelvinDashboardService/DapChainHistoryHandler.cpp
+++ b/KelvinDashboardService/DapChainHistoryHandler.cpp
@@ -48,7 +48,7 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>&
             while ((pos = rx.indexIn(result, pos)) != -1)
             {
                 QStringList dataItem = QStringList() << rx.cap(1) << QString::number(DapTransactionStatusConvertor::getStatusByShort(rx.cap(2))) << rx.cap(3) << rx.cap(4) << rx.cap(5) << wallets.at(i).toString();
-                qDebug() << "NEW MATCH" << pos << dataItem;
+//                qDebug() << "NEW MATCH" << pos << dataItem;
                 data << dataItem;
                 pos += rx.matchedLength();
             }
diff --git a/KelvinDashboardService/DapChainWalletHandler.cpp b/KelvinDashboardService/DapChainWalletHandler.cpp
index 121cb0e0e114d06d1addda8f1048bf10e565d832..3651e53ee65cb7ac6e8ee14702e76ab161573649 100755
--- a/KelvinDashboardService/DapChainWalletHandler.cpp
+++ b/KelvinDashboardService/DapChainWalletHandler.cpp
@@ -43,7 +43,7 @@ QMap<QString, QVariant> DapChainWalletHandler::getWallets()
     process.start(QString("%1 wallet list").arg(CLI_PATH));
     process.waitForFinished(-1);
     QString str = QString::fromLatin1(process.readAll());
-    qDebug() << "ZDES`" << str;
+//    qDebug() << "ZDES`" << str;
     QRegExp rx(":{1,1}([\\s\\w\\W]+)(\\n|\\r){1,1}" );
     rx.setMinimal(true);
     int pos = 0;
@@ -72,51 +72,63 @@ QStringList DapChainWalletHandler::getWalletInfo(const QString &asNameWallet)
     QProcess process;
     process.start(QString("%1 wallet info -w %2 -net private").arg(CLI_PATH).arg(asNameWallet));
     process.waitForFinished(-1);
-    char* response = process.readAll().data();
-    //qDebug() << response;
+    QByteArray result = process.readAll();
+    QRegExp rx("wallet: (\\w+)\\s+addr:\\s+(\\w+)\\s+(balance)|(\\d+.\\d+)\\s(\\(\\d+\\))\\s(\\w+)");
     QStringList list;
-#ifdef Q_OS_WIN32
-    char *context = nullptr;
-    char *data = nullptr;
-    data = strtok_r(response, ":", &context);
-    if (strcmp(data, "wallet") != 0) {
-        data = strtok_r(response, ":", &context);
-    }
-    data = strtok_r(context+1, "\r", &context);
-    list.append(QString(data));
-    data = strtok_r(context+1, ":", &context);
-    data = strtok_r(context+1, "\r", &context);
-    list.append(QString(data));
-    data = strtok_r(context+1, ":", &context);
-    list.append(QString(data));
-    data = strtok_r(context+4, "\r", &context);
-
-    char *subctx;
-    char *subdata;
-    if (strlen(data) > 2) {
-        subdata = strtok_r(data+1, " ", &subctx);
-    } else {
-        subdata = strtok_r(data, " ", &subctx);
-    }
-    list.append(QString(subdata));
-    subdata = strtok_r(subctx, " ", &subctx);
-    list.append(QString(subdata));
-    subdata = strtok_r(subctx, "\r", &subctx);
-    list.append(QString(subdata));
-#else
-    QString str = QString::fromLatin1(process.readAll()).replace("\\", "\\\\");
-
-    QRegExp rx("[(:\\)\\t]{1,1}([^\\\\\\n\\t]+)[\\\\(|\\n|\\r]{1,1}");
-    rx.setMinimal(true);
 
-    int pos{0};
-    while((pos = rx.indexIn(str, pos)) != -1)
+    int pos = 0;
+    while((pos = rx.indexIn(result, pos)) != -1)
     {
-        list.append(rx.cap(1));
+        if(rx.cap(1).isEmpty()) list << rx.cap(4) << rx.cap(5) << rx.cap(6);
+        else list << rx.cap(1) << rx.cap(2) << rx.cap(3);
         pos += rx.matchedLength();
     }
-#endif
-    qDebug() << list;
+
+//    char* response = process.readAll().data();
+//    //qDebug() << response;
+//    QStringList list;
+//#ifdef Q_OS_WIN32
+//    char *context = nullptr;
+//    char *data = nullptr;
+//    data = strtok_r(response, ":", &context);
+//    if (strcmp(data, "wallet") != 0) {
+//        data = strtok_r(response, ":", &context);
+//    }
+//    data = strtok_r(context+1, "\r", &context);
+//    list.append(QString(data));
+//    data = strtok_r(context+1, ":", &context);
+//    data = strtok_r(context+1, "\r", &context);
+//    list.append(QString(data));
+//    data = strtok_r(context+1, ":", &context);
+//    list.append(QString(data));
+//    data = strtok_r(context+4, "\r", &context);
+
+//    char *subctx;
+//    char *subdata;
+//    if (strlen(data) > 2) {
+//        subdata = strtok_r(data+1, " ", &subctx);
+//    } else {
+//        subdata = strtok_r(data, " ", &subctx);
+//    }
+//    list.append(QString(subdata));
+//    subdata = strtok_r(subctx, " ", &subctx);
+//    list.append(QString(subdata));
+//    subdata = strtok_r(subctx, "\r", &subctx);
+//    list.append(QString(subdata));
+//#else
+//    QString str = QString::fromLatin1(process.readAll()).replace("\\", "\\\\");
+
+//    QRegExp rx("[(:\\)\\t]{1,1}([^\\\\\\n\\t]+)[\\\\(|\\n|\\r]{1,1}");
+//    rx.setMinimal(true);
+
+//    int pos{0};
+//    while((pos = rx.indexIn(str, pos)) != -1)
+//    {
+//        list.append(rx.cap(1));
+//        pos += rx.matchedLength();
+//    }
+//#endif
+//    qDebug() << list;
     return list;
 }