solidity 之Remix的坑-----------ERC20的A合约向B合约发币

发布时间:2018年09月12日 价值:20000.00 / 共识:21

1、这里我们使用在线编译器,打开网址

https://ethereum.github.io/browser-solidity

1.1 文件夹管理

最左边是文件夹管理,里面列出了当前的工作区里的文件,remix可以支持从本地文件夹读取文件。

1.2 工作区

正中间是工作区,工作区上半部是代码编辑区,在这里可以写solidity合约。

下半部是日志区,在执行智能合约时,会显示transaction相关的信息。在输出日志的时候还可以查看Details和Debug信息。

1.3 功能区

最右边的是功能区,里面有编译、运行、设置和分析以及调试器和支持。

在编译器点击Details可以查看编译细节,里面有NAME,METADATA,BYTECODE,ABI 等一些相关信息。

在设置里面可以选择我们的编译器版本,和一些IDE的使用设置。

2 实战例子

一个简单的实现对数组增删改查的智能合约。

2.1 打开工作区,输入代码

2.3 编译

代码写完之后我们到Compile区域点击编译Start to compile,如果编译成功没有错误可以看到我Details信息。

2.4 运行

1)、我们从Compile切换到Run区域,在Environment里面选择编译器,记住这里一定要选择Java Script VM 。选择合约A,即红色的A,点击Create,即可看到合约A的属性和方法,红色为函数,其他颜色为属性。这个时候我们可以看到创建后的合约,输入owner地址

右下角会生成我们的ABI方法。

2)、根据合约A创建合约B,选择B合约,拷贝A合约的地址到Create对应的输入框,然后点击Create,即可创建B合约

如下图所示:B合约成功创建

2.5 A合约=>B 合约的交易

1)、查询总量,以及balanceOf,查询balanceOf时地址填入ower地址,并且一定要加双引号

2)、A合约向B合约发送币,点击“”transfer“”函数,如下图所示:地址为合约B的地址,B的合约地址如下图所示

transfer的参数为B合约的地址和发送的数量,例如: “0xbbf289d846208c16edc8474705c748aff07732db”,”48000000000000000”

点击“”1“”即可获得合约B的地址。

3)、用A的合约查询B合约的余额,在balanceOf里面输入合约B的地址即可获得合约B的余额

同时在B合约的getTotalBalance里面也可查到B合约的余额

注明:此时A合约已经成功向B合约发币。

  • 分享 收藏
0 条评论
  • 这篇文章暂无评论,赶紧评论一下吧~