打字猴:1.703877391e+09
1703877391
1703877392
1703877393 区块链项目开发指南 [:1703875338]
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
1703877428
1703877429 其中,“/submit”路径用于创建和广播交易。获取交易哈希之后,把它发送给客户端。然后等待挖出交易。“/getInfo”路径用于调用节点自身的合约get方法,而非创建交易。它仅仅发送回所得到的回应。
1703877430
1703877431 现在监听来自于合约的事件,并向所有客户端广播。相关代码如下:
1703877432
1703877433
1703877434
1703877435
1703877436 这里需要检查一下状态是否为true,如果为true,才能向所有连接的socket.io客户端广播事件。
1703877437
1703877438
1703877439
1703877440
[ 上一页 ]  [ :1.703877391e+09 ]  [ 下一页 ]