Ethereum 如何检查地址是否是以太坊区块链上的现有地址?

Ethereum 如何检查地址是否是以太坊区块链上的现有地址?,ethereum,solidity,smartcontracts,Ethereum,Solidity,Smartcontracts,如果我想在我的以太区块链上存在地址时签入实体,该怎么办 查看时,有一个函数balance可用于/误用以检查地址是否有效/是否有余额: address x = 0x4e5d039c5516b69a4b6b1f006cbf4e10accb5cfa; // this is an example address which does not have valid checksum.... if (x.balance > 0) // Return true when valid ?? 这可能吗 我

如果我想在我的以太区块链上存在地址时签入实体,该怎么办

查看时,有一个函数
balance
可用于/误用以检查地址是否有效/是否有余额:

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


我在上也找到了一些参考资料,但我不确定这是否会有帮助。

没有一个保证的方法。最接近的方法是验证地址的格式是否正确(20字节十六进制),并且不是合同地址(链接到的地址)。从此处,该地址被视为有效的EOA帐户。当然,您仍然可以将以太发送到有人输入错误的有效地址,因此即使检查该地址的余额也不会产生您要查找的结果(此外,地址正确并且没有以太也很好)。大多数钱包都支持这一功能,为您提供了多一点保护,但仍不能保证地址在使用中


如果您使用的是私人区块链,并且对账户创建拥有完全控制权,您可以假设将映射中创建的每个账户存储在AccountManager合同中,并在合同中使用修饰符检查该列表。

谢谢您的回答。目前,我已经在合同中构建了一些帐户管理功能。我在函数中添加了require。因此,这对我的功能来说应该是可行的,但我实际上想在我的API上构建登录功能,它只允许特定帐户使用私有区块链。