首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Javascript实现简单的区块链

1. 介绍

本文介绍使用JavaScript来实现一个区块链程序

参考https://www.youtube.com/watch?v=zVqczFZr124【需要翻墙】

由于区块链中使用SHA256算法来进行加密,但是JavaScript中默认没有SHA256算法的实现,所以我们需要使用crypto-js实现SHA256算法。

使用npm来安装该crypto-js包

2. 开始

这里就不介绍区块链相关的概念了,直接看实例代码

首先我们使用Visual Studio Code来新建一个main.js文件,用于本次实验。

2.1 区块类

首先我们先建立一个区块的类,该类的构造器中需要传入相应的【索引,生成时间,块中存放的数据,上一个链上的HASH值】信息。

在main.js中加入如下代码。

代码如下:

2.2 区块链类

有了以上的区块类,需要有一个区块链类来将所有区块连接起来。

该区块链类中,提供了几个方法

在main.js中加入如下代码。

代码如下:

2.3 测试区块链类

在命令行直接使用node main.js命令来运行该main.js文件

fangzheng@localhost  ~/JavaDev/Visual Studio/blockchain $node main.js

可以看到下一个区块的previousHash 等于 上一个区块的hash值,这样保证将整个区块连接了起来。

2.4 测试修改区块链

接下来测试修改区块链中某一个块,然后验证该区块链是否还有效。

第63-66行是新添加的测试代码

使用node main.js命令来运行该main.js文件后,打印如下结果:

Is blockchain valid ? true

Is blockchain valid ? false

可以看到没修改之前整个区块链是有效的,修改之后是无效。

3. 总结

以上就是简单的使用JavaScript来实现了区块链程序的代码,完整代码如下:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180414G1944600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券