refactor: extracting global constants

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-07-13 18:48:51 +08:00
parent 1509b956a9
commit 207db65a07
17 changed files with 286 additions and 264 deletions

View File

@@ -394,7 +394,7 @@ function TestCreateTr() {
Type: 100, Currency: 0, PubKey: [2, 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], Description: "Description", Adviser: 10,
};
var Body = global.BufLib.GetBufferFromObject(TR, global.FORMAT_CREATE, 1000, {});
var Body = global.BufLib.GetBufferFromObject(TR, FORMAT_CREATE, 1000, {});
var startTime = process.hrtime();
var StartData = Date.now();
var nonce = CreateHashBodyPOWInnerMinPower(Body, 1000, 17);

View File

@@ -17,11 +17,6 @@ global.PACKET_ALIVE_PERIOD = 4 * global.CONSENSUS_PERIOD_TIME;
global.PACKET_ALIVE_PERIOD_NEXT_NODE = global.PACKET_ALIVE_PERIOD / 2;
global.MAX_BLOCK_SEND = 8;
global.COUNT_TASK_FOR_NODE = 10;
global.FORMAT_BLOCK_TRANSFER = "{\
BlockNum:uint,\
TreeHash:hash,\
arrContent:[tr],\
}";
global.WRK_BLOCK_TRANSFER = {};
global.MAX_ACCOUNTS_TRANSFER = 1024;
global.MAX_SMARTS_TRANSFER = 10;
@@ -29,15 +24,3 @@ if (global.TEST_NETWORK) {
global.MAX_ACCOUNTS_TRANSFER = 128;
global.MAX_SMARTS_TRANSFER = 10;
}
global.FORMAT_REST_TRANSFER = "{\
Result:uint,\
Version:uint,\
Arr:[arr200],\
ProofHash:hash,\
ProofArrL:<hash>,\
ProofArrR:<hash>,\
}";
global.FORMAT_SMART_TRANSFER = "{\
Result:uint,\
Arr:[tr],\
}";

View File

@@ -14,6 +14,7 @@ import CRest from './rest-loader'
import { TYPE_TRANSACTION } from '../constant/account';
import { STreeBuffer } from './base';
import { RBTree } from './library';
import { DB_FORMAT } from '../constant/db-format';
//import * as crypto from 'crypto';
require('./block-loader-const');
const STAT_BLOCK_LOAD_PERIOD = global.CONSENSUS_PERIOD_TIME / 5;
@@ -1009,7 +1010,7 @@ export default class CBlock extends CRest {
Info.Node.NextPing = global.MIN_PERIOD_PING
var Block = Info.Context.Block;
if (Block && !Block.TreeEq) {
var Data = global.BufLib.GetObjectFromBuffer(Info.Data, global.FORMAT_BLOCK_TRANSFER, global.WRK_BLOCK_TRANSFER);
var Data = global.BufLib.GetObjectFromBuffer(Info.Data, DB_FORMAT.FORMAT_BLOCK_TRANSFER, global.WRK_BLOCK_TRANSFER);
Info.Data = undefined
if (Data.BlockNum !== Block.BlockNum || global.CompareArr(Data.TreeHash, Block.TreeHash) !== 0) {
this.SetBlockNOSendToNode(Block, Info.Node, "NO")
@@ -1325,7 +1326,7 @@ global.LoadBlockFromNetwork = function(Params, F) {
global.SERVER.SendF(Node, {
"Method": "GETBLOCK", "Data": { BlockNum: BlockNum, TreeHash: [] }, "Context": {
F: function(Info) {
var Block = global.BufLib.GetObjectFromBuffer(Info.Data, global.FORMAT_BLOCK_TRANSFER, global.WRK_BLOCK_TRANSFER);
var Block = global.BufLib.GetObjectFromBuffer(Info.Data, DB_FORMAT.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 " + global.NodeName(Info.Node), 2);

View File

@@ -1039,7 +1039,7 @@ declare global {
namespace NodeJS {
interface Global {
//#region block-db.ts
BlockDB: any;
BlockDB: DBLib;
BLOCK_HEADER_SIZE: number;
BLOCK_HEADER_SIZE2: number;
DB_VERSION: number;

View File

@@ -18,6 +18,7 @@ import * as fs from 'fs'
import * as querystring from 'querystring'
import * as crypto from 'crypto';
import { STreeBuffer } from './base';
import { TYPE_TRANSACTION } from '../constant/account';
var BlockTree = new STreeBuffer(300 * 1000, global.CompareItemHashSimple, "number");
var ContenTypeMap = {};
@@ -222,7 +223,7 @@ function SendToResponceFile(response, Block, TrNum) {
var Body = Block.arrContent[TrNum];
if (Body && Body.data)
Body = Body.data;
if (Body && Body[0] === global.TYPE_TRANSACTION_FILE) {
if (Body && Body[0] === TYPE_TRANSACTION.TYPE_TRANSACTION_FILE) {
var TR = global.DApps.File.GetObjectTransaction(Body);
if (TR.ContentType.toLowerCase().indexOf("html") >= 0)
response.writeHead(200, { 'Content-Type': "text/plain" });
@@ -269,7 +270,7 @@ function SendToResponceDappFile(response, Block, TrNum) {
var Body = Block.arrContent[TrNum];
if (Body) {
var Type = Body[0];
if (Type === global.TYPE_TRANSACTION_FILE) {
if (Type === TYPE_TRANSACTION.TYPE_TRANSACTION_FILE) {
var TR = global.DApps.File.GetObjectTransaction(Body);
Result = { result: 1, Type: Type, ContentType: TR.ContentType, Name: TR.Name, Body: TR.Data.toString('utf8') };
} else {

View File

@@ -11,6 +11,7 @@
"use strict";
import CDB from './db/block-db'
import { TYPE_TRANSACTION } from '../constant/account';
import { DB_FORMAT } from '../constant/db-format';
export default class CRest extends CDB {
LoadRestContext
BlockNumDB
@@ -150,7 +151,7 @@ export default class CRest extends CDB {
F: function(Info) {
if (Context.TxProof)
return;
var Data = global.BufLib.GetObjectFromBuffer(Info.Data, global.FORMAT_BLOCK_TRANSFER, global.WRK_BLOCK_TRANSFER);
var Data = global.BufLib.GetObjectFromBuffer(Info.Data, DB_FORMAT.FORMAT_BLOCK_TRANSFER, global.WRK_BLOCK_TRANSFER);
Info.Data = undefined
if (Data.BlockNum !== BlockProof.BlockNum || global.CompareArr(Data.TreeHash, BlockProof.TreeHash) !== 0) {
global.ToLog("Error get proof block from " + global.NodeName(Item.Node), 2)
@@ -167,7 +168,7 @@ export default class CRest extends CDB {
var Body = Data.arrContent[n];
if (Body[0] === TYPE_TRANSACTION.TYPE_TRANSACTION_ACC_HASH) {
try {
FindTx = global.BufLib.GetObjectFromBuffer(Body, global.FORMAT_ACCOUNT_HASH3, {})
FindTx = global.BufLib.GetObjectFromBuffer(Body, DB_FORMAT.FORMAT_ACCOUNT_HASH3, {})
}
catch (e) {
global.ToLog("Error parsing Body[" + n + "] block proof: " + e, 2)
@@ -393,19 +394,16 @@ export default class CRest extends CDB {
SumPower = 0
Context.ArrProof.push({ Node: Info.Node, SumPower: SumPower, arr: arr, BufRead: BufRead })
}
static
GETSMART_F() {
static GETSMART_F() {
return "{\
SmartNum:uint,\
Count:uint,\
}";
}
static
RETSMART_F() {
return global.FORMAT_SMART_TRANSFER;
static RETSMART_F() {
return DB_FORMAT.FORMAT_SMART_TRANSFER;
}
static
GETREST_F() {
static GETREST_F() {
return "{\
BlockNum:uint,\
AccNum:uint,\
@@ -413,9 +411,8 @@ export default class CRest extends CDB {
AccHash:hash,\
}";
}
static
RETREST_F() {
return global.FORMAT_REST_TRANSFER;
static RETREST_F() {
return DB_FORMAT.FORMAT_REST_TRANSFER;
}
SendLoadToBegin() {
return;
@@ -462,7 +459,7 @@ function CheckHashSmarts(LastSumHash) {
return Num;
var WasSumHash = Item.SumHash;
Item.SumHash = [];
var Buf = global.BufLib.GetBufferFromObject(Item, global.DApps.Smart.FORMAT_ROW, 20000, WorkStruct);
var Buf = global.BufLib.GetBufferFromObject(Item, DB_FORMAT.FORMAT_SMART_ROW, 20000, WorkStruct);
var Hash = global.sha3(Buf);
var SumHash = global.sha3arr2(PrevItem.SumHash, Hash);
if (global.CompareArr(SumHash, WasSumHash) !== 0)

View File

@@ -131,7 +131,7 @@ export default class CSmartContract extends CConsensus {
var ResultStr = Result;
if (Result === true || typeof Result === "number") {
ResultStr = "Add to blockchain"
if (type === global.TYPE_TRANSACTION_FILE)
if (type === TYPE_TRANSACTION.TYPE_TRANSACTION_FILE)
ResultStr += ": file/" + BlockNum + "/" + i
}
item.cmd = "RetFindTX"

View File

@@ -147,6 +147,7 @@ function RecreateAccountHashDB3() {
};
import '../core/db/db-row'
import { DB_FORMAT } from '../constant/db-format';
function ReWriteDBSmartWrite() {
global.UpdateMode = 1;
global.ToLog("Start ReWriteDBSmartWrite");
@@ -154,7 +155,7 @@ function ReWriteDBSmartWrite() {
var Item = global.DApps.Smart.DBSmart.Read(num);
if (!Item)
break;
var Body = global.GetArrFromHex(GetBufferFromObject(Item, global.DApps.Smart.FORMAT_ROW, 20000, {}));
var Body = global.GetArrFromHex(GetBufferFromObject(Item, DB_FORMAT.FORMAT_SMART_ROW, 20000, {}));
if (Body.length > 15000)
global.ToLog("Smart " + Item.Num + ". " + Item.Name + " length=" + Body.length);
global.DApps.Smart.DBSmartWrite(Item);