原文标题:《跟我学Solidity:开发环境》
撰文:wissalhaji
翻译:登链社区
Solidity是用于开发以太坊智能合约的最受欢迎的语言之一,因此,我决定学习如何使用Solidity开发智能合约。
但是由于找不到我想要的质量的教程(使初学者能够以简洁的方式轻松学习基础知识),所以我决定创建本系列,希望你很快学会Solidity编程。
设置开发环境
我们将使用的IDE是Remix,在浏览器输入RemixURL。完成后,你应该会看到一个类似以下的界面:_Remix界面_
在左侧,我选择了两个主要组件。第一个图标是文件浏览器,在这里可以查看你所有的Solidity文件,第二个图标是插件管理器,从中可以添加新插件。我们将需要添加两个插件,因此请单击插件管理器图标,然后输入「Soliditycompiler(编译器)」。然后通过单击「Activate」将其激活,并执行相同的操作以添加「Deployandruntransactions(部署并运行交易)」插件。
「Soliditycompiler(编译器)」选项卡将允许你配置编译器参数并编译智能合约,而「Deployandruntransactions(部署并运行交易)」选项卡将允许你在区块链中部署智能合约并与之交互。图标列表现在应如下所示:
_Listoficons_
第一件事要做的是检查「编译器」选项卡中的「自动编译」选项。接下来,我们将配置Remix以使用本地存储中的文件。
使用以下命令安装remixd:
npminstall-gremixd
安装完成后,你可以创建一个文件夹,在其中保存了Solidity文件,然后运行以下命令告诉Remix使用文件夹中的文件:
remixd-s—remix-idehttps://remix.ethereum.org
_Remix加载文件_
现在转到Remix的主页,单击「Connecttolocalhost(连接到本地主机)」,然后在弹出窗口中选择「(connet)连接」。
image-20201119115303427
然后在「Fileexplorer(文件资源管理器)」选项卡下看到一个名为localhost的区域。展开它,你将看到从本地存储共享的文件夹中包含的所有文件:
Sharedfilesfromlocalstorage
恭喜你!现在,你拥有了开始编写第一个智能合约的工具。
等等...我们不应该安装一些东西与以太坊区块链进行交互吗?
现在还不急。我们选择轻松开始。Remix将为你提供在浏览器中运行的虚拟区块链环境,先使用它来部署合约并与之交互。只需确保在「Deployandrun(部署并运行)」选项卡中选择JavascriptVM作为环境即可。
编写合约
先看看我们的第一个智能合约:Helloworldcontract
SPDX版权许可证标识符
如果开放源代码,则可以更好地建立对智能合约的信任。由于提供源代码总是会涉及版权方面的法律问题,因此Solidity编译器鼓励使用机器可读的SPDX版权许可证标识符[6]。每个源文件都应以在开头以注释说明其以什么方式许可。参考Solidity源文件结构[7]版本语法
源文件可以(并且应该)添加版本注释,以拒绝使用将来可能引入不兼容更改的编译器进行编译。参考Solidity源文件结构[8]具有重大更改的发行版的格式通常形式为0.x.0
或x.0.0
。在我们的示例中,可以使用的编译器版本应大于或等于0.7.0且小于0.8.0(第二个条件是通过使用^
添加的)。可以为编译器版本指定更复杂的规则。它们遵循npm[9]使用的相同语法
前两行应出现在所有智能合约文件中。为了开始编写智能合约,你需要使用关键字contract
及合约名称,然后才能将代码放在大括号之间。
好,让我们创建这个Helloworld合约。
在共享文件夹HelloWorldContract.sol
中创建一个新文件,然后复制粘贴先前的代码。如果你选中了自动编译选项,它将自动编译代码。如果没有,请确保检查并编译代码。
现在是时候部署我们的第一个合约并与它进行交互了。单击「Deployandruntransactions(部署并运行交易)」选项卡,然后确保在环境中选择了JavaScriptVM,并在合约区域中选择了合约名称。完成后,单击「Deploy(部署)」。
Deployingcontract
现在,你应该在「DeployedContracts(已部署合约)」区域下看到你的合约。展开它,你将看到helloWorld
函数。单击它以发送调用此函数的交易,你将看到打印出helloworld
字符串。
helloworldstring
智能合约的结构
现在,让我们看一下你可以在智能合约中添加的内容,在下面直接引自文档:1. 状态变量:是其值永久存储在合约存储中的变量。2. 函数:函数是代码的可执行单元。函数通常在合约内部定义,但也可以在合约外部定义。3. 函数
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/54746.html
发表回复
评论列表(0条)