Base32 地址
在 Conflux 网络中,每个 账户 都与一对公钥和私钥相关联,并通过一个地址来识别。 本页面介绍地址在core space中的表示和计算方式。
关于地址的 基本概念,请参阅 General-address。
Hex地址 和 Base32 地址
在 Conflux-rust v1.1.1
发布之前,Conflux 地址完全以十六进制编码字符串形式呈现,例如 0x1292d4955b47f5153b88c12c7a94048f09839
此格式与Etherum和其他兼容的EVM区块链使用的地址非常相似。 然而,Conflux 采用了独特的方法来计算 EOA 地址,这意味着 **从相同的私钥生成的地址字符串在 Conflux 和 Ethereum 之间通常会有所不同。**这种外观上的相似性,加上计算上的差异,很容易让用户将 Conflux 地址与 Ethereum 地址混淆,可能导致资产的损失。
为了解决这个问题,Conflux在 CIP-37 中引入了一个新的基于 base32 编码地址格式。 新格式 直接从原始的十六进制编码地址派生,包括一个独特的前缀(如"cfx")、一个可选的地址类型和一个校验和。 因此,上文提到的Hex编码地址可以转换成更容易识别的base32地址。例如 cfx:aakkfzezns4h8ymx1cgmcnd4x3aev6e2hexz250ym5
, 可选的,也可以表示为详细格式地址,详细格式包含了非必须的地址类型信息, 例如 CFX:TYPE .USER:AAKKFZEZNS4H8YMX1CGMCN4X3AEV6E2HEXZ250YM5
. 这种新格式最大限度地减少了Conflux 和 Etherum地址之间混淆的风险,提供了更安全和更方便的用户体验。
Base32 地址在 Conflux Core 生态系统中被广泛使用,智能合约 .sol
源代码除外。 在.sol
文件中需要硬编码EIP-55 校验和地址的情况下,开发人员应该选择使用Conflux的十六进制编码地址,而不是Base32格式。
地址计算
本节内容仅供信息参考。 用户或开发者通常不需要自己计算十六进制地址。 建议基于 SDK 或 RPC 的返回值来获取 EOA / 合约地址,使用 SDK 或 在线地址转换器 来转换十六进制和 base32 地址格式。