forked from circlecloud/tera
feat: alpine 0.0.1 version complate
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
@@ -10,9 +10,10 @@
|
||||
|
||||
"use strict";
|
||||
import * as fs from 'fs'
|
||||
const DBLib = require("./db");
|
||||
const DBRow = require("./db-row");
|
||||
global.BlockDB = new DBLib();
|
||||
import Db from './db'
|
||||
import DBRow from './db-row'
|
||||
import CCode from '../code'
|
||||
global.BlockDB = new Db();
|
||||
global.BLOCK_HEADER_SIZE = 150;
|
||||
const FILE_NAME_HEADER = "block-header";
|
||||
const FILE_NAME_BODY = "block-body";
|
||||
@@ -33,8 +34,7 @@ const FORMAT_HEADER_VERSION2 = "{FilePos:uint}";
|
||||
const FILE_NAME_HEADER2 = "block-header2";
|
||||
const WorkStructHeader2 = {};
|
||||
const DEFAULT_DB_VERSION = 2;
|
||||
module.exports = class CDB extends require("../code")
|
||||
{
|
||||
export default class CDB extends CCode {
|
||||
DBHeader100
|
||||
BlockNumDB
|
||||
BlockNumDBMin
|
||||
@@ -70,6 +70,9 @@ module.exports = class CDB extends require("../code")
|
||||
this.BlockNumDBMin = StateTX.BlockNumMin
|
||||
}
|
||||
}
|
||||
GetBlock(num, bToMem, bReadBody): any {
|
||||
//defiend in block-loader.ts(CBlock)
|
||||
}
|
||||
LoadMemBlocksOnStart() {
|
||||
this.CurrentBlockNum = global.GetCurrentBlockNumByTime()
|
||||
for (var i = this.BlockNumDB - global.BLOCK_COUNT_IN_MEMORY; i <= this.BlockNumDB; i++)
|
||||
@@ -223,6 +226,9 @@ module.exports = class CDB extends require("../code")
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
OnWriteBlock(Block) {
|
||||
//defiend in transaction-validator.ts(CSmartContract)
|
||||
}
|
||||
PreSaveDataTreeToDB(Block) {
|
||||
var Ret = this.WriteBodyDB(Block);
|
||||
if (Ret) {
|
||||
@@ -290,6 +296,9 @@ module.exports = class CDB extends require("../code")
|
||||
Block.TrDataLen = TrDataLen
|
||||
return true;
|
||||
}
|
||||
CheckSeqHashDB(Block, StrError): any {
|
||||
//defiend in block-loader.ts(CBlock)
|
||||
}
|
||||
WriteBlockHeaderDB(Block, bPreSave?) {
|
||||
if (!bPreSave && Block.BlockNum > this.BlockNumDBMin + global.BLOCK_PROCESSING_LENGTH2) {
|
||||
if (global.USE_CHECK_SAVE_DB)
|
||||
@@ -570,6 +579,12 @@ module.exports = class CDB extends require("../code")
|
||||
this.CreateGenesisBlocks()
|
||||
this.StartSyncBlockchain()
|
||||
}
|
||||
CreateGenesisBlocks() {
|
||||
// defiend in block-loader.ts(CBlock)
|
||||
}
|
||||
StartSyncBlockchain(Node?, bSilent?, bCheckPoint?) {
|
||||
// defiend in block-loader.ts(CBlock)
|
||||
}
|
||||
ClearBufMap() {
|
||||
this.MapHeader = {}
|
||||
}
|
||||
@@ -888,7 +903,7 @@ module.exports = class CDB extends require("../code")
|
||||
var SeqHash = global.CalcHashFromArray(arr, true);
|
||||
return SeqHash;
|
||||
}
|
||||
CheckCreateTicketObject(Tr, BlockNum, SetTxID) {
|
||||
CheckCreateTicketObject(Tr, BlockNum?, SetTxID?) {
|
||||
if (!Tr.HashPow && Tr.HashTicket) {
|
||||
Tr.num = BlockNum
|
||||
var FullHashTicket = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
||||
@@ -902,7 +917,7 @@ module.exports = class CDB extends require("../code")
|
||||
Tr.TxID = global.GetHexFromArr(FullHashTicket.slice(0, global.TR_TICKET_HASH_LENGTH + 6))
|
||||
}
|
||||
}
|
||||
CheckCreateTransactionObject(Tr, SetTxID, NotPrioritet?) {
|
||||
CheckCreateTransactionObject(Tr, SetTxID?, NotPrioritet?) {
|
||||
if (!Tr.HashPow) {
|
||||
var Body = Tr.body;
|
||||
Tr.IsTx = 1
|
||||
@@ -913,17 +928,6 @@ module.exports = class CDB extends require("../code")
|
||||
Tr.HASH = global.shaarr(Body)
|
||||
Tr.HashTicket = Tr.HASH.slice(0, global.TR_TICKET_HASH_LENGTH)
|
||||
this.CheckCreateTicketObject(Tr, Tr.num, SetTxID)
|
||||
Tr.Prioritet = global.MAX_LENGTH_SENDER_MAP
|
||||
if (!NotPrioritet && this.GetSenderPrioritet) {
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BlockChainToBuf(WriteNum, StartNum, EndBlockNum) {
|
||||
@@ -1033,3 +1037,19 @@ global.GetNodeStrPort = function(Node) {
|
||||
return "" + arr[2] + "." + arr[3];
|
||||
}
|
||||
};
|
||||
declare global {
|
||||
namespace NodeJS {
|
||||
interface Global {
|
||||
//#region block-db.ts
|
||||
BlockDB: any;
|
||||
BLOCK_HEADER_SIZE: number;
|
||||
BLOCK_HEADER_SIZE2: number;
|
||||
DB_VERSION: number;
|
||||
AddInfoChain: Function;
|
||||
AddInfoBlock: Function;
|
||||
GetNodeStrPort: Function;
|
||||
NO_CHECK_BLOCKNUM_ONSTART: number;
|
||||
//#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user