From f781829fe0c88d5a9634fe8b585e9931ffdadb72 Mon Sep 17 00:00:00 2001 From: b00l Date: Sun, 12 May 2024 23:49:12 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E7=AC=AC=E5=8D=81?= =?UTF-8?q?=E4=B8=89=E8=AE=B2=E8=8E=B7=E5=8F=96=E5=87=BD=E6=95=B0=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=99=A8=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 13_EncodeCalldata/readme.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/13_EncodeCalldata/readme.md b/13_EncodeCalldata/readme.md index a83fd4e..41497db 100644 --- a/13_EncodeCalldata/readme.md +++ b/13_EncodeCalldata/readme.md @@ -31,20 +31,22 @@ tags: ```js // 利用abi生成 -const interface = ethers.Interface(abi) +const iface = ethers.Interface.from(abi); +// 或者 +const iface = new ethers.Interface(abi); + // 直接从contract中获取 -const interface2 = contract.interface +const iface = contract.interface; ``` 接口类封装了一些编码解码的方法。与一些特殊的合约交互时(比如代理合约),你需要编码参数、解码返回值: **注意**:相关函数必须包含在`abi`中。 -- `getSighash()`:获取函数选择器(function selector),参数为函数名或函数签名。 +- `getFunction("函数名").selector`:获取函数选择器(function selector),参数为函数名或函数签名。 ```js - interface.getSighash("balanceOf"); - // '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' + iface.getFunction("balanceOf").selector; ``` - `encodeDeploy()`:编码构造器的参数,然后可以附在合约字节码的后面。 ```js