1703878022
区块链项目开发指南 6.3.1 项目结构
1703878023
1703878024
在本章的练习文件中,将发现两个目录:Final和Initial。Final包含项目的最终源代码,而Initial包含可以用于迅速创建应用的空的源代码文件和库。
1703878025
1703878026
1703878027
为了测试Final目录,需要在其中运行npm install。然后,使用Final目录中的node app.js命令运行该应用。
1703878028
1703878029
在Initial目录中,将发现一个public目录和两个文件(app.js和package.json)。package.json包含应用的后端相关内容,app.js则包含应用的后端源代码。
1703878030
1703878031
public目录包含与前端相关的文件。在public/css中会发现bootstrap.min.css,它是Bootstrap库;在public/html中会发现index.html,把应用的HTML代码放在这里;在public/js目录中将发现mirror和web3.js的.js文件,还会发现一个main.js文件,把应用的前端JS代码放在这里。
1703878032
1703878033
1703878034
1703878035
1703878037
区块链项目开发指南 6.3.2 创建后端
1703878038
1703878039
先创建App后端。首先,在initial目录中运行npm install,为后端安装所需相关内容。
1703878040
1703878041
下面是运行快捷服务并用于index.html文件和静态文件的完整后端代码:
1703878042
1703878043
1703878044
1703878045
1703878046
程序代码无须解释说明。继续创建后端操作。应用上会有Compile和Deploy两个按钮。用户单击Compile按钮,就编译合约;单击Deploy按钮,就部署合约。
1703878047
1703878048
我们将在后端编译和部署合约。尽管这可以在前端实现,我们还是在后端进行操作,因为solcjs仅对node.js可用(尽管它使用的JavaScript-based编译器在前端工作)。
1703878049
1703878050
1703878051
为了学习如何在前端进行编译,最好了解一下solcjs源代码,以从中知悉JavaScript-based编译器显示的API的一些情况。
1703878052
1703878053
用户单击Compile按钮时,前端将通过传送合约源代码向/compile路径发出GET请求。如下是该路径的代码:
1703878054
1703878055
1703878056
1703878057
1703878058
首先导入solcjs库。然后定义/compile路径,在路径回调函数中仅编译启动optimizer的客户端发送的源代码。接着只发送solc.compile方法的返回值到前端,并让客户端检查编译是否成功。
1703878059
1703878060
用户单击Deploy按钮时,前端通过传送合约源代码和来自该地址的constructor实参和私钥向/compile路径发出GET请求。当用户单击这个按钮时,合约就被部署了,交易哈希将被返回给用户。相关代码如下:
1703878061
1703878062
程序代码的执行过程如下:
1703878063
1703878064
1703878065
1703878066
1703878067
1703878068
1703878069
1703878070
[
上一页 ]
[ :1.703878021e+09 ]
[
下一页 ]