feat: alpine 0.0.1 version complate

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-07-11 13:35:16 +08:00
parent 63536569cf
commit 13607ba157
38 changed files with 1376 additions and 1064 deletions

View File

@@ -9,12 +9,12 @@
*/
"use strict";
//const fs = require("fs");
import * as fs from 'fs'
import CRest from './rest-loader'
//import * as crypto from 'crypto';
require('./block-loader-const');
const STAT_BLOCK_LOAD_PERIOD = global.CONSENSUS_PERIOD_TIME / 5;
module.exports = class CBlock extends require("./rest-loader")
{
export default class CBlock extends CRest {
MapMapLoaded
BlockChain
ChainID
@@ -32,6 +32,7 @@ module.exports = class CBlock extends require("./rest-loader")
LoadHistoryContext
LoadBlockStatNum
BADHashCount
ActualNodes
constructor(SetKeyPair, RunIP, RunPort, UseRNDHeader, bVirtual) {
super(SetKeyPair, RunIP, RunPort, UseRNDHeader, bVirtual)
this.MapMapLoaded = {}
@@ -594,7 +595,7 @@ module.exports = class CBlock extends require("./rest-loader")
}
if (chain.LoadCountDB >= global.COUNT_BLOCKS_FOR_CHECK_POW) {
if (chain.LoadSumDB - chain.LoadSum > global.MAX_DELTA_COUNT_SUM_FOR_LOAD) {
var Str = "ERR LOADED SUM POW chains: SumDB > Sum loaded from: " + NodeInfo(Info.Node);
var Str = "ERR LOADED SUM POW chains: SumDB > Sum loaded from: " + global.NodeInfo(Info.Node);
chain.StopSend = true
chain.AddInfo(Str)
}
@@ -764,7 +765,7 @@ module.exports = class CBlock extends require("./rest-loader")
return;
}
}
var Res = 0;
var Res: any = 0;
if (Block.TreeEq) {
this.ReadBlockBodyDB(Block)
Res = this.WriteBlockDBFinaly(Block)
@@ -804,6 +805,9 @@ module.exports = class CBlock extends require("./rest-loader")
this.FREE_ALL_MEM_CHAINS()
global.ADD_TO_STAT_TIME("WRITECHAIN_TO_DB_TIME", startTime)
}
SetNoPOW(BlockNumFrom, bReload, RefBlockNum) {
//defiend in block-exchange.js
}
CopyBlock(Block, BlockDst) {
BlockDst.BlockNum = Block.BlockNum
BlockDst.TreeHash = Block.TreeHash
@@ -830,6 +834,9 @@ module.exports = class CBlock extends require("./rest-loader")
}
this.AddToStatBlockConfirmation(Block)
}
RecreateMaxPOW(Block) {
//defiend in block-exchange.js
}
ClearMaxInBlock(Block) {
Block.MaxPOW = {}
var POW = Block.MaxPOW;
@@ -947,7 +954,7 @@ module.exports = class CBlock extends require("./rest-loader")
FreeGet -= Node.CanGetBlocks
Node.SendBlockCount = 0
Node.LoadBlockCount = 0
global.ADD_TO_STAT("NODE_CAN_GET:" + NodeName(Node), Node.CanGetBlocks, 1)
global.ADD_TO_STAT("NODE_CAN_GET:" + global.NodeName(Node), Node.CanGetBlocks, 1)
}
}
static
@@ -974,7 +981,7 @@ module.exports = class CBlock extends require("./rest-loader")
var arrContent = Data.arrContent;
var TreeHash = global.CalcTreeHashFromArrBody(Block.BlockNum, arrContent);
if (global.CompareArr(Block.TreeHash, TreeHash) !== 0) {
global.ToLog("2. BAD CMP TreeHash block=" + Block.BlockNum + " from:" + NodeName(Info.Node) + " TreeHash=" + global.GetHexFromArr(TreeHash) + " BlockTreeHash=" + global.GetHexFromArr(Block.TreeHash))
global.ToLog("2. BAD CMP TreeHash block=" + Block.BlockNum + " from:" + global.NodeName(Info.Node) + " TreeHash=" + global.GetHexFromArr(TreeHash) + " BlockTreeHash=" + global.GetHexFromArr(Block.TreeHash))
this.SetBlockNOSendToNode(Block, Info.Node, "BAD CMP TreeHash")
return;
}
@@ -982,10 +989,11 @@ module.exports = class CBlock extends require("./rest-loader")
var TR = arrContent[0];
if (TR[0] === global.TYPE_TRANSACTION_ACC_HASH) {
if (!global.DApps.Accounts.TRCheckAccountHash(TR, Data.BlockNum)) {
global.ToLog(`global.DApps.Accounts.TRCheckAccountHash(TR, Data.BlockNum) ${JSON.stringify(TR)}, ${Data.BlockNum}`)
if (!this.BADHashCount)
this.BADHashCount = 0
this.BADHashCount++
global.ToLog("**** BAD ACCOUNT Hash in block=" + Block.BlockNum + " from:" + NodeName(Info.Node) + " ****")
global.ToLog("**** BAD ACCOUNT Hash in block=" + Block.BlockNum + " from:" + global.NodeName(Info.Node) + " ****")
global.ToLog("May be need to Rewrite transactions from: " + (Block.BlockNum - 2 * global.DELTA_BLOCK_ACCOUNT_HASH))
this.SetBlockNOSendToNode(Block, Info.Node, "BAD CMP ACC HASH")
if (global.WATCHDOG_BADACCOUNT && this.BADHashCount > 60) {
@@ -1046,6 +1054,9 @@ module.exports = class CBlock extends require("./rest-loader")
Info.Node.LoadBlockCount++
}
}
DataFromF(Info, bSendFormat?): any {
//defiend in server.js
}
SetBlockNOSendToNode(Block, Node, Str) {
var Str = global.GetHexFromArr(Block.TreeHash);
var Str2 = this.GetStrFromHashShort(Block.TreeHash);
@@ -1276,11 +1287,11 @@ global.LoadBlockFromNetwork = function(Params, F) {
var Block = global.BufLib.GetObjectFromBuffer(Info.Data, global.FORMAT_BLOCK_TRANSFER, global.WRK_BLOCK_TRANSFER);
Info.Data = undefined;
if (!Block.BlockNum || Block.BlockNum !== Params.BlockNum) {
global.ToLog("Error get BlockNum:" + Params.BlockNum + " from " + NodeName(Info.Node), 2);
global.ToLog("Error get BlockNum:" + Params.BlockNum + " from " + global.NodeName(Info.Node), 2);
F(1);
return;
}
global.ToLog("Got BlockFromNetwork:" + Params.BlockNum + " from " + NodeName(Info.Node), 2);
global.ToLog("Got BlockFromNetwork:" + Params.BlockNum + " from " + global.NodeName(Info.Node), 2);
var ResError;
if (!Block.arrContent || Block.arrContent.length === 0) {
ResError = 1;