-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathbtc_wallet.py
108 lines (100 loc) · 3.51 KB
/
btc_wallet.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# from bit import PrivateKey
#
# # # Приватный ключ из wif
# my_key = PrivateKey(wif='Ky5FW97njq5ytJV12fifvMiQ2TAeMbBULqaY4RFDfPVphDvKx9MF')
# #
# # # Количество долларов перевода, можно поменять на btc
# # money = 0.00009889 - 0.00000111
# #
# # # Кошелек куда будут переведены деньги
# # wallet = 'bc1q04p7gp2cz3stkge2t5mqf22eydj2jl345mrqun'
# #
# # # Коммисия перевода, если поставить слишком маленькую, то транзакцию не примут
# # # И чем больше коммисия, тем быстрее пройдет перевод
# # fee = 0.00000111
# #
# # # Генерация транзакции
# # tx_hash = my_key.create_transaction([(wallet, money, 'btc')], fee=fee, absolute_fee=True)
# #
# # print(tx_hash)
#
# import requests
#
# # Адрес кошелька пользователя
# wallet = '18atgMmW9rA7dPv4HygL76Db8T1tvMcGCR'
# # wallet = gen_address(0)
#
# url = f'https://blockchain.info/rawaddr/{wallet}'
# x = requests.get(url)
# wallet = x.json()
#
# print('Итоговый баланс:'+str(wallet['final_balance']))
# print('Транзакции:'+str(wallet['txs']))
#
# if wallet['total_received'] == 0:
# print('баланс пустой')
#
#
# from bipwallet.utils import *
#
# from bipwallet import wallet
#
# # generate 12 word mnemonic seed
# # seed = wallet.generate_mnemonic()
# #
# # print(seed)
#
# def gen_address(index):
# pass
# # Наша seed фраза
# seed = 'debate train example fancy stumble accuse innocent recall casual ketchup gesture maid'
#
# # Мастер ключ из seed фразы
# master_key = HDPrivateKey.master_key_from_mnemonic(seed)
# # print(master_key)
#
# # Public key из мастер ключа по пути 'm/44/0/0/0'
# root_keys = HDKey.from_path(master_key, "m/84'/0'/0'/0")[-1].public_key.to_b58check()
# print(root_keys)
#
# # Extended public key
# # xpublic_key = str(root_keys, encoding="utf-8")
# xpublic_key = root_keys
#
# # Адрес дочернего кошелька в зависимости от значения index
# address = Wallet.deserialize(xpublic_key, network='BTC').get_child(index, is_prime=False).to_address()
# # print(address)
#
# rootkeys_wif = HDKey.from_path(master_key, f"m/84'/0'/0'/0/{index}")[-1]
#
# # Extended private key
# # xprivatekey = str(rootkeys_wif.to_b58check(), encoding="utf-8")
# xprivatekey = rootkeys_wif
#
# # Wallet import format
# # wif = Wallet.deserialize(xprivatekey, network='BTC').export_to_wif()
#
# # return address, str(wif, 'utf-8')
# return address
#
# # for i in range(999999999):
# # if 'bc1qxr' in gen_address(i):
# # print(i)
# # break
# print(gen_address(0), gen_address(2000))
#
# # master_key = HDPrivateKey.master_key_from_mnemonic(seed)
# # # print(master_key)
# #
# # # Public key из мастер ключа по пути 'm/44/0/0/0'
# # root_keys = HDKey.from_path(master_key, "m/44'/0'/0'/0")[-1].public_key.to_b58check()
# # print(root_keys)
# # wif = Wallet.deserialize('xpub6Dx2g4WJhuKpAPEMmx2Tk5d9fD2j2bLjaQHk46F2WGbSBxpHNBk92c8Y3oEmWyJRroSQJ6eBBoDW9QB3UKFTCiBcboCodzfD1BsHGb3ACo1', network='BTC').export_to_wif()
# # print(wif)
from bit import PrivateKey, PrivateKeyTestnet
my_key = PrivateKey()
print(my_key.version)
print(my_key.to_wif())
print(my_key.address)
tx_hash = my_key.send([("mkH41dfD4S8DEoSfcVSvEfpyZ9siogWWtr", 1, "usd")])
print(tx_hash)