打字猴:1.703877474e+09
1703877474 上述代码的执行过程如下:
1703877475
1703877476 1)定义submit()方法。在submit方法中,确保选择一个文件,且文本框不为空,然后读取文件内容作为数组缓存,并传送数组缓存给sha1.js显示的sha1()方法,以获取数组缓存中的内容哈希。得到哈希之后,使用jQuery发出一个AJAX请求给“/submit”路径,然后在报警框中显示交易哈希。
1703877477
1703877478 2)定义getInfo()方法。该方法首先确定选中一个文件,然后就像之前一样生成哈希,并发出请求到“/getInfo”端点,以得到关于那个文件的信息。
1703877479
1703877480 3)使用socket.io库显示的io()方法建立socket.io连接,然后等待事件连接到触发器——这表示连接已经建立。在连接建立之后,监听来自服务端的信息,并向用户显示交易细节。
1703877481
1703877482
1703877483 之所以不在以太坊区块链中存储文件,是因为存储文件很昂贵——它需要大量gas。对于本节的示例子,其实不需要存储文件,因为网络中的节点将可以看见文件。因此,如果用户希望文件内容是秘密的,其实是做不到的。这里的应用是想证明一个文件的所有权,而不是像云服务那样存储和服务文件。
1703877484
1703877485
1703877486
1703877487
1703877488 区块链项目开发指南 [:1703875340]
1703877489 区块链项目开发指南 4.2.4 测试客户端
1703877490
1703877491 运行app.js节点,以运行应用服务端。打开浏览器,访问http://localhost:8080/,可以看到图4-1所示的界面。
1703877492
1703877493
1703877494
1703877495
1703877496 图 4-1
1703877497
1703877498 现在选择一个文件,输入所有者姓名,单击Submit按钮,界面将变为图4-2所示的样子。
1703877499
1703877500
1703877501
1703877502
1703877503 图 4-2
1703877504
1703877505 在这里可以看到显示交易哈希。现在等待,直到交易被挖出。一旦挖出,就可以在当前交易列表中看到交易,如图4-3所示。
1703877506
1703877507
1703877508
1703877509
1703877510 图 4-3
1703877511
1703877512 现在再次选择同一个文件,单击Get Info按钮,界面如图4-4所示。
1703877513
1703877514
1703877515
1703877516
1703877517 图 4-4
1703877518
1703877519 在这里可以看到时间戳和所有者的细节。至此,为第一个DApp创建客户端的工作就完成了。
1703877520
1703877521
1703877522
1703877523
[ 上一页 ]  [ :1.703877474e+09 ]  [ 下一页 ]