只用120行Java代码写一个自己的区块链
相关版本属性设置
接下来,我们创建一个 SparkWeb.java文件。之后我们的大部分工作都围绕这个文件,让我开始编码吧! 数据模型 我们来定义一个Block类,它代表组成区块链的每一个块的数据模型:
接着,我们再定义一个结构表示整个链,最简单的表示形式就是一个 Block 的 顺序表:
我们使用散列算法(SHA256)来确定和维护链中块和块正确的顺序,确保每一个块的 PrevHash 值等于前一个块中的 Hash 值,这样就以正确的块顺序构建出链: [ index:0| hash:"xxxw"| preHash:""] - [ index:1| hash:"xxxx"| preHash:"xxxw"] - [ index2| hash:"xxxy"| preHash:"xxxx"] 散列和生成块 我们为什么需要散列?主要是两个原因: 1、在节省空间的前提下去唯一标识数据。散列是用整个块的数据计算得出,在我们的例子中,将整个块的数据通过 SHA256 计算成一个定长不可伪造的字符串。 (编辑:PHP编程网 - 湛江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |