首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从ecrecover中获得零地址?

如何从ecrecover中获得零地址?
EN

Ethereum用户
提问于 2019-04-05 21:02:46
回答 1查看 932关注 0票数 7

我对ecrecover的工作原理有很好的理解,但我不知道如何强制执行一个参数集,该参数集将决定性地返回0x0地址。我在我的合同测试中需要这个。

这有可能吗?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2019-04-05 21:09:24

我偶然发现了这个线程,然后我发现了这个文档,现在我明白了将v设置为任何(正的?)27或28以外的数字将决定性地返回0x0作为原始签名者地址。

为自己测试它的坚实性:

代码语言:javascript
复制
function getSignerZero(bytes32 msgHash, bytes32 r, bytes32 s) public returns (address _signer) {
    uint8 wrongV = 17; // should normally be 27 or 28
    return ecrecover(msgHash, wrongV, r, s);
}

此外,如果您使用程序集和staticcall,请注意:返回的值为0x0实际上是不正确的。在那里所发生的是,预编译永远不会得到一个新的值,所以您的程序将指向它在调用之前指向的相同的值。

票数 8
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/69328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档