1703877379
区块链项目开发指南 4.2.1 项目结构
1703877380
1703877381
在本章的练习文件中,将发现两个目录:Final和Initial。Final包含项目的最终源代码,而Initial包含可以用于迅速创建应用的空的源代码文件和库。
1703877382
1703877383
1703877384
为了测试Final目录,需要在其中运行npm install,并把app.js中硬编码的合约地址替换为在部署合约之后得到的合约地址。然后,使用Final目录中的node app.js命令运行该应用。
1703877385
1703877386
在Initial目录中,将发现一个public目录和两个文件(app.js和package.json)。package.json包含应用的后端相关内容,app.js包含应用的后端源代码。
1703877387
1703877388
public目录包含与前端相关的文件。在public/css中会发现bootstrap.min.css,它是Bootstrap库;在public/html中会发现index.html,所应用的HTML代码放在这里;在public/js目录中将发现jQuery、sha1和socket.io的JS文件。在public/js中还会发现一个main.js文件,应用的前端JS代码放在这里。
1703877389
1703877390
1703877391
1703877392
1703877394
区块链项目开发指南 4.2.2 创建后端
1703877395
1703877396
先创建App后端。首先,在initial目录中运行npm install,为后端安装所需相关内容。其次,在进行后端编码之前,确保geth运行时启用rpc。如果是在私有网络上运行geth,要确保启用mining。最后,确保账户0存在并被解锁。可以在私有网络上运行geth,这时需要启用rpc和mining,并解锁账户0:
1703877397
1703877398
1703877399
1703877400
1703877401
编码开始前最后需要做的一件事是,使用在前一章中见到的代码部署所有权合约,并复制合约地址。
1703877402
1703877403
现在创建一个单独的服务端,它将为浏览器提供HTML,并接收socket.io连接:
1703877404
1703877405
1703877406
1703877407
1703877408
这里把运行在端口8080上的两个服务端express和socket.io合并成一个服务端。
1703877409
1703877410
现在创建路径以用于静态文件和App主页。相关代码如下:
1703877411
1703877412
1703877413
1703877414
1703877415
这里使用了express.static中间件,用于在公共目录中发现静态文件。
1703877416
1703877417
现在连接到geth节点,并获取已部署合约的引用,这样可以发送交易并监听事件。相关代码如下:
1703877418
1703877419
1703877420
1703877421
1703877422
上述代码就是用得到的合约地址替换原有的合约地址。
1703877423
1703877424
现在创建广播交易和获取文件信息的路径。相关代码如下:
1703877425
1703877426
1703877427
[
上一页 ]
[ :1.703877378e+09 ]
[
下一页 ]