【问题标题】:How to save my Nodejs BLockchain如何保存我的 Nodejs 区块链
【发布时间】:2018-09-05 04:43:24
【问题描述】:

在过去的几周里,我尝试编写自己的区块链,只是为了更好地理解整个概念。 你可以在这里找到我的代码:https://github.com/Snixells/js-blockchain
我已经实现了 Blockchain + Transactions 是通过 nodeJs 数组和 JSON 创建的。 我现在正在处理的问题是数据没有被保存。我想在(可能)快速服务器上运行整个区块链并通过 RESTful API 访问它。因此,我需要一种将区块链存储在某处的方法。我也已经有了一些想法,但似乎没有一个是好的。

  1. 我可以将整个链保存为 JSON 文件,并始终在需要时打开它,然后保存它。但这在以后根本不会扩展
  2. 我曾考虑将每个块保存为单个 JSON 文件,但我认为这也不会很好。
  3. 我可以使用任何类型的数据库,例如 RethinkDB 或 MongoDB,但这与区块链作为数据库本身的整个想法相冲突。

我很想听听一些答案,例如,我可以使用哪些框架等。或者也许有关于如何存储数据库的任何想法。 谢谢你的帮助:)

【问题讨论】:

  • 第 1 点和第 2 点不能免于第 3 点,事实上,它们几乎相同,只是您存储数据的方式不同 - 您需要有一个地方来存储区块链,但如果它不是去中心化的只有 1 个节点,但你必须从某个地方开始。 medium.com/@brendanrius/…
  • 所以我认为将数据存储在数据库中没有任何问题,它只是没有大量节点的去中心化区块链(即每个网络都有一个区块链副本)。
  • 只需将新块附加到单个文件,“几乎是 JSON”。然后,您可以使用标准文件访问命令来提供大分类帐文件的块,例如尾部。仅追加记录速度很快。
  • 你是正确的,在你的服务器上存储一个 json 文件不会是可扩展的,所以我会改用数据库。您需要链接每个块
  • 好的,感谢您的快速答复。我将尝试使用数据库实现,并且仅使用追加将区块链保存在 json 文件中!虽然我更喜欢以不同的方式保存数据...如果您有任何其他想法,请告诉我!

标签: javascript json node.js express blockchain


【解决方案1】:

更新:
我尝试了 rethinkDB,它似乎是一个不错的选择,因为您可以简单地将 json 对象存储在该数据库中。它非常适合我的需要!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多