如何保存我的 Nodejs 区块链

Posted

技术标签:

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

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

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

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

【问题讨论】:

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

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

【讨论】:

以上是关于如何保存我的 Nodejs 区块链的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs + React 实战开发区块链慕课Dapp 专门为前端工程师设计

专门为前端工程师设计 Nodejs+React 实战开发区块链“慕课”Dapp资源教程百度云

[区块链] 区块链面试题

[区块链] 区块链面试题

[区块链] 区块链面试题

区块链账本存储