Hardhat

(自Remix IDE v0.12.0和Remixd v0.3.6起支持)

Remixd 和 Hardhat

注意: 如果您以前没有使用过remixd,请在此处阅读更多相关信息。

如果remixd在您的设备上本地运行,并且共享文件夹是一个 Hardhat项目 ,则另外一个websocket插件将会监听65522端口。根据其文档,

Hardhat项目是安装了hardhat包并具有hardhat.config.js或hardhat.config.ts文件的npm项目。

Remixd在共享文件夹中查找hardhat.config.jshardhat.config.ts文件,如果找到该文件,则会运行Hardhat websocket监听器。

Hardhat websocket监听器类似于remixd的websocket插件,使用Remix IDE执行特定于Hardhat的操作。

它不需要任何单独安装,因为它是通过remixd NPM模块运行。

启用Hardhat编译

前提条件

为了有效地在 Remix IDE 中使用 Hardhat 编译:

  1. 应在本地系统上安装 Hardhat https://hardhat.org/getting-started/#installation

  2. 共享文件夹应该是一个包含 hardhat.config.jshardhat.config.ts 的 Hardhat 项目。

  3. 运行 Remixd Hardhat websocket 监听器,端口号为 65522

使用方式

如果通过remixd共享了一个Hardhat项目,并且在Remix IDE中加载了 localhost 工作区,则 Solidity 编译器插件中会显示一个额外的复选框,标签为“启用Hardhat编译”。

在标签旁边有一个信息图标,可以重定向到 Remix 官方文档中的一个特定部分,该部分说明了如何使用 Hardhat 编译。

勾选 “启用 Hardhat 编译” 复选框可在 Solidity Compiler 插件中使用编译器配置运行 Hardhat 的编译。

单击“编译”按钮后,在项目根目录下将创建一个名为 remix-compiler.config.js 的文件,其中存储了在 Remix 的 Solidity Compiler 插件中设置的编译器配置。它将传递给 Hardhat 进行编译。

编译结果将显示在 Remix IDE 终端中。

remixd 终端中也会显示编译结果。

Hardhat 提供者

在Hardhat中,合约是通过启动本地节点来部署的。请在 [Hardhat 文档](https://hardhat.org/getting-started/#connecting-a-wallet-or dapp-to hardhat-network)_ 查看更多关于它的信息。

Hardhat Provider 是 Remix IDE 上的一个插件,它使用户能够将合约部署到 Hardhat 的“localhost”网络上。这可以从 Deploy and Run Transactions 插件的 ENVIRONMENT 下拉菜单中选择。

当你选择了Hardhat Provider, 就会打开一个对话框,要求输入`Hardhat JSON-RPC 端点’。

如果 Hardhat 节点使用默认选项运行,则对话框中的默认端点值不需要更改。如果 Hardhat 节点的端口进行了改动,则应在对话框中更新 JSON-RPC 端点。

一旦在模态框中填入正确的端点,只需点击“确定”,Hardhat节点上的账户将加载到“账户”部分。网络ID也会显示出来。

现在,可以像往常一样从Remix IDE将合约部署到Hardhat本地节点

在 Remix IDE 中使用 console.log

(自 Remix IDE v0.17.0 起支持)

在使用 Remix VM 时,Remix IDE 支持 hardhat console 库。它可以在进行交易或运行单元测试时使用。

部署和运行交易

要使用它,您需要放置一个导入语句并使用console.log打印值,如图所示。

此外,一旦您执行changeOwner方法,console打印的值将在交易细节之后显示在Remix终端中,如下所示:

Solidity单元测试

同样地,在使用Remix Solidity Unit Testing插件运行单元测试时,可以使用console.log。请参见下面的图片。

对于包括日志消息的测试,它将显示在Remix终端中对应的测试名称下。