我最近在重新学solidity,巩固一下细节,也写一个“Solidity极简入门”,供小白们使用(编程大佬可以另找教程),每周更新1-3讲。
欢迎关注我的推特:@0xAA_Science
WTF技术社群discord,内有加微信群方法:链接
所有代码和教程开源在github: github.com/AmazingAng/WTFSolidity
Remix
是以太坊官方推荐的智能合约开发IDE,非常易用。Remix
让你可以直接在浏览器中快速部署测试智能合约,而不需要安装配置任何程序。这一讲,我们将完整的介绍如何使用Remix
部署合约,并调用其中的函数。
Remix官网:remix.ethereum.org
打开官网进入Remix
,我们可以看到Remix由四个面板组成:
GUI
。GUI
交互的结果,也可以在此处运行脚本。图标面板默认有4个图标,其中文件
,编译
,部署
是最常用的。在你添加更多的remix
插件后,它们也会显示在图标面板上。
首先点击文件
图标,侧面版会变为文件浏览器
。
我们可以在文件浏览器
中管理我们的workspace,文件夹和文件。
在contract
文件夹下面,有三个remix
自带的合约例子,分别是1_Storage.sol
, 2_Owner.sol
和3_Ballot.sol
。
点击1_Storage.sol
,代码会显示在主面板的代码编辑器上。这个合约非常简单:它一个状态变量number
,在链上存储一个uint256
类型的数字;它有两个函数,store()
函数将一个数字赋值给number
变量;retrieve()
展示number
变量的数值。
接下来,点击编译
图标,进入Solidity Compiler
。在这里,我们选择Solidity 0.8.7
版本,然后点击Compile 1_Storage.sol
按钮进行编译。在合约成功编译后,编译
图标上会显示绿色对勾。
你也可以尝试在优化中选在优化(Enable Optimization
),次数设置为200
,有时会省gas
消耗。
下一步,我们要把编译好的合约部署到本地虚拟机或链上。首先点击部署
,进入部署界面。
在ENVIRONMENT
中,我们可以选择我们部署的环境,默认的是JavaScript VM
,所有交易都在本地浏览器的沙盒区块链中执行,使用的是它给你的虚拟钱包地址;你也可以选择Injected Web3
,即连接你的metamask
钱包,所有交易会在真实的区块链中执行。
这里,我们选择JavaScript VM
,你可以在钱包地址(ACCOUNT
)栏看到虚拟机给你分配的测试地址。不需要调整Gas
,也不用往合约里发送ETH
。在CONTRACT
栏中选择你要部署的合约Storage
。1_Storage.sol
文件中只有一个合约,因此默认就是部署它;但当文件包含多个合约时,我们需要手动选择要部署的合约。
点击DEPLOY
键,部署完毕!
注意:如果我们选择的是Injected Web3
来部署合约,每一笔交易都将上链,需要钱包确认交易并支付gas
。
在合约部署成功后,我们可以在Deployed Contracts
中找到我们部署的合约Storage
。展开它,我们看到合约中的外部函数:store
和retrieve
。
我们在store
函数那行的文本框中输入100
,并点击函数名调用它。调用成功后,我们可以在终端上看到log
信息,点击Debug
按钮可以查看交易详情。
之后,我们调用retrieve
函数,显示number
变量被成功更新为100
。
这一讲,我们介绍了如何使用Remix
编译,部署并调用智能合约。Remix
非常简单易用,也是·WTF Solidity极简教程
选用的IDE
工具