1703879530
·包括受推荐的相关程序,包括web3和truffle-contract。
1703879531
1703879532
·编译ES6和JSX文件。
1703879533
1703879534
·编译SASS文件。
1703879535
1703879536
·最小化asset文件。
1703879537
1703879538
1703879539
可以使用truffle watch命令,监听合约目录、应用目录和配置文件的变化。如有变化,它就重新编译合约,并生成新的artifact文件,然后重新创建客户端。但是它不进行移植和测试。
1703879540
1703879541
4.创建客户端
1703879542
1703879543
现在为DApp编写一个客户端,并使用truffle的默认构建器创建客户端。首先,在前面做好的配置中创建文件和目录:创建一个app目录,在里面创建一个index.html文件和两个目录(分别称为JavaScript和styelsheets)。在JavaScript目录中,创建index.js文件。在stylesheets目录中,下载并放入Bootstrap 4的CSS文件。详见https://v4-alpha.getbootstrap.com/getting-started/downloads/#bootstrap-css-and-js。
1703879544
1703879545
在index.html文件中,添加如下代码:
1703879546
1703879547
1703879548
1703879549
1703879550
1703879551
1703879552
1703879553
1703879554
1703879555
1703879556
在程序代码中,加载bootstrap.min.css和app.js文件。有两种形式:一种是发送Metacoins给一个不同的账户;另一种是查询账户中的Metacoins余额。在第一种形式中,用户必须选择一个账户,然后输入要发送的Metacoin数量和想要发送到的地址。在第二种形式中,用户只需要选择要查询Metacoins余额的账户地址。
1703879557
1703879558
在index.js文件中,添加如下代码:
1703879559
1703879560
1703879561
1703879562
1703879563
1703879564
1703879565
1703879566
上述代码的执行过程如下:
1703879567
1703879568
1)truffle-default-builder使artifacts对象在__contracts__全局对象下可用。
1703879569
1703879570
2)使可用的合约抽象对所有作为全局变量(变量名与合约名相应)的合约可用。
1703879571
1703879572
3)通过已经设置provider提供web3对象;为合约抽象设置provider。还使web3对象连接到带名字开发的网络,如果不存在,则默认值是http://localhost:8545。
1703879573
1703879574
4)在程序代码中,首先等待页面加载,加载后在连接的节点中检索账户列表,并在两张表中显示。还要调用MetaCoin abstraction的detectNetwork()方法。
1703879575
1703879576
5)设置两张表的submit事件触发器。它们两个都在提示栏显示结果。
1703879577
1703879578
6)当提交第一张表时,获得MetaCoin合约的部署实例,并用正确的实参调用sendCoin方法。
1703879579
[
上一页 ]
[ :1.70387953e+09 ]
[
下一页 ]