我们可以在 substrate 中使用不同的地址格式吗?

Can we use a different address format in substrate?

Substrate 默认使用 ss58 格式的地址?是否可以在 substrate 中覆盖它并使用不同的格式 P2PKH?

Substrate 中的地址仅在表面上由 SS58 表示。 SS58代表的真正底层数据是一个AccountId32,也就是[u8; 32].

Substrate 使用 MultiAddress 抽象支持多种不同的帐户格式:https://github.com/paritytech/substrate/blob/master/primitives/runtime/src/multiaddress.rs

你可以在这里看到,例如,我们也支持[u8; 20],这是以太坊中常用的20字节地址。

您应该能够编写允许任何类型的 accounts/address 格式甚至不同类型的密码学的代码,但是,您越深入,就越需要了解如何将这些东西集成到你的链。

话虽这么说,Substrate 应该完全灵活地支持这样的事情。