Saltar al contenido principal

SDK de QoreChain

El SDK de QoreChain es el kit de desarrollo oficial multilenguaje para construir aplicaciones descentralizadas sobre QoreChain, una red Layer 1 de triple VM y resistente a la computación cuántica.

Esta documentación cubre cómo instalar el SDK, conectarse a la red, leer el estado on-chain, derivar cuentas, firmar y enviar transacciones, y trabajar con cada una de las máquinas virtuales de QoreChain.

¿Qué es QoreChain?

QoreChain es una blockchain Layer 1 con tres entornos de ejecución de contratos inteligentes de primera clase en una sola cadena:

  • CosmWasm — contratos inteligentes Wasm mediante el Cosmos SDK.
  • QoreChain EVM Engine — ejecución compatible con Ethereum (Solidity, viem, JSON-RPC estándar).
  • SVM — un runtime compatible con Solana con un JSON-RPC al estilo de Solana.

Las cuentas, los saldos y los tokens se comparten entre los runtimes, y la cadena admite IBC para la interoperabilidad entre cadenas.

Resistente a la computación cuántica por diseño

QoreChain proporciona primitivas de criptografía poscuántica (PQC) basadas en ML-DSA-87 (Dilithium-5, FIPS 204). Junto a la firma clásica secp256k1, la cadena admite una postura de firma híbrida en la que una transacción lleva a la vez una firma clásica y una firma poscuántica, de modo que sigue siendo válida bajo verificación clásica hoy mientras gana protección poscuántica.

El SDK expone hoy la generación de claves, la firma y la verificación con ML-DSA-87, además de los bloques de construcción para transacciones híbridas. Consulta Cuentas y firma PQC para más detalles. Aquí no hay afirmaciones de marketing: el SDK expone exactamente las primitivas que la cadena implementa.

Qué hace diferente a este SDK

Más allá de la paridad multichain completa, hay tres capacidades que solo son posibles en QoreChain, porque se apoyan en funcionalidades de protocolo que ninguna otra Layer 1 tiene:

  • Evaluación de riesgo con IA antes del envío — analiza una transacción con IA on-chain antes de difundirla. simulateWithRiskScore devuelve el gas más un veredicto de riesgo/anomalía procedente de precompilados EVM deterministas, de modo que una wallet o dApp puede advertir (o bloquear) antes de firmar. Consulta AI pre-flight.
  • Llamadas unificadas entre VMs — una cuenta, tres VMs, una transacción. createCrossVMClient llama a un contrato en cualquier VM y callAtomic agrupa varias llamadas entre VMs en una sola transacción atómica firmada una única vez. Consulta Llamadas cross-VM.
  • DX resistente a la computación cuántica — haz que un firmante quede protegido de forma poscuántica con una sola llamada idempotente (ensurePqcRegistered / migrateToHybrid), con una insignia React lista para usar. Consulta Quantum-safe.

Otras dos capacidades a nivel de cadena llegaron en 0.6.0 y 0.7.0:

  • Cuentas unificadas eth-nativas — una clave eth_secp256k1 es una única identidad de 20 bytes representada como qor1…, 0x… y una dirección SVM en base58, todas compartiendo un mismo saldo. Consulta Cuentas unificadas.
  • Carriles de autenticadores — vincula una clave de Phantom o MetaMask a la cuenta canónica que requiere PQC y permite que gaste a través de un relayer bajo condiciones de privilegio mínimo, con límites de gasto y revocables. Consulta Autenticadores y gasto delegado.

Un nuevo kit @qorechain/react (provider, hooks, ConnectButton, QuantumSafeBadge) convierte la construcción de una dApp resistente a la computación cuántica en el camino por defecto — consulta la guía del kit de React. Para el argumento completo, lee Por qué el SDK de QoreChain.

La familia del SDK

El SDK se distribuye como una familia de paquetes para que puedas construir en el lenguaje que prefieras. Comparten los mismos presets de red, esquemas de derivación, aritmética de denominaciones y superficies de lectura.

PaqueteLenguajeInstalaciónEstado
@qorechain/sdkTypeScriptnpm i @qorechain/sdkPublicado (npm, v0.7.0)
qorechain-sdkPythonpip install qorechain-sdk (se importa como qorsdk)Publicado (PyPI, v0.7.0)
qorechain-sdk (módulo Go)Gogo get github.com/qorechain/qorechain-sdk/packages/go/...Publicado (proxy de Go, tag packages/go/v0.7.0)
qorechain-sdkRustcargo add qorechain-sdk (se importa como qorechain)Publicado (crates.io, última versión publicada; 0.7.0 desde el repositorio)
io.github.qorechain:qorechain-sdkJavaio.github.qorechain:qorechain-sdk:0.7.0Publicado (Maven Central, v0.7.0)
@qorechain/evmTypeScript (adaptador EVM)npm i @qorechain/evm viemPublicado (npm, v0.7.0)
@qorechain/svmTypeScript (adaptador SVM)npm i @qorechain/svm @solana/web3.jsPublicado (npm, v0.7.0)
@qorechain/reactTypeScript (kit de React)npm i @qorechain/reactPublicado (npm, v0.7.0)
create-qorechain-dappCLInpm create qorechain-dappPublicado (npm, v0.7.0)

La distribución de Python se instala como qorechain-sdk pero se importa como qorsdk. Todos los clientes están publicados en sus registros — consulta Instalación para los comandos por lenguaje.

El núcleo en TypeScript (@qorechain/sdk) es la base de los ejemplos de esta documentación. Los clientes de Python, Go, Rust y Java alcanzan paridad completa con la cadena nativa respecto a TypeScript: presets de red, utilidades de denominación/direcciones, derivación de cuentas HD (nativa/EVM/SVM), firma PQC (ML-DSA-87), compositores de mensajes tipados para cada módulo personalizado más los módulos estándar de Cosmos, clientes de consulta tipados, el ciclo de vida completo de la transacción (auto-gas, decodificación de errores, seguimiento de tx, búsqueda de bloques/tx), transacciones poscuánticas híbridas y suscripciones WebSocket. Todos estos clientes están publicados: TypeScript en npm (@qorechain/sdk 0.7.0), Python en PyPI (qorechain-sdk 0.7.0, se importa como qorsdk), Go en el proxy de módulos (tag packages/go/v0.7.0), Rust en crates.io (qorechain-sdk, última versión publicada — la publicación del crate 0.7.0 está pendiente, así que instala desde crates.io o desde el repositorio) y Java en Maven Central (io.github.qorechain:qorechain-sdk 0.7.0). Los adaptadores de ejecución EVM/SVM (@qorechain/evm, @qorechain/svm, ambos 0.7.0), el kit @qorechain/react (0.7.0) y la CLI de scaffolding create-qorechain-dapp (0.7.0) son solo para TypeScript y también están publicados en npm.

Novedades en 0.6 y 0.7

0.6.0 — cuentas unificadas eth-nativas (cadena v3.1.83). Una clave eth_secp256k1 es una única identidad de 20 bytes representada en las tres codificaciones de dirección, compartiendo un mismo saldo gastable en todos los carriles:

import { deriveUnifiedAccount } from "@qorechain/sdk";

const account = await deriveUnifiedAccount(mnemonic);
account.cosmos; // "qor1…" (bech32, Native lane)
account.evm; // "0x…" (EIP-55, EVM lane)
account.svm; // base58 (20 bytes + 12 zero bytes)

La firma en el carril nativo con la misma clave se hace con signClassicalEth / signHybridEth, y connectPhantomUnified deriva una cuenta unificada no custodial a partir de una firma determinista de Phantom. El método heredado deriveNativeAccount con coin type 118 no cambia. Consulta Cuentas unificadas.

0.6.1 — corrección crítica para el consenso. La extensión del cuerpo de la tx PQCHybridSignature ahora se codifica en protobuf (antes se codificaba en JSON y era rechazada en CheckTx). Las transacciones híbridas construidas con SDK ≤ 0.6.0 son rechazadas on-chain — actualiza.

0.7.0 — carriles de autenticadores (cadena v3.1.85). Una clave vinculada de Phantom (ed25519) o MetaMask (secp256k1, por dirección de 20 bytes) puede gastar desde la cuenta canónica que requiere PQC a través de un relayer, bajo condiciones de privilegio mínimo, con límites de gasto y revocables: compositores de MsgExecuteEVM / MsgExecuteCosmos / MsgRotatePQCKey, helpers byte-exactos evmAuthSignBytes / cosmosAuthSignBytes / rotationSignBytes, la consulta permissionSchema, códigos de error decodificados y builders de wallet en TypeScript (buildPhantomExecuteCosmos, buildMetaMaskExecuteEvm, …). Recorrido completo con ejemplos listos para copiar y pegar: Autenticadores y gasto delegado.

Próximos pasos