Qstamp / Développeurs
Développer avec Qstamp

Installer le SDK, horodater, vérifier.

Le SDK Qstamp est open source, sous licence Apache 2.0 ou sous licence MIT. Il fonctionne avec Node 20 ou version ultérieure et ne dépend que de QCore, la bibliothèque cliente Quantova de signature post-quantique.

GitHubOpen source

Code source du SDK Qstamp

Code source complet, construction publiée et historique des versions, ouverts à un examen de sécurité indépendant.

git clone https://github.com/Quantova/QStamp.git
npmv0.1.4

@quantovainc/qstamp

Outil en ligne de commande et bibliothèque pour Node 20 ou version ultérieure, avec une seule dépendance, QCore, pour la signature post-quantique.

npm install @quantovainc/qstamp
QuantaExemple

Modèles de contrat

Contrats intelligents Quanta ouvert, émetteur et conseil. Un audit indépendant réalisé par un tiers est requis avant tout déploiement en production.

git clone https://github.com/Quantova/Qstamp-Quanta-Smart-contract-example-.git
Réseau de testQ-test-net-1

Point d’accès et unités de test

Point d’accès public du réseau de test Quantova. Obtenez gratuitement des unités de test TQTOV pour acquitter les frais d’ancrage.

https://rpc-testnet.quantova.org
terminalcommand line
npm install @quantovainc/qstamp fingerprint files npx qstamp hash report.pdf ledger.csv stamp them in one transaction npx qstamp stamp report.pdf ledger.csv \ --seed-file ./signer.key --index 0 --kind financial_record verify a receipt against its file npx qstamp verify report.pdf.qstamp.json --file report.pdf recover an interrupted stamp npx qstamp complete qstamp-pending-1760000000000-a1b2c3d4.json
app.jsprogrammatic
const qstamp = require('@quantovainc/qstamp'); const digest = await qstamp.digestFile('report.pdf'); const [receipt] = await qstamp.stamp({ seed, index: 0, kind: 'financial_record', records: [{ digest }], }); const result = await qstamp.verify(receipt, { file: 'report.pdf', }); result.status · result.checks · result.endpoints
API

Fonctions et garanties.

FonctionObjetComportement
stamp(options)Ancrer jusqu’à 1048576 enregistrements en une seule transaction et renvoyer un reçu par enregistrementGraine acceptée uniquement sous forme de 32 octets effaçables, effacée après la signature. Plafond de frais appliqué avant la signature.
verify(receipt, options)Vérifier un reçu au regard de son contenu et du réseauNe renvoie jamais valide sans le contenu. Renvoie indéterminé lorsque le réseau ne peut pas être consulté.
complete(pending)Compléter les reçus d’un lot soumis après une interruptionRejette les lots en attente qui ne correspondent pas à l’engagement cryptographique ancré.
digestFile, digestBytesCalculer l’empreinte d’un contenu en SHA3 ou SHA2 sur 256 bitsTraitement en flux, de sorte que les fichiers de toute taille sont pris en charge.
leafHash, tree, rootFromPath, commitmentPrimitives destinées aux vérificateurs indépendantsImplémentation exacte de la construction publiée.
validateReceiptValidation stricte du schémaClés exactes, encodages canoniques et valeurs bornées.
Réseau

Paramètres du réseau de test.

Nom de la chaîne
Q-test-net-1
Hachage de genèse
ca91e093bb8de33e90db52d7c89876597d14760703793ea7211929e73e613062
Contrat Qstamp
Q1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
Point d’accès
https://rpc-testnet.quantova.org
Frais par ancrage
0.005 TQTOV, quelle que soit la taille du lot

Les reçus émis sur le réseau de test n’ont aucune valeur probante. L’utilisation en production se fera sur le réseau principal Quantova dès son lancement.

Vérification indépendante

Vérifier sans le SDK.

Recalculer le condensat de l’enregistrement avec l’algorithme indiqué dans le reçu.

Calculer la feuille à partir de 0x00, QSTAMP/LEAF/V1, de l’identifiant d’algorithme, du condensat et du sel.

Recalculer la racine conformément à la section 2.1.3.2 du RFC 9162.

Calculer l’engagement cryptographique à partir de 0x02, QSTAMP/ROOT/V1, de la genèse, du contrat, du signataire, du type, de la taille et de la racine.

Confirmer que la transaction est finale, signée par l’adresse indiquée et porteuse de l’engagement cryptographique.

Confirmer que le contrat officiel a émis l’événement 5a110849 avec le signataire, l’engagement cryptographique et le type.

Confirmer l’identifiant du bloc et l’horodatage du bloc.