如何确定区块链上用户的余额?

时间:2019-03-05 16:19:59

标签: python blockchain cryptocurrency

我正在尝试在python3中构建一个区块链加密货币(出于娱乐目的)。我想创建一个钱包/用户系统,但是,似乎找不到找到跟踪用户余额的好方法。是否有更好的方法来遍历链中的每个块?我应该只将该值存储在数据库的用户记录中吗?这是一个已开采区块的示例:

{
  "index": 2, 
  "previous_hash": "598bfbe08058e4f4f5086625c9b7267f7b84059dee33d3e510b3e7f7bc71b2d2", 
  "proof": 888273, 
  "timestamp": 1551802103.033363, 
  "transactions": [
    {
      "amount": 1, 
      "recipient": "root", 
      "sender": "0"
    }
  ]
}, 

如果有更多的用户彼此进行交易,则transactions列表中会有更多的交易。现在,我要遍历链中的每个区块,遍历该区块中的每个交易,然后将收款人的余额值增加一定数量。这是非常低效的,并且在大型链上需要很长时间。有更有效的方法吗?

1 个答案:

答案 0 :(得分:0)

您绝对不应该迭代所有区块链以获得钱包余额,这将变得不现实。开始了解UTXO是什么,然后尝试实现一些东西。了解UTXO如何在现有区块链中使用。