JavaScript-区块链编程学习手册-三-

45 阅读4分钟

JavaScript 区块链编程学习手册(三)

原文:zh.annas-archive.org/md5/FF38F4732E99A2380E8ADFA2F873CF99

译者:飞龙

协议:CC BY-NC-SA 4.0

第八章:总结...

欢迎来到本书的最后一章。到目前为止,你已经对区块链功能及其构建有了深入的了解。你一定对构建自己的区块链并探索其各种功能感到兴奋!

在我们结束本书之前,让我们快速回顾一下我们到目前为止学到的东西,并探讨我们可以对我们的区块链进行哪些改进或修正,使其更安全可靠。

所以,让我们准备迈出最后的步伐...

快速回顾

随着上一章的完成,我们已经建立好了我们的区块链。如果你想想你在整本书中取得了多少成就,那是相当令人印象深刻的。

我们从零开始,建立了一个区块链数据结构,然后创建了一个与之交互的 API。然后我们将我们的 API 转变为一个去中心化的区块链网络,并在多个不同节点上同步了整个网络的数据。

然后,我们创建了一个共识算法,以确保所有节点上的数据是同步和合法的。最后,我们建立了一个区块浏览器,通过用户界面来探索我们的区块链。在整本书中,我们建立了许多功能,以及一个令人印象深刻的区块链原型。

你必须意识到的一件重要的事情是,在整本书中,我们一直在一台计算机上运行我们的五个节点。

然而,如果你将整个项目下载到多台不同的计算机上,你就可以在每台计算机上运行每个节点,真正模拟去中心化的区块链网络是如何工作的。

你只需要确保每台运行你的项目的计算机在同一个网络上。你不再需要本地主机地址,而是需要每个节点运行的 IP 地址。

尝试尝试这个想法。看到你的区块链网络在多台不同的计算机上运行是非常酷的。

改进的领域

现在,有一些可以改进的地方。其中之一是错误处理。在整本书中,我们并没有做太多的错误处理,因为我们专注于确保实际功能的正确运行,但为了改进这个区块链,我们肯定需要做很多错误处理。这将确保我们的区块链不会被黑客攻击,并确保它的正确运行。

另一个可以改进这个区块链的领域是在进行交易时。目前,当我们进行交易时,我们从一个人发送一定数量的比特币给另一个人,但我们从来没有验证发送方是否真的有这些比特币可以发送。

我们鼓励你尝试一下我们区块链数据结构中的createTransaction方法,并找到一种验证发送方是否真的有足够比特币发送的方法。这对你来说是一个很好的实践项目。你需要获取发送方当前的比特币余额,并进行验证,确保他们有足够的比特币进行交易。

这个区块链的另一个改进方式是将其打造成类似以太坊的去中心化应用平台。你只需要向区块链添加一个功能,允许你在每个区块内存储更多的数据,可以存储不同类型的数据,而不仅仅是交易。例如,你可以在每个区块内存储用户数据、管理数据或任何其他类型的数据。然后在生成每个区块的哈希时使用这些数据,就像我们在生成交易时使用哈希一样。

我们建立的区块链有很多定制和改进的方式;然而,现在,我们有一个完全功能的原型区块链,可以托管在去中心化的区块链网络上。

所以,这就是我们的全部内容。我们希望你喜欢这本书,学到了很多东西,并且在构建我们创建的区块链时玩得开心!