使用remix的solidity在线编译环境部署一个faucet合约
一、浏览器打开https://remix.ethereum.org 地址

点击"+"新建一个sol文件,命名为faucet.sol



然后在代码区输入solidity代码

选择相关插件

将Solidity compiler、Deploy & run transactions插件激活,选择编译

编译成功后,会显示一个绿色的勾

再点击“Deploy & Run Transaction”
部署环境选择"Injected web3",这样把通过metamask客户端将我们的合约部署到测试环境上
接下来会提示我们remix需要将metamask里的账户关联上,选择“确定”,这样在Environment:显示链接的网络信息,这里为Ropsten测试网络,account里会显示我们metamask账户的地址和余额

再点击“Deploy”开始部署合约,弹出提示确认框,里面显示由metamask账户发起一笔0金额的交易来进行合约部署,并显示收取的GAS费

,点击确认,部署成功后,页面下方会显示部署的合约地址

同样,我们点开metamask钱包,也会显示一笔合约部署的交易记录

回到remix编译环境页面,点击“Deployed Contracts”的下拉箭头,可以显示本合约的合一调用的方法列表


一个fallback,一个winthdraw函数
我们在withdraw函数后面输入一个参数,我们输入1后面18个0,表示1个ETH,再点击“withdraw”调用函数

这是会弹出一个Gas费用估计不足的提示,我们忽略继续发送交易

接下来自动打开metamask客户端,显示如下

从钱包账户到合约地址的一笔交易,金额是0,因为是调用合约提币函数,所以金额为0,点击“确认”
我们看到remix的控制台已经显示出本次交易的HASH

但是还没有出结果,等待一会,下面出现

显示交易失败了,点击Debug后面的箭头,显示详情

这笔交易执行失败,由于我们新部署的合约里还没有ETH,所以调用withdraw函数,是无法提币的,那么首先我们向这个合约发送一些ETH
首先复制合约地址,然后打开metamask钱包,发送2个ETH到这个合约地址

下一步

确认
显示合约交互,状态为待处理


等到确认状态后,这时我们的合约地址里就有2ETH了,我们从ropsten.etherscan.io上查看交易详情

我们回到remix ide ,再次执行withdraw函数进行提币

我们输入1ETH,点击withdraw,后,弹出metamask界面,点击确认,金额为0,表示调用合约函数,发送本笔交易

控制台很快显示本次交易的HASH
再等待一会儿,交易确认

点击箭头,显示详情

打开etherscan.io查看详情

可以看到To 字段值,为合约地址,并且下面显示了调用的合约函数和输入参数,并显示从合约地址向外部账户地址转账的信息。但是这笔调用合约的交易金额为0,那么我们怎么查看函数里面转账的交易呢,我们知道合约账户是内部账户,是由外部用户账户创建的,所以我们在etherscan.io里点击"Internal Tansaction"即可显示合约内部交易记录

我们可以看到刚才调用合约函数成功提币的交易记录,从合约账户地址到外部账户地址,金额为1ETH
我们点击From 下面的地址,即合约地址,就会显示当前合约的详情,包括账户余额,外部交易记录

点击“Internal Txns”,显示合约内部交易记录,既外部账户调用合约函数所执行的转账交易

我们打开metamask钱包,看看账户地址是否多了这笔交易


有一笔withdraw交易,我们当时输入的金额为1ETH,账户余额显示为3.4987ETH,而之前账户余额为2.4989,减去本次交易的gas费用0.000174,再加上得到的1ETH,余额正好为3.4987ETH,至此函数执行成功。
使用remix的solidity在线编译环境部署一个faucet合约的更多相关文章
- Tools - 在线编译环境和工具汇总
菜鸟教程 https://www.runoob.com/ 支持语言种类丰富,无需注册,包含教程.笔记.手册等内容. 菜鸟在线工具:https://c.runoob.com/ 菜鸟在线编译器:https ...
- [blockchain-035]eos的部署安装智能合约
0.参考资料 https://github.com/EOSIO/eos/wiki 1. eos的github地址 https://github.com/EOSIO/eos 2.下载eos源码 git ...
- 使用Remix编译和部署以太坊智能合约
Remix 是一個开源的 Solidity 智能合约开发环境,提供基本的编译.部署至本地或测试网络.执行合约等功能.Solidity 是 以太坊Ethereum 官方设计和支持的开发语言,专门用于 ...
- 第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1
第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1 1.检查系统是否安装了python [root@192 ~]# rpm -qa ...
- Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建
[注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6
第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...
- 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置
第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...
随机推荐
- docker笔记(3)—— 容器
操作环境:mac OS 10.14.6 docker版本:10.03.1 终端:iterm2 3.3 时间:2019年8月 容器相当于镜像的实例,镜像相当于只读模板,容器在镜像所有层级之上创建了一个可 ...
- B. Grow The Tree Codeforces Round #594 (Div. 2)
Gardener Alexey teaches competitive programming to high school students. To congratulate Alexey on t ...
- mysql数据库设置密码
1.用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); ...
- 【并行计算-CUDA开发】有关CUDA当中global memory如何实现合并访问跟内存对齐相关的问题
ps:这是英伟达二面面的一道相关CUDA的题目.<NVIDIA CUDA编程指南>第57页开始 在合并访问这里,不要跟shared memory的bank conflic ...
- Prettier格式化配置
HTML/CSS/JS/LESS 文件的 prettier 格式化规则 { // 使能每一种语言默认格式化规则 "[html]": { "editor.defaultFo ...
- mapreducer计算原理
mapreducer计算原理
- Flume原理分析与使用案例
1.flume的特点: flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据 ...
- delphicbuilder10_2_1 安装破解注册
安装程序 1.解压delphicbuilder10_2_1.iso,以管理员身份运行..\delphicbuilder10_2_1\Install\Setup.exe——选择安装语言——点击OK(推荐 ...
- PHP生成中文验证码并检测对错实例
PHP生成中文验证码并检测对错实例,中文验证码的例子还是比较少的,今天给大家分享一下,支持自定义中文.字体.背景色等 生成验证码,注意font字体路径要对,否则显示图片不存在 session_star ...
- ZOOKEEPER之WATCHER简介
zookeeper通过watcher机制,可以实现数据的修改,删除等情况的监听 可以设置观察的操作:exists,getChildren,getData 可以触发观察的操作:create,delete ...