从零开始学习以太坊(三)

区块链

从零开始学习以太坊(三)

1. 初识gas price

以太坊gas信息网站:https://ethgasstation.info

gas price不得设置为0

  • gas price费用过低矿工不愿意打包交易
  • gas price费用高矿工们会秒确认打包交易

2. 初识以太坊合约

  • 在remix上构建简单的水龙头合约
    网站:https://remix.ethereum.org/

    • 界面截屏2022-02-03 下午6.24.52
    • 水龙头合约代码(代码详细解析会在后续的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{} //回退函数,用户调用的方法在合约中未实现,则调用此方法
      }
      
    • 编译截屏2022-02-06 上午11.37.15
    • 部署&运行截屏2022-02-03 下午7.01.08
      1. 部署(ENVIRONMENT选择Injected Web3,也就是Ropsten测试网络)成功后可看到

      sfdkgjfjsdkghajkgajkwa

      注:部署后不可修改,区块链具有不可篡改性

      1. 运行在左下角会显示部署到区块链上的合约方法(remix特性),可以直接使用,在其中输入想要提取的金额(合约中require中要小于10^18),单位Wei。截屏2022-02-06 上午11.44.39如果出现gas estimation failed可忽略,点击Send Transaction。完成上述操作后,在钱包确认需提交的gas费。交易完成后会出现错误提示,这是因为钱包中没有存入以太,无法提取。我们可利用钱包向合约部署地址存入以太。然后再执行withdraw方法,即可成功。详细信息可以登陆etherscan上查看交易信息。 

 

Leave a Reply

Your email address will not be published.