Duinocoinbrytning med Arduino UNO/Nano

Det är enkelt: Att komma igång med Duinocoin (DUCO) med hjälp av en Arduino UNO/Nano

Duinocoinen (DUCO) utvecklades ursprungligen för Arduino UNO. Därför är gruvdrift med Arduino UNO den perfekta introduktionen till DUCO-gruvdrift med mikrokontroller..

Förutom en Arduino UNO eller Nano räcker det med en dator, en bärbar dator eller en Raspberry Pi (för Arduino-utvecklingsmiljön (IDE) och som kommunikationsdator) för att komma igång med DUCO-gruvdrift.

Översikt

För att bryta Duinocoin (DUCO) med en Arduino UNO eller Nano behöver du - förutom en Arduino UNO/Nano - följande:

  1. en Duinocoin-Wallet (onlinekonto)
  2. En dator med Windows, GNU/Linux eller Mac OS X och Python 3.x.
  3. En fungerande Arduino IDE.
  4. Duinocoin-programvaran (från Github).

Förberedelserna kan göras på ungefär en halvtimme. Med den här installationen och en enda Arduino UNO/Nano kan du sedan bryta omkring 5-9 DUCO per dag.

1. skapa en Duinocoin-plånbok på projektsidan

För att kunna lagra Duinocoin (DUCO) någonstans behöver du en plånbok. Detta hanteras online på Duinocoin. Den nya plånboken skapas på https://wallet.duinocoin.com/register.html.

Skapa en ny plånbok

Skapa en ny plånbok (konto) på wallet.duinocoin.com.

2. Dator med Windows, GNU/Linux eller Mac OS X och Python 3.x.

Den minimala gruvprogramvaran för PC kräver endast en Python 3-tolk. Gör följande för att kontrollera om Python 3 är tillgängligt:

  • GNU/Linux: Öppna terminalen via Ctrl-Alt-T (om nödvändigt, använd Ctrl-Alt-F2, tillbaka med Ctrl-Alt-F7).
  • Windows: Öppna Powershell via Win+R och "powershell".
  • Mac OS: Finder > Program > Verktyg > Terminal

Ange följande i prompten:

python --version

De två minustecknen är viktiga (utom för Mac OS X). Om "python" inte hittas kan du försöka med "python3 -- version", då är versionen hårdkodad. Resultatet bör se ut ungefär så här:

mipl@z600:~$ python3 --version
    Python 3.9.2

Den här maskinen (en HP Z600-arbetsstation med Devuan GNU/Linux 3.0 "Chimaera" utan systemd) kör uppenbarligen Python 3.9.2.

Hur du installerar Python3 på din dator beskrivs i detalj i Installation av Python3 på GNU/Linux PC.

3. Installera Arduino IDE (utvecklingsmiljö).

Det enklaste sättet att programmera minprogramvara på en mikrokontroller som Arduino UNO/Nano är att använda Arduino IDE (utvecklingsmiljö). Den fria och öppna källkodsmjukvaran erbjuds av Arduino-projektet som en gratis nedladdning för Windows, GNU/Linux och Mac OS X.

I en detaljerad artikel visar jag hur du installerar Arduino IDE. Om du vill ha det bekvämare kan du installera Arduino IDE i "portabelt läge" och på så sätt göra dina säkerhetskopior och byten mellan olika mikrokontrollerararkitekturer enklare. En tredje artikel ger tips om de första stegen efter att du installerat Arduino IDE.

Tips: Om du har problem med att komma åt Arduino UNO/Nano på GNU/Linux-datorer måste du justera åtkomsträttigheterna till enhetsfiler (seriella portar, USB) under GNU/Linux.

Med detta bör ingenting stå i vägen för Duinocoin mining.

4. ladda ner Duinocoin-programvaran

Den officiella programvaran för Duinocoin mining tillhandahålls av Duinocoin-projektet i källkod. Den senaste versionen finns alltid tillgänglig på Github.

Github Repo av revox

Duinocoinförrådet från revox på Github.

Via "Code / Download ZIP" laddas ZIP-arkivet med den aktuella Duinocoin-koden ner och kan sedan packas upp till duino-coin.

Alternativt kan du ladda ner den aktuella Duinocoin-versionen via git:

git clone --depth 1 -b 3.18 https://github.com/revoxhere/duino-coin

Om det finns en nyare version än 3.18 måste du ersätta den i kommandot ovan. Med git får du också en katalog duino-coin med alla filer.

  • Katalogen Arduino_Code innehåller källkoden (skiss) för Arduino UNO/Nano.
  • PC_AVR_Miner.py sköter sedan kommunikationen mellan poolservrarna och Arduino UNO/Nano.

Installera PC-programvaran för hantering av gruvdrift

Först ska de nödvändiga programvarorna och verktygen installeras på datorn. Kommunikationsprogrammet för att ansluta Arduino UNO till Duinocoin-servrarna på internet är skrivet i Python3. I princip krävs Python3 och Pythons pakethanterare "pip" i version 3. Alla dessa paket måste installeras som "root" eller med "sudo" som prefix:

sudo apt-get install python3 python3-pip

Om du vill packa in Python3-miljön för användaren i en virtuell Python3-miljö - vilket du alltid bör göra - måste du också installera modulen venv. Detta är det enda sättet att installera följande råttsvans av färgglada och halvtaskiga bibliotek inte i själva systemet, utan endast i en katalog som användaren anger:

sudo apt-get install python3-venv

Hur man installerar och använder en virtuell Python3-miljö visar jag här. Inte för ren gruvdrift, men för andra Duinocoin-verktyg kan Python Image Library (pil) och även ett Tkinter-kompatibelt PhotoImage-bibliotek behövas senare:

apt-get install python3-pil python3-pil.imagetk

Programmering av Arduino UNO/Nano med DUCO-Miner

Nu är det dags att koppla in Arduino via USB-kabeln och starta Arduino IDE. När du startar utvecklingsmiljön för första gången får du inte glömma att uppdatera boards och bibliotek.

Via "Fil / Öppna..." Du laddar Duinocoin-källkoden (skiss) "Arduino_Code.ino" från katalogen duino-coin/Arduino_Code/ till redigeraren. Översätt källkoden med [Ctrl]+[R] eller genom att klicka på "OK hook" uppe till vänster i IDE-verktygsfältet. Inga fel bör uppstå.

Arduino IDE med Duinocoin-Sketch

Duinocoin-Sketch 3.18 kompilerades med Arduino IDE 1.8.19 utan fel.

Normalt måste USB-porten som Arduino UNO/Nano är ansluten till väljas via "Tools / Port" (till exempel /dev/ttyACM0 (Arduino Uno) eller /dev/USB0 för en klon).

Med [Ctrl]+[U] eller genom att klicka på högerpilen i verktygsfältet överförs den översatta AVR-koden till Arduino UNO/Nano. IDE rapporterar en diskret "Uppladdning slutförd".

Om felet PermissionError: [Errno 13] Permission denied: 'dev/ttyACM0' inträffar måste åtkomsträttigheterna till enhetsfiler (seriella portar, USB) fortfarande vara inställda.

Starta gruvdrift

För att bryta Duinocoin (DUCO) med Arduino UNO/Nano startar du skriptet AVR_Miner.py via Python3-tolken:

python3 AVR_Miner.py

Skriptet installerar ytterligare bibliotek och frågar efter

  • namnet på plånboken/kontot.
  • den (valfria) brytningsnyckeln (ange endast om den är inställd)
  • Arduino UNO/Nanos seriell port (dev/ttyACM0 eller /dev/USB0 för en klon).
  • Om du använder mer än en gruvbrytare behövs ytterligare styrelser och identifiering.
  • Donationsnivå (0-5) för intensiteten av MAGI-mineringen på datorn (först 0, senare kan du köra mineringen)
  • Använd lägre svårighetsgrad? (ange "n" endast för mycket snabba datorer)
Arduino minerar Duinocoin

Den första starten! Arduino UNO utvinner sin första DUCO med hela 258-260 hashes per sekund....

Det var allt! Detta är början på brytningsprocessen.