npm 包 @97network/gdao 使用教程

介绍

@97network/gdao 是一个基于 Gnosis Safe 智能合约的 Node.js 包。它提供了一系列简单易用的函数接口,供 Node.js 开发者调用 Gnosis Safe 合约的方法。它能够让你在 Node.js 应用中轻松地读取、创建、修改 Gnosis Safe 合约。

安装

要使用 @97network/gdao,你需要首先在你的项目中安装它。可以通过 npm 安装,命令如下:

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

使用

使用 @97network/gdao,你需要连接一个以太坊节点,并且拥有对 Gnosis Safe 合约的访问权限。以下为一个简单的示例代码,它演示了如何读取 Gnosis Safe 合约的余额:

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

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

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

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

在上述示例代码中,我们首先创建了一个 Web3 实例,并将其连接到了以太坊节点。然后,我们创建了一个 Gdao 实例,并传入了我们所连接的 Web3 对象。接着,我们指定了要查询余额的 Gnosis Safe 的地址,并调用了 gdao 的 getSafeBalance 函数。最后,我们输出了获取到的余额。

如果你希望在开发中使用本地的以太坊节点,可以参考以下代码:

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

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

-- ---------

在上述代码中,我们使用了 ganache-core 包作为本地的以太坊节点。我们创建了一个 provider 对象,并将其传入了 Web3 中。最后,我们将连接到这个 provider 的 web3 对象传递给了 gdao。

API

构造函数

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

创建一个 Gdao 实例。

参数:

  • web3 - 一个已连接到以太坊网络的 web3 实例对象。
  • options - 配置对象,可选,包含以下字段:
    • gasPrice - 以 Gwei 为单位的 gas 价格。默认值为 20 Gwei。
    • gasLimit - 每次交易的 gas 上限。默认值为 300000。

getSafeBalance

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

获取指定 Gnosis Safe 合约的余额。

参数:

  • safeAddress - 待查询余额的 Gnosis Safe 合约地址。

getSafeInfo

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

获取指定 Gnosis Safe 合约的信息。

参数:

  • safeAddress - 待查询信息的 Gnosis Safe 合约地址。

返回值:

  • info - 包含如下字段的对象:
    • owners - Gnosis Safe 交易授权者的地址列表。
    • threshold - 交易的多重签名阈值。
    • currentNonce - 当前交易 nonce,用于避免交易重放。

signTransaction

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

使用指定的私钥对交易进行签名。

参数:

  • transaction - 代表待签名交易的对象,包含以下字段:
    • from - 发送者地址。
    • to - 接收者地址。
    • value - 转账金额。
    • data - 调用合约的数据。
    • gas - gas 上限。
    • gasPrice - gas 价格。
    • nonce - 交易 nonce。
    • chainId - 链的 ID。
  • privateKey - 用于进行签名的私钥。

返回值:

  • signature - 签名结果,包含 r、s 和 v 值。

executeTransaction

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

使用指定的私钥对交易进行签名,并将签名后的交易发送给 Gnosis Safe 合约进行执行。注意,本函数并不会将交易上链。实际应用中,你需要通过 web3 等工具将交易上链。

参数:

  • safeAddress - 待操作的 Gnosis Safe 合约地址。
  • transaction - 代表待执行交易的对象,包含以下字段:
    • from - 发送者地址。
    • to - 接收者地址。
    • value - 转账金额。
    • data - 调用合约的数据。
    • gas - gas 上限。
    • gasPrice - gas 价格。
    • nonce - 交易 nonce。
    • chainId - 链的 ID。
  • privateKey - 用于进行签名的私钥。

返回值:

  • result - 一个包含如下字段的对象:
    • transactionHash - 交易哈希。
    • success - 是否执行成功。
    • error - 错误信息。

结语

通过本文,你应该已经掌握了如何使用 @97network/gdao 包进行 Gnosis Safe 合约的交互了。当然,这只是一个基础,你可以通过查看 Web3.js API 等文档来深入学习和了解更多内容。

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


猜你喜欢

  • npm 包 hubot-gitlab-deploy 使用教程

    前言 在日常的前端开发中,我们难免会需要进行项目的部署。针对 GitLab 平台,我们推荐使用 hubot-gitlab-deploy 这个 npm 包来进行自动化部署。

    2 年前
  • npm 包@upe/utilities 使用教程

    简介 npm 是一个用于共享、发布、安装包以及开发前端项目的软件包管理器。使用 npm 的目的是促进代码重用,便于依赖关系管理以及更快地构建项目。 @upe/utilities 是一个常用的 npm ...

    2 年前
  • npm 包 koa-varnish 使用教程

    简介 koa-varnish 是一个基于 Koa 框架和 Varnish 缓存系统的中间件,可以帮助我们实现更好的性能优化。通过使用 koa-varnish,我们可以将需要缓存的 HTTP 请求缓存到...

    2 年前
  • npm 包 @rajkeshwar/ng2v-components 使用教程

    前言 在现代化的网站和 Web 应用开发中,前端技术已经成为重要的一环。而随着前端技术的不断发展,我们需要的工具也随之不断增多。其中,一些优秀的 npm 包被广泛使用,如 @rajkeshwar/ng...

    2 年前
  • npm 包 via-vue-focus 使用教程

    在前端开发中,经常会有需要控制用户焦点或者元素聚焦的场景。针对这种情况,可以通过使用 npm 包 via-vue-focus 来实现。 via-vue-focus 是什么? via-vue-focus...

    2 年前
  • npm 包 groupem 使用教程

    本教程将介绍如何使用 npm 包 groupem 来进行必要的编程操作,包括安装、使用、示例代码,旨在帮助前端 开发人员更好地理解和使用该工具。 1. 什么是 groupem groupem 是一...

    2 年前
  • npm包mobx-react-json-tree使用教程

    前言 mobx-react-json-tree是一个用于展示 JSON 数据的 React 组件,它结合了 MobX 和 React,提供了一个可定制的 JSON 树状结构的组件。

    2 年前
  • npm 包 @matochondrion/basscss-columns 使用教程

    在前端开发中,栅格布局非常常见,其中 Basscss 是一个优秀的CSS框架,它有一些非常实用的栅格系统和其他简单但有用的样式。其中的栅格系统非常适合快速构建响应式网站,这里介绍其下的一个 npm 包...

    2 年前
  • npm 包 babel-plugin-transform-require-stub 使用教程

    当我们在开发前端应用程序时,经常会使用 ES6 的 import 语句来导入其他模块中的代码。然而,在某些情况下,我们可能会遇到无法导入某些模块代码的问题,这时就需要使用 babel-plugin-t...

    2 年前
  • npm 包 couch-recliner 使用教程

    在前端开发过程中,我们常常需要使用一些开源的 npm 包来辅助我们的工作。其中,couch-recliner 是一款针对 CouchDB 的 Node.js 库,提供了简化的接口来进行 CouchDB...

    2 年前
  • npm包d3-plugins-cyclical-sankey使用教程

    本篇文章将向大家介绍npm包d3-plugins-cyclical-sankey的使用教程,它是基于D3.js库的一种可视化图表,主要用于显示网络拓扑结构中的节点和关系。

    2 年前
  • npm 包 dm-h5-dll 使用教程

    背景 前端工程化在现在越来越普遍,为了在前端项目中提高性能,实现组件化与模块化,在名词轮回过程中诞生了许多工具。Webpack 是其中一个最流行的前端打包工具。在实际使用中,webpack 可以通过使...

    2 年前
  • npm 包 esdoc-babeljs-plugin 使用教程

    在前端开发中,我们经常需要写文档来记录我们的项目。esdoc-babeljs-plugin 是一个 npm 包,它能够自动生成文档并提供文档的排版及样式。本篇文章将详细介绍如何使用 esdoc-bab...

    2 年前
  • npm 包 hubot-pad 使用教程

    什么是 hubot-pad hubot-pad 是一个可以帮助前端团队进行项目编码规范检查的 npm 包,它可以帮助团队管理代码规范,提高代码质量,减少 bug 的产生。

    2 年前
  • npm 包 jquery-anaglyph-image-effect 使用教程

    前言 在前端开发中,经常会遇到需要给图片添加特效的需求。其中,anaglyph 三维效果是一种非常酷炫的特效,可以给用户带来非常视觉冲击力的体验。在本文中,我将介绍如何使用 jquery-anagly...

    2 年前
  • npm 包 koa-routemap-decorator 使用教程

    在前端开发中,我们经常需要使用各种工具和框架来提高开发效率和代码质量。其中,路由是我们经常需要处理的一个问题。koa-routemap-decorator 是一个基于 Koa 的路由管理工具,可以方便...

    2 年前
  • npm 包 idioma_platzom 使用教程

    在前端开发中,我们常常需要处理各式各样的文本,而 npm 上的 idioma_platzom 可以帮我们快速、方便地处理西班牙语文本。本文将介绍 idioma_platzom 的使用方法,并提供示例代...

    2 年前
  • npm 包 mare-devtools-frontend-dist 使用教程

    介绍 mare-devtools-frontend-dist 是一个用于前端开发的 npm 包,它提供了一些方便的工具,可以帮助开发者更轻松地进行前端开发。这个包是基于 React 开发的,并且提供了...

    2 年前
  • 使用 micro-wishes:一个小巧的 npm 包

    作为前端开发者,我们需要不断地寻找能够提高我们开发效率的工具。其中一个非常重要的工具就是 npm 包。在 npm 包的庞杂库中,有一款名为 micro-wishes 的小巧包很值得我们关注。

    2 年前
  • npm 包 mavon-drag 使用教程

    介绍 mavon-drag 是一个基于 Vue2.x 的、可以在页面上通过拖拽的方式创建 Markdown 文本的 npm 包。其主要功能包括: 支持 Markdown 语法 支持多种拖拽效果 支持...

    2 年前

相关推荐

    暂无文章