过滤掉 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
的常量,它等于您提到的零地址。
用法
首先,您需要安装:
npm install @openzeppelin/test-helpers
在 JS 文件中:
const constants = require('@openzeppelin/test-helpers');
console.log(constants.ZERO_ADDRESS);
如何检测web3.js中初始值为0x0000000000000000000000000000000000000000
的空地址?
我现在做的是:
if (address !== '0x0000000000000000000000000000000000000000') {
...
}
是否有任何更简单的方法来过滤掉空地址或 web3 中可以创建此值的辅助方法(如 Solidity 中的 address(0)
)?计算(或键入)所有 0
的确切数量非常麻烦。
除了@smarx 的方式:web3.toBigNumber(address).isZero()
您可以使用更短的简单正则表达式:
const emptyAddress = /^0x0+$/.test(address);
您也可以使用 OpenZeppelin 的测试助手。
他们有一个名为 ZERO_ADDRESS
的常量,它等于您提到的零地址。
用法
首先,您需要安装:
npm install @openzeppelin/test-helpers
在 JS 文件中:
const constants = require('@openzeppelin/test-helpers');
console.log(constants.ZERO_ADDRESS);