打字猴:1.703879539e+09
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
1703879580 7)当提交第二张表时,在EVM中用调用get Balance方法检索被选择账户的余额,而非广播一个交易。
1703879581
1703879582 继续运行truffle创建命令,truffle会在build目录中创建index.html、app.js和bootstrap.min.css文件,并在这些文件中放入客户端的最终部署代码。
1703879583
1703879584
1703879585
1703879586
1703879587 区块链项目开发指南 [:1703875403]
1703879588 区块链项目开发指南 8.4.11 truffle的服务器端
[ 上一页 ]  [ :1.703879539e+09 ]  [ 下一页 ]