从零开始学习以太坊(三)
1. 初识gas price
以太坊gas信息网站:https://ethgasstation.info
gas price不得设置为0
- gas price费用过低矿工不愿意打包交易
- gas price费用高矿工们会秒确认打包交易
2. 初识以太坊合约
- 在remix上构建简单的水龙头合约
网站:https://remix.ethereum.org/- 界面
- 水龙头合约代码(代码详细解析会在后续的solidity章节中讲解)
// SPDX-License-Identifier: MIT pragma solidity >=0.7.0 <0.9.0; //声明solidity版本 contract Faucet{ //contract相当于类 //水龙头发币 function withdraw(uint withdraw_amount) public{ require(withdraw_amount <= 1000000000000000000); //限制条件,要求为真,单位为wei,Ether=10^18Wei payable(msg.sender).transfer(withdraw_amount); } //水龙头收币 receive () payable external{} //回退函数,用户调用的方法在合约中未实现,则调用此方法 }
- 编译
- 部署&运行
- 部署(ENVIRONMENT选择Injected Web3,也就是Ropsten测试网络)成功后可看到
注:部署后不可修改,区块链具有不可篡改性
- 运行在左下角会显示部署到区块链上的合约方法(remix特性),可以直接使用,在其中输入想要提取的金额(合约中require中要小于10^18),单位Wei。如果出现gas estimation failed可忽略,点击Send Transaction。完成上述操作后,在钱包确认需提交的gas费。交易完成后会出现错误提示,这是因为钱包中没有存入以太,无法提取。我们可利用钱包向合约部署地址存入以太。然后再执行withdraw方法,即可成功。详细信息可以登陆etherscan上查看交易信息。
Leave a Reply