ss58またはsubstrate58は、substrateベースのチェーンで一般的に使用されるアドレスエンコーディングスキームです。これは、Base58エンコーディング形式に似ていますが、いくつかの修正が加えられています。
基本のss58エンコーディング形式では、アドレスを次のようにエンコードできます:
base58encode ( concat ( <address-type>, <address>, <checksum> ) )
from_ss58(varchar)
→ varbinary
ss58でエンコードされた文字列を対応するVARBINARY
アドレスに変換します。
SELECT
from_ss58('1qnJN7FViy3HZaxZK9tGAA71zxHSBeUweirKqCaox4t8GT7')
-- results in VARBINARY 0x2534454d30f8a028e42654d6b535e0651d1d026ddf115cef59ae1dd71bae074e
to_ss58(varbinary, int)
→ varchar
特定のネットワークタイプのアドレスを、そのss58 VARCHAR
表現にエンコードします。例:
Polkadot
のアドレスタイプは0です。Kusama
のアドレスタイプは2です。Generic Substrate
のアドレスタイプは42です。SELECT
to_ss58('0x2534454d30f8a028e42654d6b535e0651d1d026ddf115cef59ae1dd71bae074e', 2)
-- results 'DR6pMC4GJiVbgPtNNuw1xgxJyEsYYuXKXq7ZCVBjfFrh3V5'