Logo
Nuevos usuarios de RPC: 35% de descuento el primer mesVer oferta
RPC Assistant

Enjin RPC: Endpoints, Configuración de Red y Flujo de Trabajo para Desarrolladores

Resumen

Enjin ejecuta dos cadenas basadas en Substrate: la Enjin Matrix Chain (capa de aplicación para NFTs y tokens) y la Enjin Relay Chain (consenso y seguridad). Ambas usan RPC de Substrate (no JSON-RPC de EVM), por lo que los desarrolladores deben usar Polkadot.js o llamadas WebSocket/HTTPS directas. Este artículo cubre endpoints RPC públicos y privados, configuración de red, métodos RPC comunes y cómo elegir infraestructura para dApps en producción.

Lista de Verificación para Decidir sobre Enjin RPC

Antes de integrar endpoints RPC de Enjin, considere estos criterios:

CriterioQué verificarPor qué es importante
Tipo de cadenaMatrix Chain (aplicación) vs Relay Chain (consenso)Cada cadena tiene endpoints y métodos RPC separados. Use Matrix Chain para operaciones con NFTs y tokens.
ProtocoloRPC de Substrate (no EVM)No puede usar métodos eth_*. Use Polkadot.js o JSON-RPC de Substrate directamente.
Retención de datosArchive vs full vs prunedLos nodos archive almacenan el historial completo; necesarios para consultas históricas.
Tipo de endpointPúblico vs privado vs dedicadoLos endpoints públicos tienen límites de tasa; los privados/dedicados ofrecen mayor rendimiento y fiabilidad.
Necesidades de rendimientoSolicitudes por segundo (RPS)Estime la carga máxima. Los planes compartidos pueden limitar; los nodos dedicados proporcionan rendimiento consistente.
Soporte WebSocketWSS para suscripciones en tiempo realNecesario para escuchar eventos (ej. nuevos bloques, transferencias de tokens).
Latencia geográficaUbicación del nodo relativa a sus usuariosMenor latencia mejora la capacidad de respuesta de la dApp.
Reputación del proveedorHistorial de disponibilidad, soporte, documentaciónRevise reseñas independientes y los SLA del proveedor.

¿Qué es Enjin RPC?

Enjin es un ecosistema blockchain enfocado en NFTs y juegos, construido sobre Substrate como una parachain de Polkadot. Consta de dos cadenas:

  • Enjin Matrix Chain: La capa de aplicación donde residen NFTs, tokens y contratos inteligentes. La mayoría de las interacciones de dApps ocurren aquí.
  • Enjin Relay Chain: La capa de consenso y seguridad, heredada de Polkadot. Los desarrolladores rara vez interactúan directamente con ella, pero proporciona finalidad y comunicación entre cadenas.

Ambas cadenas exponen endpoints RPC usando el protocolo JSON-RPC de Substrate. Esto es diferente del JSON-RPC de Ethereum: no hay métodos eth_*. En su lugar, se usan métodos system_*, chain_*, state_* y métodos personalizados de pallets.

Endpoints RPC de Enjin

Para interactuar con la red Enjin, necesita un endpoint RPC. Las opciones incluyen:

  • Endpoints públicos: Gratuitos pero con límite de tasa, adecuados para pruebas y aplicaciones de bajo tráfico.
  • Endpoints privados: Proporcionados por servicios de infraestructura como OnFinality, que ofrecen límites de tasa más altos y soporte dedicado.
  • Nodos dedicados: Control total sobre una instancia de nodo, ideal para cargas de trabajo de producción con alto rendimiento.

Ejemplos de Endpoints (para ilustración)

CadenaHTTPSWSS
Matrix Chainhttps://enjin-matrix-rpc.example.comwss://enjin-matrix-rpc.example.com
Relay Chainhttps://enjin-relay-rpc.example.comwss://enjin-relay-rpc.example.com

Nota: Reemplace con endpoints reales de su proveedor. OnFinality ofrece endpoints RPC de Enjin como parte de sus redes soportadas.

Conectándose a Enjin RPC

Usando Polkadot.js

Polkadot.js es la biblioteca estándar para interactuar con cadenas basadas en Substrate.

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

async function main() {
  const wsProvider = new WsProvider('wss://enjin-matrix-rpc.example.com');
  const api = await ApiPromise.create({ provider: wsProvider });

  // Obtener información de la cadena
  const chain = await api.rpc.system.chain();
  const version = await api.rpc.system.version();
  console.log(`Conectado a ${chain} v${version}`);

  // Obtener el hash del último bloque
  const lastHash = await api.rpc.chain.getBlockHash();
  console.log(`Hash del último bloque: ${lastHash}`);
}

main().catch(console.error);

Usando curl (HTTPS)

curl -s -X POST https://enjin-matrix-rpc.example.com \
  -H 'Content-Type: application/json' \
  -d '{"id":1,"jsonrpc":"2.0","method":"chain_getBlockHash","params":[0]}'

Usando WebSocket (directo)

wscat -c wss://enjin-matrix-rpc.example.com
> {"id":1,"jsonrpc":"2.0","method":"chain_getBlockHash","params":[0]}

Métodos RPC Comunes

Enjin expone métodos RPC estándar de Substrate más métodos personalizados de pallets para operaciones con NFTs.

Métodos del Sistema

  • system_chain – Devuelve el nombre de la cadena.
  • system_version – Devuelve la versión del nodo.
  • system_health – Devuelve la salud del nodo (pares, estado de sincronización).

Métodos de Cadena

  • chain_getBlock – Devuelve un bloque por hash o número.
  • chain_getBlockHash – Devuelve el hash de un bloque por número.
  • chain_getHeader – Devuelve la cabecera de un bloque.
  • chain_subscribeNewHeads – Suscribirse a nuevas cabeceras de bloque.

Métodos de Estado

  • state_getStorage – Devuelve el valor de almacenamiento para una clave dada.
  • state_getMetadata – Devuelve los metadatos del runtime.
  • state_queryStorage – Consulta el almacenamiento en un bloque específico.

Métodos NFT (específicos de Enjin)

El estándar Multi-Token de Enjin está integrado en el runtime. Las operaciones comunes incluyen:

  • nft.balanceOf(account, tokenId) – Obtener saldo de token.
  • nft.totalSupply(tokenId) – Obtener suministro total.
  • nft.ownerOf(tokenId) – Obtener propietario del token.

Nota: Los nombres exactos de los métodos dependen de la versión del runtime. Consulte la documentación de Enjin para conocer los últimos detalles del pallet.

Elegir un Proveedor RPC

Al seleccionar un proveedor RPC para Enjin, considere:

  • Cadenas soportadas: Asegúrese de que el proveedor ofrezca endpoints tanto para Matrix Chain como para Relay Chain.
  • Límites de tasa: Los endpoints públicos a menudo limitan las solicitudes por segundo. Para producción, use un nodo privado o dedicado.
  • Soporte WebSocket: Necesario para funciones en tiempo real como suscripciones a eventos.
  • Distribución geográfica: Los proveedores con múltiples regiones reducen la latencia.
  • Datos archive: Si necesita estado histórico, elija un proveedor de nodos archive.

OnFinality proporciona endpoints RPC de Enjin con planes flexibles, incluyendo opciones compartidas y dedicadas. Consulte precios RPC y redes soportadas para más detalles.

Errores Comunes y Solución de Problemas

1. Usar Métodos EVM

Enjin no es compatible con EVM. Llamar a eth_blockNumber fallará. Use siempre métodos de Substrate.

2. Límite de Tasa

Los endpoints públicos pueden limitar solicitudes de alta frecuencia. Si ve errores HTTP 429, actualice a un endpoint privado o implemente retroceso en el cliente.

3. Desconexiones WebSocket

Las conexiones WebSocket pueden caer debido a problemas de red o carga del servidor. Implemente lógica de reconexión en su cliente.

4. Finalidad de Bloque

Enjin Relay Chain proporciona finalidad después de unos pocos bloques. Para transacciones irreversibles, espere la finalización antes de actuar.

5. Retención de Datos

Los nodos full podan el estado histórico. Para consultas sobre bloques pasados, use un nodo archive o un indexador como Enjin Platform.

Conclusiones Clave

  • Enjin usa RPC de Substrate, no JSON-RPC de EVM. Use Polkadot.js o llamadas directas de Substrate.
  • Dos cadenas: Matrix Chain (aplicación) y Relay Chain (consenso). La mayoría de las interacciones son con Matrix Chain.
  • Los endpoints públicos son adecuados para desarrollo; las aplicaciones en producción necesitan infraestructura privada o dedicada.
  • OnFinality ofrece endpoints RPC de Enjin con opciones compartidas y dedicadas. Consulte redes soportadas para disponibilidad.
  • Siempre pruebe con una carga de trabajo pequeña antes de escalar.

Preguntas Frecuentes

P: ¿Puedo usar MetaMask con Enjin? R: No, Enjin no es compatible con EVM. Use Polkadot.js o una billetera de Substrate.

P: ¿Cuál es la diferencia entre Matrix Chain y Relay Chain? R: Matrix Chain maneja la lógica de aplicación (NFTs, tokens). Relay Chain proporciona consenso y seguridad. La mayoría de las dApps interactúan con Matrix Chain.

P: ¿Cómo obtengo tokens ENJ para gas? R: ENJ es el token nativo en Matrix Chain. Puede adquirirlo en exchanges o faucets (para testnets).

P: ¿Enjin soporta suscripciones WebSocket? R: Sí, ambas cadenas soportan WSS para actualizaciones en tiempo real.

P: ¿Dónde puedo encontrar los últimos métodos RPC de Enjin? R: Consulte la documentación de Enjin y los metadatos del runtime a través de state_getMetadata.

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