当前位置:首页 > 区块链新闻 > 正文

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境

来源: 互联网时间:2020-11-27 14:00:32

Solidity 是用于开发以太坊智能合约最受欢迎的语言之一,快速学会搭建 Solidity 开发环境。

原文标题:《跟我学 Solidity :开发环境》
撰文:wissal haji
翻译:登链社区

Solidity[3] 是用于开发以太坊智能合约的最受欢迎的语言之一,因此,作为一个想要成为区块链开发人员的人,我决定学习如何使用 Solidity 开发智能合约。

但是由于找不到我想要的质量的教程 (使初学者能够以简洁的方式轻松学习基础知识),所以我决定创建本系列,希望你很快学会 Solidity 编程。

设置开发环境

我们将使用的 IDE 是 Remix[4],在浏览器输入 Remix URL[5]。完成后,你应该会看到一个类似以下的界面:

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境Remix 界面

在左侧,我选择了两个主要组件。第一个图标是文件浏览器,在这里可以查看你所有的 Solidity 文件,第二个图标是插件管理器,从中可以添加新插件。我们将需要添加两个插件,因此请单击插件管理器图标,然后输入「 Solidity compiler (编译器)」。然后通过单击「Activate」将其激活,并执行相同的操作以添加「Deploy and run transactions (部署并运行交易)」插件。

「 Solidity compiler (编译器)」选项卡将允许你配置编译器参数并编译智能合约,而「Deploy and run transactions (部署并运行交易)」选项卡将允许你在区块链中部署智能合约并与之交互。图标列表现在应如下所示:

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境List of icons

第一件事要做的是检查「编译器」选项卡中的「自动编译」选项。接下来,我们将配置 Remix 以使用本地存储中的文件。

使用以下命令安装 remixd:

    npm install -g remixd  

安装完成后,你可以创建一个文件夹,在其中保存了 Solidity 文件,然后运行以下命令告诉 Remix 使用文件夹中的文件:

    remixd -s  — remix-ide https://remix.ethereum.org  

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境Remix 加载文件

现在转到 Remix 的主页,单击「Connect to localhost (连接到本地主机)」,然后在弹出窗口中选择「(connet)连接」。

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境image-20201119115303427

然后在「File explorer (文件资源管理器)」选项卡下看到一个名为 localhost 的区域。展开它,你将看到从本地存储共享的文件夹中包含的所有文件:

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境Shared files from local storage

恭喜你!现在,你拥有了开始编写第一个智能合约的工具。

等等 ... 我们不应该安装一些东西与以太坊区块链进行交互吗?

现在还不急。我们选择轻松开始。Remix 将为你提供在浏览器中运行的虚拟区块链环境,先使用它来部署合约并与之交互。只需确保在「Deploy and run (部署并运行)」选项卡中选择 Javascript VM 作为环境即可。

编写合约

先看看我们的第一个智能合约:

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境Hello world contract

SPDX 版权许可证标识符

如果开放源代码,则可以更好地建立对智能合约的信任。由于提供源代码总是会涉及版权方面的法律问题,因此 Solidity 编译器鼓励使用机器可读的 SPDX 版权许可证标识符 [6]。每个源文件都应以在开头以注释说明其以什么方式许可。参考 Solidity 源文件结构 [7]

版本语法

源文件可以 (并且应该) 添加版本注释,以拒绝使用将来可能引入不兼容更改的编译器进行编译。参考 Solidity 源文件结构 [8]

具有重大更改的发行版的格式通常形式为 0.x.0x.0.0。在我们的示例中,可以使用的编译器版本应大于或等于 0.7.0 且小于 0.8.0(第二个条件是通过使用 ^ 添加的)。可以为编译器版本指定更复杂的规则。它们遵循 npm[9] 使用的相同语法

前两行应出现在所有智能合约文件中。为了开始编写智能合约,你需要使用关键字 contract 及合约名称,然后才能将代码放在大括号之间。

好,让我们创建这个 Helloworld 合约。

在共享文件夹 HelloWorldContract.sol 中创建一个新文件,然后复制粘贴先前的代码。如果你选中了自动编译选项,它将自动编译代码。如果没有,请确保检查并编译代码。

现在是时候部署我们的第一个合约并与它进行交互了。单击「Deploy and run transactions (部署并运行交易)」选项卡,然后确保在环境中选择了 JavaScript VM,并在合约区域中选择了合约名称。完成后,单击「Deploy (部署)」。

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境Deploying contract

现在,你应该在「Deployed Contracts (已部署合约)」区域下看到你的合约。展开它,你将看到 helloWorld 函数。单击它以发送调用此函数的交易,你将看到打印出 hello world 字符串。

入门以太坊智能合约开发 :手把手教你搭建 Solidity 开发环境hello world string

智能合约的结构

现在,让我们看一下你可以在智能合约中添加的内容,在下面直接引自 文档

  1. 状态变量:是其值永久存储在合约存储中的变量。
  2. 函数:函数是代码的可执行单元。函数通常在合约内部定义,但也可以在合约外部定义。
  3. 函数修改器(Modifiers ,有些翻译为修饰符):函数修改器可用于以声明方式修改函数的语义。
  4. 事件:事件是与 EVM 日志记录工具的便捷接口。
  5. 结构体类型:结构体是可定义多个变量的自定义类型。
  6. 枚举类型:枚举可用于创建具有有限「常量值」集合的自定义类型。

稍后我们将更详细地介绍这些组件。

概述就是这样。下篇再见!

参考资料

[1] 登链翻译计划 :
https://github.com/lbc-team/Pioneer

[2] 翻译小组 :
https://learnblockchain.cn/people/412

[3]Solidity:
https://learnblockchain.cn/docs/solidity/

[4]Remix:
https://remix-ide.readthedocs.io/en/latest/

[5]Remix URL:
https://remix.ethereum.org

[6]SPDX 版权许可证标识符 :
https://spdx.org/

[7]Solidity 源文件结构 :
https://learnblockchain.cn/docs/solidity/layout-of-source-files.html

[8]Solidity 源文件结构 :
https://learnblockchain.cn/docs/solidity/layout-of-source-files.html

[9]npm:
https://docs.npmjs.com/misc/semver

[10]Cell Network:
https://www.cellnetwork.io/?utm_souce=learnblockchain

来源链接:medium.com

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。