Всем привет. Продолжаю тему блокчейна и криптовалют.
Т.к. это не конкурс статей, то теории будет очень мало, самые основы:
Доступом к учётной записи/криптокошельку является 256 битный приватный ключ. Для удобства пользователей был разработан стандарт
BIP39, представляющий набор из слов (от 12 до 24) удобный для запоминания, известный как
мнемоническая фраза, или
seed-фраза, и описывает способ представления приватного ключа в эту мнемоническую фразу. Поскольку приватный ключ это упорядоченная строка из 256 битов, то и слова фразы должны быть строго в определённом порядке. В словаре для генерации seed-фразы существует
2048 слов.
Таким образом для доступа к своему кошельку нужна лишь правильно составленная seed-фраза. Вероятность подобрать нужную фразу к уже существующему кошельку крайне мала, в силу огромного количества вариантов. Однако никто не мешает попробовать это сделать. Возможно, имея огромные ресурсы, кто-то и выиграет в эту лотерею.
Данный шаблон генерирует seed-фразы, а из них соответственно адреса для
Bitcoin (BTC) и
Ethereum(ETH). Для этого будем использовать библиотеки
NBitcoin и
Nethereum соответственно. Вся магия происходит в общем коде, поэтому сам шаблон имеет довольно минималистичное исполнение. При необходимости можно доработать под другие монеты, изменив
derivation path, в котором прописан id монеты. Для seed-фразы можно выбрать язык ключевых слов, а также количество слов во фразе (12-24).
Посмотреть вложение 97122
Посмотреть вложение 97123
После того как сгенерировали seed-фразу, получаем из неё адрес (в отдельный кубик вынесен метод получения заданного количества адресов из seed-фразы). Для BTC можно получить адрес в 4‑х разных форматах -
Bech32,
P2SH,
P2PKH compressed,
P2PKH uncompressed.
По умолчанию для эфирной сети выбран Ethereum Mainnet, чтобы поменять сеть на любую другую (в пределах EVM) необходимо в настройках изменить Chain ID и RPC Server Address. Например, для сети
Binance Smart Chain Mainnet: ChainID = 56, a
RPC url = https://bsc-dataseed.binance.org/
Данные по другим сетям можно найти тут:
https://chainlist.org/
Посмотреть вложение 97121
На последнем этапе проверяем баланс своих адресов. Для биткоина получения баланса немного сложнее, чем для эфирной сети и складывается из суммы всех совершённых операций, поэтому для этого будем использовать blockchain API - QBit Ninja и его библиотеку. Кому интересно, можно ознакомиться с его документацией и методами по ссылке:
https://api.qbit.ninja/
Сохраняем результат в файл – профит. Хотя, как и было сказано, для этого необходимы огромные ресурсы или большое везение. Однако надеюсь, что данный шаблон будет полезен в плане размышлений для реализации своих идей.
В папке шаблона находится папка dll, содержимое которой необходимо поместить по следующему пути (может отличаться в зависимости от вашей версии ZennoPoster): C:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.x.x.x\Progs\ExternalAssemblies