过滤掉 web3.js 中的空地址

Filter out empty address in web3.js

如何检测web3.js中初始值为0x0000000000000000000000000000000000000000的空地址?

我现在做的是:

if (address !== '0x0000000000000000000000000000000000000000') {
   ...
}

是否有任何更简单的方法来过滤掉空地址或 web3 中可以创建此值的辅助方法(如 Solidity 中的 address(0))?计算(或键入)所有 0 的确切数量非常麻烦。

除了@smarx 的方式:web3.toBigNumber(address).isZero()

您可以使用更短的简单正则表达式:

const emptyAddress = /^0x0+$/.test(address);

您也可以使用 OpenZeppelin 的测试助手。

他们有一个名为 ZERO_ADDRESS 的常量,它等于您提到的零地址。

More Info Here

用法

首先,您需要安装:

npm install @openzeppelin/test-helpers

在 JS 文件中:

const constants = require('@openzeppelin/test-helpers');

console.log(constants.ZERO_ADDRESS);