2018-03-27 Truffle4.0使用

2022-05-13 15:16:29 浏览数 (1)

参考文章《Truffle3.0集成NodeJS并完全跑通(附详细实例,可能的错误)》https://www.jianshu.com/p/eac99bb0a9bc

发现无法调用main.js,不管咋改都是错误的,

查看版本号:truffle version

Truffle v4.1.3 (core: 4.1.3)

Solidity v0.4.19 (solc-js)

原来truffle又升级到了4.0,以前3.0的玩法已经不可用了

参考truffle的最新文档http://truffleframework.com/docs/getting_started/project

找到一个比较简单的方法,就是使用 Truffle Boxes,这个文章例子里面的metacoin过于简单,无法通过网页打开验证

因此我参考http://truffleframework.com/boxes/里面的webpack做了验证

具体参考原文:http://truffleframework.com/boxes/webpack

只是这个网页有时候打不开,比较奇怪

步骤如下:

1、下载webpack

mkdir test

cd test

truffle unbox webpack

耗时比较久

2、编译和发布

truffle develop

打开了一个控制台

compile

migrate

分别是编译和发布

3、启动ganache,在linux上https://github.com/trufflesuite/ganache/releases

下载个ganache-1.2.2-x86_64.AppImage,右键属性修改为可执行,双击就可以启动

修改truffle.js中ganache为development,否则报no network specified

然后在命令行运行truffle migrate发布到ganache上

4、新打开一个终端窗口terminal

npm run dev

5、在浏览器中打开http://localhost:8080

注意还是需要网络,有些资源要下载,这里的chrome如果安装了metamsk就总是出现错误:Couldn't get any accounts! Make sure your Ethereum client is configured correctly

必须关闭metamask插件

6、在浏览器中测试

先去truffle develop控制台找个账户

web3.eth.accounts

显示:

代码语言:javascript复制
[ '0x627306090abab3a6e1400e9345bc60c78a8bef57',
  '0xf17f52151ebef6c7334fad080c5704d77216b732',
  '0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef',
  '0x821aea9a577a9b44299b9c15c88cf3087f3b5544',
  '0x0d1d4e623d10f9fba5db95830f7d3839406c6af2',
  '0x2932b7a2355d6fecc4b5c0b6bd44cc31df247a2e',
  '0x2191ef87e392377ec08e7c08eb105ef5448eced5',
  '0x0f4f2ac550a1b4e2280d04c21cea7ebd822934b5',
  '0x6330a553fc93768f612722bb8c2ec78ac90b3bbc',
  '0x5aeda56215b167893e80b4fe645ba6d5bab767de' ]

随便选一个(不要是第一个,因为这个是发布帐号,也就是发钱的帐号)

输入数量和地址进行测试

7、这个时候可以回到test目录查看源代码和实现了

在子目录app中的index.html就是网页的实现

javascriptsapp.js 就是web3的实现,可以看到这里合约的发布和调用方式都已经和truffle3.0里面的写法完全不同了

关键是这个文件,参考这个修改就简单很多

0 人点赞