Sari la conținutul principal

SDK-ul QoreChain

SDK-ul QoreChain este kitul oficial de dezvoltare multi-limbaj pentru construirea de aplicații descentralizate pe QoreChain — o rețea Layer 1 rezistentă la atacuri cuantice, cu triplu VM.

Această documentație acoperă modul de instalare a SDK-ului, conectarea la rețea, citirea stării on-chain, derivarea conturilor, semnarea și trimiterea tranzacțiilor, precum și lucrul cu fiecare dintre mașinile virtuale ale QoreChain.

Ce este QoreChain?​

QoreChain este un blockchain Layer 1 cu trei runtime-uri de contracte inteligente de primă clasă pe un singur lanț:

  • CosmWasm — contracte inteligente Wasm prin Cosmos SDK.
  • QoreChain EVM Engine — execuție compatibilă Ethereum (Solidity, viem, JSON-RPC standard).
  • SVM — un runtime compatibil Solana, cu un JSON-RPC în stil Solana.

Conturile, soldurile și token-urile sunt partajate între runtime-uri, iar lanțul include modulul IBC pentru interoperabilitate cross-chain (încă nu este deschis niciun canal IBC pe mainnet sau testnet).

Ce funcționează astăzi pe rețelele live (lanț v3.2.0 și mai nou)

Funcționează: citiri pe fiecare bandă, tranzacții Native semnate hibrid, conturi unificate, tranzacții EVM în interiorul unei ferestre de autorizare și citiri SVM. Încă indisponibile: precompilele EVM (inactive), spațiul de nume JSON-RPC qor_, tranzacțiile SVM, apelurile cross-VM pe mainnet (MsgCrossVMCall este oprit de circuit breaker), încărcarea și instanțierea CosmWasm pentru conturile obișnuite, fluxurile de autentificator / cont abstract (modul oprit), xQORE și abstractizarea gazului. Fiecare ghid repetă avertismentul acolo unde se aplică.

Rezistent la atacuri cuantice prin design​

QoreChain oferă primitive de criptografie post-cuantică (PQC) bazate pe ML-DSA-87 (Dilithium-5, FIPS 204). Alături de semnarea clasică secp256k1, lanțul suportă o postură de semnare hibridă, în care o tranzacție poartă atât o semnătură clasică, cât și o semnătură post-cuantică, astfel încât rămâne validă sub verificarea clasică de astăzi, câștigând în același timp protecție post-cuantică.

SDK-ul expune astăzi generarea de chei, semnarea și verificarea ML-DSA-87, plus blocurile de construcție pentru tranzacții hibride. Pe rețelele live, o tranzacție pe calea Native trebuie să fie semnată hibrid, iar cheia ML-DSA-87 a contului trebuie înregistrată mai întâi. Vezi Conturi și semnare PQC pentru detalii. Fără afirmații de marketing aici — SDK-ul expune exact primitivele pe care lanțul le implementează.

Ce diferențiază acest SDK​

Dincolo de paritatea multi-chain completă, trei capabilități sunt posibile doar pe QoreChain, deoarece sunt construite pe funcționalități de protocol pe care niciun alt Layer 1 nu le are:

  • Scorare de risc AI înainte de trimitere — scanează o tranzacție cu AI on-chain înainte de a o difuza. simulateWithRiskScore returnează gazul plus un verdict de risc/anomalie de la precompilări EVM deterministe, astfel încât un portofel sau un dApp poate avertiza (sau bloca) înainte de semnare. Precompilele nu sunt încă active pe mainnet sau testnet. Vezi AI pre-flight.
  • Apeluri cross-VM unificate — un cont, trei VM-uri, o singură tranzacție. createCrossVMClient apelează un contract pe oricare VM, iar callAtomic împachetează mai multe apeluri cross-VM într-o singură tranzacție atomică, semnată o singură dată. Vezi Apeluri cross-VM.
  • DX rezistent la atacuri cuantice — fă un semnatar protejat post-cuantic într-un singur apel idempotent (ensurePqcRegistered / migrateToHybrid), cu un badge React gata de utilizare. Vezi Quantum-safe.

Alte două capabilități la nivel de lanț au sosit în 0.6.0 și 0.7.0 (a doua nu poate fi folosită încă pe rețelele live, vezi mai jos):

  • Conturi eth-native unificate — o singură cheie eth_secp256k1 este o singură identitate de 20 de octeți redată ca qor1…, 0x… și o adresă SVM base58, toate partajând un singur sold. Vezi Conturi unificate.
  • Benzi de autentificatori — leagă o cheie Phantom sau MetaMask de contul canonic cu PQC obligatoriu și las-o să cheltuiască printr-un relayer, în condiții de privilegii minime, cu limite de cheltuieli și revocabile. Modulul abstractaccount din spatele ei este oprit astăzi pe ambele rețele. Vezi Autentificatori și cheltuire delegată.

Un nou kit @qorechain/react (provider, hooks, ConnectButton, QuantumSafeBadge) face din construirea unui dApp rezistent la atacuri cuantice calea implicită — vezi ghidul kitului React. Pentru argumentația completă, citește De ce QoreChain SDK.

Familia SDK​

SDK-ul este livrat ca o familie de pachete, astfel încât să poți construi în limbajul preferat. Acestea partajează aceleași preset-uri de rețea, scheme de derivare, aritmetică a denominărilor și suprafețe de citire.

PachetLimbajInstalareStare
@qorechain/sdkTypeScriptnpm i @qorechain/sdkPublicat (npm, v0.8.3)
qorechain-sdkPythonpip install qorechain-sdk (import qorsdk)Publicat (PyPI, v0.8.3)
qorechain-sdk (modul Go)Gogo get github.com/qorechain/qorechain-sdk/packages/go/...Publicat (Go proxy, tag packages/go/v0.8.4)
qorechain-sdkRustcargo add qorechain-sdk (import qorechain)Publicat (crates.io, v0.8.3)
io.github.qorechain:qorechain-sdkJavaio.github.qorechain:qorechain-sdk:0.8.3Publicat (Maven Central, v0.8.3)
@qorechain/evmTypeScript (adaptor EVM)npm i @qorechain/evm viemPublicat (npm, v0.8.0)
@qorechain/svmTypeScript (adaptor SVM)npm i @qorechain/svm @solana/web3.jsPublicat (npm, v0.8.0)
@qorechain/reactTypeScript (kit React)npm i @qorechain/reactPublicat (npm, v0.8.3)
create-qorechain-dappCLInpm create qorechain-dappPublicat (npm, v0.8.0)

Distribuția Python se instalează ca qorechain-sdk, dar se importă ca qorsdk. Toți clienții sunt publicați în registrele lor — vezi Instalare pentru comenzile specifice fiecărui limbaj.

Nucleul TypeScript (@qorechain/sdk) stă la baza exemplelor din această documentație. Clienții Python, Go, Rust și Java ating paritate completă cu lanțul nativ față de TypeScript: preset-uri de rețea, utilitare pentru denominare/adrese, derivare HD a conturilor (nativ/EVM/SVM), semnare PQC (ML-DSA-87), compozitori de mesaje tipizați pentru fiecare modul personalizat plus modulele Cosmos standard, clienți de interogare tipizați, ciclul de viață complet al tranzacției (auto-gas, decodarea erorilor, urmărirea tranzacțiilor, căutare de blocuri/tranzacții), tranzacții post-cuantice hibride și abonamente WebSocket. Toți acești clienți sunt publicați: TypeScript pe npm (@qorechain/sdk 0.8.3), Python pe PyPI (qorechain-sdk 0.8.3, import qorsdk), Go pe module proxy (tag packages/go/v0.8.4), Rust pe crates.io (qorechain-sdk 0.8.3) și Java pe Maven Central (io.github.qorechain:qorechain-sdk 0.8.3). Adaptoarele de execuție EVM/SVM (@qorechain/evm, @qorechain/svm, ambele 0.8.0), kitul @qorechain/react (0.8.3) și CLI-ul de schelet create-qorechain-dapp (0.8.0) sunt exclusiv TypeScript și, de asemenea, publicate pe npm. Vezi Instalare pentru pachetele însoțitoare.

Noutăți în 0.6, 0.7 și 0.8​

0.6.0 — conturi eth-native unificate (lanț v3.1.83). O singură cheie eth_secp256k1 este o singură identitate de 20 de octeți redată ca toate cele trei codificări de adresă, partajând un singur sold cheltuibil pe fiecare bandă:

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)

Semnarea pe banda nativă cu aceeași cheie se face prin signClassicalEth / signHybridEth, iar o cheie Phantom sau MetaMask se leagă de cont ca autentificator (derivarea dintr-o semnătură Phantom a fost eliminată în 0.8.0). Funcția moștenită deriveNativeAccount, cu coin-type 118, rămâne neschimbată. Vezi Conturi unificate.

0.6.1 — corecție critică pentru consens. Extensia de corp de tranzacție PQCHybridSignature este acum codificată protobuf (era codificată JSON și respinsă la CheckTx). Tranzacțiile hibride construite cu SDK ≤ 0.6.0 sunt respinse on-chain — actualizează.

0.7.0 — benzi de autentificatori (lanț v3.1.85). Modulul abstractaccount din spatele lor este oprit în prezent pe ambele rețele (vezi ghidul Autentificatori). O cheie legată Phantom (ed25519) sau MetaMask (secp256k1, după adresa de 20 de octeți) poate cheltui din contul canonic cu PQC obligatoriu printr-un relayer, în condiții de privilegii minime, cu limite de cheltuieli și revocabile: compozitori pentru MsgExecuteEVM / MsgExecuteCosmos / MsgRotatePQCKey, helperi cu octeți exacți evmAuthSignBytes / cosmosAuthSignBytes / rotationSignBytes, interogarea permissionSchema, coduri de eroare decodate și buildere de portofel TypeScript (buildPhantomExecuteCosmos, buildMetaMaskExecuteEvm, …). Ghid complet cu exemple gata de copiat: Autentificatori și cheltuire delegată.

0.8.0 – 0.8.3 — sign-bytes hibrid v2 și fereastra de autorizare EVM (lanț v3.2.0). Jumătatea post-cuantică a unei tranzacții hibride este acum semnată în forma pe care o verifică rețeaua țintă (v1 sau v2, signBytesVersion: "auto" | "v1" | "v2"). Ambele rețele publice sunt pe v2, așa că este necesar SDK 0.8.1 sau mai nou pentru a tranzacționa pe mainnet. 0.8.2 adaugă openEvmWindowMsg, closeEvmWindowMsg, fetchEvmWindow și classifyEvmWindowRejection pentru fereastra de autorizare a benzii EVM. 0.8.0 a eliminat helperii de cont bazați pe semnătura portofelului (connectPhantomUnified și unifiedAccountFromPhantomSignature, eliminate în 0.8.0), aplică verificări stricte ale dimensiunilor ML-DSA-87 în fiecare limbaj și adaugă flag-ul async și datele returnate de callee la apelurile cross-VM. 0.8.3 corectează căutarea tranzacțiilor, cursele (race conditions) din hook-urile React, secvențierea migrate_to_hybrid din Python și derivarea PQC canonică independentă de forma adresei (derivePqcCanonical, canonicalAccount). Vezi Note de upgrade.

Unde să mergi mai departe​