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

阅读时长 4 分钟读完

介绍

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

纠错
反馈