storage.DBTX

2 UNIVERSE -> 9 GALAXY -> 18 PLANET

宇宙 -> 星系 -> 行星

数据包括:

  • 历史数据(原生数据)
  • 状态数据(衍生数据)

UNIVERSE

var BLOCKCHAIN_UNIVERSE = []byte("U") //[]byte("BLOCKCHAIN_UNIVERSE") // all block chain data is store in this BLOCKCHAIN_UNIVERSE
var SMARTCONTRACT_UNIVERSE = []byte("SC")

区块链

智能合约

GALAXY

var GALAXY_BLOCK = []byte("GB")
var GALAXY_TRANSACTION = []byte("GTX")           // []byte("TRANSACTION")
var GALAXY_TRANSACTION_VALIDITY = []byte("GTXV") //[]byte("TRANSACTIONVALIDITY")
var GALAXY_KEYIMAGE = []byte("GKI")              //[]byte("KEYIMAGE")

var GALAXY_TOPOLOGICAL_ORDER = []byte("GT")  // []byte("TOPOLOGICAL")       // stores  block to topo index mapping
var GALAXY_TOPOLOGICAL_INDEX = []byte("GTI") //[]byte("TOPOLOGICAL_INDEX") // stores topological index  to block mapping

//2 galaxies store inverse mapping
var GALAXY_HEIGHT = []byte("GH")        //[]byte("HEIGHT")             // height to block id mapping
var GALAXY_OUTPUT_INDEX = []byte("GOI") //[]byte("OUTPUT_INDEX") // output index to wallet data for blockchain verification and wallets

// these store unstructured data
var GALAXY_KEYVALUE = []byte("GKV") //[]byte("KEYVALUE") // used to store simple data

区块、交易、密钥镜像

全排序、映射关系

高度、输出索引

// the various attributes stored in keyvalue
var TOP_HEIGHT = []byte("TOP_HEIGHT")   // stores current TOP HEIGHT, only stores single value
var TOPO_HEIGHT = []byte("TOPO_HEIGHT") // stores current TOPO HEIGHT, only stores single value
var TIPS = []byte("TIPS")               // this stores tips

高度、拓扑高度、末端区块

PLANET

var PLANET_BLOB = []byte("BLOB")     //it shows serialised block
var PLANET_HEIGHT = []byte("HEIGHT") // contains height
var PLANET_PARENT = []byte("PARENT") // parent of block
var PLANET_PAST = []byte("PAST")     // past of block
var PLANET_FUTURE = []byte("FUTURE") // future of block only 1 level

//var PLANET_HEIGHT_BUCKET = []byte("H")     // contains all blocks of same height
//var PLANET_SETTLE_STATUS = []byte("S")     // contains whether the block is settled

var PLANET_SIZE = []byte("SIZE")                      // sum of block + all txs
var PLANET_ALREADY_GENERATED_COINS = []byte("CCOINS") // all coins generated till this block
var PLANET_OUTPUT_INDEX = []byte("OINDEX")            // tx outputs indexing starts from here for this block
var PLANET_OUTPUT_INDEX_END = []byte("OINDEXEND")     // tx outputs indexing ends here ( this is excluded )
var PLANET_CUMULATIVE_DIFFICULTY = []byte("CDIFF")    //[]byte("CDIFFICULTY") // Cumulative difficulty
var PLANET_DIFFICULTY = []byte("DIFF")                //[]byte("DIFFICULTY")             // difficulty
var PLANET_BASEREWARD = []byte("BREWARD")             // base reward of a block  ( new coins generated)
var PLANET_MINERTX_REWARD = []byte("REWARD")          //reward for minertx is stored here ( base reward + collected fees after client protocol run)

var PLANET_TIMESTAMP = []byte("TS") // []byte("TIMESTAMP")

// the TX has the following attributes
var PLANET_TX_BLOB = []byte("BLOB")          // contains serialised  TX , this attribute is also found in BLOCK where
var PLANET_TX_MINED_IN_BLOCK = []byte("MBL") //[]byte("MINERBLOCK") // which blocks mined this tx, stores topo height of mined block
var PLANET_TX_MINED = []byte("MIN")          // all blocks where tx is mined in in
var PLANET_TX_SIZE = []byte("SIZE")

var PLANET_TX_SC_BYTES = []byte("SC")
var PLANET_TX_SC_PROCESSED = []byte("SCP")
var PLANET_TX_SC_CHANGELOG = []byte("SCL")

复杂的数据结构有 Block、Tips、Transaction,其它 uint64、Timestamp、bytes,其它 TX_Output_Data(在钱包同步时,提供数据)。

results matching ""

    No results matching ""