Logo
RPC Assistant

Asset Hub Polkadot: qué es y cómo conectar tu dApp

Resumen

Asset Hub Polkadot es la parachain del sistema que aloja activos, NFT y contratos inteligentes para el ecosistema Polkadot. Este artículo explica su función, características clave y cómo conectar tu aplicación mediante endpoints RPC, con ejemplos prácticos y consejos para solucionar problemas.

Recomendación rápida: cómo conectarse a Asset Hub Polkadot

Si estás construyendo una aplicación que necesita leer saldos, enviar transacciones o consultar metadatos de activos en Asset Hub Polkadot, la forma más rápida es usar un endpoint RPC gestionado. Puedes comenzar con el endpoint público wss://asset-hub-polkadot-rpc.polkadot.io para pruebas, pero para cargas de trabajo de producción debes evaluar un proveedor RPC dedicado o de nivel público alto que ofrezca rendimiento y fiabilidad consistentes. OnFinality proporciona endpoints RPC para Asset Hub Polkadot y otras parachains del sistema de Polkadot, con opciones que van desde endpoints públicos gratuitos hasta nodos dedicados. Consulta la lista de redes compatibles para confirmar la disponibilidad y revisa los precios de RPC para conocer los límites de velocidad y los detalles del plan.

Para la mayoría de los desarrolladores, la decisión se reduce a:

  • Prototipos o aplicaciones de bajo tráfico: Los endpoints públicos son suficientes, pero ten en cuenta los límites de velocidad y posibles tiempos de inactividad.
  • dApps de producción: Usa un proveedor gestionado con múltiples endpoints, soporte WebSocket y capacidades de conmutación por error.
  • Necesidades de alto rendimiento o archivado: Considera un nodo dedicado para evitar la contención de recursos compartidos.

¿Qué es Asset Hub Polkadot?

Asset Hub Polkadot (anteriormente conocido como Statemint) es una parachain del sistema en la red Polkadot. Está diseñado para proporcionar funcionalidad central para emitir y gestionar activos en cadena, incluidos tokens fungibles, tokens no fungibles (NFT) y, más recientemente, contratos inteligentes. Mientras que la cadena de relevos (Polkadot) maneja la seguridad y el consenso, Asset Hub se centra en la lógica de activos (acuñación, quema, transferencia y metadatos) de manera eficiente y rentable.

Las características clave incluyen:

  • Creación nativa de activos: Crea y gestiona tokens con permisos y metadatos configurables.
  • Soporte NFT: Acuña y transfiere activos no fungibles.
  • Contratos inteligentes: Implementa e interactúa con contratos inteligentes usando pallet-revive (anteriormente pallet-contracts).
  • Integración XCM: Mueve activos entre parachains mediante mensajería de consenso cruzado.
  • Tarifas bajas: Las transacciones en Asset Hub suelen ser más baratas que en la cadena de relevos.

Después de la actualización del runtime a la versión 2.0.0, Asset Hub también aloja saldos, staking y funciones de gobernanza que antes estaban en la cadena de relevos, convirtiéndolo en la red principal para la actividad diaria de Polkadot.

¿Por qué usar Asset Hub Polkadot?

Asset Hub proporciona un marco estandarizado para la gestión de activos que es nativo del ecosistema Polkadot. Estas son las principales razones por las que los desarrolladores y proyectos lo eligen:

  • Eficiencia de costos: Crear y transferir activos en Asset Hub es significativamente más barato que en la cadena de relevos.
  • Interoperabilidad: Los activos emitidos en Asset Hub se pueden transferir a otras parachains mediante XCM, lo que permite aplicaciones entre cadenas.
  • Soporte de contratos inteligentes: Con la adición de capacidades de contratos inteligentes, los desarrolladores pueden construir DeFi, juegos y otras aplicaciones directamente en Asset Hub.
  • Seguridad: Como parachain del sistema, Asset Hub se beneficia de la misma seguridad compartida que la cadena de relevos.

Configuración de la cadena de un vistazo

Al conectar tu aplicación a Asset Hub Polkadot, necesitas la configuración de red correcta. Aquí están los detalles esenciales:

ConfiguraciónValor
Nombre de la redAsset Hub Polkadot
ID de cadena1000 (ID de para)
Endpoint RPC (HTTPS)https://asset-hub-polkadot-rpc.polkadot.io
Endpoint RPC (WSS)wss://asset-hub-polkadot-rpc.polkadot.io
Símbolo del tokenDOT
Decimales del token10
Explorador de bloquesSubscan

Nota: Estos son endpoints públicos. Para producción, considera usar un proveedor gestionado como OnFinality, que ofrece endpoints dedicados con mejor fiabilidad. Consulta la página de red de Polkadot para conocer los endpoints específicos de OnFinality.

Conexión a Asset Hub Polkadot con RPC

Para interactuar con Asset Hub Polkadot, puedes usar llamadas JSON-RPC. Aquí tienes un ejemplo simple con curl para obtener el número del último bloque:

curl -H "Content-Type: application/json" \
  -d '{"id":1, "jsonrpc":"2.0", "method":"chain_getHeader", "params":[]}' \
  https://asset-hub-polkadot-rpc.polkadot.io

Para suscripciones WebSocket (por ejemplo, escuchar nuevos bloques), puedes usar una herramienta como wscat o una biblioteca de JavaScript. Aquí tienes un ejemplo usando el paquete ws en Node.js:

const WebSocket = require('ws');

const ws = new WebSocket('wss://asset-hub-polkadot-rpc.polkadot.io');

ws.on('open', function open() {
  ws.send(JSON.stringify({
    id: 1,
    jsonrpc: '2.0',
    method: 'chain_subscribeNewHeads',
    params: []
  }));
});

ws.on('message', function incoming(data) {
  console.log(data.toString());
});

Para interacción de mayor nivel, puedes usar la API de Polkadot.js. Aquí tienes un ejemplo de consulta del saldo de una cuenta:

const { ApiPromise, WsProvider } = require('@polkadot/api');

async function main() {
  const provider = new WsProvider('wss://asset-hub-polkadot-rpc.polkadot.io');
  const api = await ApiPromise.create({ provider });

  const address = 'YOUR_ADDRESS_HERE';
  const { data: { free } } = await api.query.system.account(address);
  console.log('Free balance:', free.toString());

  await api.disconnect();
}

main().catch(console.error);

Gestión de activos en Asset Hub Polkadot

Asset Hub admite tanto activos nativos como extranjeros. Los activos nativos se emiten directamente en la parachain, mientras que los activos extranjeros son representaciones de activos de otras cadenas, gestionados mediante XCM.

Creación de un activo fungible

Para crear un nuevo activo fungible, necesitas enviar un extrínseco usando el pallet assets. Aquí tienes un ejemplo usando Polkadot.js:

const { ApiPromise, WsProvider, Keyring } = require('@polkadot/api');

async function createAsset() {
  const provider = new WsProvider('wss://asset-hub-polkadot-rpc.polkadot.io');
  const api = await ApiPromise.create({ provider });

  const keyring = new Keyring({ type: 'sr25519' });
  const alice = keyring.addFromUri('//Alice');

  const tx = api.tx.assets.create(
    1, // ID del activo
    alice.address, // administrador
    1000000, // saldo mínimo
    100 // decimales
  );

  const hash = await tx.signAndSend(alice);
  console.log('Hash de la transacción:', hash.toHex());

  await api.disconnect();
}

createAsset().catch(console.error);

Transferencia de activos

Transferir un activo fungible es sencillo:

const tx = api.tx.assets.transfer(
  1, // ID del activo
  'RECIPIENT_ADDRESS',
  1000 // cantidad
);

NFT

Asset Hub también admite NFT a través de los pallets uniques y nfts. Puedes acuñar, transferir y gestionar NFT con extrínsecos similares.

Contratos inteligentes en Asset Hub Polkadot

Con la introducción del soporte de contratos inteligentes, Asset Hub permite a los desarrolladores implementar contratos inteligentes basados en Wasm usando pallet-revive. Esto abre posibilidades para construir DeFi, juegos y otras aplicaciones directamente en la red.

Para implementar un contrato, normalmente usas la interfaz de polkadot.js o un marco de desarrollo como @polkadot/contracts. El proceso implica:

  1. Compilar tu contrato a Wasm.
  2. Subir el código a la cadena.
  3. Instanciar el contrato con parámetros iniciales.

Aquí tienes un ejemplo simplificado de subida de código de contrato usando Polkadot.js:

const code = fs.readFileSync('my_contract.wasm');
const tx = api.tx.contracts.upload(code, null, null);

Ten en cuenta que el soporte de contratos inteligentes es relativamente nuevo, así que consulta la documentación más reciente del runtime para conocer las API y requisitos exactos.

Errores comunes y solución de problemas

Al trabajar con Asset Hub Polkadot, los desarrolladores suelen encontrar estos problemas:

  • Endpoint incorrecto: Usar un endpoint de la cadena de relevos en lugar del endpoint de Asset Hub. Asegúrate de conectarte a asset-hub-polkadot.
  • Límite de velocidad: Los endpoints públicos pueden limitar las solicitudes. Si alcanzas los límites, considera actualizar a un plan de pago o a un nodo dedicado.
  • Desconexiones de WebSocket: Para suscripciones de larga duración, asegúrate de que tu cliente maneje la lógica de reconexión.
  • Conflictos de ID de activo: Al crear activos, elige un ID de activo único para evitar colisiones.
  • Depósito existencial (ED): Las cuentas deben mantener un saldo mínimo (ED) para permanecer activas. Si una cuenta cae por debajo del ED, puede ser eliminada.

Monitoreo y preparación para producción

Para aplicaciones de producción, debes monitorear tus endpoints RPC para asegurarte de que estén saludables. Aquí tienes un script simple de verificación de salud usando curl:

curl -s -X POST https://asset-hub-polkadot-rpc.polkadot.io \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"system_health","params":[],"id":1}'

Una respuesta saludable incluirá "isSyncing": false y "peers": >0. Si usas OnFinality, también puedes configurar monitoreo de tiempo de actividad y alertas a través de tu panel de control.

Conclusiones clave

  • Asset Hub Polkadot es la parachain del sistema para la gestión de activos, NFT y contratos inteligentes en el ecosistema Polkadot.
  • Ofrece tarifas bajas, interoperabilidad XCM y seguridad compartida con la cadena de relevos.
  • Para desarrollo, usa los endpoints RPC públicos; para producción, considera un proveedor gestionado como OnFinality para mayor fiabilidad y soporte.
  • Las operaciones comunes incluyen crear y transferir activos, acuñar NFT e implementar contratos inteligentes.
  • Siempre monitorea tus endpoints y maneja los límites de velocidad y las reconexiones con elegancia.

Preguntas frecuentes

¿Cuál es la diferencia entre Asset Hub Polkadot y la cadena de relevos de Polkadot?

La cadena de relevos proporciona seguridad y consenso, mientras que Asset Hub maneja la lógica de activos y los contratos inteligentes. Después de la migración, Asset Hub también aloja saldos, staking y gobernanza.

¿Puedo implementar tokens estilo ERC-20 en Asset Hub Polkadot?

Sí, puedes crear activos fungibles que se comporten de manera similar a los tokens ERC-20, pero son nativos del runtime de Substrate y usan el pallet assets.

¿Cómo obtengo DOT para las tarifas de transacción en Asset Hub?

Necesitas DOT para pagar las tarifas de transacción. Puedes adquirir DOT en exchanges o faucets, y luego transferirlo a tu cuenta de Asset Hub mediante XCM o una transferencia directa.

¿Es Asset Hub Polkadot compatible con herramientas de Ethereum?

No, Asset Hub es una cadena basada en Substrate, por lo que usa Polkadot.js y las API de Substrate. Sin embargo, con el soporte de contratos inteligentes, puedes usar contratos basados en Wasm, que son diferentes de los contratos EVM.

¿Dónde puedo encontrar la documentación oficial de Asset Hub?

Consulta los Documentos para desarrolladores de Polkadot y la Wiki de Polkadot para obtener información detallada.

¿Cómo elijo entre endpoints RPC públicos y dedicados?

Para aplicaciones de producción con alto tráfico, los endpoints dedicados ofrecen mejor rendimiento y fiabilidad. Evalúa tu carga de trabajo, límites de velocidad y presupuesto. OnFinality ofrece precios de RPC flexibles y opciones de nodo dedicado.

Base de conocimiento RPC

Detalles RPC relacionados

Nunca te preocupes por la infraestructura nuevamente

OnFinality elimina la carga pesada de DevOps para que puedas construir de forma más inteligente y rápida.

Comenzar