以太坊学习(三)
·
安装环境
-
Node.js安装
-
安装
solidity编译器npm install -g solc查看版本:
solcjs -V -
安装 truffle 框架
npm install -g truffle验证安装:
truffle.cmd version -
安装节点仿真器
ganache-cli(也可以安装图形版的ganache)npm install -g ganache-cli验证安装:
ganache-cli
智能合约
-
新建一个文件夹
Hello并进入该文件夹下进行操作mkdir Hello cd Hello -
创建一个truffle项目:
truffle init
-
目录结构:

build存放合约编译后生成的.json文件contracts存放合约文件migrations存放部署合约的脚本test存放测试文件truffle-config.js配置文件
-
在
contracts文件夹中创建新合约hello.sol, 合约内容如下pragma solidity ^0.5.16; contract hello{ function say() public pure returns(string memory){ return "hello world"; } }- pragma solidity ^0.5.16; 版本标识 ,对应solidity编译器版本
-
在
migrations文件夹中添加部署脚本2_deploy_hello.js,内容如下var hello = artifacts.require("hello"); module.exports = function(deployer) { deployer.deploy(hello); };或者在
1_initial_migration.js中添加如下代码var Migrations = artifacts.require("./Migrations.sol"); var hello = artifacts.require("hello.sol"); module.exports = function (deployer) { deployer.deploy(Migrations); deployer.deploy(hello); }; -
回到
命令行操作,对文件进行编译$ truffle compile Compiling your contracts... =========================== > Compiling .\contracts\Migrations.sol > Compiling .\contracts\hello.sol > Artifacts written to E:\Hello\build\contracts > Compiled successfully using: - solc: 0.5.16+commit.9c3226ce.Emscripten.clang -
配置
ganache-
运行
ganache
-
打开truffle-config.js配置文件,在module-exports模块中输入如下内容
development: { host: "127.0.0.1", port: 7545, network_id: "5777", }host、port、network_id参数都是根据ganache中对应的参数填写
-
-
部署合约。回到命令行操作,指令输入:
truffle migrate结果如下:
-
部署成功后,可以发现ganache的以太币发生变化了

-
调用合约。
-
回到命令行,输入指令:
truffle console进入操作台 -
进行合约函数的调用:
hello.deployed().then(instance=>contract=instance)上述指令含义是获取hello合约,存为instance,并将其存储到contract变量中以便后期使用。

-
调用hello合约中定义好的say()函数。输入命令
contract.say()
-
参考资料
win7下以太坊基于truffle+ganache开发环境搭建以及智能合约的部署调用
以上内容,仅为学习记录!
更多推荐

所有评论(0)