**Генератор/перевірка криптовалютного гаманця.**
**Генератор/перевірка криптовалютного гаманця.**
*Zedx3-4 хвилини 12.09.2022*
Привіт всім. Продовжуємо дискусію про блокчейн і криптовалюти.
Оскільки це не конкурс статей, я надам лише найнеобхідніше:
Доступ до облікового запису/криптовалютного гаманця надається через 256-бітний закритий ключ. Для зручності користувачів був розроблений стандарт BIP39, що представляє собою набір слів (від 12 до 24), які легко запам'ятовуються, відомі як мнемонічна фраза або початкова фраза. Він описує метод представлення закритого ключа в цій мнемонічній фразі. Оскільки приватний ключ є впорядкованим рядком із 256 біт, слова фрази мають бути в певному порядку. У словнику є 2048 слів для генерації початкової фрази.
Щоб отримати доступ до свого гаманця, вам потрібна правильно складена початкова фраза. Імовірність вгадати правильну фразу для наявного гаманця вкрай низька через величезну кількість можливостей. Тим не менш, кожен може спробувати це. Можливо, маючи величезні ресурси, хтось виграє цю лотерею.
Цей шаблон генерує вихідні фрази та, отже, адреси для Bitcoin (BTC) та Ethereum (ETH). Для цього ми будемо використовувати бібліотеки NBitcoin і Nethereum відповідно. Уся магія відбувається в загальному коді, тому сам шаблон має мінімалістичний дизайн. Якщо необхідно, його можна змінити для інших монет, змінивши шлях виведення, де вказано ідентифікатор монети. Для початкової фрази ви можете вибрати мову ключових слів, а також кількість слів у фразі (12-24).
*Після генерації початкової фрази ми отримуємо з неї адресу (спосіб отримання заданої кількості адрес із початкової фрази розміщено в окремому блоці). Для BTC ви можете отримати адресу в 4 різних форматах - Bech32, P2SH, P2PKH стиснутий, P2PKH нестиснутий.*
За замовчуванням для мережі Ethereum вибрано Ethereum Mainnet. Щоб змінити мережу на будь-яку іншу в EVM, вам потрібно змінити ідентифікатор ланцюга та адресу сервера RPC у налаштуваннях. Наприклад, для основної мережі Binance Smart Chain: ChainID = 56 і RPC URL = https://bsc-dataseed.binance.org/
Дані для інших мереж можна знайти тут: https://chainlist.org/
*На останньому етапі ми перевіряємо баланси наших адрес. Для Bitcoin отримання балансу трохи складніше, ніж для мережі Ethereum, і є сумою всіх завершених транзакцій. Тому для цього ми будемо використовувати API блокчейну - QBit Ninja та його бібліотеку. Якщо вам цікаво, ви можете ознайомитися з його документацією та методами за посиланням: https://api.qbit.ninja/*
*Збережіть результат у файлі – і все!* Хоча, як згадувалося, для цього потрібні значні ресурси або велика удача. Проте я сподіваюся, що цей шаблон буде корисним для обмірковування реалізації ваших ідей.
*У папці шаблону знаходиться папка DLL. Вміст цієї папки потрібно розмістити за таким шляхом (може відрізнятися залежно від вашої версії ZennoPoster): C:\Program Files\ZennoLab\EN\ZennoPoster Pro V7\7.x.x.x\Progs\ExternalAssemblies*
**Cryptocurrency Wallet Generator/Checker.**
*Zedx3-4 minutes 12.09.2022*
Hello, everyone. Continuing the discussion on blockchain and cryptocurrencies.
As this isn't an article competition, I'll provide only the essentials:
Access to an account/cryptocurrency wallet is granted through a 256-bit private key. For user convenience, the BIP39 standard was developed, representing a set of words (from 12 to 24) easy to remember, known as a mnemonic phrase or seed phrase. It describes the method of representing the private key in this mnemonic phrase. Since the private key is an ordered string of 256 bits, the words of the phrase must be in a specific order. There are 2048 words in the dictionary for generating a seed phrase.
To access your wallet, you need a correctly composed seed phrase. The probability of guessing the correct phrase for an existing wallet is extremely low due to the enormous number of possibilities. Nevertheless, anyone is free to attempt it. Perhaps, with immense resources, someone will win this lottery.
This template generates seed phrases, and consequently, addresses for Bitcoin (BTC) and Ethereum (ETH). For this purpose, we will use the NBitcoin and Nethereum libraries, respectively. All the magic happens in the common code, so the template itself has a minimalist design. If necessary, it can be modified for other coins by changing the derivation path, where the coin's id is specified. For the seed phrase, you can choose the language of keywords, as well as the number of words in the phrase (12-24).
*After generating the seed phrase, we get an address from it (a method for obtaining a specified number of addresses from a seed phrase is placed in a separate block). For BTC, you can get an address in 4 different formats - Bech32, P2SH, P2PKH compressed, P2PKH uncompressed.*
By default, Ethereum Mainnet is selected for the Ethereum network. To change the network to any other within the EVM, you need to change the Chain ID and RPC Server Address in the settings. For example, for the Binance Smart Chain Mainnet: ChainID = 56, and RPC URL = https://bsc-dataseed.binance.org/
Data for other networks can be found here: https://chainlist.org/
*At the last stage, we verify the balances of our addresses. For Bitcoin, obtaining the balance is a bit more complicated than for the Ethereum network and is the sum of all completed transactions. Therefore, for this, we will use the blockchain API - QBit Ninja and its library. If you are interested, you can familiarize yourself with its documentation and methods at the following link: https://api.qbit.ninja/*
*Save the result to a file – that's it!* Although, as mentioned, this requires significant resources or great luck. However, I hope that this template will be useful for contemplating the implementation of your ideas.
*In the template folder, there is a DLL folder. The contents of this folder need to be placed in the following path (may vary depending on your version of ZennoPoster): C:\Program Files\ZennoLab\EN\ZennoPoster Pro V7\7.x.x.x\Progs\ExternalAssemblies*