npm 包 eth-contract-signed-tx-deployer 使用教程

介绍

eth-contract-signed-tx-deployer 是一个使用 TypeScript 编写的 npm 包,可以帮助开发人员在以太坊区块链上完成合约的部署,并且通过签名的交易保证合约的安全性。本文将介绍该包的使用方法。

安装

安装该包的命令如下:

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

使用方法

参考代码如下:

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

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

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

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

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

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

以上代码首先导入了 "ethers" 和 "eth-contract-signed-tx-deployer" 两个模块,然后使用 InfuraProvider 和 Wallet 分别创建了以太坊区块链节点连接实例和钱包实例。注意:对于很多开发者来说,“YOUR_INFURA_KEY”和“YOUR_PRIVATE_KEY”需要通过申请来获得。

接着,通过 Deployer 类实例化了一个 deployer 对象。之后,根据合约的 ABI 和 bytecode,使用 deployer.deploy 方法来部署合约。其中, gasLimit 参数是可选的,指定了交易所使用的 gas 上限,通常设置为 6000000 就够用了。

最后,通过 console.log 方法输出合约地址,并结束部署。

深入解析

  1. signed-tx 的作用是什么?

signed-tx 签名的交易在以太坊网络中属于一种保证交易是合法且安全的方式。每一个交易都会被签名,并且签名者必须要有名义上的交易内容的控制权限。当交易上链后,交易记录会被永久的保存在区块链上,因此其他节点可以用公钥对交易进行验证,从而保证它的完整性和安全性。

  1. deployer 是如何工作的?

deployer 类是 eth-contract-signed-tx-deployer 包的核心,它包含下面几个主要方法:

  • deploy: 部署合约,该方法会创建一个签名的交易来执行部署所需要的操作,并在交易上链后返回新部署合约的实例。
  • sendTransaction: 发送交易,该方法会创建一个签名的交易,该交易会在以太坊网络上被广播,如果成功,返回该交易的哈希值。
  • getTransactionReceipt: 获取交易收据,该方法通过交易号来获取交易收据,返回该交易的详细信息,比如交易状态和 gas 消耗等。

结语

eth-contract-signed-tx-deployer 包将合约的部署和签名交易的处理打包在了一起,大大简化了合约的部署工作,提高了合约的安全性。本文介绍了这个 npm 包的用法和原理,推荐大家在开发以太坊 DAPP 时使用该包来进行合约部署和交易的处理。

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


猜你喜欢

  • npm 包 @jsbit/url 使用教程

    前言 在 web 前端开发中,我们经常需要对 url 进行操作,例如获取 url 的参数、动态生成 url 等。但是,对于 url 的处理不是一件非常方便的事情。于是,有人就利用 npm 发布了一个名...

    3 年前
  • npm 包 @jsbit/with-request 使用教程

    前言 在进行前端开发的时候,在与后端进行数据交互时,我们一般都会使用 Ajax 或者 Fetch 等方式。而在这些方式中,我们又需要不停地进行网络请求,但对于每次请求都要编写复杂的请求处理代码,这对于...

    3 年前
  • npm 包 @rmacklin/actioncable 使用教程

    在 Web 开发中,实时通信是非常重要的,因为它可以帮助应用更加快速地响应客户端行为。在早期,通过使用 WebSocket 或 long polling 等技术来实现实时通信,但是这些技术需要编写大量...

    3 年前
  • npm 包 map-abbrs 使用教程

    在前端开发中,我们经常需要使用一些常量、枚举值等数据。为了代码的可读性和可维护性,我们通常会使用一些映射表来存储这些数据。而在使用映射表时,我们往往需要使用一些缩写来标识这些数据,以减少代码的长度和复...

    3 年前
  • npm 包 @jsbit/find-matching-route 使用教程

    前端开发中,路由系统是非常重要的一部分。在构建单页面应用(SPA)或多页面网站时,正确地匹配路由是非常必要的。现在,我们有一个优秀的 npm 包:@jsbit/find-matching-route。

    3 年前
  • npm 包 @toolisticon/istanbul-coveralls 使用教程

    在前端开发中,如何衡量代码覆盖率是一个非常重要的问题。@toolisticon/istanbul-coveralls 是一个 NPM 包,可以帮助我们上传前端代码覆盖率并进行统计。

    3 年前
  • npm 包 mg-aws-lambda-relay 使用教程

    简介 mg-aws-lambda-relay 是一个基于 AWS Lambda 和 API Gateway 的服务器端渐进式增强组件库。它旨在帮助开发者快速构建服务器端应用,使得应用的复杂程度和代码量...

    3 年前
  • npm 包 @jsbit/request 使用教程

    简介 @jsbit/request 是一种基于 Promise 的 HTTP 请求库,用于浏览器和 Node.js 环境。 它提供了一种简单、便捷和可配置的接口来发送 AJAX 请求和处理响应。

    3 年前
  • npm 包 @acyort/logger 使用教程

    在日常前端开发中,我们经常需要进行日志记录。@acyort/logger 这个 npm 包提供了一种简单易用的方式来录制日志。本文将详细介绍如何使用该包,并提供实际示例代码,帮助你更好的了解和应用它。

    3 年前
  • npm 包 redux-store-provider 使用教程

    redux-store-provider 是一个便于管理多个 Redux store 的 npm 包。在本文中,我们将介绍如何使用 redux-store-provider,并提供详细的使用说明和示例...

    3 年前
  • npm 包 solidoc 使用教程

    在前端开发中,我们常常需要编写文档以便于项目开发和维护。而 solidoc 是一个基于 markdown 的文档生成器,它可以将 markdown 文档转换成美观的 HTML 网页。

    3 年前
  • npm 包 tailwind-color-vars 使用教程

    介绍 tailwind-color-vars 是一个基于 Tailwind CSS 的颜色变量工具包。它能够让你轻松地从 Tailwind 的颜色中生成 Sass 或 Less 变量,并且自定义变量名...

    3 年前
  • npm 包 @egst/metalsmith 使用教程

    什么是 @egst/metalsmith @egst/metalsmith 是一个基于 Node.js 的静态网站生成器,可以将 Markdown 文件转化成 HTML 文件,并支持自定义的插件。

    3 年前
  • npm 包 @julien.cousineau/kdbush 使用教程

    KDBush 是一个轻量级的 JavaScript 库,用于对经纬度坐标进行高效的 K-Dimensional Boxing (K-D 树) 聚类。它可以方便、快速、节省内存地查询最近的点,且运行速度...

    3 年前
  • npm 包 react-selffocus-element 使用教程

    在前端开发中,我们经常需要处理 DOM 元素的焦点状态。有时候我们需要对焦点状态进行自定义样式处理,这时候就需要通过操作 DOM 来实现。如果一个页面中有很多需要自定义焦点样式的元素,那么手动操作 D...

    3 年前
  • npm 包 spreading 使用教程

    npm (Node Package Manager) 是 Node.js 管理包 (package) 的工具。近年来,前端开发者也逐渐开始使用 npm 来管理自己的项目。

    3 年前
  • npm 包 curo-cli 使用教程

    curo-cli 是一个基于 Node.js 的命令行工具,可以帮助前端开发者完成一些重复性的工作,例如创建组件、生成模板文件、自动生成文件目录结构等。curo-cli 在前端开发中大有用处,本篇文章...

    3 年前
  • npm 包 simple-continuation-storage 使用教程

    simple-continuation-storage 是一个轻量级的 npm 包,旨在简化前端 web 应用程序中的数据存储。它提供了一种基于 Promise 的持续存储机制,便于在应用程序之间保持...

    3 年前
  • npm 包 @vitruviantech/wordpress 使用教程

    前言 WordPress 是目前全球使用最广泛的 CMS (内容管理系统),许多网站都基于它来开发。而金丝雀测试(Canary Testing)是一种新兴的软件测试方法,它可以帮助我们更快速地构建和测...

    3 年前
  • npm 包 ti.growingform 使用教程

    在前端开发中,我们经常需要对表单进行操作,ti.growingform 是一个基于 Vue 的表单生成工具,它提供了一系列的组件,使得我们可以快速地构建出高质量的表单页面。

    3 年前

相关推荐

    暂无文章