Node.js语言将会告诉你如何打造专属于自己的区块链项目.docVIP

  • 0
  • 0
  • 约4.69千字
  • 约 6页
  • 2018-11-11 发布于江苏
  • 举报

Node.js语言将会告诉你如何打造专属于自己的区块链项目.doc

Node.js语言将会告诉你如何打造专属于自己的区块链项目

Node.js语言将会告诉你如何打造专属于自己的区块链项目   最近,数字货币和底层区块链技术非常火爆,引领了世界潮流。这些天,区块链都是非常热门的词汇,但是很少有人真正地了解这项技术是如何来推动数字货币,类似比特币和以太坊的发展的。   此文中,我们尝试来告诉大家如何使用Node.js语言,来编写你们自己的区块链项目。区块链   区块链一直在逐渐增加记录列表,这可以对标为区块,而区块之间是通过加密算法互相连接。区块的接连,让区块链中的任何区块如果发生改变,那么链上其他的记录就会无效。   无法更改的特性是数字货币增长的关键,因为它会让人们在完成转账后,很难去进行更改。      创建区块 就像刚才所说,区块链是由很多区块连接构成。加密哈希被用来维持区块链的完整性。   每个区块都会有基于数据计算出来的哈希。它也会有前面区块的哈希。如果任何区块的哈希改变,它就会使得剩下的区块无效。 在Node.js语言下,区块算法就会是如下:   const SHA256 = require(“crypto-js/sha256”); class Block { constructor(index, timestamp, data, previousHash = ”) { this.index = index; this.previousHash = previousHash; this.TImestamp = TImestamp; this.data = data; this.hash = puteHash(); this.nonce = 0; } computeHash() { return SHA256(this.index + this.previousHash + this.TImestamp + JSON.stringify(this.data) + this.nonce).toString(); }   像我们看到的,以上的函数中会实例化等级,并且引用如下的参数: ? 索引:它会追踪区块链中区块的位置 ? 时间戳:它会在每个转账完成的时候,放入时间戳。 ? 数据:它会在转账完成的时候,提供信息,例如购买量。 ? 前个哈希- 它代表区块链中前个区块的哈希值。   我们使用computeHash 这个函数来根据上面的数值,计算出每个区块的加密哈希。为了完成这个,我们会导入crypto-js library 并且使用它的SHA256哈希功能。   SH256是一个很强大的,不可逆哈希功能,它会应用在大多数数字货币中,从而确保它们的安全。   为了设置crypto-js数据库,定位到终点,并且在同样的项目文件夹中,我们使用npm来安装它。   你可以使用下面的代码:   //remember to run npm init first npm install –save crypto-js创建区块链   区块链的意思是这些区块都互相链接。因此,我们会开始将这些区块和其他的链接在区块链上。   代码如下:   class Blockchain{ constructor() { this.chain = [this.buildGenesisBlock()]; plexity = 5; } buildGenesisBlock() { return new Block(0, “17/07/2018”, “genesis block”, “0”); } obtainLatestBlock() { return this.chain[this.chain.length – 1]; } addBlock(newBlock) { newBlock.previousHash = this.obtainLatestBlock().hash; newBlock.mineBlock(plexity); this.chain.push(newBlock); } }   从上面代码,我们可以看出,这个等级是由以下函数实现的: A)。 构造函数 区块链是通过buildGenesisBlock来启动的。 B)。 创建创世区块 在区块链中,创世区块是区块链的开始。这个区块之前没有数据,接下来会有区块基于它。我们会使用buildGenesisBlock() 函数来创建。   C)。 获得最新区块 为了获得区块链中的最新区块,我们使用obtainLatestBlock() 函数。 D)。 增加新区块 为了给区块链Node.js增加新区块,我们使用addBlock() 函数。为了完成这步骤,我们会将前个区块的哈希加到新区块上,为了保证区块链的完整性。   因为我们改变了新区块的细节,所以很有必要去再次计算哈希。在完成之后,我们会将区块放入链的数据集。 E)。 确定区块链的有效性

文档评论(0)

1亿VIP精品文档

相关文档