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