forked from LBRYCommunity/lbry-sdk
script to check channel signature
This commit is contained in:
parent
9e8a3ef7fc
commit
e9098887fb
1 changed files with 32 additions and 0 deletions
32
lbry/scripts/check_signature.py
Normal file
32
lbry/scripts/check_signature.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
import argparse
|
||||||
|
import sqlite3
|
||||||
|
from binascii import hexlify
|
||||||
|
from lbry.wallet.transaction import Output
|
||||||
|
|
||||||
|
|
||||||
|
def check(db_path, claim_id):
|
||||||
|
db = sqlite3.connect(db_path)
|
||||||
|
db.row_factory = sqlite3.Row
|
||||||
|
claim = db.execute('select * from claim where claim_id=?', (claim_id,)).fetchone()
|
||||||
|
if not claim:
|
||||||
|
print('Could not find claim.')
|
||||||
|
return
|
||||||
|
channel = db.execute('select * from claim where claim_hash=?', (claim['channel_hash'],)).fetchone()
|
||||||
|
if not channel:
|
||||||
|
print('Could not find channel for this claim.')
|
||||||
|
print(f"Claim: {claim['claim_name']}")
|
||||||
|
print(f"Channel: {channel['claim_name']}")
|
||||||
|
print(f"Signature: {hexlify(claim['signature']).decode()}")
|
||||||
|
print(f"Digest: {hexlify(claim['signature_digest']).decode()}")
|
||||||
|
print(f"Pubkey: {hexlify(channel['public_key_bytes']).decode()}")
|
||||||
|
print("Valid: {}".format(Output.is_signature_valid(
|
||||||
|
claim['signature'], claim['signature_digest'], channel['public_key_bytes']
|
||||||
|
)))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('db_path')
|
||||||
|
parser.add_argument('claim_id')
|
||||||
|
args = parser.parse_args()
|
||||||
|
check(args.db_path, args.claim_id)
|
Loading…
Reference in a new issue