ዝርዝር ሁኔታ:

ESP8266 Bitcoin Miner: 3 ደረጃዎች
ESP8266 Bitcoin Miner: 3 ደረጃዎች

ቪዲዮ: ESP8266 Bitcoin Miner: 3 ደረጃዎች

ቪዲዮ: ESP8266 Bitcoin Miner: 3 ደረጃዎች
ቪዲዮ: MINING DuCo dengan nodemcu esp8266. . 2024, ሀምሌ
Anonim
ESP8266 Bitcoin ማዕድን
ESP8266 Bitcoin ማዕድን

የ Bitcoin ዋጋ መውጣቱን በመቀጠል እና በ ESP8266 ባልና ሚስት ሁል ጊዜ ተሰክቷል ነገር ግን ብዙ ባለማድረግ ለምን የሶሎ Bitcoin ማዕድንን ለምን አይሞክሩ እና አይተገበሩም ብዬ አሰብኩ። ከትንሽ ሙከራ በኋላ ESP8266 ን እስከ ~ 1200 ሃሽ/ሰከንድ አግኝቻለሁ እና ከዲሴምበር 2017 ጀምሮ የ Bitcoin አውታረመረብ በሰከንድ 12,000 ፣ 000 tera ሃሽዎችን እያከናወነ ነበር (ለቅርብ ቁጥሮች blockchaininfo ን ማየት ይችላሉ)።

ስለዚህ በእነዚያ ቁጥሮች ላይ በመመስረት አንድ ብሎክ በአሁኑ ጊዜ በየአስር ደቂቃው 212, 000 ዶላር የሚያገኝበትን ብሎክ በተሳካ ሁኔታ የማዕድን የማውጣት ዕድል በ 1e16 ውስጥ አለን። በእርግጥ የሎተሪ ትኬት መግዛትን ያህል ነው ፣ በጣም ትንሽ የማሸነፍ ዕድል ብቻ ፣ ግን የድሮውን አባባል ያውቃሉ ፣ አንድ ሰው ማሸነፍ አለበት። በሁለቱም በ Gate Mate እና Super Squirter ESP8266 ፕሮጀክቶች ብዙውን ጊዜ ምንም ሥራ እየሠሩ አይደለም ፣ እነሱ ተጣብቀው ጥያቄዎችን ወይም ግብዓቶችን በመጠባበቅ ላይ ናቸው ፣ ስለዚህ ለምን በእሱ ላይ አያስቀምጡ እና ምናልባት ትንሽ ሳንቲም ያሸንፉ። የመጀመሪያው እርምጃ በ ESP8266 ላይ በ Blockheader ላይ ድርብ SHA256 ን ማከናወን ይቻል እንደሆነ ለማወቅ መሞከር ነው። በ Bitcoin ዓለም ውስጥ ‹ሃሽ› በእውነቱ ድርብ SHA256 ነው ፣ ግን እኛ እንደ ሃሽ እንጠቅሰዋለን። ለማንኛውም ትንሽ ከጎበኘሁ በኋላ ሃሺን ለማግኘት የሚያስፈልገውን መረጃ ሁሉ የሰጡትን እነዚህን ሁለት ገጾች አገኘሁ።

1. የሃሺንግ አልጎሪዝም አግድ

2. ቢትኮይን ማዕድንን ከባድ መንገድ -ስልተ ቀመሮችን ፣ ፕሮቶኮሎችን እና ባይቶችን

ከላይ ባሉት አገናኞች ውስጥ በዝርዝር እንደተገለጸው የ getwork ፕሮቶኮል ተቋርጦ እንደነበረ ልብ ሊባል ይገባል። የማገጃ ራስጌን ለመገንባት ትንሽ የበለጠ የተወሳሰበ በሚያደርገው getblocktemplate ፕሮቶኮል ተተክቷል ፣ በተለይም የራስዎን merkle root መገንባት አለብዎት። ለሁሉም ጥቃቅን ነገሮች የ getblocktemplate wiki ን ይመልከቱ።

ደረጃ 1 - ስልተ ቀመር

ስልተ ቀመር
ስልተ ቀመር

በትክክል እንዝለል ፣ የ ESP8266 ኮድ በ ESP8266BitcoinMiner GitHub repo ላይ ነው። ከላይ ከተዘረዘሩት አገናኞች ሁሉንም መረጃ እንደገና አልደግፍም ነገር ግን ዋና ዋና ነጥቦቹን ብቻ አጉልተው ያሳዩኝ።

ቻር ራስጌ_ሄክስ = 0100000081cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a3080000000000003e20206622ffc8d750423db8b1eb942ae710e41f41f41f41f41f41f41f41f41f4744f

ቻር header_hex የማገጃ ራስጌ ነው እና ከስድስት መስኮች ፣ ስሪት ፣ ሃሽፕሬቭብሎክ ፣ ሃሽሜርሌክሮት ፣ ጊዜ ፣ ቢት እና ኖንሲስ በሄክስ ደረጃ ውስጥ እንደ ትንሽ የኤቲያን እሴቶች ሁሉ ተጣምሯል። ያ ከላይ ካለው አገናኝ የተቀዳ ነበር ፣ ግን በእውነቱ በተሟላ የማዕድን ማውጫ ውስጥ እያንዳንዳቸው እነዚያን መስኮች በጄሶን ዕቃ ውስጥ ይቀበላሉ እና ከዚያ በኋላ የመጨረሻውን ደረጃ መለየት እና በየ 10 ደቂቃዎች አንድ ላይ መብረር አለብዎት።

uint8_t *hex_decode (const char *in, size_t len, uint8_t *out) {

ያልተፈረመ int i ፣ mg ፣ ng ፣ rg; ለ (mg = 0, i = 0; i '9'? ውስጥ - 'a' + 10: in - '0'; rg = in [i + 1]> '9'? ውስጥ [ውስጥ i+1] - 'a'+10: በ [i+1] - '0'; ውጭ [mg] = (ng << 4) | rg;} ተመለስ;}

hex_decode የሄክሳዴሲማል አቻ ገጸ -ባህሪያትን የያዘውን የ header_hex ሕብረቁምፊ ይወስዳል ፣ እና ለ SHA256 hasher ዝግጁ በሆነው ባይት እሴቶቹ uint8_t hashbytes [80] ን ይሞላል።

ባዶ ሃሽ () {

hex_decode (header_hex ፣ strlen (header_hex) ፣ hashbytes); ያልተፈረመ ረጅም ጅምር = ማይክሮስ (); hasher.doUpdate (ሃሽቢቶች ፣ መጠን (ሃሽቢቶች)); ባይት ሃሽ [SHA256_SIZE]; hasher.doFinal (ሃሽ); ሃሰኛ.doUpdate (ሃሽ ፣ መጠን (ሃሽ)) ባይት ሃሽ 2 [SHA256_SIZE]; hashagain.doFinal (ሃሽ 2); ያልተፈረመ ረጅም አልቋል = ማይክሮስ (); ያልተፈረመ ረዥም ዴልታ = አበቃ - ጀምር; Serial.println (ዴልታ); Serial.print ("Big Endian:"); ለ (byte i = 32; i> 0; i-) {if (hash2 [i-1] <0x10) {Serial.print ('0'); } Serial.print (ሃሽ 2 [i-1] ፣ HEX) ፤ } Serial.println (); Serial.print ("Little Endian:"); ለ (byte i = 0; i <SHA256_SIZE; i ++) {if (hash2 <0x10) {Serial.print ('0') ፤ } Serial.print (ሃሽ 2 ፣ HEX) ፤ }}

ሃሽ በቀላሉ ሃሽቢቶችን ሁለት ጊዜ (ድርብ SHA256) ያጥባል ፣ የወሰደውን የአጠቃቀም ኮዶች ያትማል እና የውጤቱን ሃሽ እንደ ትልቅ ኢንዲያን እና ትንሽ endian ያትማል። ሃሽዎቹ በአንድ SHA256 hasher ውስጥ ብቻ ቢቀመጡ ምናልባት ትንሽ ፈጣን ሊሆን ይችላል ፣ ግን ለማንኛውም ከላይ ባለ ኮድ ድርብ ሃሽ ለማከናወን 832 የአጠቃቀም ጊዜዎችን ይወስዳል እና ከቅጽበታዊ ገጽ እይታ ትክክለኛውን ሃሽ እናገኛለን።

ደረጃ 2 ግድግዳ እና በእውነቱ ትልቅ ብሎክ መምታት

ግድግዳ መምታት እና በእውነቱ ትልቅ ብሎክ
ግድግዳ መምታት እና በእውነቱ ትልቅ ብሎክ

ስለዚህ አንድ ሃሽ ለማድረግ 832 የአጠቃቀም ጊዜዎችን ከወሰደ 1 /0.000834 = 1201 hashes /sec ማድረግ እንችላለን።

ግልፅ ለማድረግ ፣ መረጃውን ከብሎክ #125552 እኛ ከምናውቅበት ቦታ ወስደነዋል ፣ እሱ ቀድሞውኑ ተፈልፍሎ እና ያንን መረጃ ከ ESP8266 ጋር አንድ አይነት ሃሽ ማግኘት መቻሉን ለማረጋገጥ እንደ የሙከራ መያዣ ተጠቅሞበታል። ስለዚህ አንዴ ሙሉ በሙሉ ሥጋ ባለው የማዕድን ማውጫ ከተገኘ አንዴ በነሲብ ላይ በግምት ይገምታሉ ፣ ማገጃውን ከእሱ ጋር ያሽጉ እና ከዚያ ውጤቱን ለዚያ ብሎክ ችግር ያወዳድሩ። ሃሽ አስቸጋሪውን የሚያሟላ ከሆነ ፣ ከዚያ ለማረጋገጫ ወደ አውታረ መረቡ ይላካል።

ደህና ፣ ያ በጣም ጥሩ ነው እኛ ሃሽውን ማከናወን እንችላለን ፣ በእርግጥ መጠኑ አሰቃቂ ነው ፣ ግን እንደ ሎተሪ ሲመለከቱ ግምት ግምት ነው። እዚህ አለ ፣ ግን በቅርብ ሲፈተሽ ፣ ከአውታረ መረቡ ጋር ለመገናኘት ሙሉ መስቀለኛ መንገድ መሮጥ ያስፈልግዎታል ፣ ቆም ብለው የማዕድን ማውጫ በትክክል ምን እንደሆነ ሲያስቡ ግልፅ ነው።

ስለዚህ ዲያግራሙን ከተመለከቱ የ bitcoin ኮር አካል የሆነው የ bitcoin ዴሞን በአውታረ መረቡ እና በማዕድን ማውጫው መካከል ያለውን ግንኙነት ይንከባከባል። ይህ በእውነቱ ምን ማለት ነው ESP8266 በየ 10 ደቂቃዎች አዲስ ማገጃ እንዲያገኝ እና ከዚያ ወደ አውታረ መረቡ እንደገና መመለስ እንዲችል የ Bitcoin ኮርን በአገልጋይ ላይ ማስኬድ ያስፈልግዎታል።

እኔ አልሞከርኩትም ነገር ግን በትክክል ከአውታረ መረብ ጋር ከመገናኘቱ በፊት መላውን አግድ በ 130 ጊግ አካባቢ ማመሳሰል ያለብዎት ይመስላል ፣ በዊኪ ውስጥ ሁሉም ተግባራት ከመገኘታቸው በፊት የተወሰኑ እርምጃዎችን ማጠናቀቅ እንዳለባቸው ይጠቅሳሉ ፣ በጣም ቆንጆ ማለታቸው ነው።

ስለዚህ ያ ወደ እኔ አነሳኝ ፣ ከምርምር እይታ ሁሉም በጣም አስደሳች ነበር እና ትንሹን ESP8266 የሙከራ መያዣውን በተሳካ ሁኔታ ሃሽ አድርጎ ማየት በጣም አሪፍ ነበር ነገር ግን በተግባር እኔ ብዙ ሰዎች ዋናውን ሲያወርዱ ፣ መላውን በማመሳሰል አላየሁም። ብሎክቼይን ፣ ሁሉንም ነገር ወቅታዊ በማድረግ ፣ የደህንነት ጉዳዮችን ሁሉ ለ 1 በ 1e16 ዕድሉን የማሸነፍ ዕድልን በመጠበቅ። ለእኔ ሩቅ የሚሆን ድልድይ።

ከመነሻው እኔ የሃሽ ተመን አሰቃቂ እንደሚሆን አውቃለሁ ነገር ግን የማወቅ ጉጉት በእኔ ላይ የተሻለ ሆነ እና እሱን መስጠት ነበረብኝ። ብቸኛ ማዕድን ከማውጣት ይልቅ ከ ESP8266 ያለ ትልቅ ጥረት በቀጥታ ሊገናኝ የሚችል ወይም የበለጠ ተስማሚ የሆነ ሌላ cryptocurrency ሊኖር ይችላል። ወይ ካገኙ እባክዎን ያሳውቁኝ።

ደረጃ 3 ማጣቀሻዎች

1. ESP8266 Bitcoin Miner GitHub Repository

2. ESP8266 Crypto GitHub ማከማቻ

3. Bitcoin በጣም ከባድ በሆነ መንገድ የማዕድን ስልተ ቀመሮች ፣ ፕሮቶኮሎች እና ባይቶች

4. የሃሺንግ አልጎሪዝም አግድ

5. አግድ 125552

የሚመከር: