Passa al contenuto principale

Installazione

Installa l'SDK per il tuo linguaggio. Il core TypeScript (@qorechain/sdk), gli adattatori EVM e SVM (@qorechain/evm, @qorechain/svm), il kit React (@qorechain/react) e i client Python, Go, Rust e Java sono tutti pubblicati sui rispettivi registry con piena parità con la catena nativa (messaggi tipizzati, query, il ciclo di vita delle tx, transazioni PQC ibride e sottoscrizioni WebSocket). La linea di release corrente è la 0.8: TypeScript, Python, Rust e Java sono alla 0.8.3, e il modulo Go è alla v0.8.4. Scegli il tuo linguaggio qui sotto.

Note di aggiornamento​

Usa l'SDK 0.8.1 o successivo sulle reti live

Entrambe le reti pubbliche verificano la forma sign-bytes ibrida v2 (con tag di dominio e vincolata al chain id) e rifiutano la vecchia forma con il codice pqc 21. Ogni release dell'SDK precedente alla 0.8.0 firma la vecchia forma, e la 0.8.0 cerca il passaggio sotto uno solo dei due nomi di aggiornamento usati dalle reti (la mainnet lo ha registrato come v3.2.0, la testnet come v3.1.98 e poi v3.2.0), quindi firma la forma sbagliata su mainnet. Usa la 0.8.1 o successiva in ogni linguaggio; serve la 0.8.2 o successiva per aprire una finestra di autorizzazione EVM. I builder ibridi accettano un'opzione signBytesVersion ("auto" | "v1" | "v2"); "auto" interroga la rete e quindi richiede l'endpoint REST (rest) su qorechain-vladi / qorechain-diana: solleva un errore invece di tirare a indovinare. Vedi Quale forma di sign-bytes?.

Correzioni precedenti

L'SDK 0.6.1 ha corretto un bug critico per il consenso: l'estensione del tx-body /qorechain.pqc.v1.PQCHybridSignature veniva serializzata in JSON dentro Any.value e rifiutata dalla catena a CheckTx. Le transazioni ibride (PQC + classica) costruite con SDK ≤ 0.6.0 vengono rifiutate on-chain. La 0.8.0 ha rimosso gli helper di account con firma da wallet (vedi Account e firma PQC).

TypeScript​

Il pacchetto core:

npm i @qorechain/sdk

Ha come target Node.js 20+ e include ESM, CommonJS e definizioni di tipo. Gli esempi di transazioni ibride in questa documentazione importano anche StargateClient da @cosmjs/stargate (npm i @cosmjs/stargate).

Adattatore EVM​

@qorechain/evm è un adattatore sottile e type-safe sopra viem. viem è una peer dependency — installalo insieme:

npm i @qorechain/evm viem

Pubblicato su npm alla 0.8.0.

Adattatore SVM​

@qorechain/svm è un adattatore sottile sopra @solana/web3.js, che è una peer dependency:

npm i @qorechain/svm @solana/web3.js

Pubblicato su npm alla 0.8.0.

Kit React​

@qorechain/react è il livello React ufficiale sopra @qorechain/sdk — un provider, hook e i componenti ConnectButton / QuantumSafeBadge. react (>=18) è una peer dependency:

npm i @qorechain/react

Pubblicato su npm alla 0.8.3. Vedi la guida al kit React.

Scaffolder​

create-qorechain-dapp (npm, 0.8.0) genera una dApp pronta all'uso:

npm create qorechain-dapp@latest my-dapp

I file package.json generati fissano @qorechain/sdk / @qorechain/evm a ^0.3.0, che npm risolve in una release 0.3 che non può firmare per le reti live. Dopo la generazione, esegui npm i @qorechain/sdk@latest (e npm i @qorechain/evm@latest per il template EVM). Vedi il riferimento della CLI.

Python​

pip install qorechain-sdk

Richiede Python 3.10+. Il pacchetto include type hint e un marcatore py.typed.

La distribuzione si installa come qorechain-sdk (pubblicato su PyPI alla 0.8.3) ma si importa come qorsdk:

import qorsdk

Go​

go get github.com/qorechain/qorechain-sdk/packages/go/...

Richiede Go 1.23+. Importa i sotto-pacchetti che ti servono, per esempio:

import (
"github.com/qorechain/qorechain-sdk/packages/go/qorechain/client"
"github.com/qorechain/qorechain-sdk/packages/go/qorechain/accounts"
)

Pubblicato come modulo Go autonomo (taggato packages/go/v0.8.4).

Rust​

cargo add qorechain-sdk

Oppure, per seguire la head del repository:

[dependencies]
qorechain-sdk = { git = "https://github.com/qorechain/qorechain-sdk" }
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

Richiede Rust 1.74+. I client di lettura sono asincroni (Tokio). Il crate si importa come qorechain (use qorechain;).

Pubblicato su crates.io come qorechain-sdk (0.8.3); cargo add qorechain-sdk installa l'ultima release.

Java​

Maven (pom.xml):

<dependency>
<groupId>io.github.qorechain</groupId>
<artifactId>qorechain-sdk</artifactId>
<version>0.8.3</version>
</dependency>

Oppure Gradle:

implementation 'io.github.qorechain:qorechain-sdk:0.8.3'

Pubblicato su Maven Central come io.github.qorechain:qorechain-sdk:0.8.3. Central non ha alcuna build 0.8.0 o 0.8.1, quindi sulle reti live usa la 0.8.2 o successiva.

PacchettoScopoVersione
@qorechain/wallet-adapterHelper lato wallet: generazione del wallet (generateQoreWallet), firma ibrida eth_secp256k1 (signHybridEth, QoreChainSigner), registrazione della rete in MetaMask (addQoreEvmToWallet), builder di messaggi per authenticator e finestre EVM. Peer dependency: @cosmjs/proto-signing e @cosmjs/stargate ^0.320.3.0
@qorechain/chain-bridgeWorker lato server per i backend: deriva la chiave PQC, firma in modo ibrido e trasmette (sendTokens, registerPqc e altro). Passa cosmosRest0.2.2
@qorechain/pqcPrimitive ML-DSA / ML-KEM / SHAKE-256 solo conformi agli standard e hybridSignBytes (vedi Firma post-quantistica)0.2.1
@qorechain/handlesRisoluzione verificata degli @handle con pinning al primo utilizzo (HandleClient)0.1.0
@qorechain/rdkClient del Rollup Development Kit (vedi Rollup). La release npm (0.4.4) firma le transazioni solo in modo classico, cosa che le reti rifiutano, quindi può leggere ma non inviare; la firma ibrida è nella 0.5.0, attualmente solo su PyPI e nel modulo Go0.4.4 (npm)

Avanti​

Continua con il Quickstart per connetterti e leggere lo stato on-chain.