【问题标题】:How can I get SS58 address from Account ID?如何从 Account ID 获取 SS58 地址?
【发布时间】:2021-06-03 16:13:07
【问题描述】:

如何从 Account ID 获取 SS58 地址? 账户ID:0x6d6f646c63622f62726964670000000000000000000000000000000000000000 ss58地址:?

【问题讨论】:

标签: substrate


【解决方案1】:

https://github.com/paritytech/substrate/wiki/External-Address-Format-(SS58)

您可以使用 JS 库简单地做到这一点:https://substrate.dev/docs/en/knowledgebase/advanced/ss58-address-format#polkadotjs

这里有一组使用这个库的工具:https://www.shawntabrizi.com/substrate-js-utilities/

// Import Polkadot.js API dependencies.
const { decodeAddress, encodeAddress } = require("@polkadot/keyring");
const { hexToU8a, isHex } = require("@polkadot/util");

// Specify an address to test.
const address = "<addressToTest>";

// Check address.
const isValidSubstrateAddress = () => {
  try {
    encodeAddress(isHex(address) ? hexToU8a(address) : decodeAddress(address));

    return true;
  } catch (error) {
    return false;
  }
};

// Query result.
const isValid = isValidSubstrateAddress();
console.log(isValid);

【讨论】:

  • 谢谢。但是,它不起作用。我想获取帐户 ID 的 ss58 格式地址。 0x6d6f646c63622f62726964670000000000000000000000000000000000000000 isValidSubstrateAddress 失败
  • 顺便说一句,我通过使用您附加的链接shawntabrizi.com/substrate-js-utilities 解决了这个问题。谢谢
猜你喜欢
  • 2015-07-03
  • 1970-01-01
  • 2016-11-23
  • 2019-05-23
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 2022-09-22
  • 1970-01-01
相关资源
最近更新 更多