1

我正在玩https://github.com/ElementsProject/lightning的闪电实现,在以下步骤之后,cli-client 无法列出我从内部钱包生成的地址存入的资金

  1. 我安装了 bitcoind-0.16 并完全同步了 mainnet-blockchain
  2. 我安装了 c-lightning 并与本地全节点同步
  3. 我生成了一个新地址./lightning-cli newaddr
  4. 我从我的 Electrum 钱包(不是从本地节点钱包)为这个地址注资,并看到了传入的交易./lightning-cli listfunds
  5. 然后不小心把文件删了.lightning/lightningd.sqlite3
  6. 重新启动后,闪电重新创建了文件,但现在./lightning-cli listfunds显示空结果,但资金必须存在,因为资金交易在区块链中可见。

我调查./lightning-cli dev-listaddrs了哪些显示了内部钱包的所有地址,并且有我的资金地址。所以我认为我需要将闪电网络与比特币区块链重新同步,但./lightning-cli dev-rescan-outputs没有成功。

我该怎么做才能再次看到和使用这些资金?或者,我怎样才能获得内部(闪电)钱包的种子/私钥?

4

1 回答 1

2

此处的 c-lightning 成员给出了完美的答案:https ://github.com/ElementsProject/lightning/issues/1170

如果链接失效:

好吧,简短的回答是不要删除数据库,这最终会损失资金,就像在 bitcoind 中删除 wallet.dat 一样。

长答案是,使用 newaddr 重新生成您拥有的所有地址(可以多次调用它)。然后停止闪电,打开 Lightningd.sqlite3 并告诉它从更早的块开始扫描:

sqlite3 $HOME/.lightning/lightningd.sqlite3 "UPDATE vars SET val=500000 WHERE name='last_processed_block';"

然后重新启动闪电,它应该从高度 500'000 开始扫描块(这将需要相当长的时间)。

请注意,这仅在您没有打开渠道时才有效,因为在这种情况下,您不再是资金的唯一所有者。所以永远不要删除数据库!

于 2018-03-05T11:36:32.197 回答