En esta página
Ethereum y EVM
Compatibilidad de firma Air-Gap para Ethereum y cadenas compatibles con EVM.
Configuración de la cuenta
Para obtener una cuenta ETH, usa CryptoHDKey para obtener la clave pública extendida del dispositivo.
Operaciones compatibles
| Operación | DataType | Descripción |
|---|---|---|
| Transacción EIP-1559 | typedTransaction (4) | Formato moderno de transacción |
| Transacción heredada | transaction (1) | Formato clásico de transacción |
| Datos tipados EIP-712 | typedData (2) | Firma de datos estructurados |
| Mensaje personal | personalMessage (3) | Firma de mensajes |
Flujo
- Construye la solicitud de firma con EthSignRequest
- Codifica como UR y muestra un QR animado
- El dispositivo escanea, verifica y firma sin conexión
- Decodifica la respuesta con EthSignature
- Comprueba que el identificador de la solicitud coincida, verifica al firmante, adjunta la firma a la transacción original y difúndela
Ejemplo rápido
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Última actualización el