{"id":312591,"date":"2020-11-05T15:00:32","date_gmt":"2020-11-05T15:00:32","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=312591"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=312591","title":{"rendered":"\u0412\u043d\u0435\u0434\u0440\u044f\u0435\u043c \u043e\u043f\u043b\u0430\u0442\u0443 BTC \u043a\u0443\u0434\u0430 \u0443\u0433\u043e\u0434\u043d\u043e (Python)"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<h2>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f<\/h2>\n<p>\u041f\u043e\u043b\u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u0432\u0437\u044f\u043b\u0441\u044f \u0437\u0430 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u043f\u043b\u0430\u0442\u044b \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u043e\u043c. \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 python, \u0442\u043e \u0438 \u043e\u043f\u043b\u0430\u0442\u0443 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0436\u0435. \u0421\u0440\u0430\u0437\u0443 \u0436\u0435 \u0432\u0437\u044f\u043b\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 Rest API Blockchain.com. \u0421 \u0430\u043f\u0438 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 \u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043b\u043e\u043c\u0430\u043b\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0445 \u0442\u043e\u043a\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043f\u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u0440\u0435\u0448\u0438\u043b \u044e\u0437\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (block-io, bitcoinlib, blockchain \u0438 \u0434\u0440.) \u041f\u043e\u0441\u043b\u0435 \u043f\u0430\u0440\u0443 \u043d\u043e\u0447\u0435\u0439 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u043f\u043b\u0430\u0442\u0443, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 bitcoinlib, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430, \u0438 \u044f \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043b \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439. \u0411\u0435\u0434\u0430 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0435\u0440\u0432\u044b\u0435 100 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0432\u0441\u044f \u043e\u043f\u043b\u0430\u0442\u0430 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u0440\u0443\u0445\u043d\u0443\u043b\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u044f \u043a\u0440\u0438\u0432\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u044f\u043b \u0441 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u043e \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u043f\u043b\u0430\u0442\u044b \u0431\u044b\u043b\u0438 \u0431\u0435\u0437\u0443\u0441\u043f\u0435\u0448\u043d\u044b, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u0443\u043b\u044f\u0442\u044c \u0431\u0434\u0448\u043a\u0443, \u043d\u043e \u0438 \u0442\u0430\u043a \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u043e\u043d\u0430 \u043f\u0440\u043e\u0434\u0435\u0440\u0436\u0430\u043b\u0430\u0441\u044c. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cdf\/41e\/f25\/cdf41ef25dce7a216c1bb81ad665ad22.jpg\" width=\"940\" height=\"450\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0431\u0435\u0437 BTC \u043e\u043f\u043b\u0430\u0442\u044b. \u042f \u043e\u043f\u0435\u0447\u0430\u043b\u0438\u043b\u0441\u044f \u0438 \u043d\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0441\u044f \u0441 \u043e\u043f\u043b\u0430\u0442\u043e\u0439 \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u043e\u043c \u043f\u043e\u043b\u0433\u043e\u0434\u0430.<\/p>\n<h2>\u041a \u0447\u0435\u043c\u0443 \u044f \u043f\u0440\u0438\u0448\u0435\u043b<\/h2>\n<p>\u041d\u0430 \u0434\u043d\u044f\u0445 \u044f \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0440\u0435\u0448\u0438\u043b \u0434\u043e\u0431\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u0441\u0435\u0431\u044f, \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u0435\u0449\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u043c\u043e\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u0412\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 <strong>seed <\/strong>\u0444\u0440\u0430\u0437\u044b. \u041c\u043d\u0435\u043c\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f&nbsp;\u0444\u0440\u0430\u0437\u0430&nbsp;(\u0430\u043d\u0433\u043b. Mnemonic phrase \u0438\u043b\u0438&nbsp;Seed \u0444\u0440\u0430\u0437\u0430) &#8212; \u044d\u0442\u043e \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442 \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0438\u0442\u043a\u043e\u0438\u043d-\u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0444\u0440\u0430\u0437 BIP 32, BIP 39, BIP 44, \u0438 \u0435\u0449\u0435 BIP 49. \u0421\u0430\u043c\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 &#8212; \u044d\u0442\u043e BIP 44 (12 \u0441\u043b\u043e\u0432). <\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 seed \u0444\u0440\u0430\u0437\u044b: <\/strong><\/p>\n<p>vivid area able second bicycle advance demand alpha flip stable drift route<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443<strong> bipwallet<\/strong>. \u0427\u0442\u043e\u0431\u044b \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<strong> pip install bipwallet<\/strong>.<\/p>\n<pre><code class=\"python\">from bipwallet import wallet  # generate 12 word mnemonic seed seed = wallet.generate_mnemonic()  print(seed)<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0443, \u0442\u043e, \u0437\u043d\u0430\u044f \u0444\u0440\u0430\u0437\u0443, \u043c\u043e\u0436\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u0432\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u0448\u0435\u043b\u0435\u043a \u0432 blockhain.com:<\/p>\n<p>https:\/\/login.blockchain.com\/#\/recover<\/p>\n<figure class=\"float bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dc0\/c03\/202\/dc0c03202abe417ed613df27c1644023.JPG\" width=\"556\" height=\"344\"><figcaption><\/figcaption><\/figure>\n<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0443 seed \u0444\u0440\u0430\u0437\u0443 \u0434\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u0430.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u043e \u0432\u0441\u0435\u043c \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f \u0438 \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0430\u0439\u0442 https:\/\/iancoleman.io\/bip39\/ <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/138\/4e8\/828\/1384e88282bc9339997f980e9105d066.JPG\" width=\"1419\" height=\"577\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d4b\/b9b\/24d\/d4bb9b24d3a5a821cfae3f4adde7fded.JPG\" width=\"1724\" height=\"946\"><figcaption><\/figcaption><\/figure>\n<h2>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/h2>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0448 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 seed \u0444\u0440\u0430\u0437\u044b (12VeK1eRgPHRUikNLXq3Nuz99gS2S46QMD), \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0432\u0441\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0439. \u041c\u0435\u0442\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043c\u043d\u0435 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u043e\u043c:<\/p>\n<pre><code class=\"python\">from bipwallet.utils import *  def gen_address(index):     # \u041d\u0430\u0448\u0430 seed \u0444\u0440\u0430\u0437\u0430     seed = 'vivid area able second bicycle advance demand alpha flip stable drift route'      # \u041c\u0430\u0441\u0442\u0435\u0440 \u043a\u043b\u044e\u0447 \u0438\u0437 seed \u0444\u0440\u0430\u0437\u044b     master_key = HDPrivateKey.master_key_from_mnemonic(seed)      # Public key \u0438\u0437 \u043c\u0430\u0441\u0442\u0435\u0440 \u043a\u043b\u044e\u0447\u0430 \u043f\u043e \u043f\u0443\u0442\u0438 'm\/44\/0\/0\/0'     root_keys = HDKey.from_path(master_key, \"m\/44'\/0'\/0'\/0\")[-1].public_key.to_b58check()      # Extended public key     xpublic_key = str(root_keys, encoding=\"utf-8\")      # \u0410\u0434\u0440\u0435\u0441 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f index     address = Wallet.deserialize(xpublic_key, network='BTC').get_child(index, is_prime=False).to_address()      rootkeys_wif = HDKey.from_path(master_key, f\"m\/44'\/0'\/0'\/0\/{index}\")[-1]      # Extended private key     xprivatekey = str(rootkeys_wif.to_b58check(), encoding=\"utf-8\")      # Wallet import format     wif = Wallet.deserialize(xprivatekey, network='BTC').export_to_wif()      return address, str(wif, 'utf-8')  print(gen_address(0))<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0438 <strong>wif <\/strong>\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u043e\u043c\u0435\u0440\u0430. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u044d\u0442\u043e 999999999. <\/p>\n<p><strong>wif (Wallet import format)<\/strong> &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u043e\u0432 \u043a\u043b\u044e\u0447\u0430 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 Base58 + \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430. \u041e\u043d \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. <\/p>\n<p>\u042d\u0442\u043e \u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0438\u043c\u0435\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 seed \u0444\u0440\u0430\u0437\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c 1 \u043c\u043b\u0440\u0434 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d \u0441\u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e BTC. \u041f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 1 \u043c\u043b\u0440\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043d\u043e \u043d\u0430\u043c \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e seed \u0444\u0440\u0430\u0437 \u0438\u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u044e\u0437\u0435\u0440\u0443 \u043d\u043e\u0432\u0443\u044e \u0444\u0440\u0430\u0437\u0443, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u043f\u043b\u0430\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043a\u0438\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0432 \u043e\u0431\u0449\u0438\u0439 \u0432\u0430\u0448 \u043a\u043e\u0448\u0435\u043b\u0435\u043a, \u0430 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c.<\/p>\n<h2>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438:<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0433\u0434\u0430 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0432\u043e\u0439 \u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u0430\u043b\u0430\u043d\u0441 \u044d\u0442\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0441\u0430\u0439\u0442\u0443 Blockchain.com \u0434\u0430\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<pre><code class=\"python\">import requests  # \u0410\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f  wallet = '12VeK1eRgPHRUikNLXq3Nuz99gS2S46QMD' # wallet = gen_address(0)  url = f'https:\/\/blockchain.info\/rawaddr\/{wallet}' x = requests.get(url) wallet = x.json()  print('\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441:'+str(wallet['final_balance'])) print('\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438:'+str(wallet['txs']))  if wallet['total_received']==0:   print('\u0431\u0430\u043b\u0430\u043d\u0441 \u043f\u0443\u0441\u0442\u043e\u0439') <\/code><\/pre>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0443 \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043b\u043e\u0433\u0438\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. <\/p>\n<h2>\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438<\/h2>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u0434\u0430\u043b\u0438 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0438 \u0437\u043d\u0430\u0435\u043c \u0432\u0441\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u043d\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0436\u0435 \u0434\u0435\u043d\u044c\u0433\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0431\u0438\u0431\u043b\u043e\u0442\u0435\u043a\u043e\u0439 <strong>bit<\/strong>. \u0427\u0442\u043e\u0431\u044b \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<strong> pip install bit<\/strong>.<\/p>\n<pre><code class=\"python\">from bit import PrivateKey  # \u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u0437 wif my_key = PrivateKey(wif='L46ixenNSu8Bqk899ZrH8Y96t8DHqJ1ZyxzQBGFTbh38rLHLaPoY')  # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430 btc money=0.1  # \u041a\u043e\u0448\u0435\u043b\u0435\u043a \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u0434\u0435\u043d\u044c\u0433\u0438 wallet='17ya3bCpPioyPH8kAyFkEDBUqdjF6wwPxo'  # \u041a\u043e\u043c\u043c\u0438\u0441\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0443\u044e, \u0442\u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0435 \u043f\u0440\u0438\u043c\u0443\u0442 # \u0418 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043c\u043c\u0438\u0441\u0438\u044f, \u0442\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 fee=2000  # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 tx_hash = my_key.create_transaction([(wallet, money, 'usd')],fee=fee,absolute_fee=True)  print(tx_hash)<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e:<\/p>\n<p>0100000001fe64490fce5e85d5eb00865663a3d44f4108549fdb2840b086cfc781390d4a2d010000006a47304402202dc1496d28bb10d50d94d70870e2a79ea472c5960de8f7418bb30f9b96643efc02204691547c98edad3181a056bf6404601efe289200ba8e3073a2f5b7c0c7f4fec10121026516c551584b484ce3ca7bb71bbf24cce133bf40bdf4e2ce5a3936bc7e66a2abffffffff02e3020000000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac08f40200000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac00000000<\/p>\n<p>\u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u043e, \u043d\u043e \u0447\u0442\u043e \u0441 \u044d\u0442\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c? <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442 https:\/\/www.blockchain.com\/btc\/pushtx <\/p>\n<p>\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2ea\/d99\/8e0\/2ead998e0715eb38b242518fd833fda7.JPG\" width=\"1006\" height=\"440\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u0441\u0435 \u043b\u0438 \u0432\u0435\u0440\u043d\u043e \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 https:\/\/www.blockchain.com\/btc\/decode-tx<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/25f\/469\/d8c\/25f469d8c0ec42084eacee93b34b5758.JPG\" width=\"1253\" height=\"746\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a:<\/p>\n<pre><code class=\"python\">import requests  url = 'https:\/\/blockchain.info\/pushtx' tx='0100000001fe64490fce5e85d5eb00865663a3d44f4108549fdb2840b086cfc781390d4a2d010000006a47304402202dc1496d28bb10d50d94d70870e2a79ea472c5960de8f7418bb30f9b96643efc02204691547c98edad3181a056bf6404601efe289200ba8e3073a2f5b7c0c7f4fec10121026516c551584b484ce3ca7bb71bbf24cce133bf40bdf4e2ce5a3936bc7e66a2abffffffff02e3020000000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac08f40200000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac00000000' x = requests.post(url, data = {'tx':tx}) result = x.text  print(result)<\/code><\/pre>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043f\u043e\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442: <strong>Transaction Submitted<\/strong>. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0432 \u0441\u0435\u0442\u0438 \u0438 \u0434\u0435\u043d\u044c\u0433\u0438 \u0441\u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<h2>\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435<\/h2>\n<p>\u041d\u0443 \u0447\u0442\u043e\u0436, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432\u0441\u0435\u0433\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u0442\u0440\u043e\u043a, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u043a\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0435\u0433\u043e \u0431\u0430\u043b\u0430\u043d\u0441, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u044b \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439. <\/p>\n<p>\u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b BTC \u043e\u043f\u043b\u0430\u0442\u044b, \u044f \u043d\u0430\u043f\u0438\u0448\u0443 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0440\u043e\u043b\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0430 Blockchain.com, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043d\u0435\u043c \u0441\u0432\u043e\u0438 \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u044b \u0438 \u043e\u0442 \u0442\u0443\u0434\u0430 \u0436\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c. \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u043e\u0442\u0430 \u0431\u0443\u0434\u0443\u0442 \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u043e\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0442\u0443\u0442: <a href=\"https:\/\/t.me\/Blockchain_client_bot\" rel=\"noopener noreferrer nofollow\"><strong>https:\/\/t.me\/Blockchain_client_bot<\/strong><\/a><\/p>\n<p>\u0417\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043b \u043d\u0430 heroku, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0434\u0430\u0442\u044c)<\/p>\n<h3>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0431\u043e\u0442\u0430<\/h3>\n<h3>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/h3>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/588\/8ff\/c94\/5888ffc94776105b8803c1ec0e2d2b27.JPG\" width=\"485\" height=\"238\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0411\u0414 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b sqlite3 \u0438 \u0441\u043e\u0437\u0434\u0430\u043b \u043e\u0434\u043d\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439:<\/p>\n<pre><code class=\"python\">import sqlite3  conn = sqlite3.connect(\"my.db\")  # \u0438\u043b\u0438 :memory: \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 RAM cursor = conn.cursor() cursor.execute(\"CREATE TABLE users (chatid INTEGER , name TEXT, balance INTEGER, btc_wallet TEXT, wif TEXT, btc_sent TEXT, state INTEGER)\") conn.commit()<\/code><\/pre>\n<p>\u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 start \u043c\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430, wif \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0411\u0414:<\/p>\n<pre><code class=\"python\">sql = \"SELECT COUNT(*) FROM users \" cursor.execute(sql) user = cursor.fetchone()   address, wif= gen_address(user[0]+1) sql_insert = \"INSERT INTO users VALUES ({}, '{}', 0,'{}','{}','no',0)\".format(message.chat.id,                                                                            message.chat.first_name,address,wif)  cursor.execute(sql_insert) conn.commit()<\/code><\/pre>\n<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0430<\/h3>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/407\/943\/72b\/40794372bb70bc16968071bf4dca8fcf.JPG\" width=\"477\" height=\"444\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">if message.text == '? \u0412\u0430\u0448 \u0431\u0430\u043b\u0430\u043d\u0441':   url = f'https:\/\/blockchain.info\/rawaddr\/{data[3]}'   x = requests.get(url)   wallet = x.json()    await bot.send_message(message.chat.id, f'''? *\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441:* {format(wallet['final_balance'] \/ 100000000, '.9f')} BTC  *\u0412\u0441\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e:* {format(wallet['total_received'] \/ 100000000, '.9f')} BTC *\u0412\u0441\u0435\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e:* {format(wallet['total_sent'] \/ 100000000, '.9f')} BTC  https:\/\/www.blockchain.com\/ru\/btc\/address\/{data[3]}''', parse_mode= \"Markdown\")<\/code><\/pre>\n<h2>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c BTC<\/h2>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea0\/0b6\/dcf\/ea00b6dcf448e661912c3936f15f5b0e.JPG\" width=\"451\" height=\"642\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f qr-\u043a\u043e\u0434\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 qrcode \u0438 \u043d\u0430 \u0432\u0445\u043e\u0434 \u043f\u0435\u0440\u0435\u0434\u0430\u043b \u0440\u0430\u043d\u0435\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0438\u0437 \u0411\u0414.<\/p>\n<pre><code class=\"python\"> if message.text == '? \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c BTC':     img = qrcode.make(data[3])     img.save('qr.jpg')      await bot.send_message(message.chat.id, f'''? \u0412\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430: *{data[3]}*''', parse_mode= \"Markdown\")          await bot.send_photo(message.chat.id,photo=open('qr.jpg', 'rb'))<\/code><\/pre>\n<h3>\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c BTC<\/h3>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ccd\/9a8\/4b0\/ccd9a84b0d6c832d64f2b2302d2d2f63.JPG\" width=\"461\" height=\"325\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">try:     sum = float(message.text)     url = f'https:\/\/blockchain.info\/rawaddr\/{data[3]}'     x = requests.get(url)     wallet = x.json()     if sum + 10000 &amp;lt;= wallet['final_balance'] \/ 100000000:         try:             my_key = PrivateKey(wif=data[4])             # \u041a\u043e\u043c\u043c\u0438\u0441\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0443\u044e, \u0442\u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0435 \u043f\u0440\u0438\u043c\u0443\u0442             # \u0418 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043c\u043c\u0438\u0441\u0438\u044f, \u0442\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434             fee = 10000             # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438             tx_hash = my_key.create_transaction([(data[5], sum, 'btc')], fee=fee, absolute_fee=True)             print(tx_hash)             url = 'https:\/\/blockchain.info\/pushtx'             x = requests.post(url, data={'tx': tx_hash})             result = x.text             sql = \"UPDATE users SET state = {} WHERE chatid = {}\".format(0, message.chat.id)             cursor.execute(sql)             conn.commit()             await bot.send_message(message.chat.id, result)         except Exception:             await bot.send_message(message.chat.id, \"\u26a0 \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438\")     else:         await bot.send_message(message.chat.id, '\u26a0\ufe0f  \u041d\u0430 \u0432\u0430\u0448\u0435\u043c \u0431\u0430\u043b\u0430\u043d\u0441\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432.') except ValueError:     await bot.send_message(message.chat.id, '\u26a0\ufe0f\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0430 \u0441\u0443\u043c\u043c\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437') <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u0441\u0430\u0439\u0442, \u0447\u0442\u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e72\/826\/b2c\/e72826b2c00aca7f2d2fad2e63951bda.JPG\" width=\"917\" height=\"815\"><figcaption><\/figcaption><\/figure>\n<h2>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438 \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <\/h2>\n<p>\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u043e\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0442\u0443\u0442: <a href=\"https:\/\/github.com\/Lil-hack\/blockchain-client\" rel=\"noopener noreferrer nofollow\">github.com\/Lil-hack\/blockchain-client<\/a><\/p>\n<p>\u0421\u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b:<\/p>\n<p><strong>pip install&nbsp;-r&nbsp;requirements.txt<\/strong><\/p>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0430 windows, \u0442\u0430\u043a \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430 linux. <\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 <strong>main.py<\/strong> \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0432\u0430\u0448 <strong>\u0442\u043e\u043a\u0435\u043d \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c<\/strong> \u0431\u043e\u0442\u0430:<\/p>\n<pre><code># \u0412\u0430\u0448 \u0442\u043e\u043a\u0435\u043d \u043e\u0442 BotFather TOKEN = 'YOUR TOKEN'<\/code><\/pre>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 <strong>btc_core.py<\/strong> \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 \u0432\u0430\u0448\u0443 <strong>seed <\/strong>\u0444\u0440\u0430\u0437\u0443:<\/p>\n<pre><code># \u0412\u0430\u0448\u0430 seed \u0444\u0440\u0430\u0437\u0430 seed = 'YOUR SEED'<\/code><\/pre>\n<p>\u0418 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0431\u043e\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439: <strong>python main.py<\/strong><\/p>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 python 3.7.0 \u0438 \u0432\u044b\u0448\u0435. \u0411\u043e\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0437\u0430 \u043e\u0434\u0438\u043d \u0432\u0435\u0447\u0435\u0440, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u044c\u0431\u0430 \u0441\u0442\u0440\u043e\u0433\u043e \u043d\u0435 \u0441\u0443\u0434\u0438\u0442\u044c ^^<\/p>\n<h2>\u0418\u0442\u043e\u0433\u043e<\/h2>\n<p>\u041a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0432\u0441\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e, \u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u0442\u0440\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u043f\u043b\u0430\u0442\u0443 BTC \u0432 \u043b\u044e\u0431\u043e\u0439 python \u043f\u0440\u043e\u0435\u043a\u0442. \u042f \u043d\u0435 \u043f\u0440\u043e\u0444\u0438 \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0443\u0441\u0442\u0438\u043b, \u043d\u043e \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0430.<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/525638\/\"> https:\/\/habr.com\/ru\/post\/525638\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<h2>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f<\/h2>\n<p>\u041f\u043e\u043b\u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u0432\u0437\u044f\u043b\u0441\u044f \u0437\u0430 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u043f\u043b\u0430\u0442\u044b \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u043e\u043c. \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 python, \u0442\u043e \u0438 \u043e\u043f\u043b\u0430\u0442\u0443 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0436\u0435. \u0421\u0440\u0430\u0437\u0443 \u0436\u0435 \u0432\u0437\u044f\u043b\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 Rest API Blockchain.com. \u0421 \u0430\u043f\u0438 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 \u044f \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043b\u043e\u043c\u0430\u043b\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0445 \u0442\u043e\u043a\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u043f\u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u0440\u0435\u0448\u0438\u043b \u044e\u0437\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (block-io, bitcoinlib, blockchain \u0438 \u0434\u0440.) \u041f\u043e\u0441\u043b\u0435 \u043f\u0430\u0440\u0443 \u043d\u043e\u0447\u0435\u0439 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u043f\u043b\u0430\u0442\u0443, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 bitcoinlib, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430, \u0438 \u044f \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043b \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439. \u0411\u0435\u0434\u0430 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0435\u0440\u0432\u044b\u0435 100 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0432\u0441\u044f \u043e\u043f\u043b\u0430\u0442\u0430 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u0440\u0443\u0445\u043d\u0443\u043b\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u044f \u043a\u0440\u0438\u0432\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u044f\u043b \u0441 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u043e \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u043f\u043b\u0430\u0442\u044b \u0431\u044b\u043b\u0438 \u0431\u0435\u0437\u0443\u0441\u043f\u0435\u0448\u043d\u044b, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u0443\u043b\u044f\u0442\u044c \u0431\u0434\u0448\u043a\u0443, \u043d\u043e \u0438 \u0442\u0430\u043a \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u043e\u043d\u0430 \u043f\u0440\u043e\u0434\u0435\u0440\u0436\u0430\u043b\u0430\u0441\u044c. <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0431\u0435\u0437 BTC \u043e\u043f\u043b\u0430\u0442\u044b. \u042f \u043e\u043f\u0435\u0447\u0430\u043b\u0438\u043b\u0441\u044f \u0438 \u043d\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0441\u044f \u0441 \u043e\u043f\u043b\u0430\u0442\u043e\u0439 \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u043e\u043c \u043f\u043e\u043b\u0433\u043e\u0434\u0430.<\/p>\n<h2>\u041a \u0447\u0435\u043c\u0443 \u044f \u043f\u0440\u0438\u0448\u0435\u043b<\/h2>\n<p>\u041d\u0430 \u0434\u043d\u044f\u0445 \u044f \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0440\u0435\u0448\u0438\u043b \u0434\u043e\u0431\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u0441\u0435\u0431\u044f, \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u0435\u0449\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u043c\u043e\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u0412\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 <strong>seed <\/strong>\u0444\u0440\u0430\u0437\u044b. \u041c\u043d\u0435\u043c\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f&nbsp;\u0444\u0440\u0430\u0437\u0430&nbsp;(\u0430\u043d\u0433\u043b. Mnemonic phrase \u0438\u043b\u0438&nbsp;Seed \u0444\u0440\u0430\u0437\u0430) &#8212; \u044d\u0442\u043e \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442 \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0438\u0442\u043a\u043e\u0438\u043d-\u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0444\u0440\u0430\u0437 BIP 32, BIP 39, BIP 44, \u0438 \u0435\u0449\u0435 BIP 49. \u0421\u0430\u043c\u044b\u0439 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 &#8212; \u044d\u0442\u043e BIP 44 (12 \u0441\u043b\u043e\u0432). <\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 seed \u0444\u0440\u0430\u0437\u044b: <\/strong><\/p>\n<p>vivid area able second bicycle advance demand alpha flip stable drift route<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443<strong> bipwallet<\/strong>. \u0427\u0442\u043e\u0431\u044b \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<strong> pip install bipwallet<\/strong>.<\/p>\n<pre><code class=\"python\">from bipwallet import wallet  # generate 12 word mnemonic seed seed = wallet.generate_mnemonic()  print(seed)<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0443, \u0442\u043e, \u0437\u043d\u0430\u044f \u0444\u0440\u0430\u0437\u0443, \u043c\u043e\u0436\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u0432\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u0448\u0435\u043b\u0435\u043a \u0432 blockhain.com:<\/p>\n<p>https:\/\/login.blockchain.com\/#\/recover<\/p>\n<figure class=\"float bordered full-width\"><figcaption><\/figcaption><\/figure>\n<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0443 seed \u0444\u0440\u0430\u0437\u0443 \u0434\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u0430.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u043e \u0432\u0441\u0435\u043c \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f \u0438 \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0430\u0439\u0442 https:\/\/iancoleman.io\/bip39\/ <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<h2>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/h2>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0448 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u0411\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 seed \u0444\u0440\u0430\u0437\u044b (12VeK1eRgPHRUikNLXq3Nuz99gS2S46QMD), \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0432\u0441\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0439. \u041c\u0435\u0442\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043c\u043d\u0435 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u043e\u043c:<\/p>\n<pre><code class=\"python\">from bipwallet.utils import *  def gen_address(index):     # \u041d\u0430\u0448\u0430 seed \u0444\u0440\u0430\u0437\u0430     seed = 'vivid area able second bicycle advance demand alpha flip stable drift route'      # \u041c\u0430\u0441\u0442\u0435\u0440 \u043a\u043b\u044e\u0447 \u0438\u0437 seed \u0444\u0440\u0430\u0437\u044b     master_key = HDPrivateKey.master_key_from_mnemonic(seed)      # Public key \u0438\u0437 \u043c\u0430\u0441\u0442\u0435\u0440 \u043a\u043b\u044e\u0447\u0430 \u043f\u043e \u043f\u0443\u0442\u0438 'm\/44\/0\/0\/0'     root_keys = HDKey.from_path(master_key, \"m\/44'\/0'\/0'\/0\")[-1].public_key.to_b58check()      # Extended public key     xpublic_key = str(root_keys, encoding=\"utf-8\")      # \u0410\u0434\u0440\u0435\u0441 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f index     address = Wallet.deserialize(xpublic_key, network='BTC').get_child(index, is_prime=False).to_address()      rootkeys_wif = HDKey.from_path(master_key, f\"m\/44'\/0'\/0'\/0\/{index}\")[-1]      # Extended private key     xprivatekey = str(rootkeys_wif.to_b58check(), encoding=\"utf-8\")      # Wallet import format     wif = Wallet.deserialize(xprivatekey, network='BTC').export_to_wif()      return address, str(wif, 'utf-8')  print(gen_address(0))<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0438 <strong>wif <\/strong>\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u043e\u043c\u0435\u0440\u0430. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u044d\u0442\u043e 999999999. <\/p>\n<p><strong>wif (Wallet import format)<\/strong> &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u043e\u0432 \u043a\u043b\u044e\u0447\u0430 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443 Base58 + \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430. \u041e\u043d \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. <\/p>\n<p>\u042d\u0442\u043e \u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0438\u043c\u0435\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 seed \u0444\u0440\u0430\u0437\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c 1 \u043c\u043b\u0440\u0434 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d \u0441\u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u043e BTC. \u041f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 1 \u043c\u043b\u0440\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043d\u043e \u043d\u0430\u043c \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e seed \u0444\u0440\u0430\u0437 \u0438\u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u044e\u0437\u0435\u0440\u0443 \u043d\u043e\u0432\u0443\u044e \u0444\u0440\u0430\u0437\u0443, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u043f\u043b\u0430\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043a\u0438\u0434\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0432 \u043e\u0431\u0449\u0438\u0439 \u0432\u0430\u0448 \u043a\u043e\u0448\u0435\u043b\u0435\u043a, \u0430 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c.<\/p>\n<h2>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438:<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0433\u0434\u0430 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0432\u043e\u0439 \u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u0430\u043b\u0430\u043d\u0441 \u044d\u0442\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0441\u0430\u0439\u0442\u0443 Blockchain.com \u0434\u0430\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<pre><code class=\"python\">import requests  # \u0410\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f  wallet = '12VeK1eRgPHRUikNLXq3Nuz99gS2S46QMD' # wallet = gen_address(0)  url = f'https:\/\/blockchain.info\/rawaddr\/{wallet}' x = requests.get(url) wallet = x.json()  print('\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441:'+str(wallet['final_balance'])) print('\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438:'+str(wallet['txs']))  if wallet['total_received']==0:   print('\u0431\u0430\u043b\u0430\u043d\u0441 \u043f\u0443\u0441\u0442\u043e\u0439') <\/code><\/pre>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0443 \u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043b\u043e\u0433\u0438\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. <\/p>\n<h2>\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438<\/h2>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u0434\u0430\u043b\u0438 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0438 \u0437\u043d\u0430\u0435\u043c \u0432\u0441\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u043d\u043e \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0436\u0435 \u0434\u0435\u043d\u044c\u0433\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0431\u0438\u0431\u043b\u043e\u0442\u0435\u043a\u043e\u0439 <strong>bit<\/strong>. \u0427\u0442\u043e\u0431\u044b \u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<strong> pip install bit<\/strong>.<\/p>\n<pre><code class=\"python\">from bit import PrivateKey  # \u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u0437 wif my_key = PrivateKey(wif='L46ixenNSu8Bqk899ZrH8Y96t8DHqJ1ZyxzQBGFTbh38rLHLaPoY')  # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430 btc money=0.1  # \u041a\u043e\u0448\u0435\u043b\u0435\u043a \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u0434\u0435\u043d\u044c\u0433\u0438 wallet='17ya3bCpPioyPH8kAyFkEDBUqdjF6wwPxo'  # \u041a\u043e\u043c\u043c\u0438\u0441\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0443\u044e, \u0442\u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0435 \u043f\u0440\u0438\u043c\u0443\u0442 # \u0418 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043c\u043c\u0438\u0441\u0438\u044f, \u0442\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 fee=2000  # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 tx_hash = my_key.create_transaction([(wallet, money, 'usd')],fee=fee,absolute_fee=True)  print(tx_hash)<\/code><\/pre>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e:<\/p>\n<p>0100000001fe64490fce5e85d5eb00865663a3d44f4108549fdb2840b086cfc781390d4a2d010000006a47304402202dc1496d28bb10d50d94d70870e2a79ea472c5960de8f7418bb30f9b96643efc02204691547c98edad3181a056bf6404601efe289200ba8e3073a2f5b7c0c7f4fec10121026516c551584b484ce3ca7bb71bbf24cce133bf40bdf4e2ce5a3936bc7e66a2abffffffff02e3020000000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac08f40200000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac00000000<\/p>\n<p>\u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u043e, \u043d\u043e \u0447\u0442\u043e \u0441 \u044d\u0442\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c? <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442 https:\/\/www.blockchain.com\/btc\/pushtx <\/p>\n<p>\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u0441\u0435 \u043b\u0438 \u0432\u0435\u0440\u043d\u043e \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 https:\/\/www.blockchain.com\/btc\/decode-tx<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a:<\/p>\n<pre><code class=\"python\">import requests  url = 'https:\/\/blockchain.info\/pushtx' tx='0100000001fe64490fce5e85d5eb00865663a3d44f4108549fdb2840b086cfc781390d4a2d010000006a47304402202dc1496d28bb10d50d94d70870e2a79ea472c5960de8f7418bb30f9b96643efc02204691547c98edad3181a056bf6404601efe289200ba8e3073a2f5b7c0c7f4fec10121026516c551584b484ce3ca7bb71bbf24cce133bf40bdf4e2ce5a3936bc7e66a2abffffffff02e3020000000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac08f40200000000001976a9144c83a20250ccb62ce2b3b1ea80c6082b634fdf9f88ac00000000' x = requests.post(url, data = {'tx':tx}) result = x.text  print(result)<\/code><\/pre>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043f\u043e\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442: <strong>Transaction Submitted<\/strong>. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0432 \u0441\u0435\u0442\u0438 \u0438 \u0434\u0435\u043d\u044c\u0433\u0438 \u0441\u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<h2>\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435<\/h2>\n<p>\u041d\u0443 \u0447\u0442\u043e\u0436, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432\u0441\u0435\u0433\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u0442\u0440\u043e\u043a, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u0448\u0435\u043b\u043a\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0435\u0433\u043e \u0431\u0430\u043b\u0430\u043d\u0441, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u044b \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439. <\/p>\n<p>\u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b BTC \u043e\u043f\u043b\u0430\u0442\u044b, \u044f \u043d\u0430\u043f\u0438\u0448\u0443 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0440\u043e\u043b\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0430 Blockchain.com, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043d\u0435\u043c \u0441\u0432\u043e\u0438 \u0431\u0438\u0442\u043a\u043e\u0439\u043d\u044b \u0438 \u043e\u0442 \u0442\u0443\u0434\u0430 \u0436\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c. \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u043e\u0442\u0430 \u0431\u0443\u0434\u0443\u0442 \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u043e\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0442\u0443\u0442: <a href=\"https:\/\/t.me\/Blockchain_client_bot\" rel=\"noopener noreferrer nofollow\"><strong>https:\/\/t.me\/Blockchain_client_bot<\/strong><\/a><\/p>\n<p>\u0417\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043b \u043d\u0430 heroku, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0430\u0434\u0430\u0442\u044c)<\/p>\n<h3>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0431\u043e\u0442\u0430<\/h3>\n<h3>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/h3>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0411\u0414 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b sqlite3 \u0438 \u0441\u043e\u0437\u0434\u0430\u043b \u043e\u0434\u043d\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439:<\/p>\n<pre><code class=\"python\">import sqlite3  conn = sqlite3.connect(\"my.db\")  # \u0438\u043b\u0438 :memory: \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 RAM cursor = conn.cursor() cursor.execute(\"CREATE TABLE users (chatid INTEGER , name TEXT, balance INTEGER, btc_wallet TEXT, wif TEXT, btc_sent TEXT, state INTEGER)\") conn.commit()<\/code><\/pre>\n<p>\u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 start \u043c\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430, wif \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0411\u0414:<\/p>\n<pre><code class=\"python\">sql = \"SELECT COUNT(*) FROM users \" cursor.execute(sql) user = cursor.fetchone()   address, wif= gen_address(user[0]+1) sql_insert = \"INSERT INTO users VALUES ({}, '{}', 0,'{}','{}','no',0)\".format(message.chat.id,                                                                            message.chat.first_name,address,wif)  cursor.execute(sql_insert) conn.commit()<\/code><\/pre>\n<h3>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0430<\/h3>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">if message.text == '? \u0412\u0430\u0448 \u0431\u0430\u043b\u0430\u043d\u0441':   url = f'https:\/\/blockchain.info\/rawaddr\/{data[3]}'   x = requests.get(url)   wallet = x.json()    await bot.send_message(message.chat.id, f'''? *\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441:* {format(wallet['final_balance'] \/ 100000000, '.9f')} BTC  *\u0412\u0441\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e:* {format(wallet['total_received'] \/ 100000000, '.9f')} BTC *\u0412\u0441\u0435\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e:* {format(wallet['total_sent'] \/ 100000000, '.9f')} BTC  https:\/\/www.blockchain.com\/ru\/btc\/address\/{data[3]}''', parse_mode= \"Markdown\")<\/code><\/pre>\n<h2>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c BTC<\/h2>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f qr-\u043a\u043e\u0434\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 qrcode \u0438 \u043d\u0430 \u0432\u0445\u043e\u0434 \u043f\u0435\u0440\u0435\u0434\u0430\u043b \u0440\u0430\u043d\u0435\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0438\u0437 \u0411\u0414.<\/p>\n<pre><code class=\"python\"> if message.text == '? \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c BTC':     img = qrcode.make(data[3])     img.save('qr.jpg')      await bot.send_message(message.chat.id, f'''? \u0412\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 \u0431\u0438\u0442\u043a\u043e\u0439\u043d \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430: *{data[3]}*''', parse_mode= \"Markdown\")          await bot.send_photo(message.chat.id,photo=open('qr.jpg', 'rb'))<\/code><\/pre>\n<h3>\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c BTC<\/h3>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">try:     sum = float(message.text)     url = f'https:\/\/blockchain.info\/rawaddr\/{data[3]}'     x = requests.get(url)     wallet = x.json()     if sum + 10000 &amp;lt;= wallet['final_balance'] \/ 100000000:         try:             my_key = PrivateKey(wif=data[4])             # \u041a\u043e\u043c\u043c\u0438\u0441\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, <\/code><\/pre>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-312591","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=312591"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312591\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}