ordinals节点数据同步出现报错
error: failed to open index: Database already open. Cannot acquire lock.
问题分析:
出现问题的原因是btcoin core节点数据没有同步完我们就开始进行ordinals数据同步,导致/root/.local/share/ord/index.redb 文件数据损坏了
相关文档
ordinals inscriptions说明文档
具体操作
1、删除我们之前同步的ordinals对应的/root/.local/share/ord/index.redb
rm -rf /root/.local/share/ord/index.redb
2、查询我们的btc core节点同步状态
~# /data/btc/bin/bitcoin-cli --conf=/data/btc/conf/bitcoin.conf getindexinfo
{
"txindex": {
"synced": true,
"best_block_height": 827655
}
}
当我们的"synced": true时我们才可以进行ordinals的数据同步
3、ordinals数据同步
~# screen -S balance
~# ./ord --cookie-file=/data/btc/btcdata/.cookie --rpc-url=127.0.0.1:8547 wallet balance
[indexing blocks] ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░ 768120/827656
当我们的节点同步数据同步完成后,我们出现如下默认端口启动了后,就代表数据同步完成
~# ./ord --cookie-file=/data/btc/btcdata/.cookie --rpc-url=127.0.0.1:8547 wallet balance
[indexing blocks] ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░ 827656/827656
Listening on http://0.0.0.0:80
然后再执行如果返回如下字样,则表示同步完成
~# ./ord --cookie-file=/data/btc/btcdata/.cookie --rpc-url=127.0.0.1:8547 wallet balance
{
"cardinal": 53378,
"ordinal": 12332,
"total": 65710
}
则表示数据同步完成
此外我们也可以直接执行如下命令,但是下面的命令会有同步进度条,但是没有返回信息
~# ./ord --cookie-file=/data/btc/btcdata/.cookie --rpc-url=127.0.0.1:8547 index update