gpt4 book ai didi

ethereum - 如何检查地址是否是以太坊区 block 链上的现有地址?

转载 作者:行者123 更新时间:2023-12-05 04:06:05 25 4
gpt4 key购买 nike

如果我的以太坊区 block 链上存在地址,我想检查 Solidity 怎么办?

查看 solidity.readthedocs 时有一个函数 balance 可以用来/误用来检查地址是否有效/是否有余额:

address x = 0x4e5d039c5516b69a4b6b1f006cbf4e10accb5cfa; // this is an example address which does not have valid checksum....
if (x.balance > 0) // Return true when valid ??

这可能吗?

我还在 how-to-find-out-if-an-ethereum-address-is-a-contract 上找到了一些引用资料,但我不确定这是否有帮助。

最佳答案

没有保证的方法。您最接近的是验证地址格式是否正确(20 字节十六进制)并且不是合约地址(您链接到的地址)。从那里,该地址被认为是一个有效的 EOA 帐户。当然,你仍然可以将以太币发送到有人输入错误的有效地址,所以即使检查该地址的余额也不会产生你正在寻找的结果(另外,地址正确并且没有里面有乙醚)。大多数钱包支持 checksums这会给你更多的保护,但仍然不能保证地址正在使用中。

如果您使用私有(private)区 block 链并完全控制账户创建,您可以假设将在映射中创建的每个账户存储在 AccountManager 合约中,并在合约中使用修饰符来检查该列表。

关于ethereum - 如何检查地址是否是以太坊区 block 链上的现有地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50299431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com