Solidity极简入门-工具篇1:Remix

我最近在重新学solidity,巩固一下细节,也写一个“Solidity极简入门”,供小白们使用(编程大佬可以另找教程),每周更新1-3讲。

欢迎关注我的推特:@0xAA_Science

WTF技术社群discord,内有加微信群方法:链接

所有代码和教程开源在github: github.com/AmazingAng/WTFSolidity


Remix是以太坊官方推荐的智能合约开发IDE,非常易用。Remix让你可以直接在浏览器中快速部署测试智能合约,而不需要安装配置任何程序。这一讲,我们将完整的介绍如何使用Remix部署合约,并调用其中的函数。

Remix官网remix.ethereum.org

1.打开Remix

Remix Layout
Remix Layout

打开官网进入Remix,我们可以看到Remix由四个面板组成:

  1. 图标面板:上面有代表不同功能的图标,点击后,相应的功能个会显示在侧面版上。
  2. 侧面版:各种功能的 GUI
  3. 主面板:代码编辑器。
  4. 终端:将显示与 GUI 交互的结果,也可以在此处运行脚本。

2. 图标面板

图标面板默认有4个图标,其中文件编译部署是最常用的。在你添加更多的remix插件后,它们也会显示在图标面板上。

3. 部署简单合约

i. 选择合约文件

首先点击文件图标,侧面版会变为文件浏览器

我们可以在文件浏览器中管理我们的workspace,文件夹和文件。

contract文件夹下面,有三个remix自带的合约例子,分别是1_Storage.sol, 2_Owner.sol3_Ballot.sol

点击1_Storage.sol,代码会显示在主面板的代码编辑器上。这个合约非常简单:它一个状态变量number,在链上存储一个uint256类型的数字;它有两个函数,store()函数将一个数字赋值给number变量;retrieve()展示number变量的数值。

ii. 编译

接下来,点击编译图标,进入Solidity Compiler。在这里,我们选择Solidity 0.8.7版本,然后点击Compile 1_Storage.sol按钮进行编译。在合约成功编译后,编译图标上会显示绿色对勾。

你也可以尝试在优化中选在优化(Enable Optimization),次数设置为200,有时会省gas消耗。

iii. 部署

下一步,我们要把编译好的合约部署到本地虚拟机或链上。首先点击部署,进入部署界面。

ENVIRONMENT中,我们可以选择我们部署的环境,默认的是JavaScript VM,所有交易都在本地浏览器的沙盒区块链中执行,使用的是它给你的虚拟钱包地址;你也可以选择Injected Web3,即连接你的metamask钱包,所有交易会在真实的区块链中执行。

这里,我们选择JavaScript VM,你可以在钱包地址(ACCOUNT)栏看到虚拟机给你分配的测试地址。不需要调整Gas,也不用往合约里发送ETH。在CONTRACT栏中选择你要部署的合约Storage1_Storage.sol文件中只有一个合约,因此默认就是部署它;但当文件包含多个合约时,我们需要手动选择要部署的合约。

点击DEPLOY键,部署完毕!

注意:如果我们选择的是Injected Web3来部署合约,每一笔交易都将上链,需要钱包确认交易并支付gas

iv. 调用

在合约部署成功后,我们可以在Deployed Contracts中找到我们部署的合约Storage。展开它,我们看到合约中的外部函数:storeretrieve

我们在store函数那行的文本框中输入100,并点击函数名调用它。调用成功后,我们可以在终端上看到log信息,点击Debug按钮可以查看交易详情。

之后,我们调用retrieve函数,显示number变量被成功更新为100

总结

这一讲,我们介绍了如何使用Remix编译,部署并调用智能合约。Remix非常简单易用,也是·WTF Solidity极简教程选用的IDE工具

Subscribe to 0xAA
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.