- C++ 70.4%
- Python 16.9%
- C 10.1%
- Shell 0.7%
- CMake 0.7%
- Other 0.9%
The Trade Board buckets offers into tabs solely on contract_type == "spot" (offer_type "spotcontract" is never consulted). Spot offers frequently carry their terms only in contract_payload with the top-level contract_type empty, so they fell through the bucketing predicate and the Spot tab rendered empty. The repo/forward/option/difficulty term-sheet branches already self-heal an empty contract_type; the spot branch did not. Add the same fallback. |
||
|---|---|---|
| .tx | ||
| .vscode | ||
| ci | ||
| cmake | ||
| contrib | ||
| depends | ||
| doc | ||
| docs | ||
| share | ||
| src | ||
| test | ||
| test-runner | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .python-version | ||
| .style.yapf | ||
| asset-readme.md | ||
| capture_tip_hash.sh | ||
| CFD_GENERALISATION.md | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CONTRIBUTING.md | ||
| COPYING | ||
| DIFFICULTY_DERIVATIVE.md | ||
| generate_tensor_vectors.py | ||
| ICU_ACCEPTANCE_RECORD.md | ||
| ICU_CHILD.md | ||
| INSTALL.md | ||
| libbitcoinkernel.pc.in | ||
| model-readme.md | ||
| NOTICE | ||
| OPTION_SERIES_FREEZE.md | ||
| OPTION_TOKENIZATION.md | ||
| PQ-README.md | ||
| README-CHANGES.md | ||
| README.md | ||
| run_tests_verbose.sh | ||
| SECURITY.md | ||
| SENDASSET_SKELETON.md | ||
| spv-readme.md | ||
| vcpkg.json | ||
bcore — TensorCash consensus node
bcore is the TensorCash full node: a consensus engine derived from Bitcoin
Core and extended with the rules that define the TensorCash layer-1 network. It
is the source of truth for consensus and is consumed by the umbrella
tensorcash repository as a
submodule.
What TensorCash adds on top of the base node
-
Proof-of-inference PoW and a VDF timing layer. Mining commits real model inference work, and a Wesolowski verifiable-delay-function proof ties each header to wall-clock time. A model-verification path (
src/consensus/model_verification.cpp,src/crypto/src/vdfhelpers) checks that work; seemodel-readme.md. -
VDF-SPV presync. Light clients and presync peers fetch compact header sidecars (the
getheadext/headers_extp2p verbs, advertised viaNODE_VDFSPV) carrying the tick, VDF proof, and Merkle witnesses committed insidehashPoW, so they can reject ground headers and score chains by accumulated wall time without full block validation. Seespv-readme.md. -
Native assets with a TLV wire format. Outputs carry optional TLV bytes (
vExt, gated by transaction flag0x02) that txid/wtxid and the Taproot / BIP143 sighashes commit to. The TLV catalogue (src/assets/asset.h) includes the asset tag (0x01), issuer registration (0x10), the issuer scalar feed (0x11), ZK parameter and proof payloads (0x20,0x22), and the ICU acceptance record (0x40,src/assets/icu_acceptance_record.h). Seeasset-readme.md,ICU_ACCEPTANCE_RECORD.md, andICU_CHILD.mdfor the on-chain registry, issuer registration, and sponsored-child assets. -
ZK / KYC enforcement in consensus. Asset spends can require a Groth16 compliance proof transported in the
ZK_PROOF_PAYLOAD(0x22) TLV. The proof is verified during transaction validation (groth16::VerifyGroth16WithPolicy,src/crypto/groth16.cpp, called fromsrc/consensus/tx_verify.cpp), with consensus reject codes includingzk-proof-bad,zk-epoch-stale, andkyc-proof-not-hdv1. -
On-chain settlement primitives. A native difficulty contract-for-difference (
OP_NBITS_AT/OP_DIFFCFD_SETTLE) and a generalised issuer-published-scalar settlement opcode (OP_SCALAR_CFD_SETTLE) settle covenant outputs against published feeds, with tokenised difficulty-option series built on top. SeeDIFFICULTY_DERIVATIVE.md,CFD_GENERALISATION.md,OPTION_TOKENIZATION.md, andOPTION_SERIES_FREEZE.md. -
Post-quantum spending. Witness-v2 outputs spend under ML-DSA (FIPS 204) signatures (
src/crypto/mldsaverify.cpp), withgeneratemldsaaddressandsignmldsatransactionwallet RPCs. SeePQ-README.md.
README-CHANGES.md summarises the departures from the upstream base node.
Building
See INSTALL.md and the platform build guides under
doc/ (doc/build-unix.md, doc/build-osx.md,
doc/build-windows.md). bcore depends on the TensorCash shared utilities
(post-quantum liboqs, secp256k1-zkp, and the VDF/PoW helpers), so most users
should build from the umbrella repository, which initialises those submodules
and wires the node together with the miner and verification services.
Contributing & security
- Contribution workflow, the review (ACK/NACK) convention, and commit/signing
policy are in
CONTRIBUTING.md. - Report vulnerabilities via the coordinated-disclosure process in
SECURITY.md. Do not open public issues for them.
License
Released under the terms in COPYING.