feat: alpine 0.0.1 version complate
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user