LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 如何压缩pchain的旧数据

如何压缩pchain的旧数据

2019-12-27 PCHAIN 来源:区块链网络


PCHAIN主网已于12月26日8点19分区块高度为9,383,000时成功硬分叉升级

此次升级再次优化了Data Reduction,可进一步减少至少50% 以上新增存储数据。对于之前所产生的旧数据,节点用户可根据以下步骤操作删减。

1.更新到最新版pchain(v1.2.0以上)

将其替换至~/pchain/bin/下,然后取消crontab脚本

执行crontab -e 然后将文件中的内容用‘#’注释掉,保存之后退出

2. 导出chainblock

在pchain运行的情况下,进入console,执行admin.exportChain(“filename”)导出对应主/子链的全部区块信息

导出的文件会生成在启动pchain的目录下

若需导出主链,则连接到主链的console后执行admin.exportChain(“filename”)

若需导出子链,则连接到子链的console后执行admin.exportChain(“filename”)

导出所需时间大概在10分钟左右

3.删除<DATADIR>数据(假设<DATADIR>~/pchain/.pchain)

删除Datadir目录下除pchain/priv_validator.json, pchain/keystore, child_0/priv_validator.json, child_0/keystore, child_0/eth_genesis.json, child_0/genesis.json 以外的所有文件和文件夹。

删除后的目录结构是:

datadir/

-pchain/

-priv_validator.json

-keystore/

-child_0/(若没有跑子链此文件夹可忽略)

-genesis.json

-eth_genesis.json

-priv_validator.json

-keystore/

4.导入chainblock

用以下命令启动链

./pchain --datadir=~/pchain/.pchain --gcmode=full--verbosity=0 --childChain=child_0 --maxpeers=0

注意:加粗部分一定要正确

进入console,执行admin.importChain(“filename”)导入对应主/子链的全部区块信息

这一步需要耗费十几个小时左右,请耐心等待。

注意:

a)子链导入之前要先执行init操作:

./bin/pchain --datadir=~/pchain/.pchain init ~/pchain/.pchain/child_0/eth_genesis.json child_0

具体可参考:https://github.com/pchain-org/pchain/wiki/How-to-sync-and-run-child_0

b)如果同时跑主链和子链,一定要先导入主链再导入子链

导入完成后,存储将只包含区块信息和最新的128个区块state,最新的state保存在内存里,直到链被停止后,会写入磁盘。

5.重新启动主/子链

重新使用以下命令启动链

~/pchain/bin/pchain --datadir=~/pchain/.pchain --rpc --rpcapi=eth,web3,admin,tdm,miner,personal,chain,txpool,del --gcmode=full--verbosity=0 --childChain=child_0 > /dev/null 2>&1 &

也可以直接使用releasev1.2.0压缩包的run.sh运行pchain

注意:此时应该把步骤4中的--maxpeers=0删除,否则无法与其他节点连接

-END-

—-

编译者/作者:PCHAIN

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...