0. 背景
上一篇文章主要继续深入地介绍truffle的高级用法 + 合约源码分析 。
在此之后,笔者使用Remix
开发工具基于同一合约的基础上对合约进行部署、调试、调用,供读者对比参考。
1. Remix
介绍
1.1 Remix
是一个基于js编写的Web 端智能合约IDE,继承了合约的编译、部署、调试等功能
1.2 需要配合Web版本钱包MetaMask使用
1.3 打开 https://remix.ethereum.org/即可看到图形化界面,此处使用新版本
1.4 DEPLOY & RUN界面介绍
1.4.1 Environment 中 三种环境可选
JavaSricpt VM - Remix
内置的模拟区块链工具,数据不上链,无需等待确认,方便快速调试
Inject Web3 - 与MetaMask
交互的接口,可根据MetaMask
选定特点的网络,本文选择Ropsten
Web3 Provider - 用户自己安装Web3 Provider
2. 部署合约到Ropsten
可在区块浏览器中查看合约部署记录
https://ropsten.etherscan.io/tx/0x7510ec36a6fd40db6b0af7a6b667e07fb4db7eb43dca9e395486f838f061cdf6
3. 调试合约(与合约交互)
3.1 调用合约抵押ETH
贷出ERC20
代币TK
如下区块链浏览器记录所示
https://ropsten.etherscan.io/tx/0xb7b9a234a47045104cec705090f9608822986e34eb4aa6f18fcac507bc282cc5
先抵押101wei
的ETH
, 1比1 贷出 101 TK
3.2 查询合约余额和用户的Token余额是否达到预期
3.2.1 区块浏览器读取合约余额为 101 wei
3.2.2 读取用户的Token余额如下
注:蓝色的函数按钮表示call
,不需要调用钱包签名,相当于get动作,马上就有返回值;
红色的函数按钮表示transcation
,需要调用钱包签名的,交易需要被确认之后才能回显
3.3 调用合约归还ERC20
代币TK
,赎回ETH
如下区块链浏览器记录所示
https://ropsten.etherscan.io/tx/0x2a4343bc8da36862f5da5ed646d17b4532e9842f8d59598b1d5b78f5681878b9
归还99TK
,1比1 赎回99wei
的ETH
3.4 查询赎回后合约余额和用户的Token余额是否达到预期
3.4.1 区块浏览器读取合约余额为 101-99= 2
wei
3.4.2 读取用户的Token余额如下