This adds a command-line tool oxen-bls (require
-DBUILD_BLOCKCHAIN_UTILS=ON to build) that allows for command-line pubkey and/or signature aggregation and/or verification.
Usage info:
./bin/oxen-bls -- BLS pubkey/signature aggregator and verifier
Usage:
pubkey addition/subtraction:
./bin/oxen-bls BLSPK +BLSPK [+BLSPK ...] # aggregates 2 or more pubkey, prints the aggregate
./bin/oxen-bls BLSPK -BLSPK [-BLSPK ...] # subtracts 1 or more pubkeys from another pubkey
./bin/oxen-bls BLSPK -BLSPK +BLSPK +BLSPK -BLSPK ... # combined addition/subtraction
./bin/oxen-bls -BLSPK # negation
./bin/oxen-bls +BLSPK # same as just BLSPK
signature addition/subtraction:
./bin/oxen-bls BLSSIG +BLSSIG [+BLSSIG ...] # aggregates signatures
./bin/oxen-bls BLSSIG -BLSSIG [-BLSSIG ...] # subtracts signatures
./bin/oxen-bls BLSSIG +BLSSIG -BLSSIG +BLSSIG ... # combined addition/subtraction
./bin/oxen-bls -BLSSIG # negation
./bin/oxen-bls +BLSSIG # same as just BLSSIG
signature verification (with optional aggregation):
./bin/oxen-bls NETWORK MSG BLSPK BLSSIG
./bin/oxen-bls NETWORK MSG BLSPK [{+|-}BLSPK ...] BLSSIG [{+|-}BLSSIG ...]
NETWORK must be mainnet, stagenet, devnet, etc.
MSG is the message that was allegedly signed, either with auto-detected hex or plaintext (but can be
prefixed with 0x or _ to force hex or plaintext interpretation).
This adds a command-line tool
oxen-bls
(require-DBUILD_BLOCKCHAIN_UTILS=ON
to build) that allows for command-line pubkey and/or signature aggregation and/or verification.Usage info:
For example: