GRUNDKUNSKAP [3]: Hårdvara för Duinocoin

Vilken hårdvara behövs för Duinocoin (DUCO)?

Även om brytningen av Duinocoin sker i mjukvara måste den naturligtvis köras på hårdvara. Vilken hårdvara kan användas för att bryta DUCO?

Duinocoin kan inte bara brytas på en Arduino UNO/Nano. En dator, en bärbar dator, en Raspberry Pi, en smartphone, en server, en Linuxcontainer (LXC) eller en virtuell maskin (VM) och till och med en webbläsare kan fungera som bas. Vad är värt det, vad är inte värt det?

Översikt

Följande fyra artiklar ger en första och grov översikt över hela Duinocoin-projektet:

  1. GRUNDKUNSKAP [1]: Översikt över Duinocoin
  2. GRUNDKUNSKAP [2]: Konfigurera Duinocoin-plånbok
  3. GRUNDKUNSKAP [3]: Hårdvara för Duinocoin
  4. GRUNDKUNSKAP [4]: Programvara för Duinocoinbrytning

Andra artiklar på duinocoin.com går i detalj in på de enskilda aspekterna av Duinocoin (DUCO) och t.ex. byggandet av gruvriggar.

Plattformar för gruvdrift

Dragon32

Duinocoinen har faktiskt utformats av Robert Piotrowski (revoxhere) för Arduino UNO. Gruvprogrammet (DUCO-S1-algoritmen) är därför extremt enkelt och kräver knappt några resurser i form av datorkraft eller minne. Det är alltså så att nästan alla elektroniska apparater med en processor kan användas för att bryta DUCO**.

Gruvdrift med dator och mikrokontroller

Duinocoinens brytningsprogramvara måste på något sätt kommunicera med poolservrarna via internet. Många enkla mikrokontroller har dock ingen nätverkshårdvara (Ethernet- eller WLAN-chip), utan endast ett seriellt gränssnitt. Här måste en annan nätverkskapabel enhet fungera som förmedlare mellan mikrokontrollern och Internet.

Hur ser detta ut? Själva gruvprogramvaran (DUCO-S1) flashas på en Arduino UNO/Nano. Arduino väntar sedan på Duinocoin-jobb. Datorn kör sedan Python3-skriptet AVR_Miner.py, som hämtar jobb från poolservrarna via internet och skickar dem till Arduino via ett seriellt gränssnitt (i form av en USB-port). Arduino kör algoritmen DUCO-S1 och beräknar ett resultat som skickas tillbaka till datorn via det seriella gränssnittet. Skriptet AVR_Miner.py tar resultatet och skickar det till poolservrarna, som validerar resultatet och krediterar kontot med en aktie som belöning. Egentligen är det ganska enkelt.

Mikrokontroller med WLAN

Dragon32

En dator eller andra nätverkskapabla enheter kan också ta över gruvdriftsdelen med DUCO-S1 och är därmed gruvarbetare och förmedlare på samma gång. Detta är också möjligt med mikrokontroller som har nätverksmaskinvara, t.ex. ESP8266 eller ESP32. De kan också köra DUCO-S1-algoritmen, men samtidigt kan ESP8266/ESP32 också kommunicera med internet via WLAN.

Gruvfarmar är därför populära och består av många ESP8266 för drygt 1 US-dollar styck (från Kina) eller drygt 2 euro (från Europa).

Nackdel: Varje enskild ESP8266-utvinningsnod måste underhålla sin egen WLAN-anslutning, vissa WLAN-åtkomstpunkter kan inte hantera anslutningarna och datatrafiken för ett ESP8266-kluster.

Sofistikerad gruvrigg med WLAN och AVR-noder

Om du behöver en dator för att bryta DUCO med en Arduino UNO/Nano är det naturligtvis ett enormt slöseri med energi - om inte datorn är igång ändå (som en NAS, till exempel). Smarta utvecklare har dock snabbt kommit på idén att kombinera nätverkskapaciteten hos en ESP8266/ESP32 med billiga gruvarbetare:

Dragon32

En ESP8266 tillhandahåller en WLAN-anslutning till Internet och poolservrarna. Via ett I²C-gränssnitt (Inter-Integrated Circuit), en seriell databuss, vidarebefordras jobben till flera gruvnoder. En Wemos D1 Mini med fem AVR mining-noder (Arduino Pro Mini/3,3V) klarar sig med cirka 120 mA (milliampere) vid 5V matningsspänning. Jag driver en sådan brytningsrigg dygnet runt med en enkel 25W solcellspanel och ett 12V/7Ah buffertbatteri i min vinterträdgård (se den lilla bilden till höger, en detaljerad beskrivning och bygghandbok följer).