【发布时间】:2020-12-12 05:34:16
【问题描述】:
我们正在托管一个比特币节点来处理我们网站上的存款。现在,我们通过 RPC 调用在节点上生成新地址。问题是客户端害怕在服务器故障的情况下丢失私钥。
所以我的目的是我们可以有一个主密钥和一个增量计数器来从中生成任意数量的私钥。有了这个,我们只需要备份主密钥,我们可以重新生成所有的私钥,以防我们丢失服务器上的数据。
这里的问题是比特币节点只会在节点本身生成地址时通知我们新交易,我们无法修改节点生成新地址的方式。
我有两个问题:
- 我走对了吗?
- 如何在节点上添加手动生成的私钥,以便节点在这些密钥上收到新交易时通知我?
谢谢。
【问题讨论】:
-
问题2:可以通过
importprivkeyrpc方法bitcoincore.org/en/doc/0.18.0/rpc/wallet/importprivkey导入私钥。甚至您可以通过importaddress导入仅限手表的地址以保持安全的私钥bitcoincore.org/en/doc/0.18.0/rpc/wallet/importaddress -
@Lessmore 是的,这可行,我对重新扫描选项感到困惑。如果地址是新生成的,我想我们不需要它,对吧?
-
是的,零tx的新地址不需要重新扫描
-
bitcoind 的钱包已经为你做了“从单个种子生成密钥”的事情。因此,您可以简单地对钱包进行多次备份(请参阅“backupwallet”RPC 方法)。但是,比特币真的不应该存储在网站上,如果您正在处理提款,您真的需要一个更安全的设置,否则您将被抢劫。如果您只接受付款/存款而不进行提款,那么允许您的网站访问私钥仍然是不可取的。 ...
-
相反,保持钱包离线,并使用“importaddress” RPC 方法在网络服务器上维护“钱包”的仅供观看的副本。确保在发货之前,您也使用独立于网络服务器的完整节点验证付款。请注意,无论您将钱包存放在何处,最初都应至少进行多次备份,并且不要忘记备份您需要的任何元数据,以正确交付您的产品/服务并最大限度地减少您的纳税义务。
标签: bitcoin private-key bitcoind