1
0
forked from circlecloud/tera

refactor: 0 error

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-07-10 15:59:04 +08:00
parent cbc0ed72c4
commit 4527e437fa
39 changed files with 1802 additions and 1695 deletions

View File

@@ -10,15 +10,15 @@
global.PROCESS_NAME = "STATIC";
import * as crypto from 'crypto';
const fs = require('fs');
require("../core/constant");
require('../core/block-loader-const');
require('../core/rest_tables.js');
require('../system/accounts.js');
require('../system/smart.js');
global.DATA_PATH = GetNormalPathString(global.DATA_PATH);
global.CODE_PATH = GetNormalPathString(global.CODE_PATH);
require("../core/library");
import * as fs from 'fs'
import "../core/constant"
import '../core/block-loader-const'
import '../core/rest_tables'
import '../system/accounts'
import '../system/smart'
global.DATA_PATH = global.GetNormalPathString(global.DATA_PATH);
global.CODE_PATH = global.GetNormalPathString(global.CODE_PATH);
import "../core/library"
global.READ_ONLY_DB = 1;
var LastAlive = Date.now();
setTimeout(function() {
@@ -74,7 +74,7 @@ function CheckAlive() {
if (global.NOALIVE)
return;
var Delta = Date.now() - LastAlive;
if (Delta > CHECK_STOP_CHILD_PROCESS) {
if (Delta > global.CHECK_STOP_CHILD_PROCESS) {
global.ToLog("STATIC-DB: ALIVE TIMEOUT Stop and exit: " + Delta + "/" + global.CHECK_STOP_CHILD_PROCESS);
process.exit(0);
return;
@@ -83,11 +83,11 @@ function CheckAlive() {
process.on('uncaughtException', function(err) {
global.ToError(err.stack);
global.ToLog(err.stack);
TO_ERROR_LOG("STATIC-DB", 777, err);
global.TO_ERROR_LOG("STATIC-DB", 777, err);
global.ToLog("-----------------STATIC-DB EXIT------------------");
process.exit();
});
process.on('error', function(err) {
process.on('error' as any, function(err: TeraError) {
global.ToError("STATIC-DB:\n" + err.stack);
global.ToLog(err.stack);
});
@@ -98,7 +98,7 @@ KeyPair.setPrivateKey(Buffer.from([77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7
global.SERVER = new CServerDB(KeyPair, undefined, undefined, false, true);
global.HTTP_PORT_NUMBER = 0;
setInterval(function() {
if (SERVER)
if (global.SERVER)
global.SERVER.Close();
global.DApps.Accounts.Close();
global.DApps.Smart.DBSmart.Close();
@@ -116,8 +116,8 @@ function GETBLOCKHEADER100(msg) {
var Count = Data.Count;
if (!Count || Count < 0 || !EndNum100)
return;
if (Count > COUNT_BLOCKS_FOR_LOAD)
Count = COUNT_BLOCKS_FOR_LOAD;
if (Count > global.COUNT_BLOCKS_FOR_LOAD)
Count = global.COUNT_BLOCKS_FOR_LOAD;
var Arr = [];
var Data100 = global.SERVER.DBHeader100.Read(EndNum100);
if (Data100 && global.CompareArr(Data100.Hash100, LoadHash100) === 0) {
@@ -131,7 +131,7 @@ function GETBLOCKHEADER100(msg) {
Arr.push(Data100.Hash);
}
}
var BufWrite = global.BufLib.GetBufferFromObject(Arr, "[hash]", MAX_PACKET_LENGTH, {});
var BufWrite = global.BufLib.GetBufferFromObject(Arr, "[hash]", global.MAX_PACKET_LENGTH, {});
global.ToLog("GETBLOCKHEADER100 Send Arr=" + Arr.length + " - " + BlockNum);
process.send({ cmd: "Send", addrStr: msg.addrStr, Method: "RETBLOCKHEADER100", Context: msg.Context, Data: BufWrite });
};
@@ -144,11 +144,11 @@ function GETBLOCKHEADER(msg) {
var Foward = Data.Foward;
if (Foward) {
var BlockDB = global.SERVER.ReadBlockHeaderDB(Data.BlockNum);
if (BlockDB && BlockDB.SumHash && (global.CompareArr(BlockDB.SumHash, LoadHash) === 0 || IsZeroArr(LoadHash))) {
if (BlockDB && BlockDB.SumHash && (global.CompareArr(BlockDB.SumHash, LoadHash) === 0 || global.IsZeroArr(LoadHash))) {
StartNum = Data.BlockNum - global.BLOCK_PROCESSING_LENGTH2;
if (StartNum < 0)
StartNum = 0;
BlockNum = StartNum + COUNT_BLOCKS_FOR_LOAD + global.BLOCK_PROCESSING_LENGTH2;
BlockNum = StartNum + global.COUNT_BLOCKS_FOR_LOAD + global.BLOCK_PROCESSING_LENGTH2;
if (BlockNum > global.SERVER.GetMaxNumBlockDB())
BlockNum = global.SERVER.GetMaxNumBlockDB();
}
@@ -159,8 +159,8 @@ function GETBLOCKHEADER(msg) {
var Count = Data.Count;
if (!Count || Count < 0 || BlockNum < 0)
return;
if (Count > COUNT_BLOCKS_FOR_LOAD)
Count = COUNT_BLOCKS_FOR_LOAD;
if (Count > global.COUNT_BLOCKS_FOR_LOAD)
Count = global.COUNT_BLOCKS_FOR_LOAD;
Count += global.BLOCK_PROCESSING_LENGTH2;
var BlockDB = global.SERVER.ReadBlockHeaderDB(BlockNum);
if (BlockDB && (BlockDB.Prepared && (!IsSum) && BlockDB.Hash && global.CompareArr(BlockDB.Hash, LoadHash) === 0 || BlockDB.bSave && IsSum && BlockDB.SumHash && global.CompareArr(BlockDB.SumHash,
@@ -184,8 +184,8 @@ function GETBLOCK(msg) {
var BufWrite;
var BlockDB = global.SERVER.ReadBlockDB(BlockNum);
var StrSend;
if (BlockDB && (global.CompareArr(BlockDB.TreeHash, TreeHash) === 0 || IsZeroArr(TreeHash))) {
var BufWrite = global.BufLib.GetBufferFromObject(BlockDB, FORMAT_BLOCK_TRANSFER, MAX_PACKET_LENGTH, WRK_BLOCK_TRANSFER);
if (BlockDB && (global.CompareArr(BlockDB.TreeHash, TreeHash) === 0 || global.IsZeroArr(TreeHash))) {
var BufWrite = global.BufLib.GetBufferFromObject(BlockDB, global.FORMAT_BLOCK_TRANSFER, global.MAX_PACKET_LENGTH, global.WRK_BLOCK_TRANSFER);
StrSend = "OK";
}
if (StrSend === "OK") {
@@ -211,7 +211,7 @@ function GETREST(msg) {
var Data = msg.Data;
if (!Data.BlockNum)
return;
if (IsZeroArr(Data.AccHash)) {
if (global.IsZeroArr(Data.AccHash)) {
return;
}
var BlockNumRest = Data.BlockNum;
@@ -234,8 +234,8 @@ function GETREST(msg) {
var WorkFormatLength = global.DApps.Accounts.SIZE_ACCOUNT_ROW;
var Max = global.DApps.Accounts.DBState.GetMaxNum();
var LengthAccount = Data.Count;
if (LengthAccount > MAX_ACCOUNTS_TRANSFER)
LengthAccount = MAX_ACCOUNTS_TRANSFER;
if (LengthAccount > global.MAX_ACCOUNTS_TRANSFER)
LengthAccount = global.MAX_ACCOUNTS_TRANSFER;
var StartAccount = Data.AccNum;
var EndAccount = StartAccount + LengthAccount - 1;
if (EndAccount > Max)
@@ -249,7 +249,7 @@ function GETREST(msg) {
else {
ArrRest = GetArrRest(BlockNumRest, StartAccount, EndAccount);
ProofHash = Tree.Root;
var RetProof = GetMerkleProof(Tree.LevelsHash, StartAccount, EndAccount);
var RetProof = global.GetMerkleProof(Tree.LevelsHash, StartAccount, EndAccount);
ProofArrL = RetProof.ArrL;
ProofArrR = RetProof.ArrR;
BufLength = 1000 + ArrRest.length * WorkFormatLength;
@@ -257,7 +257,7 @@ function GETREST(msg) {
}
}
var Data2 = { Result: nResult, Arr: ArrRest, Version: 1, ProofHash: ProofHash, ProofArrL: ProofArrL, ProofArrR: ProofArrR };
var BufWrite = global.BufLib.GetBufferFromObject(Data2, FORMAT_REST_TRANSFER, BufLength, {});
var BufWrite = global.BufLib.GetBufferFromObject(Data2, global.FORMAT_REST_TRANSFER, BufLength, {});
process.send({ cmd: "Send", addrStr: msg.addrStr, Method: "RETREST", Context: msg.Context, Data: BufWrite });
};
@@ -279,12 +279,12 @@ function GETSMART(msg) {
Arr.push(BufSmart);
}
var Data2 = { Result: Arr.length ? 1 : 0, Arr: Arr };
var BufWrite = global.BufLib.GetBufferFromObject(Data2, FORMAT_SMART_TRANSFER, BufLength, {});
var BufWrite = global.BufLib.GetBufferFromObject(Data2, global.FORMAT_SMART_TRANSFER, BufLength, {});
process.send({ cmd: "Send", addrStr: msg.addrStr, Method: "RETSMART", Context: msg.Context, Data: BufWrite });
};
var glMapForHash = {};
function GetArrRest(BlockNumRest, StartAccount, EndAccount, bHashOnly) {
function GetArrRest(BlockNumRest, StartAccount, EndAccount, bHashOnly?) {
var ArrRest = [];
var WorkStruct = {};
var WorkFormat = global.DApps.Accounts.FORMAT_ACCOUNT_ROW;
@@ -352,7 +352,7 @@ function GetRestMerkleTree(BlockNumRest, RestIndexArr) {
for (var Num = 0; Num < ArrHash.length; Num++) {
MerkleCalc[Num] = 1;
}
UpdateMerklTree(MerkleTree, MerkleCalc, 0);
global.UpdateMerklTree(MerkleTree, MerkleCalc, 0);
glMapRest[BlockNumRest] = MerkleTree;
var Time2 = process.hrtime(startTime);
var deltaTime1 = (Time1[0] * 1000 + Time1[1] / 1e6) / 1000;