本合集文章,授权转载,侵权必究。 Web 3.0世界系列文章 来源 : 代码与野兽Web3 系列文章: NO.1 遇见Web3: 在 Web3 的世界中写下第一行 HelloWorld NO.2 全面系统的 Web3 学习路线,助你成为 Web3 开发专家 NO.3 Web3世界:区块链、比特币、以太坊和智能合约 Remix IDE 基本使用 智能合约的默认编辑器是 Remix,它默认是运行在浏览器中的。 我们打开 remix.ethereum.org 就可以看到 Remix 编辑器了。需要注意这个域名是 Remix 的唯一域名。 它的功能比较简单,和 VSCode 有些像,我简单介绍一下它的主要功能。 左侧四个菜单栏是它的主要功能。 第一个是文件夹。 第二个是搜索栏。 第三个是编译。 第四个是部署。 文件夹 我们通常不会直接在这里进行开发,而是在 VSCode 中进行开发,然后将本地的代码连接到浏览器的 Remix 中。但是可以在这里写一些测试或者 Demo。 搜索栏 搜索栏和 VSCode 的搜索栏基本上没有什么区别,通常就是全局搜索一些关键字,或者全局替换之类的。 编译 编译是比较重要的一部分,这里我要多讲一下。 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 按钮进行编译了。 编译完成后编译图标会出现一个绿色的对勾,表示编译成功。 同时还会输出 ABI 和 Bytecode,这两个东西我会在后面的文章中讲到。 部署 部署也非常重要,我也对这部分进行详细的介绍。 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 这部分会有部署好的智能合约地址。 它会有一些蓝色的按钮和黄色的按钮。蓝色按钮表示获取链上数据,黄色按钮表示修改链上数据。修改链上数据需要支付 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 文件,代码高亮就代表着安装成功。 Ethereum Remix 我们在本地写完智能合约后,需要将本地的项目导入到 Remix 中进行部署。 这在大型项目中比较有用,因为大型项目的目录结构会比较复杂,比如会包含很多文件夹和一些库。 安装地址:marketplace.visualstudio.com/items?itemN… 安装完成后,左侧会有一个 Remix 的图标。 点进去,可以看到以下内容。 选择最下面的 Start remixd client,就可以连接到浏览器的 Remix。 回到浏览器的 Remix,在 Workspaces 中选择 connect to localhost。 选择之后会弹出一个弹窗,警告我们 remix 的版本必须是最新版本。 我们点击 connect,就连接成功了。 连接成功后,Strat remixd client 前面的图标也会变成绿色。 以上就是本节内容。 如果你对 Web3 感兴趣,一定要关注我。 记得评论区点赞、评论。 #头条创作挑战赛# #web3.0##微头条帮我上热门推荐#