东方军事网——关注国内外军事前沿变革。军事爱好者交流社区!
东方军事网
当前位置: 东方军事 > 社会综合 >

手把手教你编写最简单的区块链!

时间:2018-09-14  作者:东方军事网 世界军事网  来源:http://www.df81.cn
区块链按时间顺序记录以比特币或其他加密货币进行的交易并公开的数字账本。更一般地说,它是一个公共数据库,其中新数据存储在称为区块的容器中,并且被添加到过去
区块链按工夫次第记载以比特币或其他加密货泉停止的买卖并公然的数字帐本。更一般地说,它是一个大众数据库,此中新数据存储在称为区块的容器中,而且被增长到已往增长了数据的不成变链(因而是区块链)中。在比特币和其他加密货泉的状况下,这些数据是买卖组。可是,数据能够是任何范例。

区块链手艺发生了新的不是由中心机构刊行或办理的全数字货泉,如比特币和莱特币。这为那些以为明天的银行体系是圈套或遭受失利的小我私家带来了新的自在。区块链还以像以太坊如许的手艺情势彻底改动了分布式计算,并引入了智能合约等风趣的概念。在本文中,我将用不到 50 行的 Python 2 代码创立一个简朴的区块链。它被称为 SnakeCoin。我们起首要界说区块。在区块链中,每一个区块都存储工夫戳和可选的索引。在 SnakeCoin 中,我们要同时存储这两部门。为了协助确保全部区块链的完好性,每一个区块都具有自我辨认哈希。和比特币一样,每一个区块的哈希是区块索引,工夫戳,数据的加密哈希,和先前区块的哈希散列。数据能够是想要的任何工具。

真棒!有了区块构造,接下来是创立区块链。我们需求开端向实践链增长区块。正如我之前提到的,每一个区块都需求来自前一个区块的信息。但话虽如此,呈现了一个成绩:怎样缔造第一个区块?第一个区块,或称为创世区块,它是一个特别块。在很多状况下,它是手动增长的,大概具有许可增长的共同逻辑。我们将创立一个函数,它只前往一个天生区块以简化操纵。此区块的索引为 0,而且它的参数为前一个哈希的随便值。

既然我们能够创立一个创世区块,我们需求一个能够在区块链中天生后续块的函数。此函数将链中的前一个块作为参数,为要天生的块创立数据,并利用恰当的数据前往新区块。当新区块哈希来自前一区块的信息时,区块链的完好性跟着每一个新块而增长。假如我们不如许做,那末外界会更简朴“改动已往”,并用他们自己的全新链交换我们的链。此哈希链充任加密证实,有助于确保一旦块增长到区块链中,就没法交换或删除。

这是次要的难点事情。如今,我们能够创立我们的区块链!在我们的例子中,区块链自己就是一个简朴的 Python 列表。列表的第一个元素是创世块。固然,我们需求增长后续块。因为 SnakeCoin 是最小的区块链,我们将只增长 20 个新区块。我们能够用一个 for 轮回做到这一点。

让我们来查验一下我们迄今所获得的事情效果!

别担忧,它会上升到 20

标致!我们的区块链是胜利的。假如你想在控制台中看到更多的信息,您能够编纂完好的源文件去打印每一个块的工夫戳或数据。本文仅代表作者小我私家概念,不代表巨推链平台发声,对文章概念有疑义请先联络作者自己停止修正,若内容不法请联络平台办理员,邮箱cxb5918@163.com。更多区块链资讯,请到百万区块链发烧友会萃平台赤壁资讯网进修区块链手艺请到www.zxhsh.com (责任编辑:鼎盛军事网)

重庆古筝培训 | 境外自由行 | 高铁线路网 | 爱去世界之最

百度一下:手把手教你编写最简单的区块链! 查找更多相关信息!


360搜索:手把手教你编写最简单的区块链! 查找更多相关信息!


Google Search:手把手教你编写最简单的区块链! Find more information!


------分隔线----------------------------
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐内容