forked from 3wordchant/capsul-flask
added btcpay pairing instructions to readme
This commit is contained in:
BIN
readme/btcpay_sin_pairing.jpg
Normal file
BIN
readme/btcpay_sin_pairing.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
47
readme/generate_btcpay_keys.py
Normal file
47
readme/generate_btcpay_keys.py
Normal file
@ -0,0 +1,47 @@
|
||||
from ecdsa import SigningKey, SECP256k1, VerifyingKey
|
||||
import binascii
|
||||
import hashlib
|
||||
|
||||
def sha_digest(hexastring):
|
||||
return hashlib.sha256(binascii.unhexlify(hexastring)).hexdigest()
|
||||
|
||||
def base58encode(hexastring):
|
||||
chars = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
|
||||
int_val = int(hexastring, 16)
|
||||
encoded = encode58("", int_val, chars)
|
||||
return encoded
|
||||
|
||||
def encode58(string, int_val, chars):
|
||||
if int_val == 0:
|
||||
return string
|
||||
else:
|
||||
new_val, rem = divmod(int_val, 58)
|
||||
new_string = (chars[rem]) + string
|
||||
return encode58(new_string, new_val, chars)
|
||||
|
||||
sk = SigningKey.generate(curve=SECP256k1)
|
||||
pem = sk.to_pem()
|
||||
pem = pem.decode("utf-8")
|
||||
|
||||
print("")
|
||||
print(pem)
|
||||
print("")
|
||||
|
||||
public_key = SigningKey.from_pem(pem).get_verifying_key().to_string()
|
||||
public_key_hex = binascii.hexlify(public_key)
|
||||
checksum_int = int(public_key_hex, 16)
|
||||
if(checksum_int % 2 == 0):
|
||||
prefix = "02"
|
||||
else:
|
||||
prefix = "03"
|
||||
public_key_compressed = prefix + public_key_hex[0:64].decode("utf-8")
|
||||
hash_of_public_key = sha_digest(public_key_compressed)
|
||||
ripe_hash_of_public_key = hashlib.new("ripemd160")
|
||||
ripe_hash_of_public_key.update(binascii.unhexlify(hash_of_public_key))
|
||||
version_hash = "0F02"+ripe_hash_of_public_key.hexdigest()
|
||||
version_checksum = sha_digest(sha_digest(version_hash))[0:8]
|
||||
btcpay_sin = base58encode(version_hash+version_checksum)
|
||||
|
||||
print("")
|
||||
print(btcpay_sin)
|
||||
print("")
|
BIN
readme/paired.jpg
Normal file
BIN
readme/paired.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
Reference in New Issue
Block a user