从 SS58 地址获取公钥

Asc*_*ear 2 substrate

根据子密钥工具subkey generate我们可以使用如下命令生成公钥/私钥:

$ subkey generate
Secret phrase `cement drum say almost secret series daughter eager ceiling fetch about duck` is account:
  Secret seed:      0xb84c6858ca5f331a703203e853d3537eac0a3d4b54838dc69d8e6d395ab4ec6f
  Public key (hex): 0x5075808dbd0eb02828a525c6332596f0e95c3d0b9ecfede376195ca95bca415b
  Account ID:       0x5075808dbd0eb02828a525c6332596f0e95c3d0b9ecfede376195ca95bca415b
  SS58 Address:     5DtCbNMGwhnP5wJ25Zv59wc5aj5uo3wYdr8536qSRxbvmLdK

Run Code Online (Sandbox Code Playgroud)

我的问题:

我怎样才能Public key从 出发SS58 Address?在此示例中,是否可以0x5075808dbd0eb02828a525c6332596f0e95c3d0b9ecfede376195ca95bca415b从获取5DtCbNMGwhnP5wJ25Zv59wc5aj5uo3wYdr8536qSRxbvmLdK

Tru*_*rue 5

如果你想使用 polkadotjs 来做到这一点,你可以执行以下操作

const { decodeAddress } = require('@polkadot/util-crypto');
const { u8aToHex } = require('@polkadot/util');
const publicKey = decodeAddress('5DSaSznmKRjt9Lvg4478V54UU8kdNyZKSQM8brSiczFR1S1H');
const hexPublicKey = u8aToHex(publicKey);
console.log(hexPublicKey);
Run Code Online (Sandbox Code Playgroud)