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


猜你喜欢

  • ngx-lightbox-evp 使用教程

    什么是 ngx-lightbox-evp ngx-lightbox-evp 是一个基于 Angular 框架的图片查看器,支持多种图片格式和自定义配置。通过 ngx-lightbox-evp,用户可以...

    3 年前
  • npm 包 node-flex-serve-proxy 使用教程

    本文介绍的 npm 包为 node-flex-serve-proxy,它是一款基于 node.js 与 express 实现的 Web 前端开发服务代理工具,并具有以下特点: 可支持本地项目的预览和...

    3 年前
  • npm 包 rollup-plugin-sprite 使用教程

    npm 包 rollup-plugin-sprite 使用教程 前言 在业务开发中,我们通常会使用到雪碧图(Sprite)技术。雪碧图能够提升页面加载速度,减少浏览器的请求数量,从而提升用户体验。

    3 年前
  • npm 包 @task.flow/thread-pool 使用教程

    本文介绍 npm 包 @task.flow/thread-pool,这是一个多线程池,用于从前端 JavaScript 应用程序中执行异步任务。由于 JavaScript 是单线程的,当应用程序需要执...

    3 年前
  • npm 包 django-hash 使用教程

    简介 django-hash 是一个 npm 包,它提供了一种简单的方法来使用 Django 中的哈希函数。该包适用于前端开发中需要进行密码加密或者数据签名等功能的场景。

    3 年前
  • npm 包 markhorsell-react-component-example-project 使用教程

    介绍 npm 是目前最常用的 JavaScript 包管理器,它可以让开发者更加方便地分享自己的代码,并且可以通过更好地管理依赖,更有效地构建和维护项目。 markhorsell-react-comp...

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

    介绍 node-flex-serve 是一个基于 Express 实现的本地开发服务器,它支持静态资源的访问和 API 的代理。它的特点是支持前端开发中常用的 flex 布局,可以快速实现响应式布局,...

    3 年前
  • npm 包 express-frappe 使用教程

    引言 在现代 Web 开发中,前端和后端的分离已经成为了一个趋势。前端负责构建用户界面,后端则负责数据处理和业务逻辑。而作为前端开发人员,我们要学会如何与后端协作完成项目。

    3 年前
  • npm 包 html-webpack-import-css-plugin 使用教程

    前言 在前端开发中,我们经常要使用 Webpack 进行打包,将多个模块打包成一个或多个文件。而在某些情况下,我们还需要将 CSS 文件打包到 HTML 文件中,以便于在没有服务器的情况下直接打开网页...

    3 年前
  • npm 包 prunedir 使用教程

    如果你是一名前端程序员,那么你一定用过 npm 工具来安装各种 JavaScript 包。虽然 npm 确实是一款非常好用的工具,但它也可能会带来一些问题,其中之一就是安装的包会拖慢项目的运行速度。

    3 年前
  • npm 包 @pageboard/prerender 使用教程

    在前端开发过程中,优化网站的渲染速度和搜索引擎优化是非常重要的问题。使用预渲染技术可以让客户端获得更快的响应速度,并且对搜索引擎友好。 @pageboard/prerender 是一个非常好的 npm...

    3 年前
  • npm 包 egg-role 使用教程

    前言 在实际的项目中,我们不可避免地需要实现一些访问控制和权限管理的功能,如角色控制、资源控制等。针对这些需求,我们可以借助第三方库来快速实现。而 egg-role 就是一个基于 Egg.js 框架的...

    3 年前
  • npm 包 bitchest 使用教程

    什么是 bitchest bitchest 是一个 JavaScript 库,可以用来处理比特币和其它加密货币的私钥和地址。它可以生成和验证钱包地址、将地址格式转换为 base58 和 bech32、...

    3 年前
  • npm 包 neo4j-graphql-server 使用教程

    前言 随着图数据库的发展,越来越多的前端开发者意识到了图数据库在前端应用中的广泛应用,而 neo4j 作为当前最流行的图数据库之一,在前端领域的应用也逐渐得到了认可。

    3 年前
  • npm 包 toml-to-env 使用教程

    前言 在前端的开发过程中,有时候我们需要用到在网站或应用程序内配置一些环境变量。一般情况下,我们都是通过环境变量文件来管理这些变量,但是这种方式并不方便,因为环境变量文件通常需要编写并手动管理,而且需...

    3 年前
  • npm 包 nhua-async 使用教程

    在前端开发过程中,异步编程是不可避免的一部分。为了更好地处理异步操作和提高开发效率,我们可以使用 nhua-async 这个 npm 包。 什么是 nhua-async? nhua-async 是一个...

    3 年前
  • npm 包 template-default-layout-webpack 使用教程

    随着前端技术的不断发展,项目越来越复杂,需要用到的第三方依赖也越来越多。npm 作为目前最大的 JavaScript 包管理工具,已成为前端工程化的必备工具之一。本文将介绍一款基于 Webpack 的...

    3 年前
  • npm 包 css-to-rn.macro 使用教程

    在 React Native 开发中,样式表的书写是一项非常重要的任务。为了更加高效地完成这项任务,我们可以使用 npm 包 css-to-rn.macro。这个包提供了一种便捷的方式,将 CSS 样...

    3 年前
  • npm包 phychips-rcp 使用教程

    前言 在前端开发中,我们通常需要与硬件进行交互,而phychips-rcp是一个npm包,它提供了与硬件进行通讯的能力,并且该包非常方便易用。本文将介绍如何在前端项目中使用phychips-rcp包。

    3 年前
  • npm 包 rxjs-dew 使用教程

    随着前端技术的不断发展,RxJS已经成为了Web应用程序开发中的一个关键技术。RxJS中提供的Observables可以帮助我们管理异步事件,而rxjs-dew则可以更好地使我们编写复杂的RxJS程序...

    3 年前

相关推荐

    暂无文章