このページの内容
Ethereum と EVM
Ethereum と EVM 互換チェーンの Air-Gap 署名サポート。
アカウントのセットアップ
ETH アカウントを取得するには、CryptoHDKey を使用して、デバイスから拡張公開鍵を取得します。
対応する操作
| 操作 | DataType | 説明 |
|---|---|---|
| EIP-1559 トランザクション | typedTransaction (4) | 最新のトランザクション形式 |
| レガシートランザクション | transaction (1) | 従来のトランザクション形式 |
| EIP-712 型付きデータ | typedData (2) | 構造化データへの署名 |
| 個人メッセージ | personalMessage (3) | メッセージへの署名 |
フロー
- EthSignRequest を使って署名リクエストを構築
- UR にエンコードし、アニメーション QR を表示
- デバイスがスキャン、検証し、オフラインで署名
- EthSignature を使ってレスポンスをデコード
- レスポンスのリクエスト ID を照合し、署名者を検証してから、元のトランザクションに署名を添付してブロードキャスト
簡単な例
import { KeystoneEthereumSDK } from '@keystonehq/keystone-sdk';
const eth = new KeystoneEthereumSDK();
// Generate sign request
const ur = eth.generateSignRequest({
requestId: globalThis.crypto.randomUUID(),
signData: unsignedTxHex, // hex without 0x
dataType: 4, // EIP-1559
path: "m/44'/60'/0'/0/0",
xfp: '12345678',
chainId: 1,
origin: 'your-app',
});
// Encode and display QR最終更新日