1.查看keypool信息
omnicore-cli getinfo // 或者 omnicore-cli getwalletinfo
"keypoololdest": 1581154557, 未使用的密钥最早时间戳信息
"keypoolsize": 100, keypool数量
注:
1、预测keypoolsize的最小值为100,会根据地址创建的使用情况进行扩充
2、keypool属性与钱包有关,与节点无关
2.keypool预置命令
# 预置keypool数量为5万个
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "keypoolrefill", "params": [50000] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
注:
预置1万个:执行时间约60s
预置5万个:执行时间约240s
3.钱包文件相关信息
# 导出钱包文件为文本
curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "dumpwallet", "params": ["/root/backu.txt"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
注:
1、钱包文件中reserve信息为钱包保留地址,即未分配地址
2、钱包文件中label信息为为钱包已创建地址,label=账户名称
3、change=1 含义???
4.已解决问题
1、如果当前keypool数量为500,设置keypool为100,会怎么样?
答:keypool不变,当设置keypool大于当前keypool数量时,keypool发生变化为设置的keypool值
2、如果当前keypool为500,总地址数为1000,设置keypool为800,会怎么样?
答:keypool值等于800,钱包文件内未使用的地址数(reserve)扩充为为800
5.疑问
1、keypool的数量是否会根据地址创建的使用情况进行扩充
2、为什么需要预先 生成keypool ,而不等创建新地址时再进行创建
6.后续进展
昨晚7点23分我导出了正式环境的钱包文件,今天9点48分我又导出了一次,下图是两个文件的情况
然后去查了这段时间的地址创建情况,11个地址
7.结论
==说明是有专门增发key的程序,让未分配秘钥池(keypool)一直保持在100个==