forked from circlecloud/tera
feat: alpine 0.0.1 version complate
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
import CBlock from './block-loader'
|
||||
require('./library');
|
||||
require('./crypto-library');
|
||||
const TX_PROCESS_TIME = 100;
|
||||
@@ -38,14 +39,14 @@ var FORMAT_DATA_TRANSFER = "{\
|
||||
NoSendTx:uint,\
|
||||
}";
|
||||
const WorkStructSend = {};
|
||||
module.exports = class CConsensus extends require("./block-loader")
|
||||
{
|
||||
export default class CConsensus extends CBlock {
|
||||
CurrentBlockNum
|
||||
SendBlockID
|
||||
RelayMode
|
||||
TreeSendPacket
|
||||
idBlockChainTimer
|
||||
OwnBlockCount
|
||||
LevelNodes
|
||||
constructor(SetKeyPair, RunIP, RunPort, UseRNDHeader, bVirtual) {
|
||||
super(SetKeyPair, RunIP, RunPort, UseRNDHeader, bVirtual)
|
||||
this.CurrentBlockNum = 0
|
||||
@@ -175,9 +176,9 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
}
|
||||
Transfer.WasGet = true
|
||||
if (global.DoTxLog && Data.TicketArray.length)
|
||||
global.ToLog("TRANSFER BlockNum:" + Block.BlockNum + " TicketArray=" + Data.TicketArray.length + " from " + NodeName(Node))
|
||||
global.ToLog("TRANSFER BlockNum:" + Block.BlockNum + " TicketArray=" + Data.TicketArray.length + " from " + global.NodeName(Node))
|
||||
if (global.DoTxLog && Data.TxArray.length)
|
||||
global.ToLog("TRANSFER BlockNum:" + Block.BlockNum + " TxArray=" + Data.TxArray.length + " from " + NodeName(Node))
|
||||
global.ToLog("TRANSFER BlockNum:" + Block.BlockNum + " TxArray=" + Data.TxArray.length + " from " + global.NodeName(Node))
|
||||
this.ToMaxPOWList(Data.MaxPOW)
|
||||
this.ToMaxSumList(this.GetMaxSumListFromID(Node, Data.MaxSumID, Data.BlockList))
|
||||
//var WasNewAdd = 0;
|
||||
@@ -343,7 +344,7 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
Arr = Arr2
|
||||
}
|
||||
if (global.DoTxLog)
|
||||
global.ToLog("SEND TRANSFER BlockNum:" + Block.BlockNum + " Arr=" + Arr.length + " to " + NodeName(Item.Node))
|
||||
global.ToLog("SEND TRANSFER BlockNum:" + Block.BlockNum + " Arr=" + Arr.length + " to " + global.NodeName(Item.Node))
|
||||
var BufData = this.CreateTransferBuffer(Arr, arrPow, arrSum, Block, Item.Node);
|
||||
this.Send(Item.Node, { "Method": "TRANSFER", "Context": {}, "Data": BufData }, 1)
|
||||
if (!Block.JobListTX)
|
||||
@@ -351,6 +352,9 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
Block.JobListTX.push({ Node: Item.Node, TreeLevel: Item.TreeLevel, Time: Date.now() })
|
||||
}
|
||||
}
|
||||
Send(Node, Info, TypeData?) {
|
||||
// defiend in server.ts
|
||||
}
|
||||
TRANSFERTX(Info, CurTime) {
|
||||
var Data = this.DataFromF(Info);
|
||||
var Node = Info.Node;
|
||||
@@ -359,7 +363,7 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
return;
|
||||
}
|
||||
if (global.DoTxLog)
|
||||
global.ToLog("TRANSFERTX BlockNum:" + Block.BlockNum + " Array=" + Data.Array.length + " from " + NodeName(Node))
|
||||
global.ToLog("TRANSFERTX BlockNum:" + Block.BlockNum + " Array=" + Data.Array.length + " from " + global.NodeName(Node))
|
||||
for (var i = 0; i < Data.Array.length; i++) {
|
||||
this.AddTrToBlockQuote(Block, Data.Array[i], 1)
|
||||
}
|
||||
@@ -434,7 +438,7 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
return;
|
||||
}
|
||||
if (global.DoTxLog)
|
||||
global.ToLog("RETTRANSFERTX BlockNum:" + Block.BlockNum + " Array=" + Data.Array.length + " from " + NodeName(Node))
|
||||
global.ToLog("RETTRANSFERTX BlockNum:" + Block.BlockNum + " Array=" + Data.Array.length + " from " + global.NodeName(Node))
|
||||
for (var i = 0; i < Data.Array.length; i++) {
|
||||
var Tr = Data.Array[i];
|
||||
this.CheckCreateTransactionObject(Tr)
|
||||
@@ -464,7 +468,7 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
if (!Arr.length)
|
||||
return;
|
||||
if (global.DoTxLog)
|
||||
global.ToLog("DoJobListTX BlockNum:" + Block.BlockNum + " Arr=" + Arr.length + " to " + NodeName(JobItem.Node))
|
||||
global.ToLog("DoJobListTX BlockNum:" + Block.BlockNum + " Arr=" + Arr.length + " to " + global.NodeName(JobItem.Node))
|
||||
var SendData = { "Method": "TRANSFERTX", "Context": {}, "Data": { BlockNum: Block.BlockNum, Array: Arr, } };
|
||||
this.SendF(JobItem.Node, SendData, global.MAX_BLOCK_SIZE + 1000)
|
||||
}
|
||||
@@ -570,7 +574,7 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
for (var n = 0; n < ArrNodesArr.length; n++) {
|
||||
var ElArr = ArrNodesArr[n];
|
||||
if (global.DoTxLog)
|
||||
global.ToLog("CheckTxExchange BlockNum:" + Block.BlockNum + " Array=" + ElArr.Arr.length + " to " + NodeName(ElArr.Node))
|
||||
global.ToLog("CheckTxExchange BlockNum:" + Block.BlockNum + " Array=" + ElArr.Arr.length + " to " + global.NodeName(ElArr.Node))
|
||||
var SendData = { "Method": "GETTRANSFERTX", "Context": {}, "Data": { BlockNum: Block.BlockNum, TicketArray: ElArr.Arr, } };
|
||||
this.SendF(ElArr.Node, SendData, ElArr.Arr.length * global.TR_TICKET_HASH_LENGTH + 1000)
|
||||
}
|
||||
@@ -865,7 +869,25 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
CheckPrioritetTx(Tr) {
|
||||
if (Tr.Prioritet === undefined) {
|
||||
var Body = Tr.body;
|
||||
Tr.Prioritet = global.MAX_LENGTH_SENDER_MAP
|
||||
var App = global.DAppByType[Body[0]];
|
||||
if (App) {
|
||||
Tr.SenderNum = App.GetSenderNum(Tr.num, Body)
|
||||
if (Tr.SenderNum && Tr.SenderNum > 0) {
|
||||
Tr.Prioritet = this.GetSenderPrioritet(Tr.num, Tr.SenderNum)
|
||||
Tr.TimePow = Tr.Prioritet + Tr.power
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
GetSenderPrioritet(BlockNum, SenderNum) {
|
||||
//defiend in transaction-validator.ts(CSmartContract)
|
||||
}
|
||||
AddToQuote(Tree, Tr) {
|
||||
this.CheckPrioritetTx(Tr)
|
||||
var Tr0 = Tree.find(Tr);
|
||||
if (Tr0) {
|
||||
return 3;
|
||||
@@ -881,6 +903,15 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
IsValidTicket(Tr, BlockNum): any {
|
||||
// defiend in transaction-validator.ts(CSmartContract)
|
||||
}
|
||||
IsValidTransaction(Tr, BlockNum): any {
|
||||
// defiend in transaction-validator.ts(CSmartContract)
|
||||
}
|
||||
AddDAppTransactions(BlockNum, Arr) {
|
||||
// defiend in transaction-validator.ts(CSmartContract)
|
||||
}
|
||||
AddTicketToBlockQuote(Block, Tr) {
|
||||
if (Block.PowTicketTree) {
|
||||
var Res = this.IsValidTicket(Tr, Block.BlockNum);
|
||||
@@ -1267,14 +1298,14 @@ module.exports = class CConsensus extends require("./block-loader")
|
||||
}
|
||||
}
|
||||
var MaxNumBlockDB = this.GetMaxNumBlockDB();
|
||||
if (CURRENTBLOCKNUM + global.BLOCK_PROCESSING_LENGTH2 > MaxNumBlockDB)
|
||||
if (CURRENTBLOCKNUM + global.BLOCK_PROCESSING_LENGTH2 > MaxNumBlockDB && CURRENTBLOCKNUM - global.BLOCK_PROCESSING_LENGTH2 < MaxNumBlockDB)
|
||||
for (var BlockNum = CURRENTBLOCKNUM - global.BLOCK_PROCESSING_LENGTH2; BlockNum > global.BLOCK_PROCESSING_LENGTH2 && BlockNum < start_save; BlockNum++) {
|
||||
var Block = this.GetBlock(BlockNum);
|
||||
if (Block && !Block.bSave && Block.TrCount && Block.TreeHash && !global.IsZeroArr(Block.TreeHash) && !Block.WasSaveDataTree) {
|
||||
this.PreSaveDataTreeToDB(Block)
|
||||
Block.WasSaveDataTree = 1
|
||||
global.AddInfoBlock(Block, "*PRESAVE DATA TREE*")
|
||||
global.ToLog("PRESAVE DATA: " + Block.BlockNum)
|
||||
global.ToLog("PRESAVE DATA: " + Block.BlockNum, 2)
|
||||
}
|
||||
}
|
||||
this.RelayMode = !bWasSave
|
||||
|
||||
Reference in New Issue
Block a user