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

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合约发币。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,955评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • 积攒了足够炙热,才迸发光芒;承受了足够隐忍,才气贯长虹。
    Joey_GZ阅读 1,571评论 0 0
  • (一) 月落西窗口, 把盏望空楼, 明知不可留, 何来惹清愁。 (二) 书行墨唯先, 诗经落怀难, 才人揽月站, ...
    古城苍狼阅读 3,114评论 0 3
  • 春天开了,夏天还会远吗?
    母狮子阅读 1,220评论 0 0

友情链接更多精彩内容