def get_random_id(): private_key = random_key() pub_key = privkey_to_pubkey(private_key) pub_key_bin = binascii.a2b_hex(pub_key) pub_160 = bin_hash160(pub_key) random_id = base58.b58encode_check(pub_160) return random_id
def encode_ed25519_public_base58(self): """ Return the base58-encoded version of the Ed25519 public key. """ # Unlike secp256k1, Ed25519 public keys are the same for # accounts and for validators. prefix = XRPL_ACCT_PUBKEY_PREFIX return base58.b58encode_check(prefix + self.ed25519_public_key).decode()
def derive_dbcprivate_key_node(): prikey = "29SjBR3HHvBSPMKjTgEaQLZcP3PEGC8zgjLkAjcfpj9uESRdssM1wHpusKkoajUyqNXbdCoyXXp4bCzYzdaqUaqcYHnFh9hLzQNJ2qobncd862Uwgd47sHv82QXEmeUBEJ8yFXM58trw1RSscnXvV49bYGrbt3FDrMgN9EeJCv1AfVryab9rZgFrPbsXvcYqym4hnYU1bAgS5DUPrTaZESkQtqbu5y9CKsvDvqZKzx9ug47JpWW3Nzig88vTcBfFJ3Wqnz22iC3WdaFTwGwU8gZ2gPSE1b3LkUvS46n4SF8BS" bb = base58.b58decode_check(prikey) t1 = binascii.hexlify(bb[10:42]) pub_key = privkey_to_pubkey(t1) pub_key_bin = binascii.a2b_hex(pub_key) pub_160 = hash160(pub_key_bin) keyid = binascii.a2b_hex(pub_160) node_prefix = bytes("node.0.") node_gen_src = node_prefix + keyid node_id = base58.b58encode_check(node_gen_src) print(node_id)
def encode_secp256k1_public_base58(self, validator=False): """ Return the base58-encoded version of the secp256k1 public key. """ if validator: # Validators use the "root" public key key = self.secp256k1_root_public_key prefix = XRPL_VALIDATOR_PUBKEY_PREFIX else: # Accounts use the derived "master" public key key = self.secp256k1_public_key prefix = XRPL_ACCT_PUBKEY_PREFIX return base58.b58encode_check(prefix + key).decode()
def gen_node_id_key(pkk): print("private key:", pkk) # seed = random_electrum_seed() # private_key=electrum_privkey(seed,1) pub_key = privkey_to_pubkey(pkk) pub_key_bin = binascii.a2b_hex(pub_key) pub_160 = hash160(pub_key_bin) keyid = binascii.a2b_hex(pub_160) node_prefix = bytes("node.0.") node_gen_src = node_prefix + keyid global node_id node_id = base58.b58encode_check(node_gen_src) print("node_id:", node_id) return node_id
def encode_base58(self): """ Returns a string representation of this seed as an XRPL base58 encoded string such as 'snoPBrXtMeMyMHUVTgbuqAfg1SUTb'. """ return base58.b58encode_check(XRPL_SEED_PREFIX + self.bytes).decode()