操作系统:Mac OS

go :  go version go1.10.3 darwin/amd64

npm:    6.1.0

node :  v10.6.0

Truffle v4.1.14 (core: 4.1.14)

Solidity v0.4.24 (solc-js)        //Truffle 自带

geth:    1.8.11-stable

ganache:          Ganache CLI v6.1.8 (ganache-core: 2.2.1)

##Truffle

是一个以太坊开发框架,提供合约编译,合约部署,虚拟环境等功能。

3.0以上项目结构中无app目录,安装如下

npm install -g truffle

##ganache

testRpc,提供的虚拟以太坊环境,用于开发测试。

由于geth挖矿耗费cpu使用ganache会比较简单。安装如下

npm install -g ganache-cli

 

1、自动下载构建项目,新建项目文件MetaCoin, 由于版本更新,truffle init webpack已不适用,采用truffle unbox webpack,结果如下图:

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

2、直接运行输入ganache-cli,运行客户端,它会自动初始10个账户给你。注意其端口是8545

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

3、然后新开一个终端,进入MetaCoin目录下,输入truffle compile编译

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

有个小警告,提示function声明构造函数已经废弃了,要使用constructor来声明构造函数,这是在0.4.22.版本开始。只需将contracts目录下的Migration.sol文件中的function Migration() public 改为 constructor () public 即可,如下图

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

4、然后输入truffle migrate 部署合约,注意要先修改truffle.js中的网络配置,不然可能会有Error: No network specified. Cannot determine current network.

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

然后重新编译,再部署即可。

truffle compile --compile-all //重新编译所有
truffle migrate --reset //重新部署所有

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

 

5、输入npm run dev运行,然后在浏览器中输入localhost:8080即可

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

注意:此时页面可能会出现There was an error fetching your accounts.的提示且如上图you have META中没显示余额信息。

解决方法:找到app/scripts 下的index.js文件,将window.addEventListener(‘load’, function())这函数里的ip端口改为8545即可,如下图所示

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

重新运行后界面为

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

输入转账数额,然后在ganache-cli客户端复制一个账号地址,点击转账如下图

以太坊智能合约应用MetaCoin(truffle + ganache-cli)

相关文章:

  • 2021-11-23
  • 2021-12-05
  • 2021-12-05
  • 2021-09-18
  • 2022-12-23
  • 2021-10-30
  • 2021-11-01
  • 2022-12-23
猜你喜欢
  • 2021-06-04
  • 2021-05-14
  • 2021-04-19
  • 2021-10-02
  • 2021-12-23
  • 2022-12-23
  • 2021-04-17
相关资源
相似解决方案