本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

署名

シグネチャをオブジェクトからタプル形式に変換し、シグネチャをコンパクトにする。

getSignatureTuplekaiachain/ethers-extパッケージからインポートする。

{r, s, v} フォーマットの公開鍵をタプルに圧縮するには、signature オブジェクト をパラメータとして getSignatureTuple を使用する。

公開鍵を65バイトのコンパクトな形式からタプルに圧縮するには、コンパクトな署名を引数として getSignatureTuple を使用する。

signatureUtils.js

const { getSignatureTuple } = require('@kaiachain/ethers-ext/v5')
async function main() {
console.log(
'signature from { v, r, s } object =',
getSignatureTuple({
v: 27,
r: '0x66809fb130a6ea4ae4e823baa92573a5f1bfb4e88e64048aecfb18a2b4012b99',
s: '0x75c2c3e5f7b0a182c767137c488649cd5104a5e747371fd922d618e328e5c508',
})
)
console.log(
'signature from compact 65 bytes =',
getSignatureTuple(
'0x66809fb130a6ea4ae4e823baa92573a5f1bfb4e88e64048aecfb18a2b4012b9975c2c3e5f7b0a182c767137c488649cd5104a5e747371fd922d618e328e5c5081b'
)
)
}
main()

output

❯ node signatureUtils.js
signature from { v, r, s } object = [
'0x1b',
'0x66809fb130a6ea4ae4e823baa92573a5f1bfb4e88e64048aecfb18a2b4012b99',
'0x75c2c3e5f7b0a182c767137c488649cd5104a5e747371fd922d618e328e5c508'
]
signature from compact 65 bytes = [
'0x1b',
'0x66809fb130a6ea4ae4e823baa92573a5f1bfb4e88e64048aecfb18a2b4012b99',
'0x75c2c3e5f7b0a182c767137c488649cd5104a5e747371fd922d618e328e5c508'
]

ページを改善してください。