ETH智能合约开发手把手入门教程|猿创征文

2022-12-02 17:05:19 浏览数 (1)

文章目录

    • 安装钱包
      • 安装 Metamask、并创建好账号
    • 执行第一次转账
      • 测试币获取
      • 第一次转账
    • 第一个智能合约
      • 使用 Remix 创建第一个合约
      • 使用 Remix 测试第一个合约
      • 使用 Remix 部署第一个合约

安装钱包

安装 Metamask、并创建好账号

Metamask是一个在虚拟世界的以太坊钱包,也因为其LOGO是只可爱的小狐狸,也被大家称为“小狐狸钱包”。

MetaMask客户端很多,其中包括手机端:安卓手机MetaMask客户端由于其基于谷歌商店,国内安卓手机并不支持,这一块可能稍微麻烦一些,怎么安装,大家可以自行搜索。而苹果手机也同理,国内的苹果商店似乎也没有安卓,需要注册美国账号才可以下载。

然后用的较多的就是PC端,其实这个也是最简单的,而现在主流的Google Chrome,Microsoft Edge等浏览器都可以支持安装,接下来我们以Google Chrome为例解析一下MetaMask(小狐狸钱包)的安装及注册方法。

首先需要我们的网络是科学网络,如果不懂,大家可以自行搜索解决。

然后我们用Google Chrome打开MetaMask,https://metamask.io/,我们就可以看到MetaMask客户端下载的主页,因为没有中文,大家可以通过翻译软件解决。

但用chrome打开的时候,Download会自动选择对应浏览器版本的插件,点击下载即可。点击后跳转至chrome商店,点击添加至chrome

安装完成后,会跳转到MetaMask欢迎界面,中间是一只会跟着你鼠标动的小狐狸,是不是有点意思。

点击开始使用,会让你选择是否第一次使用 MetaMask,第一次使用的话将为您创建新的钱包账户和账户助记词,如果已经有的话,使用账户助记词导入现有的钱包即可。

这里我们选择第一次使用。

这里会让你选择是否给MetaMask提供使用数据,这在现代软件中都有类似条例,可以按自己喜好选择,这里我选择“不,谢谢”。

下一步,会让你创建密码,密码至少8个字符,为了钱包的安全,设的尽量复杂点吧。

创建完成后,跳转到一个教程界面,告诉你什么是账户助记词,以及他的作用。对于MetaMask,你应该好好保存你的助记词,并且要避免明文使用助记词,避免泄漏,导致钱包被盗空。

看完教程后,点击下一步,将会让你手动开启显示助记词,并再次提醒你助记词的重要性。 记下保存好你的助记词

下一步,将让你手动输入助记词,以确认是否正确。

点击确认后,MetaMask的账户注册完成了,MetaMask会再次提醒你助记词的重要性。记下保存好你的助记词

下面就是各位的MetaMask钱包页面,中间是大家钱包里面的剩余ETH余额,

然后我们可以通过选择一些中间平台去购买ETH,然后大家就通过MetaMask去Opensea去购买NFT还有去做其他的一些区块链的事情了,接下来我们就要来执行一次转账了。

另外:MetaMask安装完后,可以通过浏览器右上角的小狐狸图标打开MetaMask钱包,小巧迷你。

执行第一次转账

本次我将使用测试币来执行一次转账,由于目前ETH的水龙头越来越枯竭,已经很难很难能获取到ETH的测试币了,但是可以通过很多兼容ETH的网络来测试转账,这里我使用OKTest(欧科测试网络)。

测试币获取

打开欧科测试网络地址https://www.oklink.com/zh-cn/okc-test,将OK测试网络添加到MetaMask。

点击后,小狐狸会跳出连接提示小窗口,按照提示一步步操作就可以。

测试网络添加完毕后,还是没有测试币,现在获取个测试币也是难。 打开地址:https://discord.com/invite/B5nMs6qK5F,再一系列的验证成功,终于可以领测试币了。 在聊天窗口,发送你的钱包地址,机器人就会个你10OKT

第一次转账

现在可以转账了,点击发送,输入对方的钱包地址,输入转账币数,燃料价格高的话,能让该转账更快交易成功,更快的生成区块。

可以在活动这里看到转账状态

等待一会后,转账成功,可以在区块链浏览器上看到转账详情。

下面将介绍一下,智能合约的入门开发。

第一个智能合约

使用 Remix 创建第一个合约

Remix https://remix.ethereum.org/是一个以太坊智能合约语言Solidity的浏览器版本IDE,对于新手是一个非常棒的开发工具,并且官方文档比较多,由于在国外,第一次打开会比较慢。

这里有一个简单的存储输入值的智能合约,store接收一个数字并保存,retrieve返回保存的数字。

代码语言:javascript复制
contract Storage {

    uint256 number;

    /**
     * @dev Store value in variable
     * @param num value to store
     */
    function store(uint256 num) public {
        number = num;
    }

    /**
     * @dev Return value 
     * @return value of 'number'
     */
    function retrieve() public view returns (uint256){
        return number;
    }
}

使用 Remix 测试第一个合约

首先我们编译一下,点击左侧工具栏按钮,保证编译通过

点击Deploy按钮,部署智能合约,这里我们选择JavaScript VM环境,在本地的虚拟机环境开发测试,如果部署到网络上,每次交易都是需要花费gas的。

部署成功后,最下面Deployed Contracts 已部署智能合约会出现部署成功的智能合约,我们测试一下。

测试输入1存储后,获取到1,输入2存储后,获取到2,智能合约本地开发测试成功,后面就可以部署到测试网络上了。

使用 Remix 部署第一个合约

同样是Remix,在虚拟机环境下拉框中选择Injected Web3,这时会跳出安装的MetaMask钱包,链接Remix和钱包,按照步骤操作即可。

我们部署该智能合约到OKTEST网络,点击Deploy,弹出交易确认窗口,这里会有一个预估的燃料花费,你可以选择编辑或者默认,确认交易。

同样,部署成功后,小狐狸会弹出提醒,Remix的Deployed Contracts也会出现已部署的智能合约,让我们来测试一下。

可见,每次写入存储值的时候,都会生成一个交易,但读取的值的时候却不会产生交易。

到这里我们的手把手入门ETH智能合约教程结束了,对于Remix一些简单不很复杂的智能合约开发已经足够了,后面就是需要你学习Solidity语言,并在学习开发过程中不断熟练使用工具与语言,如此才能应付的了一些真实的项目。

后面如果有机会,将再介绍复杂智能合约的开发测试入门,有缘再见。PM:2022年6月30日03:15:52

0 人点赞