Skip to content
Snippets Groups Projects
Commit d3f3a008 authored by Evgenii Tagiltsev's avatar Evgenii Tagiltsev
Browse files

[*] corrected class for request node network

parent 1628b5b9
Loading
...@@ -66,6 +66,12 @@ QStringList DapChainDashboardService::getWalletInfo(const QString &asWalletName) ...@@ -66,6 +66,12 @@ QStringList DapChainDashboardService::getWalletInfo(const QString &asWalletName)
return m_pDapChainWalletHandler->getWalletInfo(asWalletName); return m_pDapChainWalletHandler->getWalletInfo(asWalletName);
} }
QVariant DapChainDashboardService::getNodeNetwork() const
{
qInfo() << QString("getNodeNetwork");
return m_pDapChainNodeHandler->getNodeNetwork();
}
QString DapChainDashboardService::sendToken(const QString &asWalletName, const QString &asReceiverAddr, const QString &asToken, const QString &asAmount) QString DapChainDashboardService::sendToken(const QString &asWalletName, const QString &asReceiverAddr, const QString &asToken, const QString &asAmount)
{ {
qInfo() << QString("sendToken(%1;%2;%3;%4)").arg(asWalletName).arg(asReceiverAddr).arg(asToken).arg(asAmount); qInfo() << QString("sendToken(%1;%2;%3;%4)").arg(asWalletName).arg(asReceiverAddr).arg(asToken).arg(asAmount);
......
...@@ -44,7 +44,7 @@ class DapChainDashboardService : public DapRpcService ...@@ -44,7 +44,7 @@ class DapChainDashboardService : public DapRpcService
DapChainWalletHandler * m_pDapChainWalletHandler {nullptr}; DapChainWalletHandler * m_pDapChainWalletHandler {nullptr};
DapChainNodeHandler * m_pDapChainNodeHandler {nullptr}; DapChainNodeNetworkHandler * m_pDapChainNodeHandler {nullptr};
public: public:
/// Standard сonstructor. /// Standard сonstructor.
...@@ -80,6 +80,7 @@ public slots: ...@@ -80,6 +80,7 @@ public slots:
QString sendToken(const QString &asWalletName, const QString &asReceiverAddr, const QString &asToken, const QString &asAmount); QString sendToken(const QString &asWalletName, const QString &asReceiverAddr, const QString &asToken, const QString &asAmount);
QVariant getNodeNetwork() const;
}; };
#endif // DAPCHAINDASHBOARDSERVICE_H #endif // DAPCHAINDASHBOARDSERVICE_H
#include "DapChainNodeNetworkHandler.h"
DapChainNodeNetworkHandler::DapChainNodeNetworkHandler(QObject *parent) : QObject(parent)
{
}
QVariant DapChainNodeNetworkHandler::getNodeNetwork() const
{
QProcess process;
process.start(QString(CLI_PATH) + " node dump -net kelvin-testnet -full");
process.waitForFinished(-1);
QByteArray result = process.readAll();
QMap<QString, QVariant> nodeMap;
if(!result.isEmpty())
{
QStringList nodes = QString::fromStdString(result.toStdString()).split("node ");
for(int m = 1; m < nodes.count(); m++)
{
QString node = nodes.at(m);
QStringList nodeData;
QRegExp rx_node("address ((?:[0-9A-F]{4}::){3}[0-9A-F]{4})\\s+\n"
"cell (0[xX][0-9A-F]{16})((?:\\d{1,3}\\.){3}\\d{1,3})\\s+\n"
"ipv4 ::\\s+\n"
"ipv6\\s+\n"
"alias (\\S+)\\s+\n"
"links (\\d+)\\s+\n");
rx_node.indexIn(node, 0);
for(int i = 2; i < 6; i++) nodeData << rx_node.cap(i);
if(nodeData.last().toUInt() > 0)
{
QRegExp rx_links("link\\d+ address : ((?:[0-9A-F]{4}::){3}[0-9A-F]{4})");
int pos = 0;
while ((pos = rx_links.indexIn(node, pos)) != -1)
{
nodeData << rx_links.cap(1);
pos += rx_links.matchedLength();
}
}
nodeMap[rx_node.cap(1)] = nodeData;
}
}
return nodeMap;
}
#ifndef DAPCHAINNODENETWORKHANDLER_H
#define DAPCHAINNODENETWORKHANDLER_H
#include <QObject>
#include <QProcess>
#include <QRegExp>
#include <QDebug>
//#include "DapNetworkType.h"
class DapChainNodeNetworkHandler : public QObject
{
Q_OBJECT
public:
explicit DapChainNodeNetworkHandler(QObject *parent = nullptr);
public slots:
QVariant getNodeNetwork() const;
};
#endif // DAPCHAINNODENETWORKHANDLER_H
...@@ -39,13 +39,13 @@ DEFINES += QT_DEPRECATED_WARNINGS ...@@ -39,13 +39,13 @@ DEFINES += QT_DEPRECATED_WARNINGS
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \ SOURCES += \
DapChainNodeNetworkHandler.cpp \
main.cpp \ main.cpp \
DapChainDashboardService.cpp \ DapChainDashboardService.cpp \
DapChainNode.cpp \ DapChainNode.cpp \
DapChainNodeCache.cpp \ DapChainNodeCache.cpp \
DapChainWalletHandler.cpp \ DapChainWalletHandler.cpp \
DapChainLogHandler.cpp \ DapChainLogHandler.cpp
DapChainNodeHandler.cpp
HEADERS += \ HEADERS += \
DapChainDashboardService.h \ DapChainDashboardService.h \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment