为什么web3js 0.20.6在合同创建时返回全小写地址而不是校验地址?!
如何处理这个麻烦?
发布于 2019-05-31 11:55:45
您可以使用
web3.utils.toChecksumAddress编辑:对不起,刚才看到你的意思是0.20.6,所以它:
web3.toChecksumAddress()发布于 2019-05-31 17:54:33
我认为这在web3 0.x中是不受支持的,请自己实现这个函数
在eip-55中找到了这个代码
const createKeccakHash = require('keccak')
function toChecksumAddress (address) {
address = address.toLowerCase().replace('0x', '')
var hash = createKeccakHash('keccak256').update(address).digest('hex')
var ret = '0x'
for (var i = 0; i < address.length; i++) {
if (parseInt(hash[i], 16) >= 8) {
ret += address[i].toUpperCase()
} else {
ret += address[i]
}
}
return ret
}https://ethereum.stackexchange.com/questions/71313
复制相似问题