在web3.js

时间:2018-04-20 08:42:44

标签: ethereum solidity web3js web3

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

我现在正在做的是:

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

有没有更简单的方法可以在web3中筛选出可以创建此值的空地址或辅助方法(如Solidity中的address(0))?计算(或输入)所有0 s的确切数字是非常困扰的。

2 个答案:

答案 0 :(得分:2)

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

你可以使用一个简短的正则表达式:

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

答案 1 :(得分:0)

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

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

More Info Here

用法

首先,您需要安装:

npm install @openzeppelin/test-helpers

在JS文件中:

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

console.log(constants.ZERO_ADDRESS);