Remix IDE 基本运用

智能合约的默许编辑器是 Remix,它默许是运行在浏览器中的。

咱们翻开 remix.ethereum.org 就能够看到 Remix 编辑器了。需求注意这个域名是 Remix 的唯一域名。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

它的功用比较简略,和 VSCode 有些像,我简略介绍一下它的主要功用。

左侧四个菜单栏是它的主要功用。

  1. 第一个是文件夹。
  2. 第二个是查找栏。
  3. 第三个是编译。
  4. 第四个是布置。

文件夹

咱们一般不会直接在这儿进行开发,而是在 VSCode 中进行开发,然后将本地的代码衔接到浏览器的 Remix 中。可是能够在这儿写一些测验或许 Demo。

查找栏

查找栏和 VSCode 的查找栏基本上没有什么区别,一般便是大局查找一些关键字,或许大局替换之类的。

编译

编译是比较重要的一部分,这儿我要多讲一下。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

  • compiler:首先是挑选 solidity 的版别,编译版别要和代码版别相对应。

solidity 的版别是能够有区间的,不过主张锁定一个版别,由于假如要在区块链浏览器中揭露智能合约代码的话,有必要填写编译和布置的参数。假如设置成区间,很简略忘掉编译时所挑选的版别,导致无法揭露智能合约代码。

  • include nightly builds:是夜间编译,一般是指每晚编译,也便是指每天晚上程序员下班后进行的编译,这时进行编译的代码是没有完结的。咱们不需求勾选。
  • auto compile:自动编译,当文件的内容发生变化时会自动编译,假如项目比较小,能够翻开,可是假如项目比较大,那么不主张翻开。由于会让浏览器卡顿。而且咱们能够按 ctrl+s 的快捷键来编译,不需求这个功用。
  • hide warnings:躲藏正告。这个选项主张一直翻开,显现正告能够帮助咱们避免许多问题。

Advanced Configurations 是编译的高档选项。

  • language:是编程言语,默许 solidity,不需求修正。
  • EVM Version:这个是 EVM 的版别,暂时也不需求修正。
  • Enable Optimization:这个选项是代码优化。代码编译是有上限的,假如项目提及十分大,超过了这个约束,就无法编译成功。敞开代码优化后,能够减小代码的体积,让智能合约简略通过。而且还能够削减合约布置的 gas 费和外部调用的 gas 费,所以咱们最好翻开这个选项。代码优化的级别是数字,挑选默许 200 就能够了。
  • Use configuration file:咱们也能够自己编写编译装备文件。等后面再说这个,现在不敞开。

挑选完装备参数,就能够点击 Compile 按钮进行编译了。

编译完结后编译图标会呈现一个绿色的对勾,表示编译成功。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

一起还会输出 ABI 和 Bytecode,这两个东西我会在后面的文章中讲到。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

布置

布置也十分重要,我也对这部分进行详细的介绍。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

  • Eevironment:虚拟机环境。虚拟机有许多,默许的是 Remix VM,也便是浏览器虚拟机,在之前的版别中也叫做 JavaScript VM。当浏览器刷新时,旧链会被铲除。咱们做一些简略的测验能够运用它。假如合约中有一些买币卖币的逻辑需求测验,那么就需求挑选 Injected Provider-Metamask。这样就能够衔接到 Metamask 钱包,在实在网络的测验链中进行测验。
  • Account 是一些和当时环境相关的账户列表,里面会包括一些 Ether,能够用来测验。
  • Gas limit:智能合约能够从用户手中最大的 gas 费用约束,默许是 3000000,目的是为了防止智能合约程序出错,收取过高的 gas 费用。一般不主张修正。
  • Value:发送到合约或调用函数所需求付出的 ETH、WEI、GWEI 等,默许是 0,不需求修正。
  • Contract:便是咱们需求挑选的合约。假如有多个合约,就去挑选要布置的那个合约。
  • Publish to IPFS:发布到星际网络,不需求敞开。

装备好之后就能够点击 Deploy 进行布置了。

布置成功后 Deployed Contracts 这部分会有布置好的智能合约地址。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

它会有一些蓝色的按钮和黄色的按钮。蓝色按钮表示获取链上数据,黄色按钮表示修正链上数据。修正链上数据需求付出 gas 费。

运用 VSCode 编写 Solidity 代码

Solidity 的官方默许编辑器是 Remix,但它是运行在浏览器中的,浏览器并不是十分稳定,比如莫名其妙的崩溃导致代码丢失。

虽然 Remix 也有桌面版别,在这儿下载:github.com/ethereum/re…,可是运用的人并不多,可能是由于 Remix 并不是专业做代码编辑器的,编码体验和生态系统都不够完善。

假如能够运用传统的、具有愈加老练生态的编辑器,那么在开发体验和开发效率上都会有更好的体验。

下面这部分内容将会介绍如何运用本地的 VSCode 编辑器进行 Solidity 智能合约的开发。

插件装置

在 VSCode 中编写 Solidity 代码,而且导入到 Remix,需求装置 Solidity 和 Ethereum Remix 这两个插件。

Solidity

solidity 是一门编程言语,那么一样需求代码高亮、代码提示这些功用。

这个插件提供了一门编程言语所需求的基本功用,以及编译合约等功用。

F5 编译当时合约,Cmd+F5 编译所有合约。

装置地址:marketplace.visualstudio.com/items?itemN…

装置完结后,能够编写一个 sol 文件,代码高亮就代表着装置成功。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

Ethereum Remix

咱们在本地写完智能合约后,需求将本地的项目导入到 Remix 中进行布置。

这在大型项目中比较有用,由于大型项目的目录结构会比较复杂,比如会包括许多文件夹和一些库。

装置地址:marketplace.visualstudio.com/items?itemN…

装置完结后,左侧会有一个 Remix 的图标。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

点进去,能够看到以下内容。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

挑选最下面的 Start remixd client,就能够衔接到浏览器的 Remix。

回到浏览器的 Remix,在 Workspaces 中挑选 connect to localhost。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

挑选之后会弹出一个弹窗,正告咱们 remix 的版别有必要是最新版别。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境

咱们点击 connect,就衔接成功了。

衔接成功后,Strat remixd client 前面的图标也会变成绿色。

Remix IDE 运用与 VSCode 建立 Solidity 开发环境