This commit is contained in:
progr76@gmail.com
2019-02-15 18:56:11 +03:00
parent 4ae7e3b8bc
commit 4087d50a65
20 changed files with 426 additions and 71 deletions

View File

@@ -9,6 +9,14 @@
*/
const crypto = require('crypto');
WebApi2.GenerateKeys = function (Params)
{
var KeyPair = crypto.createECDH('secp256k1');
var PrivKey = sha3(crypto.randomBytes(32));
KeyPair.setPrivateKey(Buffer.from(PrivKey));
var PubKey = KeyPair.getPublicKey('', 'compressed');
return {result:1, PrivKey:GetHexFromArr(PrivKey), PubKey:GetHexFromArr(PubKey), Meta:Params ? Params.Meta : undefined};
};
WebApi2.CreateAccount = function (Params,response)
{
if(typeof Params === "object" && Params.Name && Params.PubKey)
@@ -17,7 +25,7 @@ WebApi2.CreateAccount = function (Params,response)
};
var Body = BufLib.GetBufferFromObject(TR, FORMAT_CREATE, 1000, {}, 1);
Body = Body.slice(0, Body.len + 12);
SendTransaction(Body, TR, MIN_POWER_POW_ACC_CREATE_LAST, function (result,TR,Body)
SendTransaction(Body, TR, undefined, function (result,TR,Body)
{
var Result = {result:result < 1 ? 0 : 1, text:TR._text, TxID:GetHexFromArr(TR._TxID.slice(0, TR_TICKET_HASH_LENGTH + 6)), BlockNum:TR._BlockNum,
Meta:Params.Meta, };
@@ -26,21 +34,7 @@ WebApi2.CreateAccount = function (Params,response)
});
return null;
}
return {result:0, Meta:Params.Meta};
};
WebApi2.GetBalance = function (Params,response)
{
if(typeof Params === "object")
{
var arr = DApps.Accounts.GetRowsAccounts(ParseNum(Params.AccountID), 1);
if(arr.length)
{
var Value = arr[0].Value;
var Result = {result:1, SumCOIN:Value.SumCOIN, SumCENT:Value.SumCENT, Meta:Params.Meta, };
return Result;
}
}
return {result:0, Meta:Params.Meta};
return {result:0, Meta:Params ? Params.Meta : undefined};
};
var MapSendID = {};
WebApi2.Send = function (Params,response)
@@ -101,6 +95,20 @@ WebApi2.Send = function (Params,response)
});
return null;
};
WebApi2.GetBalance = function (Params,response)
{
if(typeof Params === "object")
{
var arr = DApps.Accounts.GetRowsAccounts(ParseNum(Params.AccountID), 1);
if(arr.length)
{
var Value = arr[0].Value;
var Result = {result:1, SumCOIN:Value.SumCOIN, SumCENT:Value.SumCENT, Meta:Params.Meta, };
return Result;
}
}
return {result:0, Meta:Params ? Params.Meta : undefined};
};
WebApi2.GetTransaction = function (Params)
{
if(typeof Params === "object" && Params.TxID)
@@ -131,19 +139,11 @@ WebApi2.GetTransaction = function (Params)
}
}
}
return {result:0, Meta:Params.Meta};
return {result:0, Meta:Params ? Params.Meta : undefined};
};
WebApi2.GetHistoryTransactions = function (Params)
{
};
WebApi2.GenerateKeys = function (Params)
{
var KeyPair = crypto.createECDH('secp256k1');
var PrivKey = sha3(crypto.randomBytes(32));
KeyPair.setPrivateKey(Buffer.from(PrivKey));
var PubKey = KeyPair.getPublicKey('', 'compressed');
return {result:1, PrivKey:GetHexFromArr(PrivKey), PubKey:GetHexFromArr(PubKey), Meta:Params.Meta};
};
var DELTA_FOR_TIME_TX = 1;
function CreateTxID(body,BlockNum,Nonce)

View File

@@ -226,14 +226,6 @@ function StartChildProcess(Item)
ITEM.Worker = undefined;
}
}
try
{
ITEM.Worker.send({cmd:"Alive"});
}
catch(e)
{
ITEM.Worker = undefined;
}
if(!ITEM.Worker)
{
ITEM.LastAlive = (Date.now()) + ITEM.PeriodAlive * 3;
@@ -290,6 +282,20 @@ function StartChildProcess(Item)
break;
}
});
ITEM.Worker.on('error', function (err)
{
ToError("ERROR IN " + ITEM.Name + " Err : " + err);
ITEM.Worker = undefined;
});
ITEM.Worker.on('close', function (code)
{
ToError("CLOSE " + ITEM.Name);
ITEM.Worker = undefined;
});
}
if(ITEM.Worker)
{
ITEM.Worker.send({cmd:"Alive"});
}
}, 500);
ITEM.RunRPC = function (Name,Params,F)

View File

@@ -406,8 +406,7 @@ HostingCaller.GetCurrentInfo = function (Params)
{
var Ret = {result:1, VersionNum:global.UPDATE_CODE_VERSION_NUM, MaxNumBlockDB:SERVER.GetMaxNumBlockDB(), CurBlockNum:GetCurrentBlockNumByTime(),
MaxAccID:DApps.Accounts.GetMaxAccount(), MaxDappsID:DApps.Smart.GetMaxNum(), NETWORK:global.NETWORK, CurTime:Date.now(), DELTA_CURRENT_TIME:DELTA_CURRENT_TIME,
MIN_POWER_POW_TR:MIN_POWER_POW_TR, FIRST_TIME_BLOCK:FIRST_TIME_BLOCK, CONSENSUS_PERIOD_TIME:CONSENSUS_PERIOD_TIME, MIN_POWER_POW_ACC_CREATE:MIN_POWER_POW_ACC_CREATE_LAST,
};
MIN_POWER_POW_TR:MIN_POWER_POW_TR, FIRST_TIME_BLOCK:FIRST_TIME_BLOCK, CONSENSUS_PERIOD_TIME:CONSENSUS_PERIOD_TIME, };
if(typeof Params === "object" && Params.Diagram == 1)
{
var arrNames = ["MAX:ALL_NODES", "MAX:HASH_RATE_G"];