メインコンテンツまでスキップ

Signature(署名)

Signatureリソースは、メッセージと型付きデータの署名と検証のための操作を提供します。

概要

デジタル署名は、アドレスの所有権を証明し、秘密鍵を明かすことなくメッセージを認証するために使用されます。

操作

Sign Message(メッセージに署名)

ウォレットでパーソナルメッセージに署名します。

必要な認証情報:Ethereum RPC、Ethereum Account

パラメータ

  • Message(メッセージ)(必須):署名するメッセージ

ユースケース

  • ユーザーを認証
  • アドレスの所有権を証明
  • オフチェーンメッセージに署名

{
"message": "I agree to the terms and conditions"
}

出力

{
"signature": "0x1234567890abcdef..."
}

Sign Typed Data(型付きデータに署名)

EIP-712に従って構造化データに署名します。

必要な認証情報:Ethereum RPC、Ethereum Account

パラメータ

  • Domain(ドメイン)(必須):EIP-712ドメインセパレーター
  • Types(型)(必須):型定義
  • Value(値)(必須):署名するデータ

ユースケース

  • permitトランザクションに署名(ガスレス承認)
  • dApp用の構造化メッセージに署名
  • 複雑なデータの検証可能な署名を作成

Verify Message(メッセージを検証)

パーソナルメッセージ署名を検証します。

必要な認証情報:Ethereum RPC

パラメータ

  • Message(メッセージ)(必須):元のメッセージ
  • Signature(署名)(必須):検証する署名
  • Address(アドレス)(必須):期待される署名者アドレス

出力例

{
"valid": true,
"recoveredAddress": "0x..."
}

Verify Typed Data(型付きデータを検証)

EIP-712署名を検証します。

必要な認証情報:Ethereum RPC

パラメータ

  • Domain(ドメイン)(必須):EIP-712ドメインセパレーター
  • Types(型)(必須):型定義
  • Value(値)(必須):元のデータ
  • Signature(署名)(必須):検証する署名
  • Address(アドレス)(必須):期待される署名者アドレス

Recover Address(アドレスを復元)

署名から署名者アドレスを復元します。

必要な認証情報:Ethereum RPC

パラメータ

  • Message(メッセージ)(必須):元のメッセージ
  • Signature(署名)(必須):署名

出力例

{
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
}

Hash Message(メッセージをハッシュ化)

メッセージのkeccak256ハッシュを計算します。

必要な認証情報:Ethereum RPC

パラメータ

  • Message(メッセージ)(必須):ハッシュ化するメッセージ

出力例

{
"hash": "0x1234567890abcdef..."
}

Hash Typed Data(型付きデータをハッシュ化)

署名用の型付きデータをハッシュ化します(EIP-712)。

必要な認証情報:Ethereum RPC

パラメータ

  • Domain(ドメイン)(必須):EIP-712ドメインセパレーター
  • Types(型)(必須):型定義
  • Value(値)(必須):ハッシュ化するデータ

一般的なユースケース

ユーザー認証

[Trigger] → [Sign Message] → [Verify Message] → [ユーザーを認証]

ガスレス承認(EIP-2612)

[Trigger] → [Sign Typed Data: Permit] → [コントラクトに提出] → [トークン承認済み]

所有権を検証

[ユーザー入力] → [Recover Address] → [所有権をチェック] → [アクセスを許可]

EIP-712ドメイン例

{
"name": "MyDApp",
"version": "1",
"chainId": 1,
"verifyingContract": "0x..."
}

ヒント

  • パーソナル署名:単純なテキスト認証にはSign Messageを使用
  • EIP-712:人間が読める必要がある構造化データに使用
  • セキュリティ:理解していないメッセージには決して署名しない
  • 検証:署名を信頼する前に常に検証
  • 復元:Recover Addressは誰がメッセージに署名したかを特定できます
  • チェーンID:リプレイ攻撃を防ぐためにEIP-712にチェーンIDを含める