创造"钱包"对于使用BlockCypher的用户

时间:2015-06-23 23:57:29

标签: bitcoin

我是比特币世界的新手,我正在努力了解基本比特币服务的钱包实施基础知识。

基本上,我喜欢这样:

  • 用户有个人钱包("现场"钱包,跟踪他们的余额)
  • 用户可以存入/取出该地址/钱包
  • Web服务能够代表用户进行交易 (到其他地址)

我知道有很多方法可以解决这个问题,并且有许多API可以提供帮助,因此我将此问题缩小到使用BlockCypher's API,我相信它与其他API有许多相似之处。< / p>

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

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

  • 使用API​​生成地址(服务器端?)并将私钥和公钥存储在数据库中。始终为同一用户使用相同的地址。
  • 使用交易API完成剩下的工作并跟踪比特币余额。

然而,这让我有所帮助(来自BlockCypher的API,关于地址生成):

  

我们的服务器会立即丢弃返回的私钥,但是   我们建议不要将这些密钥用于任何高价值或   长期存储地址。

我打算使用的钱包将被视为长期&#34;存储,我想,那么我还有什么方法可以实现这样一个系统呢?

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

1 个答案:

答案 0 :(得分:3)

比特币私钥对于使用钱包至关重要。比特币基于PGP理念 - 一个私钥对应一个公钥。

您正在使用的API会立即丢弃私钥,否则他们就可以在他们生成的每个钱包中花钱。他们会通过创建交易并使用他们拥有的私钥对其进行签名来实现此目的。

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

您需要将这些私钥存储在持久存储中,例如数据库。一旦你这样做,那么你就可以代表用户进行交易。

关于长期存储方面,它们指的是用于生成钱包的私钥的强度。鉴于此,它们可能不是非常强大(这并不意味着它们很弱!)。您需要一个强大的私钥,因此不容易被黑客攻击或猜测。对于长期存储,特别是高额金额,这些钱包可以在区块链上使用,并且是黑客目标。对于长期存储,最好使用Trezor或阅读加密(最好在security.stackexchange.com完成。