Ejemplo n.º 1
0
def init_mnemonic(mnemonic, index, password):
    master_key = HDPrivateKey.master_key_from_mnemonic(mnemonic, password)
    root_keys = HDKey.from_path(master_key, "m/44'/60'/0'")
    acct_private_key = root_keys[-1]
    keys = HDKey.from_path(acct_private_key,
                           '{change}/{index}'.format(change=0, index=index))
    private_key_mnemonic = keys[-1]
    private_key = private_key_mnemonic._key.to_hex()
    address = private_key_mnemonic.public_key.address()
    return private_key, address
Ejemplo n.º 2
0
def init_accounts(w3, how_many):
    master_key = HDPrivateKey.master_key_from_mnemonic(MNEMONIC)
    root_keys = HDKey.from_path(master_key, "m/44'/60'/0'")
    acct_priv_key = root_keys[-1]
    accounts = {}
    for i in range(how_many):
        keys = HDKey.from_path(
            acct_priv_key, '{change}/{index}'.format(change=0, index=i))
        private_key = keys[-1]
        public_key = private_key.public_key
        address = private_key.public_key.address()
        address = w3.toChecksumAddress(address)
        initial_nonce = AtomicNonce(w3, address)

        accounts[i] = {
            "private_key": private_key._key.to_hex(),
            "address": address,
            "nonce": initial_nonce
        }
    return accounts
Ejemplo n.º 3
0
def findkey(word, address):

    #bip 39: 将 seed 用方便记忆和书写的单字表示。一般由 12 个单字组成,称为 mnemonic code(phrase),中文称为助记词或助记码
    master_key = HDPrivateKey.master_key_from_mnemonic(word)

    #bit 44: 基于 BIP32 的系统,赋予树状结构中的各层特殊的意义。让同一个 seed 可以支援多币种、多帐户等
    root_keys = HDKey.from_path(master_key, "m/44'/60'/0'")
    acct_priv_key = root_keys[-1]

    #bit 32: 定义 Hierarchical Deterministic wallet (简称 “HD Wallet”),是一个系统可以从单一个 seed 产生一树状结构储存多组 keypairs(私钥和公钥)
    keys = HDKey.from_path(acct_priv_key, '{change}/{index}'.format(change=0, index=0))
    private_key = keys[-1]
    public_key = private_key.public_key

    # print("Private key (hex, compressed): " + private_key._key.to_hex())
    # print("Address: " + private_key.public_key.address())
    add = private_key.public_key.address()
    if add == address:
        return 'true'

    return 'false'
Ejemplo n.º 4
0
    # print("Private key (hex, compressed): " + private_key._key.to_hex())
    # print("Address: " + private_key.public_key.address())
    add = private_key.public_key.address()
    if add == address:
        return 'true'

    return 'false'



master_key, mnemonic = HDPrivateKey.master_key_from_entropy()
print('BIP32 Wallet Generated.')
print('Mnemonic Secret: ' + mnemonic)

from crypto import HDPrivateKey, HDKey
master_key = HDPrivateKey.master_key_from_mnemonic('laundry snap patient survey sleep strategy finger bone real west arch protect')
root_keys = HDKey.from_path(master_key,"m/44'/60'/0'")
acct_priv_key = root_keys[-1]
for i in range(6):
    keys = HDKey.from_path(acct_priv_key,'{change}/{index}'.format(change=0, index=i))
    private_key = keys[-1]
    public_key = private_key.public_key
    print("Index %s:" % i)
    print("  Private key (hex, compressed): " + private_key._key.to_hex())
    print("  Address: " + private_key.public_key.address())

# res = findkey('stay involve clerk code orient gloom session organ hip ship place trim', '0x86d5329fbe3556b1f8e16f95c45c18bf314d2efb')
# res = findkey('stomach relief holiday limb learn seat culture sort deer push brick wrong', '0x78b9fc862209272bd216baaea9bbeecf4117546c')
#
#
# print(res)
Ejemplo n.º 5
0
 def __init__(self, mnemonic, passphrase):
     self.key = HDPrivateKey.master_key_from_mnemonic(mnemonic, passphrase)
     self.mnemonic = mnemonic
Ejemplo n.º 6
0
# #     # print(web3.eth.getTransactionCount(web3.toChecksumAddress(0x499973Da87eF296F5dF933141E1f60775FcEA0f6)))
# #     # print(web3.eth.getCode('0x5c7029728aa4ca90A6820baf602e91c5c4FB3560'))
# #     # print(web3.eth.getCode('0x499973Da87eF296F5dF933141E1f60775FcEA0f6'))
#
#
# if __name__ == "__main__":
#     # TerminalControl.init_mnemonic('laundry snap patient survey sleep strategy finger bone real west arch protect', 0, '123456')
#     # TerminalControl.p()
#     # test()
#     test1()

from crypto import HDPrivateKey, HDKey

mnemonic = "physical toy explain december juice say hour media assault kidney shine abstract"
password = "******"
master_key = HDPrivateKey.master_key_from_mnemonic(mnemonic, password)
root_keys = HDKey.from_path(master_key, "m/44'/60'/0'/0")
for x in range(len(root_keys)):
    print(root_keys[x]._key.to_hex())
acct_private_key = root_keys[-1]
index = 20
# i = 19
for i in range(index):
    keys = HDKey.from_path(acct_private_key, '{index}'.format(index=i))
    private_key_mnemonic = keys[-1]
    private_key = private_key_mnemonic._key.to_hex()
    address = private_key_mnemonic.public_key.address()
    print("private--{index}: ".format(index=i) + private_key)
    print("public--{index}: ".format(index=i) + hex(
        int.from_bytes(private_key_mnemonic.public_key.compressed_bytes,
                       'big')))