Mining Pool на Java. Кодим распределенный биткойн-майнер - «Новости»
«Эпический» сериал Netflix по Assassin’s Creed впервые за несколько лет подал признаки жизни - «Новости сети»
«Эпический» сериал Netflix по Assassin’s Creed впервые за несколько лет подал признаки жизни - «Новости сети»
«Хуже моего самого страшного кошмара»: утечка геймплея с тестирования новой The Sims ужаснула фанатов - «Новости сети»
«Хуже моего самого страшного кошмара»: утечка геймплея с тестирования новой The Sims ужаснула фанатов - «Новости сети»
Самые полные издания Borderlands 3 и Diablo III добавят в Game Pass, а лучшая игра 2024 года по версии 3DNews подписку скоро покинет - «Новости сети»
Самые полные издания Borderlands 3 и Diablo III добавят в Game Pass, а лучшая игра 2024 года по версии 3DNews подписку скоро покинет - «Новости сети»
Amazon включилась в борьбу за американский бизнес TikTok - «Новости сети»
Amazon включилась в борьбу за американский бизнес TikTok - «Новости сети»
«Яндекс» представил «Нейроэксперта» — ИИ, который соберёт базу знаний по ссылкам и файлам пользователя - «Новости сети»
«Яндекс» представил «Нейроэксперта» — ИИ, который соберёт базу знаний по ссылкам и файлам пользователя - «Новости сети»
ZA/UM отреагировала на утечку «одиночной кооперативной игры» Locust City во вселенной Disco Elysium - «Новости сети»
ZA/UM отреагировала на утечку «одиночной кооперативной игры» Locust City во вселенной Disco Elysium - «Новости сети»
GTA V вернётся в Game Pass, причём совсем скоро — впервые игра будет доступна в PC Game Pass - «Новости сети»
GTA V вернётся в Game Pass, причём совсем скоро — впервые игра будет доступна в PC Game Pass - «Новости сети»
Обзор системы резервного копирования и восстановления данных «Кибер Бэкап Малый Бизнес» - «Новости сети»
Обзор системы резервного копирования и восстановления данных «Кибер Бэкап Малый Бизнес» - «Новости сети»
Nintendo создала гибридный эмулятор Switch, но работать он будет только на Switch 2 - «Новости сети»
Nintendo создала гибридный эмулятор Switch, но работать он будет только на Switch 2 - «Новости сети»
Лавкрафтианский хоррор Stygian: Outer Gods готовится к старту открытой «беты» — новый геймплейный трейлер - «Новости сети»
Лавкрафтианский хоррор Stygian: Outer Gods готовится к старту открытой «беты» — новый геймплейный трейлер - «Новости сети»
Новости мира Интернет » Новости » Mining Pool на Java. Кодим распределенный биткойн-майнер - «Новости»
Падение?курса Bitcoin привело к тому, что даже в нашей холодной стране с дешевым электричеством майнить стало значительно менее выгодно. Что остается делать энтузиастам криптовалют? Особо предприимчивые стали привлекать к расчетам чужие компьютеры и, так сказать, переходить к распределенным вычислениям.

Выбираем валюту и готовим инструментарий


В качестве криптовалюты мы выбрали биткойны — из-за их высокой стоимости и относительно хорошей документации. Так как биткойн-сеть не имеет централизованного хранилища?данных, чтобы с ней работать, нам понадобятся средства синхронизации с другими узлами сети. К счастью, есть готовое решение — пакет программ Bitcoin Core. Синхронизация с живой сетью занимает очень много времени и места на диске, поэтому для начала разработки и тестирования лучше?использовать тестовую сеть testnet, которую периодически очищают от информации о транзакциях. Запускаем UI-приложение Bitcoin Core (testnet) и ждем, пока закончится синхронизация. В дальнейшем для работы будем пользоваться консольным сервисом bitcoind.


Для общения с bitcoind используется протокол JSON-RPC. Это очень простой протокол поверх HTTP, позволяющий вызывать методы сервера, используя JSON, чтобы задавать имя метода и?параметры.


По умолчанию в целях безопасности возможность подключения к bitcoind отключена. Чтобы ее включить, нужно создать файл bitcoin.conf в каталоге Windows: %APPDATA%Bitcoin (например, C:UsersusernameAppDataRoamingBitcoinbitcoin.conf) или Linux: $HOME/.bitcoin/ (например, /home/username/.bitcoin/bitcoin.conf). Готовый файл можно взять с GitHub. Находим в нем и редактируем следующие параметры:


## Говорим серверу использовать тестовую сеть, а не настоящую
testnet=1
## Имя пользователя и?пароль, конечно же, нужно поменять на сложные
rpcuser=rpcuser
rpcpassword=rpcpassword
[/code]




Ты хотел бы сделать свой пул для майнинга?

Да, с блокчейном и шлюзами!
Лучше я поищу чужие с дефолтными паролями
Нет, хватит уже распределенных обогревателей



Mining Pool на Java. Кодим распределенный биткойн-майнер - «Новости»
Загрузка ...


Чтобы проверить настройки, можно воспользоваться готовым клиентом bitcoin-cli. Например, выполнив команду getinfo (предварительно запустив bitcoind). Подробное описание всех команд можно посмотреть тут.



Наш JSON-RPC-клиент напишем, используя фреймворк Vert.x, потому что он простой, код занимает мало места и в нем реализованы все?необходимые нам функции.


Итак, создаем HTTP-клиент. Bitcoind использует базовую аутентификацию, поэтому конвертируем в Base64 строку с логином и паролем.


client = vertx.createHttpClient();
requestOptions = new RequestOptions()
.setHost(host)
.setPort(port)
.setURI("/");
base64Key = Base64.getEncoder().encodeToString((user + ':' + password).getBytes());

Пишем простой метод для вызова методов bitcoind. Будем передавать в него команду в JSON-формате и handler, чтобы реагировать на полученный ответ от сервера.


private void executeRpc(String command, final Handler<Buffer> handler) {
client
.post(requestOptions, result &rarr; {
if (result.statusCode() == 200) {
result.bodyHandler(handler);
 else {
System.out.println("Failed do post because " + result.statusMessage());

)
.putHeader(HttpHeaders.CONTENT_TYPE, "application/json")
.putHeader(HttpHeaders.AUTHORIZATION, "Basic " + base64Key)
.putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(command.length()))
.write(command)
.end();


Основные команды, которые нам понадобятся, — это получить работу и?отправить работу. Но прежде чем приступать к их реализации, рассмотрим подробнее процесс майнинга. Как известно, биткойн базируется на цепочке блоков, в которых хранится информация обо всех транзакциях. Каждый блок состоит из заголовка и списка?транзакций. Задача майнера — получить хеш заголовка блока, значение которого меньше заданного. За это он вознаграждается некоторой суммой криптоденег.


Заголовок состоит из нескольких полей:


Источник новостиgoogle.com
Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

Падение?курса Bitcoin привело к тому, что даже в нашей холодной стране с дешевым электричеством майнить стало значительно менее выгодно. Что остается делать энтузиастам криптовалют? Особо предприимчивые стали привлекать к расчетам чужие компьютеры и, так сказать, переходить к распределенным вычислениям. Выбираем валюту и готовим инструментарий В качестве криптовалюты мы выбрали биткойны — из-за их высокой стоимости и относительно хорошей документации. Так как биткойн-сеть не имеет централизованного хранилища?данных, чтобы с ней работать, нам понадобятся средства синхронизации с другими узлами сети. К счастью, есть готовое решение — пакет программ Bitcoin Core. Синхронизация с живой сетью занимает очень много времени и места на диске, поэтому для начала разработки и тестирования лучше?использовать тестовую сеть testnet, которую периодически очищают от информации о транзакциях. Запускаем UI-приложение Bitcoin Core (testnet) и ждем, пока закончится синхронизация. В дальнейшем для работы будем пользоваться консольным сервисом bitcoind. Для общения с bitcoind используется протокол JSON-RPC. Это очень простой протокол поверх HTTP, позволяющий вызывать методы сервера, используя JSON, чтобы задавать имя метода и?параметры. По умолчанию в целях безопасности возможность подключения к bitcoind отключена. Чтобы ее включить, нужно создать файл bitcoin.conf в каталоге Windows: %APPDATA%Bitcoin (например, C:UsersusernameAppDataRoamingBitcoinbitcoin.conf) или Linux: $HOME/.bitcoin/ (например, /home/username/.bitcoin/bitcoin.conf). Готовый файл можно взять с GitHub. Находим в нем и редактируем следующие параметры: Ты хотел бы сделать свой пул для майнинга? Да, с блокчейном и шлюзами! Лучше я поищу чужие с дефолтными паролями Нет, хватит уже распределенных обогревателей Загрузка . Чтобы проверить настройки, можно воспользоваться готовым клиентом bitcoin-cli. Например, выполнив команду getinfo (предварительно запустив bitcoind). Подробное описание всех команд можно посмотреть тут. Наш JSON-RPC-клиент напишем, используя фреймворк Vert.x, потому что он простой, код занимает мало места и в нем реализованы все?необходимые нам функции. Итак, создаем HTTP-клиент. Bitcoind использует базовую аутентификацию, поэтому конвертируем в Base64 строку с логином и паролем. Пишем простой метод для вызова методов bitcoind. Будем передавать в него команду в JSON-формате и handler, чтобы реагировать на полученный ответ от сервера. Основные команды, которые нам понадобятся, — это получить работу и?отправить работу. Но прежде чем приступать к их реализации, рассмотрим подробнее процесс майнинга. Как известно, биткойн базируется на цепочке блоков, в которых хранится информация обо всех транзакциях. Каждый блок состоит из заголовка и списка?транзакций. Задача майнера — получить хеш заголовка блока, значение которого меньше заданного. За это он вознаграждается некоторой суммой криптоденег. Заголовок состоит из нескольких полей: Источник новости - google.com

Смотрите также

А что там на главной? )))



Комментарии )))