Commit f5620f8a authored by yxq's avatar yxq

ref docs

parent 85674d8a
statedb:
statedb:
1. 删除历史版本状态数据(保留最新的1w个高度的状态数据)
2. 删除历史版本的 version->hash 和 hash->version 索引数据
3. 关闭MVCCIter
3. 删除历史版本的versionKeyList数据,该数据通常用于区块回滚(优化:基于write head log机制单独保存)
4. 删除已经close的ticket相关数据
localdb:
1. 删除历史区块的total difficulty记录,约700M
2. 删除 short hash 记录,约1.4G
3. 删除 blockHash-> blockHeight 的索引,约700M
4. 删除ticket合约相关数据(主要用于用户接口查询)
5. 通过配置文件关闭地址统计,主要统计指定地址相关交易,20G+
[exec]
disableAddrIndex=true
chain33/blockchain/process.go L:320 不执行AddTxs
chain33/blockchain/blockstore.db L:712
问题:
交易执行能否依赖localdb的数据?如果可以,那么如何判断数据该保存在localdb还是statedb?
[exec]
disableTxIndex=true
该插件主要保存 交易哈希->{blockHeight,index,blockTime,actionName}, 关闭后不能通过交易哈希查询交易,目前部分合约中(比如paracross、multisig)包含了通过交易哈希查询交易的代码,导致关闭该插件后节点状态分叉。
如果合约中需要查询历史及交易,需要同时提供区块哈希(或者区块高度)和交易哈希,从指定区块中过滤出特定的交易。
关闭ExecLocal功能,配置了ExecLocalSameTime的合约不受影响,没有配置的说明交易执行时不会依赖lcaodb的数据,localdb的数据仅用于用户查询,因此精简节点可以关闭ExecLocal
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment