¿Qué es EIP-2612 en EmpoorioChain?


EIP-2612 es la extensión Permit de ERC-20: permite que el titular de un token conceda una asignación de gasto mediante una firma off-chain en lugar de una transacción `approve` on-chain, de forma que una llamada `permit()` y la acción siguiente se puedan agrupar en una sola transacción, y el titular no necesita pagar gas por separado para el paso de aprobación.

Características clave

  • Aprobaciones sin gas en una sola llamada: El titular firma un mensaje EIP-712 off-chain; una única llamada permit() lo verifica y establece la asignación, evitando una transacción approve on-chain independiente.
  • Seguridad y compatibilidad con versiones anteriores: Cada permit consume un nonce único y creciente, y está vinculado al dominio EIP-712 del token (nombre, chain ID, dirección de contrato).
  • Integración fluida con DeFi y wallets: Los DEX, protocolos de préstamo y relayers pueden agrupar permit -> acción en una transacción atómica.

Por qué EmpoorioChain no necesita un estándar al estilo de EIP-2612

EIP-2612 existe para resolver dos problemas específicos de Ethereum: una transacción de aprobación on-chain independiente, y que el titular tenga que pagar gas por ella. En EmpoorioChain, los extrínsecos ya se pueden agrupar y patrocinar de forma nativa — una transferencia no requiere un paso previo de aprobación en el caso habitual, y pallet-paymaster permite que un tercero cubra la comisión. No se necesita ningún tipo de permit independiente, dominio EIP-712 ni actualización de contrato para obtener la misma experiencia de usuario; esta surge del propio modelo base de cuentas y comisiones.

Modelo de transferencia de tokens

En Ethereum, mover tokens ERC-20 en nombre de otra persona normalmente requiere `approve` + `transferFrom`. En EmpoorioChain, cada cuenta mantiene su saldo directamente bajo su AccountId32 en pallet-emp-assets; una transferencia directa es un único extrínseco. Cuando el gasto delegado realmente se necesita, el pallet expone su propio extrínseco de tipo aprobación — no un patrón específico reinventado por token.

Modelo de patrocinio de comisiones

El pallet-paymaster de EmpoorioChain permite que un tercero (un servicio de wallet, el backend de una dApp o un relayer) cubra la comisión de transacción del extrínseco firmado de un usuario. Esto ofrece la misma experiencia sin gas que persigue EIP-2612, como una funcionalidad nativa de abstracción de comisiones, en lugar de un esquema de firma permit basado en EIP-712 superpuesto a ERC-20.

Cómo funcionan las transferencias sin gas en EmpoorioChain

A continuación se muestran dos ejemplos mínimos que trasladan los dos escenarios más habituales al estilo de EIP-2612 a las primitivas nativas de EmpoorioChain, usando @polkadot/api contra pallet-emp-assets.

1. El titular paga su propia comisión (autopatrocinado)

El titular firma y paga la comisión él mismo. Un único extrínseco `assets.transfer` mueve el activo — no se necesita ninguna función permit independiente.

javascript
// Self-sponsored: the token holder signs and pays their own fee.
// A single extrinsic moves the asset directly — pallet_emp_assets accounts
// are keyed by AccountId32, so there is no separate "associated token
// account" or approve step to bundle in first.
import { ApiPromise, WsProvider, Keyring } from "@polkadot/api";

const api = await ApiPromise.create({
  provider: new WsProvider("wss://rpc.testnet.empooriochain.org"),
});
const keyring = new Keyring({ type: "sr25519" });
const owner = keyring.addFromUri("//your-seed-here");

const assetId = 1;
const recipient = "5FHneW...";
const amount = 1_000_000;

const hash = await api.tx.assets
  .transfer(assetId, recipient, amount)
  .signAndSend(owner);

console.log("Sent (self-sponsored):", hash.toString());

2. Un tercero paga la comisión (patrocinado por un relayer)

Aquí el titular firma el extrínseco, pero un relayer o el backend de una dApp cubre la comisión en DMS, mediante el soporte nativo de paymaster de EmpoorioChain.

javascript
// Relayer-sponsored: the holder signs a payload off-chain, a relayer
// submits it and pays the fee. EmpoorioChain's fee-abstraction pallets
// (pallet_paymaster / pallet_account_abstraction) support this natively,
// without an EIP-712-style permit type or a separate approval transaction.
import { ApiPromise, WsProvider, Keyring } from "@polkadot/api";

const api = await ApiPromise.create({
  provider: new WsProvider("wss://rpc.testnet.empooriochain.org"),
});
const keyring = new Keyring({ type: "sr25519" });
const relayer = keyring.addFromUri("//relayer-seed-here");

const assetId = 1;
const recipient = "5FHneW...";
const amount = 500_000;

// signedPayload is produced client-side by the token holder.
const hash = await api.tx.assets
  .transfer(assetId, recipient, amount)
  .signAndSend(relayer, { payload: signedPayload });

console.log("Sent (relayer-sponsored):", hash.toString());

EVM A EMPOORIOCHAIN

Empieza a construir en EmpoorioChain

Introducción al desarrollo en EmpoorioChain

Leer

Referencia de pallets de EmpoorioChain

Leer

Guía rápida de emp-cli

Leer

Más herramientas para desarrolladores de EmpoorioChain

Leer

Nodo que almacena todo el historial y participa en el consenso

  • Ethereum: Archive Node
  • EmpoorioChain: Nodo completo con poda de archivo habilitada

Nodo que produce/finaliza bloques

  • Ethereum: Full Node (cliente de ejecución + consenso)
  • EmpoorioChain: Nodo validador (producción de bloques con Aura + finalidad con GRANDPA, binario único en Rust)

Nodo que sirve RPC sin validar

  • Ethereum: Light Node
  • EmpoorioChain: Nodo RPC (no validador, estado completo)

Nodo que almacena todo el historial y participa en el consenso

  • Ethereum: Archive Node
  • EmpoorioChain: Nodo completo con poda de archivo habilitada

Nodo que produce/finaliza bloques

  • Ethereum: Full Node (cliente de ejecución + consenso)
  • EmpoorioChain: Nodo validador (producción de bloques con Aura + finalidad con GRANDPA, binario único en Rust)

Nodo que sirve RPC sin validar

  • Ethereum: Light Node
  • EmpoorioChain: Nodo RPC (no validador, estado completo)
¿Qué es EIP-2612 en EmpoorioChain? | empoorio