Crypto API
The crypto API is available from the full node via websockets.
Blinding and Un-Blinding
blind
Get signed blocks.
Generates a Pedersen Commitment: *commit = blind * G + value * G2. The commitment is 33 bytes, the blinding factor is 32 bytes.
Tip: For more information about Pedersen Commitment see: Commitment Scheme
blind
: Sha-256 blind factor typevalue
: Positive 64-bit integer value
blind_sum
Get SHA-256 blind factor type.
blinds_in
: List of SHA-256 blind factor typesnon_neg
: 32-bit integer value
Range Proofs
range_get_info
Gets “range proof” information.
The cli_wallet includes functionality for sending blind transfers in which the values of the input and output amounts are “blinded.”
Note: In the case where a transaction produces two or more outputs, (e.g. an amount to the intended recipient plus “charge” back to the sender), a “range proof” must be supplied to prove that none of the outputs commit to a negative value.
proof
: List of proof’s characters
range_proof_sign
Proves with respect to min_value the range for Pedersen Commitment which has the provided blinding factor and value.
min_value
: Positive 64-bit integer valuecommit
: 33-byte pedersen commitmentcommit_blind
: Sha-256 blind factor type for the correct digitsnonce
: Sha-256 blind factor type for our non-forged signaturesbase10_exp
: Exponents base 10 in range [-1 ; 18] inclusivelymin_bits
: 8-bit positive integer, must be in range [0 ; 64] inclusivelyactual_value
: 64-bit positive integer, must be greater or equal min_value
Verification
verify_sum
Verifies that commits
+ neg_commits
+ excess
== 0.
commits_in
: List of 33-byte Pedersen Commitmentsneg_commits_in
: List of 33-byte Pedersen Commitmentsexcess
: Sum of two list of 33-byte Pedersen Commitments where sums the first set and subtracts the second
verify_range
Verifies range proof for 33-byte Pedersen Commitment.
commit
: 33-byte pedersen commitmentproof
: List of characters
verify_range_proof_rewind
Verifies range proof rewind for 33-byte Pedersen Commitment.
nonce
: Sha-256 blind refactor typecommit
: 33-byte pedersen commitmentproof
: List of characters