1
0
forked from circlecloud/tera

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

@@ -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
}
}
}