Bitcoin Forum
November 14, 2024, 10:09:45 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Помогите с написанием майнера (C#)  (Read 4948 times)
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 07:00:24 AM
 #1

Здравствуйте. Поиск по форуму и гугление ничего не дали, поэтому решил создать этот топик. О Bitcoin знаю давно, всегда слежу за последними новостями, но с недавнего времени стал на теории изучать принципы его работы. И теперь я поставил перед собой задачу, написать свой простенький майнер, пусть он будет и не производительным, хочу на практике разобраться в принципах его работы. Но не знаю с чего начать. Как подключиться к сети, как получить текущую сложность, последний найденный блок и т.д. Я не знаю с чего начать и в какую сторону идти. Обязательно ли должен стоять биткоин кошелек и связываться через него? или можно обойтись и без него. Поделитесь кто что знает, буду очень признателен.
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 08:18:57 AM
 #2

Ну что? никто не знает? может поделитесь любыми исходниками? библиотеки? любая инфа, как подключиться к сети биткоин, адреса, порты.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2015, 08:38:58 AM
 #3

Нууу.... Тут две подзадачи в одной задаче.

1) Подключиться к сети, скачать блокчейн, получать чужие транзакции.
2) Сформировать блок из транзакций (чужие + coinbase себе), подсчитать merkle hash, сформировать blockheader, потом в цикле от 0 до 4миллиардов перебрать все возможные nonce, пересчитать sha256d (header), если не найдется нужный хеш - начать заново

начать с изучения технических статей на bitcoin.it
потом желание делать это на C# само пропадёт
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 08:54:12 AM
 #4

Нууу.... Тут две подзадачи в одной задаче.
1) Подключиться к сети, скачать блокчейн, получать чужие транзакции.
Вот этот пункт меня и интересует на данный момент, как происходят транзакции и формируются блоки более менее понятно. Сейчас передо мной задача именно подключения к сети.
Какие могут быть варианты?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2015, 09:10:28 AM
 #5

Quote
Вот этот пункт меня и интересует на данный момент, как происходят транзакции и формируются блоки более менее понятно. Сейчас передо мной задача именно подключения к сети.
Какие могут быть варианты?

Хардкодишь или записываешь в файл конфигурации десяток (сотню?) IP-адресов например отсюда
https://blockchain.info/connected-nodes
открываешь сокетное соединение по порту 8333
ну и дальше обмениваешься пакетами по протоколу, описанному вот тут:
https://en.bitcoin.it/wiki/Protocol_specification

Полезно будет поставить WireShark и внимательно посмотреть как работает Bitcoin Core Client
Там ничего сложного нет.

Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 09:42:10 AM
 #6

Спасибо за толчек Smiley
еще один вопрос, кошелек нужно ставить или можно обойтись без него?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2015, 09:45:58 AM
 #7

Спасибо за толчек Smiley
еще один вопрос, кошелек нужно ставить или можно обойтись без него?

Ну, вообще-то лучше поставить.
Тогда сможешь свою софтину коннектить не к какому-то далекому IP-адресу, а к 127.0.0.1:8333
Ну и база блоков в актуальном состоянии для майнера - это "маст хэв"

ЗЫ. Можно с тестнета начать.
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 09:49:23 AM
 #8

А можно по подробнее о тестнет-е?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2015, 10:01:22 AM
 #9

А можно по подробнее об тестнет?

Блин, ну ты совсем нуп.
Кроме основной сети биткойна есть еще тестнет - тестовая сеть.
Если запустить клиента с параметром -testnet , то он соответственно законнектится к тестовой сети
Тестовая сеть имеет непринципиальные различия с основной сетью и предназначена именно для различных экспериментов
Тестовые койны принципиально не меняются ни на какую-другую валюту, их несложно раздобыть
В чем будет твоя выгода от использования тестовой сети:
1) блокчейн гораздо меньше - не 30 гигабайт, а один (точно не знаю сколько там)
2) сложность тестовой сети меньше - есть даже шанс что твой майнер сможет (если повезет) тебе тестовый блок смайнить

Короче, читай мануалы пока и разбирайся. Тут даже конкретных советов тебе трудно дать - куда ни ткнёшь - всё ты не знаешь.
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 10:06:42 AM
 #10

Спс Smiley иду копать дальше Grin
A-Bolt
Legendary
*
Offline Offline

Activity: 2335
Merit: 2384


View Profile
March 02, 2015, 10:17:17 AM
 #11

Ну что? никто не знает? может поделитесь любыми исходниками? библиотеки? любая инфа, как подключиться к сети биткоин, адреса, порты.

https://aois.blob.core.windows.net/public/Blockchain%20Programming%20in%20CSharp.pdf
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 02, 2015, 10:56:00 AM
 #12

Ну что? никто не знает? может поделитесь любыми исходниками? библиотеки? любая инфа, как подключиться к сети биткоин, адреса, порты.

https://aois.blob.core.windows.net/public/Blockchain%20Programming%20in%20CSharp.pdf

Спасибо за ссылку
Rabinovitch
Legendary
*
Offline Offline

Activity: 2030
Merit: 1076


A humble Siberian miner


View Profile
March 05, 2015, 07:20:19 AM
 #13

К вашей удаче, на Земле существует человек, описавший это всё в подробностях:

http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html

И даже описавший майнинг вручную, для большего погружения интересующихся в прроцесс: http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html

From Siberia with love!
Fundraising for BOINC Farm
yo-blin
Legendary
*
Offline Offline

Activity: 2296
Merit: 1057



View Profile
March 10, 2015, 06:41:04 AM
 #14

https://github.com/lithander/Minimal-Bitcoin-Miner

                __mmW████████mms_
            ,gW███████████████████Ws_
          gW█████████████████████████Ws.
        g███████████████████████████████s
      ,W█████████████████████████████████W.
     i████~*█████████████████████████A~████s
    i█████  '*█████████████████████A`  █████s
   ,██████    'M█████████████████A~    ██████i
   d██████      'M█████████████A~      ██████W
   ███████        'M█████████A~        ███████.
   ███████          'M█████A~          ███████[
   ███████     W_     'M█Af     ,W     ███████[
   ███████     ██W_     ~     ,W██     ███████`
   Y██████     ████W_       ,W████     ██████A
   '▀▀▀▀▀▀     ██████W.   ,m██████     ▀▀▀▀▀▀`
               ████████W_m████████
               ███████████████████.
      V███████████████████████████████████f
       '*███████████████████████████████A`
         '*███████████████████████████*`
            ~*█████████████████████*f`
               ~~*█████████████*f~
                      ~~~~~
..........

Monero (XMR)
ДОБРО ПОЖАЛОВАТЬ В РУССКОЯЗЫЧНОЕ СООБЩЕСТВО
.форум..telegram..youtube.
..........

.DON'T BUY MONERO,.
.IT'S BAD FOR BANKS...

Sign for rent, СОБИРАЮ МЕRIT! Smiley

NVC: 4YoBLincaRdAEG4v8tbZ4T26ZnKbT9SBsu
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 10, 2015, 06:48:38 AM
 #15

Rabinovitch и yo-blin огромное Вам спасибо за информацию
Digor (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
March 10, 2015, 02:19:23 PM
 #16


1) Подключиться к сети


Может подскажете как подключиться к сети? Куда нужно обратиться чтоб получить блокчейн? Хочу разобраться именно в соло майнинге. Насколько я понимаю в таком случае обязательно нужен кошелек переведенный в режим сервера и уже к нему подключаться, если это не так, укажите верную дорогу Grin
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 10, 2015, 03:08:02 PM
 #17

Quote
Может подскажете как подключиться к сети?

Я кажется ответил уже выше, не?

Хардкодишь или записываешь в файл конфигурации десяток (сотню?) IP-адресов например отсюда
https://blockchain.info/connected-nodes
открываешь сокетное соединение по порту 8333
ну и дальше обмениваешься пакетами по протоколу, описанному вот тут:
https://en.bitcoin.it/wiki/Protocol_specification

Полезно будет поставить WireShark и внимательно посмотреть как работает Bitcoin Core Client
Там ничего сложного нет.

Quote
Куда нужно обратиться чтоб получить блокчейн?
К одному из узлов сети. К любому.

 
Quote
Хочу разобраться именно в соло майнинге. Насколько я понимаю в таком случае обязательно нужен кошелек переведенный в режим сервера и уже к нему подключаться, если это не так, укажите верную дорогу Grin
Тебе нужна база блоков, а не кошелёк.
Но самый простой способ получить базу блоков - да, взять Bitcoin Core Client и выкачать её и сети
crazynetwork
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
December 23, 2016, 01:48:14 PM
 #18

Всем привет. Может кто знает где почитать подобную инфу про ZCASH или Ethereum ?
1. Куда конектиться
2. Какой ответ должен прийти (скорее всего json)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!