Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Quantova/Qweb3.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

20 Commits

Repository files navigation

Qweb3.py

Quantova Post-Quantum Web3 Client — Python SDK. Connect to a Quantova node, manage post-quantum accounts, sign and broadcast transactions, and interact with QVM smart contracts from Python. The Python counterpart of qweb3.js and qweb3.rs.

Quantum security

Quantova is a post-quantum Layer-1. Accounts use NIST post-quantum signatures (Falcon-512, SPHINCS+ SHAKE-128s, CRYSTALS-Dilithium2/ML-DSA-44) with SHA3-256 — no ECDSA/secp256k1 — so they resist quantum attacks. Addresses are Bech32m Q1...; the chain speaks q_* JSON-RPC.

Cross-SDK compatibility (byte-for-byte)

Accounts derive identically to qweb3.js and qweb3.rs, so the same mnemonic yields the same Q1... address in all three SDKs:

  • mnemonic → 32-byte seed = substrate mini-secret PBKDF2-HMAC-SHA512(BIP-39 entropy, "mnemonic", 2048)[:32]verified equal to qweb3.js ("test test ... junk"4ca479f5...3b4709c).
  • address = SHA3-256(public_key)[:20] with byte 0 = 0x40, Bech32m-encoded Q1....
  • keypairs use the same post-quantum cores as the node and qweb3.js: Falcon-512 (ChaCha20Rng(seed)), Dilithium2/ML-DSA-44 (keygen_from_seed), SPHINCS+ SHAKE-128s (blake2_256-derived components).

Install

pip install qweb3

Post-quantum backend

The pure-Python package ships the full client (accounts, addresses, ABI, QNS, RPC, fees, contracts) and the mnemonic/address derivation above. Key generation and signing require a post-quantum backend exposing the falcon-wasm-style interface (<scheme>_pair_from_seed / _sign / _verify). Register it once at startup:

import qweb3.crypto_backend as cb
cb.set_backend(my_pq_backend) # adapter over the Quantova PQ cores

Any backend that produces the same Falcon-512 / ML-DSA-44 / SLH-DSA-SHAKE-128s keys from a seed as qweb3.js keeps addresses and signatures cross-compatible. (The recommended adapter wraps the same fn-dsa / fips204 / fips205 cores used by qweb3.rs, so derivation stays byte-identical.)

Quick start

from qweb3 import Qweb3
q = Qweb3("https://rpc.quantova.org")
acct = q.accounts.import_mnemonic("test test ... junk") # → same Q1... as qweb3.js/rs
print(q.get_balance(acct.address))

Resources

License

Apache-2.0 © Quantova

About

Post-quantum Web3 client SDK for the Quantova Layer-1 blockchain — Python, synchronous in the style of web3.py and pip-installable. Falcon/Dilithium/SPHINCS+ signing, the q_* JSON-RPC namespace, QVM contracts (Solidity ABI), QNS .q names, fee/gas oracle, batch requests, real-time event hooks, REST client, and a qweb3-cli. Python 3.8+.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /