使用 BlockCypher 为用户创建 "wallets"

Creating "wallets" for users with BlockCypher

我是比特币世界的新手,我很难理解基本比特币服务的钱包实施基础知识。

基本上,我想要:

我知道有很多方法可以解决这个问题,而且有很多 API 可以提供帮助,所以我将把这个问题缩小到使用 BlockCypher's API,我相信它有与其他 API 有很多相似之处。

我只是想知道实现这一点应该采取的一般步骤,因为我几乎迷路了。我该如何开始?

我在想我应该采取的步骤是:

然而,这让我有点反感(来自 BlockCypher 的 API,关于地址生成):

The private key returned is immediately discarded by our servers, but we advise that these keys should not be used for any high-value—or long-term storage—addresses.

我想我打算使用的钱包将被视为“长期”存储,那么我还有什么其他方法可以实现这样的系统?

如果这是一个非常基本的问题,或者我有误解,我很抱歉。在正确的方向上得到一些指导会很棒;当然我不期待完整的代码示例,只是对概念的解释。谢谢

比特币私钥是使用钱包必不可少的。比特币基于 PGP 思想——一个私钥对应一个 public 密钥。

您正在使用的API会立即丢弃私钥,否则他们将能够花掉他们生成的每个钱包中的钱。他们将通过创建交易并使用他们拥有的私钥对其进行签名来做到这一点。

所以他们在内存中生成这些私钥,通过API将它们发送给你,然后丢弃它们。 BlockCypher 丢弃私钥不会影响您收到这些密钥。您仍然可以通过 API 获取密钥,并将它们保存在服务器的内存中。

您需要将这些私钥存储在持久存储中,例如数据库。完成后,您就可以代表用户进行交易了。

关于长期存储方面,他们指的是用于生成钱包的私钥的强度。鉴于此,它们可能不是非常强大(这并不意味着它们很弱!)。你想要一个强大的私钥,这样它就不容易被黑客攻击或猜到。对于长期存储,尤其是高额美元存储,这些钱包在区块链上可用,是黑客攻击的目标。对于长期存储,您最好使用 Trezor or reading up on encryption (which is best done at security.stackexchange.com.