npm 包 run-with-ganache 使用教程

一、前言

run-with-ganache 是一个 npm 包,它可以在运行 Solidity 合约之前自动启动 ganache-cli (基于 Node.js 的本地以太坊测试链)。它允许开发者在本地环境中轻松地编写、调试和测试智能合约。

本文介绍如何安装和使用 run-with-ganache。

二、安装

首先,你需要安装 Node.js 和 npm。如果你已经安装了这些依赖项,那么只需在终端运行如下命令即可安装 run-with-ganache:

--- ------- ---------- ----------------

该命令会在 package.json 文件中添加如下依赖项:

------------------ -
  ------------------- --------
-

三、使用

运行 run-with-ganache 命令,然后以以下格式传递 Solidity 合约文件名和以太坊网络 ID:

--- ---------------- ------------------ -----------

例如,如果你想在以太坊网络 ID 5777(ganache 默认的网络 ID)下测试一个名为 MyContract.sol 的 Solidity 合约,你可以按照以下步骤操作:

  1. 打开终端,进入到 MyContract.sol 所在的目录。
  2. 运行 npx run-with-ganache MyContract.sol 5777 命令。
  3. 此时,run-with-ganache 将在本地启动 ganache-cli,并部署该合约。

你可以在终端中看到 ganache-cli 启动的相关信息。如果一切正常,你应该可以看到类似下面的结果:

----------- ------- -------------- -------

--------- --------
------------------

--- ------------------------------------------ ---- ----
--- ------------------------------------------ ---- ----
--- ------------------------------------------ ---- ----

---

--------- -- --------------

至此,ganache-cli 已经启动,你已经可以在本地环境下愉快地测试你的 Solidity 合约了。

四、示例代码

假设我们编写了以下名为 MyContract.sol 的 Solidity 合约:

-- ------------------------ ---
------ -------- -------

-------- ---------- -
    ------- ------ ------
    ----- -------------------- ----------

    -------- ---------------- ------- ------ -
        ----- - -------
        ---- ---------------------
    -
-

我们可以使用 run-with-ganache 命令在 ganache-cli 上测试该合约:

--- ---------------- -------------- ----

此时应该能看到终端输出以下内容:

----------- ------- -------------- -------

---

--------- -- --------------

接着,我们可以使用 truffle 或 web3.js 等工具,连接 ganache-cli 并与我们的合约进行交互:

----- ---- - ----------------
----- ---------- - ----------------------------------------------

----- -------- - --- -----------------------------------------------------
----- ---- - --- ---------------
----- ---------------- - --- --------------------------------- -------------------------------------

----- -------- ---------- -
    ----- ----- - ------
    ----- ---------------------------------------------------- --------------------------
    ---------------- ----- -- -----------
-

-----------

注意,我们在连接到 ganache-cli 时指定了合约在该测试链上的地址 MyContract.networks["5777"].address。根据你的实际情况来修改此处的地址值。

五、总结

本文介绍了如何使用 npm 包 run-with-ganache 快速启动 ganache-cli,并以此测试 Solidity 合约。我们了解了 run-with-ganache 的安装、使用方法,并通过示例代码演示了如何连接 ganache-cli 并与 Solidity 合约进行交互。

run-with-ganache 是一个很方便的 npm 包,它可以让我们更加高效地进行 Solidity 合约的开发、调试和测试工作。相信本文的内容能够帮助到大家,欢迎给予反馈和建议。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600572c881e8991b448e8f32


猜你喜欢

  • npm 包 wanderlust 使用教程

    wanderlust 是一款基于 JavaScript 的 npm 包,它可以帮助我们快速地解析 URL 地址,获取到其中的各个部分,例如协议、主机、路径等等。在前端开发中,我们常常需要操作 URL ...

    3 年前
  • npm 包 @azerothian/btc-markets-api 使用教程

    简介 @azerothian/btc-markets-api 是一个基于 Node.js 的 npm 包,用于连接 BTC Markets API 获取数字货币交易数据。

    3 年前
  • npm 包 bitcoin-address-checker 使用教程

    如果你正在开发一个区块链应用程序,特别是与比特币相关的应用程序,那么你需要一个 npm 包来验证比特币地址。这里介绍的包 bitcoin-address-checker 就是这样一个包,它可以验证比特...

    3 年前
  • npm 包 js-zrim-netfilter-manager 使用教程

    在前端开发中,我们通常需要使用一些第三方库来辅助我们完成一些功能。而 npm 是前端开发中最流行的包管理工具,它可以帮助我们安装和管理各种 npm 包。本文将介绍如何使用 npm 包 js-zrim-...

    3 年前
  • npm 包 kchoo-keep-doing 使用教程

    简介 kchoo-keep-doing 是一个实用的 JavaScript 库,允许您创建一个无限循环,并对其中的任务进行重试。它可以在前端和后端使用。 安装 在命令行中使用 npm 进行安装: --...

    3 年前
  • npm 包 webpack-dependency-cycle-plugin 使用教程

    前言 在前端开发中,我们经常会遇到依赖循环的问题。当出现依赖循环时,我们的应用程序会崩溃,因此需要解决这个问题。在本文中,我们将介绍一种 npm 包——webpack-dependency-cycle...

    3 年前
  • npm 包 @sugarcoated/royal-disk 使用教程

    前言 在前端开发中,有时我们需要在浏览器端创建文件并将数据保存到本地。而在浏览器中,我们不能像在 Node.js 中一样直接访问文件系统。这时就需要使用一些库来实现一些类似 Node.js 文件系统 ...

    3 年前
  • NPM 包 jedifocus.feedback 使用教程

    #NPM 包 jedifocus.feedback 使用教程 许多前端程序员可能已经熟悉并使用 NPM 包管理器。NPM 包是前端开发人员使用的重要工具之一,可以缩短开发时间,并提高生产力。

    3 年前
  • npm 包 minigrate 使用教程

    什么是 minigrate? minigrate 是一个小巧且功能强大的 JavaScript 库,提供了一种简便的方式来压缩和美化您的 JavaScript 代码。

    3 年前
  • npm 包 coin-converter 使用教程

    什么是 npm 包? npm,全称为 Node Package Manager,是 Node.js 的包管理工具。通过 npm,开发者可以发布自己的包(也称为组件、库),方便其他开发者在自己的项目中使...

    3 年前
  • npm 包 graphql-json-schema 使用教程

    GraphQL 是一种用于 API 的查询语言和运行时环境,它使得客户端能够精确地调用 API 所需的数据,而无需过多依赖于服务端的决策。而 graphql-json-schema 是一个快速生成 G...

    3 年前
  • npm包 ngx-apf-flipbox 使用教程

    在现今的Web开发中,动态效果的实现已经成为了越来越重要的一部分。FlipBox(翻转卡片)是一种常见的交互设计,它可以帮助我们加强用户与页面的互动体验。ngx-apf-flipbox是一个基于Ang...

    3 年前
  • npm 包 node-pdfsigner 使用教程

    前言 在企业中,签署合同这个流程是非常重要的,而在现代化信息技术中,电子签名作为一种合法认可的手段,越来越受到重视。为了方便的实现 PDF 文件的签名,我们可以使用 node-pdfsigner 这个...

    3 年前
  • npm 包 slackmetascraper 使用教程

    在前端开发中,我们经常需要获取网页上的元数据,比如页面的标题、描述、图片等。而 slackmetascraper 就是一款方便获取网页元数据的 npm 包。 安装 使用 npm 进行安装: --- -...

    3 年前
  • npm 包 x.error 使用教程

    简介 在前端开发过程中,我们常常需要处理各种错误信息。为了方便处理错误信息,我们通常会通过编写一些自定义函数来实现错误信息的处理。但是,这样的方式会增加代码量,并且难以维护。

    3 年前
  • npm 包 denim-monk-db-factory 使用教程

    简介 denim-monk-db-factory 是一个用于 Node.js 的 MongoDB 非关系型数据库操作工具,可以轻松地创建、删除、查询以及更新 MongoDB 中的文档。

    3 年前
  • npm包ormneo使用教程

    简介 ORMNeo是一款专为Node.js开发的ORM(对象关系映射)库,它通过将关系型数据库中的表与类之间的映射关系进行自动化的处理,使开发者能够更加便捷地处理数据库操作。

    3 年前
  • npm包neutrino-preset-svelte使用教程

    在前端开发中,我们经常需要使用一些npm包来帮助我们完成各种任务。一个优秀的npm包能够帮助我们提高开发效率、降低成本、提升代码质量等,而本文要介绍的npm包neutrino-preset-svelt...

    3 年前
  • npm 包 ganglion-ble 使用教程

    在前端的开发中,使用 npm 包可以让我们更方便地引入和使用各种外部库和工具。其中,ganglion-ble 是一款非常实用的 npm 包,它提供了一系列通过蓝牙连接脑电波记录器设备的 API,帮助我...

    3 年前
  • npm 包 jedifocus 使用教程

    在前端开发中,处理时间以及日期格式化是一项非常常见的任务。为了方便使用或处理时间数据,很多开发者会使用到一些优秀的 JavaScript 时间处理库。其中现在比较流行的一个 npm 包就是 jedif...

    3 年前

相关推荐

    暂无文章