Qstamp / 開発者向け
Qstamp で開発する

SDK のインストール、スタンプ、検証。

Qstamp SDK は、Apache License 2.0 又は MIT ライセンスの下で提供されるオープンソースソフトウェアです。Node 20 以降で動作し、依存関係は Quantova の耐量子署名用クライアントライブラリである QCore のみです。

GitHubオープンソース

Qstamp SDK ソースコード

完全なソースコード、公開された構成及びリリース履歴。独立したセキュリティレビューのために公開されています。

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

@quantovainc/qstamp

Node 20 以降向けのコマンドラインツール及びライブラリ。依存関係は耐量子署名用の QCore の1つのみです。

npm install @quantovainc/qstamp
Quanta使用例

コントラクトテンプレート

オープン、発行者及びカウンシルの各 Quanta スマートコントラクト。本番環境へのデプロイ前に、独立した第三者による監査が必要です。

git clone https://github.com/Quantova/Qstamp-Quanta-Smart-contract-example-.git
テストネットワークQ-test-net-1

エンドポイントとテスト用ユニット

Quantova テストネットワークの公開エンドポイント。アンカリング手数料の支払いに充てる TQTOV テスト用ユニットを無料で請求できます。

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

関数と保証。

関数目的動作
stamp(options)1件のトランザクションで最大1048576件の記録をアンカーし、記録ごとに1件のレシートを返すシードは消去可能な32バイトとしてのみ受け付け、署名後に消去する。手数料上限は署名前に適用される。
verify(receipt, options)レシートをその内容及びネットワークに照らして検証する内容なしに有効を返すことはない。ネットワークを参照できない場合は判定不能を返す。
complete(pending)中断後、送信済みバッチのレシートを完成させるアンカーされたコミットメントと一致しない保留中のバッチを拒否する。
digestFile, digestBytesSHA3 又は SHA2(256ビット)でコンテンツのフィンガープリントを計算するストリーミング処理のため、任意のサイズのファイルに対応する。
leafHash, tree, rootFromPath, commitment独立した検証者向けのプリミティブ公開された構成の厳密な実装。
validateReceipt厳格なスキーマ検証厳密なキー、正規エンコーディング及び範囲が制限された値。
ネットワーク

テストネットワークのパラメータ。

チェーン名
Q-test-net-1
ジェネシスハッシュ
ca91e093bb8de33e90db52d7c89876597d14760703793ea7211929e73e613062
Qstamp コントラクト
Q1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
エンドポイント
https://rpc-testnet.quantova.org
アンカーあたりの手数料
0.005 TQTOV(バッチサイズにかかわらず一定)

テストネットワークのレシートには証拠としての効力はありません。本番利用は、Quantova メインネットワークの開始後、同ネットワーク上で行われます。

独立検証

SDK を使用せずに検証する。

レシートに記載されたアルゴリズムで、記録のダイジェストを再計算します。

0x00、QSTAMP/LEAF/V1、アルゴリズム識別子、ダイジェスト及びソルトからリーフを計算します。

RFC 9162 第2.1.3.2節に従ってルートを再計算します。

0x02、QSTAMP/ROOT/V1、ジェネシス、コントラクト、署名者、種別、サイズ及びルートからコミットメントを計算します。

トランザクションが確定済みであり、記載されたアドレスにより署名され、当該コミットメントを含むことを確認します。

公式コントラクトが、署名者、コミットメント及び種別を伴うイベント 5a110849 を発行したことを確認します。

ブロック識別子とブロック時刻を確認します。