Orodha ya maudhui:
Video: ESP8266 Bitcoin Miner: 3 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Pamoja na bei ya Bitcoin kuendelea kupanda na kwa aina kadhaa za ESP8266 siku zote zimeingia lakini sio kufanya sana nilifikiri kwanini usijaribu kutekeleza Solo Bitcoin Miner. Baada ya kujaribu kidogo nikapata ESP8266 hadi ~ 1200 hashes / sec na mnamo Desemba 2017 mtandao wa Bitcoin ulikuwa ukifanya karibu 12, 000, 000 tera hashes kwa sekunde (unaweza kuangalia blockchaininfo kwa nambari za hivi karibuni).
Kwa hivyo kulingana na nambari hizo tutakuwa na nafasi 1 kwa 1e16 ya kufanikiwa kuchimba kizuizi kila dakika kumi ambapo kizuizi kwa sasa kina thamani ya $ 212, 000. Hakika ni kama kununua tikiti ya lotto, tu na nafasi ndogo sana ya kushinda, lakini unajua msemo wa zamani, lazima mtu kushinda. Pamoja na miradi ya Gate Mate na Super Squirter ESP8266 mara nyingi haifanyi kazi yoyote, wameingizwa tu na kusubiri ombi au pembejeo, kwa nini usiweke kwa hiyo na labda ushinde pesa. Hatua ya kwanza ilikuwa kujaribu kujua ikiwa inawezekana kufanya SHA256 mara mbili kwenye Blockheader kwenye ESP8266. Katika ulimwengu wa Bitcoin 'hash' ni SHA256 mara mbili, lakini tutaiita tu kama hash. Wakati wowote baada ya kuzunguka kidogo nikapata kurasa hizi mbili ambazo zilitoa habari zote zinazohitajika kupata hashing.
1. Zuia Hashing algorithm
2. Uchimbaji wa Bitcoin kwa njia ngumu: algorithms, itifaki na ka
Ni muhimu kutambua kwamba itifaki ya kupata kazi, kama ilivyoelezewa kwenye viungo hapo juu, imekataliwa. Imebadilishwa na itifaki ya getblocktemplate ambayo inafanya kuwa ngumu zaidi kujenga kichwa cha kuzuia, haswa lazima ujenge mzizi wako wa merkle. Kwa ujanja wote nitty angalia getblocktemplate wiki.
Hatua ya 1: Algorithm
Wacha tuingie ndani, nambari ya ESP8266 iko kwenye repoti ya ESP8266BitcoinMiner GitHub. Sitabadilisha habari zote kutoka kwa viungo hapo juu lakini nionyeshe tu alama kuu.
char header_hex = "0100000081cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a308000000000000e320b6c2fffc8d750423db8b1eb942ae710e951ed797f7affc8892b0f1fc122bc7f5d74df2b9441a42a14695";
char header_hex ni kichwa cha vizuizi na imejengwa kutoka kwa sehemu sita, Toleo, hashPrevBlock, hashMerkleRoot, Muda, Bits na Nonce zote zimekusanywa pamoja kama maadili kidogo ya endian katika nukuu ya hex. Hiyo ilinakiliwa tu kutoka kwa kiunga hapo juu lakini katika mchimbaji kamili kabisa utapokea kila uwanja huo kwa kitu cha json na kisha utalazimika kutatua uvumilivu na kuiweka juu ya nzi kila dakika 10.
uint8_t * hex_decode (const char * in, size_t len, uint8_t * out) {
unsigned int i, mg, ng, rg; kwa (mg = 0, i = 0; i '9'? katika - 'a' + 10: in - '0'; rg = in [i + 1]> '9'? in [i + 1] - 'a' + 10: in [i + 1] - '0'; nje [mg] = (ng << 4) | rg;} kurudi nje;}
hex_decode inachukua kichwa cha kichwa_hex, ambacho kina wahusika wa hexadecimal ascii, na hujaza hashtby_t uht8_t [80] na maadili yao ya baiti tayari kwa hasher ya SHA256.
utupu hash () {
hex_decode (kichwa_hex, strlen (kichwa_hex), hashbytes); kuanza kusainiwa kwa muda mrefu = micros (); hasher.doUpdate (hashbytes, sizeof (hashbytes)); baiti hashi [SHA256_SIZE]; hasher.do Mwisho (hash); hashagain.doUpdate (hash, sizeof (hash)); byte hash2 [SHA256_SIZE]; hashagain.do Mwisho (hash2); unsigned long ending = micros (); delta ndefu isiyosainiwa = kumalizika - kuanza; Serial.println (delta); Serial.print ("Big Endian:"); kwa (byte i = 32; i> 0; i -) {ikiwa (hash2 [i-1] <0x10) {Serial.print ('0'); } Serial.print (hash2 [i-1], HEX); } Serial.println (); Serial.print ("Endian mdogo:"); kwa (byte i = 0; i <SHA256_SIZE; i ++) {if (hash2 <0x10) {Serial.print ('0'); } Serial.print (hash2 , HEX); }}
hash inasafisha hashbytes mara mbili (mara mbili SHA256), inachapisha matumizi ambayo ilichukua na kuchapisha hash inayosababisha kama mpishi mkubwa na mdogo. Ikiwa hashes zingewekwa katika moja tu ya SHA256 hasher labda ingekuwa wepesi kidogo lakini kwa vyovyote na nambari iliyo hapo juu inachukua utumiaji wa 832 kufanya hash mara mbili na unaona kutoka kwenye skrini tunapata hash sahihi.
Hatua ya 2: Kupiga Ukuta na Kizuizi Kubwa kabisa
Kwa hivyo ikiwa inachukua sekunde 832 kufanya hashi moja tunaweza kufanya 1 / 0.000834 = 1201 hashes / sec.
Ili kuwa wazi tu tulichukua habari kutoka kwa block # 125552 ambapo tulijua nonce, tayari imechimbwa na ilitumia habari hiyo kama kesi ya kujaribu kuhakikisha tunaweza kupata hash sawa na ESP8266. Kwa hivyo mara tu kupata faida na mchimbaji wa nyama kamili utachukua nadhani kwa nonce, hashi kichwa cha habari na kisha kulinganisha matokeo na ugumu wa kizuizi hicho. Ikiwa hashi inakidhi ugumu, basi huwasilishwa kwa mtandao ili uthibitishwe.
Ok hivyo hiyo ni nzuri tunaweza kufanya hash, hakika kiwango ni mbaya lakini wakati wa kukiangalia kama bahati nasibu ni nadhani. Hapa kuna, lakini ukichunguzwa kwa karibu hivi karibuni inakuwa wazi unahitaji kuwa na nodi kamili ili kuweza kuwasiliana na mtandao, ikiwa wazi wakati unasimama na kufikiria juu ya madini ni nini.
Kwa hivyo ukiangalia mchoro unaweza kuona kwamba daemon ya bitcoin ambayo ni sehemu ya msingi wa bitcoin hutunza mawasiliano kati ya mtandao na mchimba madini. Hii inamaanisha nini unahitaji kutumia msingi wa Bitcoin kwenye seva ili ESP8266 iweze kupata kichwa kipya cha kichwa kila dakika 10 na kisha uweze kurudisha kwenye mtandao.
Sijaijaribu lakini inaonekana kama utalazimika kusawazisha kizuizi kizima karibu na Gigs 130 kabla ya kuwasiliana vizuri na mtandao, katika wiki wanataja hatua kadhaa zinapaswa kukamilika kabla ya utendaji wote kupatikana, hakika kabisa ndio maana yao.
Kwa hivyo hiyo ilinivuta huko juu, kutoka kwa maoni ya utafiti ilikuwa ya kupendeza sana na ilikuwa nzuri kuona ESP8266 ndogo ikifanikiwa kumaliza kesi ya jaribio lakini kwa kweli niongelea sioni watu wengi wakipakua msingi, ikisawazisha yote blockchain, kuweka kila kitu hadi sasa, kuendelea na maswala ya usalama kwa nafasi 1 kwa 1e16 ya kushinda block. Daraja la mbali kwangu.
Kutoka kwa kwenda nilijua kiwango cha hash kitakuwa kibaya lakini udadisi ulinizidi na ilibidi niende. Badala ya uchimbaji wa solo kunaweza kuwa na dimbwi la madini huko nje ambalo linaweza kuunganishwa moja kwa moja kutoka kwa ESP8266 bila juhudi kubwa au kunaweza kuwa na cryptocurrency nyingine inayofaa zaidi. Ukipata ama tafadhali nijulishe.
Hatua ya 3: Marejeleo
1. ESP8266 Bitcoin Mchimba GitHub Repository
2. ESP8266 Hifadhi ya GitHub ya Ept8266
3. Uchimbaji wa Bitcoin kwa njia ngumu: algorithms, itifaki, na ka
4. Zuia Hashing algorithm
5. Zuia 125552
Ilipendekeza:
PATA BEI YA BITCOIN LIVE TTGO ESP32: Hatua 10
PATA BEI YA BITCOIN LIVE TTGO ESP32: Katika mafunzo haya tutajifunza jinsi ya kupata bei ya sasa ya Bitcoin katika Dola na EUR kwa kutumia TTGO ESP32 na Visuino. Tazama video. (Faili mpya iliyosasishwa ya Pakua hapa chini!)
Bitcoin Ticker na Grafu: 8 Hatua
Bitcoin Ticker With Graph: Nilifanya hii kulingana na mradi wa bei ya BTC, ambayo hupata habari ya bei kutoka kwa coinmarketcap.com awali iliyoandikwa na Brian Lough. Alitumia ESP8266, ambayo ni bodi inayolingana ya Arduino ambayo inakuja na kujengwa katika WiFi. Kama anaelezea
Bitcoin-like Crypto Running on Raspberry Pi: 5 Hatua
Bitcoin-like Crypto Running on Raspberry Pi: Maagizo ya kuendesha node. Mfumo wa Uendeshaji wa US-OS umetengenezwa na raspbian inayoendesha kifurushi cha us-cryptoplatform. Sio lazima uombe ruhusa ya kujiunga. Fuata tu maagizo haya rahisi na tumia node inayopata kipato cha pesa kila dakika
Rekt-O-Matic Turbo S: Bodi Moja Bitcoin Ticker: Hatua 12
Rekt-O-Matic Turbo S: Bodi Moja Bitcoin Ticker: Je! Ulikosa kupanda kwa bei ya Bitcoin mara moja kutoka $ 7500 hadi $ 10300 mnamo Oktoba 25, 2019? Kweli nilifanya. Aina hii ya kitu hufanyika katika ulimwengu wa crypto. Unachohitaji watu ni TheRekt-O-Matic Turbo S Hii ni tikiti ya bei ya Bitcoin na OLED nzuri
Uchimbaji wa Bitcoin kwenye Raspberry yako Pi: Hatua 6
Uchimbaji wa Bitcoin kwenye Raspberry yako Pi: Bitcoin ni pesa ya sarafu, aina ya pesa taslimu. Ni sarafu ya dijiti iliyogawiwa bila benki kuu au msimamizi mmoja ambayo inaweza kutumwa kutoka kwa mtumiaji kwenda kwa mtumiaji kupitia mtandao wa bitcoin. Kuna njia kuu mbili za kupata bitcoin