Repository navigation
Add native Python wallet and transaction library - #1
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Provide native Python Nockchain V1 wallets and transactions, installable as
nockchain. The package uses the standard library, immutable data structures, exact integers and explicit secret exports.Includes wallet generation/recovery and public derivation; Cheetah Schnorr and TIP5; bounded immutable nouns and jam/cue; transaction inspection; complete input-note commitments; coin selection, fees and change; multisig, inclusive timelocks, partial signing and signature merging. Signature verification and authenticated input/height validation are explicit separate operations.
The protocol source of truth is Nockchain's Hoon engine at
1eac02083a053c104b6a1299e80a8a51447017dc; the implementation follows nockchain-go v0.1.0. Public Rust/BIP39 fixtures check 35 wallets, 105 signatures, hashes, nouns and six complete transactions, including exact partial and signed bytes. The Hoon corpus independently checks IDs, complete parent commitments and fees.Validation: all 14 test groups pass, including malformed keys with valid checksums, shared-backreference expansion limits, immutable reviews, timelock boundaries and fee/selection cases. Ruff checks pass; wheel/sdist metadata checks pass; the built wheel installs and derives the expected public address in a fresh virtual environment. CI covers Python 3.11 and 3.13 and wheel installation.
Includes typed APIs, documentation, security scope, license attribution and public fixture provenance. Private-key arithmetic is variable-time; the package performs no chain access or broadcasting.