Unverified Commit d09a4f4c authored by kladko's avatar kladko

bug/SKALE-3751-enable-zeromq

parent 7483a230
...@@ -42,6 +42,11 @@ shared_ptr <ZMQMessage> ZMQClient::doRequestReply(Json::Value &_req) { ...@@ -42,6 +42,11 @@ shared_ptr <ZMQMessage> ZMQClient::doRequestReply(Json::Value &_req) {
string ZMQClient::doZmqRequestReply(string &_req) { string ZMQClient::doZmqRequestReply(string &_req) {
stringstream request; stringstream request;
if (!clientSocket)
reconnect();
CHECK_STATE(clientSocket);
s_send(*clientSocket, _req); s_send(*clientSocket, _req);
while (true) { while (true) {
......
...@@ -48,6 +48,7 @@ string ZMQMessage::getStringRapid(const char *_name) { ...@@ -48,6 +48,7 @@ string ZMQMessage::getStringRapid(const char *_name) {
shared_ptr <ZMQMessage> ZMQMessage::parse(vector <uint8_t> &_msg, bool _isRequest) { shared_ptr <ZMQMessage> ZMQMessage::parse(vector <uint8_t> &_msg, bool _isRequest) {
return parse((const char *) _msg.data(), _msg.size(), _isRequest); return parse((const char *) _msg.data(), _msg.size(), _isRequest);
} }
...@@ -62,15 +63,21 @@ shared_ptr <ZMQMessage> ZMQMessage::parse(const char* _msg, ...@@ -62,15 +63,21 @@ shared_ptr <ZMQMessage> ZMQMessage::parse(const char* _msg,
auto d = make_shared<rapidjson::Document>(); auto d = make_shared<rapidjson::Document>();
d->Parse(_msg); d->Parse(_msg);
CHECK_STATE(!d->HasParseError()); CHECK_STATE(!d->HasParseError());
CHECK_STATE(d->IsObject()) CHECK_STATE(d->IsObject())
CHECK_STATE(d->HasMember("type")); CHECK_STATE(d->HasMember("type"));
CHECK_STATE((*d)["type"].IsString()); CHECK_STATE((*d)["type"].IsString());
string type = (*d)["type"].GetString(); string type = (*d)["type"].GetString();
shared_ptr <ZMQMessage> result; shared_ptr <ZMQMessage> result;
if (_isRequest) { if (_isRequest) {
......
...@@ -43,7 +43,7 @@ void ZMQServer::run() { ...@@ -43,7 +43,7 @@ void ZMQServer::run() {
spdlog::info("Starting zmq server ..."); spdlog::info("Starting zmq server ...");
try { try {
frontend_.bind("tcp://*:" + to_string(BASE_PORT + 4)); frontend_.bind("tcp://*:" + to_string(BASE_PORT + 5));
} catch (...) { } catch (...) {
spdlog::error("Server task could not bind to port:{}", port); spdlog::error("Server task could not bind to port:{}", port);
exit(-100); exit(-100);
......
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
#include "SGXRegistrationServer.h" #include "SGXRegistrationServer.h"
#include "SGXWalletServer.h" #include "SGXWalletServer.h"
#include "ZMQClient.h"
#include "sgxwallet.h" #include "sgxwallet.h"
#include "TestUtils.h" #include "TestUtils.h"
#include "testw.h" #include "testw.h"
...@@ -1123,5 +1124,38 @@ TEST_CASE_METHOD(TestFixtureNoReset, "Second run", "[second-run]") { ...@@ -1123,5 +1124,38 @@ TEST_CASE_METHOD(TestFixtureNoReset, "Second run", "[second-run]") {
} }
TEST_CASE_METHOD(TestFixtureNoReset, "ZMQ-ecdsa", "[zmq-ecdsa-run]") {
HttpClient htp(RPC_ENDPOINT);
StubClient c(htp, JSONRPC_CLIENT_V2);
string ip = ZMQ_IP;
ZMQClient client(ip, ZMQ_PORT);
string keyName = "";
try {
PRINT_SRC_LINE
keyName = genECDSAKeyAPI(c);
PRINT_SRC_LINE
} catch (Exception & e)
{
cerr << e.what() << endl;
throw;
}
try {
PRINT_SRC_LINE
auto sig = client.ecdsaSignMessageHash(16, keyName, SAMPLE_HASH);
REQUIRE(sig.size() > 10);
} catch (JsonRpcException &e) {
cerr << e.what() << endl;
throw;
}
}
TEST_CASE_METHOD(TestFixtureNoResetFromBackup, "Backup restore", "[backup-restore]") { TEST_CASE_METHOD(TestFixtureNoResetFromBackup, "Backup restore", "[backup-restore]") {
} }
...@@ -33,6 +33,9 @@ ...@@ -33,6 +33,9 @@
#define SAMPLE_POLY_NAME "POLY:SCHAIN_ID:1:NODE_ID:1:DKG_ID:1" #define SAMPLE_POLY_NAME "POLY:SCHAIN_ID:1:NODE_ID:1:DKG_ID:1"
#define RPC_ENDPOINT "http://localhost:1029" #define RPC_ENDPOINT "http://localhost:1029"
#define ZMQ_IP "127.0.0.1"
#define ZMQ_PORT 1031
#define SAMPLE_PUBLIC_KEY_B "c0152c48bf640449236036075d65898fded1e242c00acb45519ad5f788ea7cbf9a5df1559e7fc87932eee5478b1b9023de19df654395574a690843988c3ff475" #define SAMPLE_PUBLIC_KEY_B "c0152c48bf640449236036075d65898fded1e242c00acb45519ad5f788ea7cbf9a5df1559e7fc87932eee5478b1b9023de19df654395574a690843988c3ff475"
#define SAMPLE_DKG_PUB_KEY_1 "505f55a38f9c064da744f217d1cb993a17705e9839801958cda7c884e08ab4dad7fd8d22953d3ac7f0913de24fd67d7ed36741141b8a3da152d7ba954b0f14e2" #define SAMPLE_DKG_PUB_KEY_1 "505f55a38f9c064da744f217d1cb993a17705e9839801958cda7c884e08ab4dad7fd8d22953d3ac7f0913de24fd67d7ed36741141b8a3da152d7ba954b0f14e2"
......
...@@ -28,7 +28,8 @@ username = getpass.getuser() ...@@ -28,7 +28,8 @@ username = getpass.getuser()
topDir = os.getcwd() + "/sgxwallet" topDir = os.getcwd() + "/sgxwallet"
print("Top directory is:" + topDir) print("Top directory is:" + topDir)
testList = ["[first-run]", testList = [ "[zmq-ecdsa-run]",
"[first-run]",
"[second-run]", "[second-run]",
"[many-threads-crypto]", "[many-threads-crypto]",
"[many-threads-crypto-v2]", "[many-threads-crypto-v2]",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment