微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 FRAME 的 AccountId 转换为网络特定的 SS58?

如何解决如何将 FRAME 的 AccountId 转换为网络特定的 SS58?

我想使用自定义网络前缀将 AccountId 格式转换为 SS58 格式。

基本上从JS utilities复制以下内容,例如:

更改地址前缀(前缀查找),前缀 = 50

5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY

65ADzWZUAKXQGZVhQ7ebqRdqEzMEftKytB8a7rknW82EASXB

如何在基板托盘中进行一般操作?我是否需要将关联类型添加到我的配置特征中以扩展 Ss58Codec 特征,或者我可以以某种方式将 AccountId 转换为 AccountId32 然后使用其 to_ss58check_with_version() 函数

解决方法

最后我决定不在运行时以 ss58 格式处理地址,因为它被视为严格的外部事物。此外,substrate 中与 ss58 相关的所有函数都使用 STD,因此无法按原样使用 wasm 编译。

另一种解决方案是在 JS UI 中处理这种情况,我将使用 this 代码向用户解释公钥地址是什么以及它映射到的 ss58 地址。 签名消息中的地址将保持为十六进制格式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。