Hoe u een thuisserver instelt en deze gebruikt als een Bitcoin-knooppunt

Wat is een Bitcoin-knooppunt?

Voor deze handleiding moet u de opdrachtregelinterface of CLI en een SSH-client gebruiken. SSH (Secure Shell) is een populair hulpmiddel om apparaten op een veilige manier te “bedienen”. In principe werkt het op dezelfde manier als een VPN, behalve dat u toegang krijgt tot een computer in plaats van het hele internet.

ramen

Windows 10 heeft een eigen opdrachtregelinterface, hoewel deze mogelijk niet standaard wordt geïnstalleerd. Om het te installeren:

  1. Ga naar instellingen > Apps
  2. Klik Beheer optionele functies onder Apps & Kenmerken

Als een SSH-client op uw machine is geïnstalleerd, zou deze hier moeten verschijnen. Als dit niet het geval is, kunt u het toevoegen door te klikken op Voeg een functie toe en toen OpenSSH-client. Installeer de OpenSSH-server niet.

Als u de SSH-client wilt gebruiken, moet u eerst een PowerShell openen. Dit kunt u doen door met de rechtermuisknop op het menu Start te klikken of door op Windows + X te drukken en vervolgens de PowerShell te selecteren.

Nadat u de PowerShell hebt gestart, voert u SSH in om klaar te zijn.

Mac OS

Open de terminal met Spotlight, het Launch Pad of Finder.

Linux

Open de opdrachtregel met Ctrl + Alt + T

Handige tips bij het gebruik van de opdrachtregel

  • Kopiëren / plakken: de standaard Ctrl + C en Ctrl + V werken niet op de opdrachtregel, maar u kunt in plaats daarvan Ctrl + Shift + C en Ctrl + Shift + V gebruiken. U kunt ook uw muisaanwijzer gebruiken om tekst te selecteren en deze vervolgens kopiëren / plakken door met de rechtermuisknop op het gemarkeerde gebied te klikken. Vaak kunt u ook inhoud plakken door op de middelste toets of het wiel op uw muismat of muis te klikken.
  • De … gebruiken op neer pijlen in uw toetsenborden laten u bladeren door recent uitgevoerde opdrachten, wat erg handig is als u alleen een kleine typefout hoeft te wijzigen.
  • Gebruik Ctrl + C tot afbreken een commando dat vastzit. Hiermee haalt u ook uit de meeste menu’s of programma’s.
  • De opdrachtregel lijkt ook een beetje op een eendimensionale bestandsverkenner. Gebruik de opdracht ls om te zien welke bestanden in de huidige map staan ​​of op cd om naar een specifieke map te gaan. cd .. verplaatst een map naar beneden en cd ~ / keert terug naar de thuismap.

Een screenshot van de opdrachtregel.

  • Bekijk welke schijven momenteel zijn aangesloten en hoeveel ze worden gebruikt met de optie df -h.
  • U kunt de Tab-knop gebruiken om veel instanties automatisch aan te vullen, bijvoorbeeld bij het selecteren van een map om naar toe te gaan met cd, kopiëren met cp, verplaatsen met mv of verwijderen met rm. Als u cd d typt gevolgd door de knop Tab, wordt automatisch een map voltooid die begint met d, als deze bestaat. Als er meerdere mappen zijn die beginnen met d, kunt u nogmaals op de knop Tab drukken om de volledige lijst te bekijken.

Een screenshot van de opdrachtregel.

Download een Virtual Private Server

Elke server volstaat. Met weinig moeite kunt u zelfs een oude laptop omzetten of een mini-pc gebruiken voor ongeveer 100 USD. Zelfs een computer zo klein als een Raspberry Pi zou in theorie voldoende zijn.

In ons geval huren we een Virtual Private Server (VPS) van Lunanode. We hebben voor Lunanode gekozen omdat het relatief eenvoudig is om u aan te melden zonder identificatie – het accepteert Bitcoin – en het is betrouwbaar. Een ander geweldig alternatief is Cryptohost (waarvoor zelfs Lightning nodig is!). De prijs is hoger, maar vereist ook minder persoonlijke gegevens voor aanmelding.

Als alternatief kunt u ook kiezen voor een van de grotere providers zoals AWS, Digital Ocean of Rackspace.

Inschrijven

Om u aan te melden bij Lunanode, moet u uw e-mailadres en telefoonnummer verifiëren, vervolgens uw land selecteren en een wachtwoord kiezen. U kunt Bitcoin onmiddellijk op uw account storten om te beginnen met betalen voor uw server of een creditcard invoeren om u automatisch te factureren.

pricing

We raden de m2-server aan voor 7 USD per maand. Voor Bitcoin-mijnbouw voegen we 80 GB opslag toe voor een extra bedrag van 2,7 USD per maand.

Zoek uw SSH-sleutel

  • In ramen, gebruik de SSH-client (zie hierboven).
    1. Als dit de eerste keer is dat u de SSH-client gebruikt, typt u ssh-keygen -o -b 4096 -t rsa op de opdrachtregel om een ​​sleutel te genereren.
    2. Nadat u een sleutel hebt gegenereerd of als u al een sleutel hebt, kunt u deze vinden op C: \ Users \ YourUserName \ .ssh \ id_rsa.pub
    3. Open dit bestand met uw kladblok en voeg het toe aan uw Lunanode-paneel
  • In Mac OS, open de terminal met Spotlight, Launch Pad of Finder
    1. Maak een SSH-sleutel met het commando: ssh-keygen -o -b 4096 -t rsa
    2. Je kunt je SSH-sleutel dan vinden onder ~ / .ssh / id_rsa.pub
    3. Open dit bestand met uw kladblok en voeg het toe aan uw Lunanode-paneel.
  • In Linux, open een terminal met het commando: Ctrl + Alt + T
    1. Maak een SSH met het commando: ssh-keygen -o -b 4096 -t rsa
    2. Je kunt je SSH-sleutel dan vinden onder ~ / .ssh / id_rsa.pub
    3. Open dit bestand met uw kladblok en voeg het toe aan uw Lunanode-paneel.

Voeg uw SSH-sleutel toe

Zoek in uw Lunanode-dashboard aan de linkerkant de optie “SSH Keys”. Geef uw SSH-sleutel een naam en plak de inhoud van uw kladblok in zijn geheel in het veld voor de openbare sleutel en klik vervolgens op “SSH Keypair toevoegen”. Het zou dan in de lijst moeten verschijnen..

Start uw server

Om uw virtuele machine te maken, klikt u op “Create VM” in de linkerbovenhoek van uw Lunanode-dashboard. Kies een locatie, een plan en een besturingssysteem en kies vervolgens een hostnaam. In ons geval is dat Toronto, m2 op Ubuntu 18.04 (64 bit) en we hebben het Torontola genoemd. Je moet ook je keypair toevoegen, zodat je veilig kunt inloggen.

Log in op uw server

Onder “virtuele machine” zou u uw exemplaar nu moeten zien. Klik op de naam en je zou onder andere het externe IP-adres moeten zien. U kunt zich aanmelden bij uw server door een Terminal-venster te openen en de opdracht in te voeren:

ssh ubuntu @

bijvoorbeeld: ssh [email protected]

Aangezien dit uw eerste login is, wordt u waarschijnlijk verteld dat de authenticiteit van uw host niet kon worden bevestigd. Voer ja in om uw machine toe te voegen aan uw lijst met vertrouwde apparaten. U wordt opnieuw gewaarschuwd als de sleutel verandert.

Configureer uw server

Stel een eenvoudige firewall in om de server te beschermen. Ufw (ongecompliceerde firewall) moet vooraf op uw machine zijn geïnstalleerd. Controleer of het is geïnstalleerd of ingeschakeld door de status sudo ufw te typen

Als het antwoord ‘Status’ niet wordt weergegeven, kunt u het installeren met sudo apt install ufw

Wat nog belangrijker is, stelt SSH in staat op afstand in te loggen op onze machine. Sla deze stap over als u directe toegang tot de server hebt, wat betekent dat u er een monitor en toetsenbord op kunt aansluiten. Als je dat niet kunt, moet je SSH inschakelen met sudo ufw allow ssh

Schakel nu de firewall in met sudo ufw enable

Update uw server

Zorg ervoor dat uw server up-to-date is door de opdrachten sudo apt update en sudo apt upgrade uit te voeren.

Nu bent u helemaal klaar! In de volgende stappen wordt beschreven hoe u het Bitcoin-knooppunt instelt.

***

Het lijkt op een soort elektrisch knooppunt met een Bitcoin-logo erop.

Hoe u uw eigen Bitcoin-knooppunt kunt instellen

Inclusief een volledig knooppunt, Lightning, Tor-ondersteuning, Zap Desktop en iOS-portemonnee, ejabberd en BTCPay Server.

1. Voeg een servervolume toe

Maak om te beginnen de server gereed voor Bitcoin-mining.

Aan de linkerkant van uw Lunanode-paneel vindt u de optie Volumes.

U zou het onmiddellijk in uw lijst met volumes moeten zien. Klik op “Beheren” en “Toevoegen aan VM”. Zorg ervoor dat de virtuele machine waaraan u deze koppelt de juiste is (als u extra opslag hebt gekocht, gebruikt u die).

We houden het standaardschijfstuurprogramma op “virtio”.

In uw terminal, aangemeld bij uw server, kunt u nu de opdracht sudo fdisk -l uitvoeren om de volumenaam te bevestigen. Het is zeer waarschijnlijk hetzelfde als de onze, / dev / vdc

Als u het volume permanent aan onze server wilt koppelen, wordt u tijdelijk een superuser. Word een supergebruiker door het commando: sudo -i uit te voeren

Onze gebruikersnaam verandert nu in root @ torontola en we kunnen de volgende opdrachten uitvoeren zonder sudo:

mkfs.ext4 / dev / vdc (formatteert de lege schijf)
mkdir / media / bitcoin (creëert een mount point)
mount / dev / vdc / media / bitcoin (mount het apparaat op het mount point)
echo ‘/ dev / vdc / media / bitcoin ext4 defaults 0 2’ >> / etc / fstab (maakt het mount point permanent)
chown -R ubuntu / media / bitcoin (hiermee kunnen we later gegevens naar dit station schrijven als de standaard ubuntu-gebruiker)

Ga terug naar onze vaste gebruiker (veiliger) door exit te typen

Onze server is nu klaar om een ​​Bitcoin-knooppunt te zijn!

2. Installeer en configureer Bitcoind

Log in op (of blijf ingelogd op) de server.

Bitcoind installeren

Om Bitcoind te installeren, moet u eerst de Bitcoin-repository toevoegen:

sudo add-apt-repository ppa: bitcoin / bitcoin

Bevestig de keuze, update de pakketbeheerder met sudo apt update

Installeer Bitcoind met de opdracht: sudo apt install bitcoind

Maak een eenvoudig configuratiebestand

Synchroniseer Bitcoin met ons toegevoegde volume, dat een regeltoevoeging aan het configuratiebestand vereist. Misschien wilt u het ook snoeien, wat betekent dat de grootte van de Blockchain wordt beperkt door alleen recente blokken op de schijf te houden.

Met snoeien kunnen we opslagruimte en kosten besparen. Maak een bitcoin-directory met de opdracht: mkdir .bitcoin (de stip is belangrijk)

Vervolgens een configuratiebestand met de opdracht: nano ~ / .bitcoin / bitcoin.conf

Kopieer / plak nu het volgende erin:
datadir = / media / Bitcoin
daemon = 1
snoeien = 70000

Sla het bestand op met de toetsen Ctrl + O en sluit het venster met de opdracht: Ctrl + X

Start Bitcoind

Start Bitcoind met het commando bitcoind

U zou het antwoord “Bitcoin server starten” moeten krijgen. Om te zien wat uw Bitcoin-knooppunt doet, kunt u de opdracht tail -f /media/bitcoin/debug.log uitvoeren

U kunt ook een nieuw terminalvenster, SSH in uw machine openen en dit venster open houden als u wilt. Het geeft je een eenvoudig overzicht van alles. U kunt het venster verlaten door de toetsen Ctrl + C tegelijkertijd ingedrukt te houden.

Controleer dit op uw computer

Controleer ook de gezondheid van onze knoop door bitcoin-cli –getinfo te typen

In het onderstaande voorbeeld ziet u dat we 388.343 blokken (van ~ 566.000) hebben gesynchroniseerd en zijn verbonden met 16 peers.

Een screenshot van de terminalopdrachten.

Voer de opdracht bovenaan op elk gewenst moment uit om te zien hoeveel bronnen worden verbruikt. Dit kan ook handig zijn om te zien of een proces nog steeds actief is. Hieronder kunnen we zien dat Bitcoind het grootste deel van ons geheugen in beslag neemt, maar relatief weinig CPU.

Een screenshot van Terminal.

Nu wachten

Het synchroniseren van Bitcoin duurt even. Het is het beste om hier te pauzeren en later door te gaan. U kunt periodiek terugkomen op uw knooppunt met de opdracht bitcoin-cli –getinfo of door de logs te observeren met tail -f /media/bitcoin/debug.log

Optioneel: open poorten

Sta inkomende verbindingen toe naar ons toekomstige Bitcoin-knooppunt met sudo ufw allow 8333 / tcp

Open poorten helpen het netwerk omdat het meer ruimte creëert voor anderen om verbinding te maken.

Optioneel: koop extra CPU-tijd

Het synchroniseren van uw knooppunt voor de eerste keer kan CPU-intensief zijn. Ga in uw Lunanode-beheerpaneel naar “Virtuele machines”, klik op uw server en vervolgens op “CPU”.

Wijzig de optie van “Nee” in “Ja” onder “Betalen voor CPU-gebruik boven basisprestaties?” Een volledige synchronisatie van een Bitcoin-knooppunt kost niet meer dan 4 USD.

3. Download en installeer Go

We volgen ruwweg de installatiehandleiding op de Lightning Network Github, afgestemd op de Lunanode-instantie die we al hebben. We proberen onze gids up-to-date te houden, maar als je onverwachte fouten ziet, is het misschien de moeite waard om daar te controleren of er iets is veranderd.

Download Go

Download de Go-code met de opdracht: wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz

Controleer of de gegevens correct zijn door sha256sum go1.11.5.linux-amd64.tar.gz te typen. awk -F " " ‘{print $ 1}’

Dit toont ons de SHA256-hash van de gegevens die we hebben gedownload. We verwachten dat de uitvoer ff54aafedff961eb94792487e827515da683d61a5f9482f668008832631e5d25 is

Ga installeren

Het bestand wordt gecomprimeerd, vergelijkbaar met een zipbestand. Uitpakken Ga naar de homedirectory tar -C ~ / -xzf go1.11.5.linux-amd64.tar.gz

Kopieer het naar een meer geschikte plaats met sudo mv ~ / go / usr / local

Vertel de server vervolgens waar hij de Go-code kan vinden. Dit kan van machine tot machine verschillen. In ons geval is het:

export GOROOT = / usr / local / go
exporteer GOPATH = $ HOME / go
export PATH = $ GOPATH / bin: $ GOROOT / bin: $ PATH

Voeg de regels toe aan .bashrc om dit permanent te maken. Open het bestand met nano ~ / .bashrc, blader vervolgens naar beneden en plak daar.

Bewaar en sluit nano door op de knoppen Ctrl + O en Ctrl + X te drukken

Controleer of go correct is geïnstalleerd

Test of Go correct is geïnstalleerd door go-versie te typen
Verwacht de output: go versie go1.11.5 linux / amd64

4. Installeer lnd

voorwaarden

Download essentials voordat u met de installatie begint.

Voer de opdracht uit: sudo apt-get install -y build-essential
Zorg ervoor dat Git is geïnstalleerd. Zo niet, installeer het met sudo apt install git

Lnd downloaden

Download de code ga naar -d github.com/lightningnetwork/lnd om lnd te installeren

Installeer lnd

Ga naar de directory van lnd met het commando: cd ~ / go / src / github.com / lightningnetwork / lnd

Over het algemeen wordt aanbevolen om bij de nieuwste release te blijven, in plaats van bij te werken naar de nieuwste code op master. Kijk hier wat de laatste release van lnd is. In ons geval is het versie v0.5.2-beta. We zullen deze versie “uitchecken” met het commando
git fetch –tags
git afrekenen v0.5.2-beta

Installeer tenslotte lnd met het commando: make && maak installeren

Navigeer nu terug naar de thuismap met cd ~ /

Controleer of lnd correct is geïnstalleerd

U zou nu moeten kunnen zien of lnd is geïnstalleerd door lnd –version en lncli –version te typen

Moet lezen versie 0.5.2-beta commit = v0.5.2-beta

Configureer lnd

Maak een configuratiebestand voor lnd. Maak de map met mkdir ~ / .lnd

Bewerk het meteen met nano ~ / .lnd / lnd.conf

Een screenshot van de Terminal.

Vergeet niet de blauwe velden in te vullen met uw eigen informatie! U kunt een naam en kleur voor uw knooppunt vrij kiezen.

Zoek uw IP-adres in het dashboard van Lunanode (als dat is wat u voor uw server gebruikt).

U hebt een gebruikersnaam en wachtwoord nodig voor de volgende stap. Voor de eenvoud is het misschien een goed idee om speciale tekens te vermijden.

# [Toepassingsopties]
alias =< naam van uw knooppunt >
color =< je favoriete kleur in hexagon >

# [Bitcoin]
bitcoin.active = 1
bitcoin.mainnet = 1
bitcoin.node = bitcoind

bitcoind.rpchost = 127.0.0.1
bitcoind.rpcuser =< je gebruikersnaam >
bitcoind.rpcpass =< je wachtwoord >

bitcoind.zmqpubrawblock = tcp: //127.0.0.1: 28332
bitcoind.zmqpubrawtx = tcp: //127.0.0.1: 28333

# [LND]
externalip =< Jouw IP >

Bitcoind configureren

We moeten enkele wijzigingen aanbrengen in Bitcoind. We openen het configuratiebestand met nano ~ / .bitcoin / bitcoin.conf

We moeten de volgende regels toevoegen:
rpcuser =< je gebruikersnaam >
rpcpassword =< je wachtwoord >
zmqpubrawblock = tcp: //127.0.0.1: 28332
zmqpubrawtx = tcp: //127.0.0.1: 28333

Sla het configuratiebestand op en sluit het met Ctrl + O en Ctrl + X en start Bitcoind opnieuw met sudo service bitcoind herstart

5. Start lnd en maak een portemonnee

voorwaarden

Zorg ervoor dat Bitcoind volledig is gesynchroniseerd en klaar is om met deze stap te beginnen. Test dit door het commando: bitcoin-cli –getinfo uit te voeren en de waarde van blokken te vergelijken met een block explorer, bijvoorbeeld Blockstream.info.

De blokhoogte die wordt weergegeven door de blokverkenner moet hetzelfde zijn als de “blokken” -uitvoer van onze opdracht. Als het aantal dat wordt weergegeven door de blokverkenner groter is, is het knooppunt nog niet gesynchroniseerd.

Gebruik tail -f /media/bitcoin/debug.log om de logboeken te bekijken. Dit geeft ook aan wanneer het laatste blok is gemaakt en de synchronisatievoortgang. Ons knooppunt wordt tot deze datum gesynchroniseerd.

Een screenshot van Terminal.

Start lnd

Start lnd door lnd in uw terminal te typen. Als alternatief kunt u ook ~ / go / bin / lnd proberen

Lijkt het op de onderstaande uitvoer? Geweldig, alles verloopt volgens plan. Als u een foutmelding ziet, zorg er dan voor dat Bitcoin actief is of ga terug naar de stap die volgens de foutmelding fout is. Zijn alle configuratiebestanden correct??

Een screenshot van Terminal

Wanneer uw uitvoer eruit ziet zoals hierboven, sluit u lnd opnieuw door op de toetsen Ctrl + C te drukken

Voer lnd permanent op de achtergrond uit met het commando: lnd &>/ Dev / null

Typ disown om ervoor te zorgen dat de taak nog steeds actief is, zelfs als u bent uitgelogd of de terminal is gesloten.

Optioneel: bekijk lnd door de foutopsporingslogboeken

Open een nieuwe terminal, SSH terug in de server en open de lnd-logboeken om een ​​goed idee te krijgen van wat er op de achtergrond gebeurt.

Het is best interessant, maar waarschuwt je ook als er iets misgaat. Typ in het nieuwe terminalvenster: tail -f ~ / .lnd / logs / bitcoin / mainnet / lnd.log

Verlaat deze weergave op elk gewenst moment door op Ctrl + C te drukken

Maak een portemonnee

Terwijl lnd op de achtergrond wordt uitgevoerd, voert u de opdracht: lncli create uit

Voer een portetwachtwoord in en bevestig het.

Vervolgens wordt ons gevraagd of we een bestaande cnemonic seed mnemonic hebben. Omdat dit een nieuwe Lightning-knoop is (in tegenstelling tot een die wordt hersteld), zullen we n gebruiken

U kunt optioneel uw codeerzaad coderen – een goed idee als u het zaad opslaat op een locatie die toegankelijk is voor anderen (onder uw matras) – maar u moet de coderingssleutel onthouden.

We kiezen ervoor om de seed in dit voorbeeld niet te coderen. Hieronder is het cijferzaad zwart gemaakt.

Een Terminal-screenshot van het codeerzaadje.

Ontgrendel je portemonnee

Als u een nieuwe portemonnee hebt gemaakt, zou deze automatisch moeten zijn ontgrendeld. Als er iets mis is gegaan of u lnd opnieuw opstart, moet u uw portemonnee ontgrendelen met het commando: lncli unlock

Synchroniseer lnd

Omdat dit de eerste keer is dat we met lnd beginnen, moeten we het synchroniseren.

6. Open een kanaal

Als u op dit punt de opdrachtregel liever verlaat, springt u naar de volgende stap en verbindt u Zap Desktop of Zap iOS met uw knooppunt. U kunt vervolgens kanalen openen en betalingen doen binnen een nette gebruikersinterface.

Zorg ervoor dat lnd wordt uitgevoerd en gesynchroniseerd

Doe dit met het commando: lncli getinfo. Het zou moeten lezen gesynchroniseerd met keten: waar.

Als het niet wordt gesynchroniseerd, moeten we ervoor zorgen dat Bitcoind wordt uitgevoerd en gesynchroniseerd, bijvoorbeeld door bitcoin-cli –getinfo uit te voeren en de huidige blokhoogte van onze node te vergelijken met die van een blokverkenner.

Controleer de logboeken die Bitcoind (tail -f /media/ubuntu/bitcoin/debug.log) en lnd (tail -f ~ / .lnd / lnd.log) uitvoeren.

Stort munten in je knooppunt

Genereer een nieuw adres met de opdracht: lncli newaddress p2wkh

De output zou er ongeveer zo uit moeten zien bc1 …

U kunt nu Bitcoin naar dit adres sturen door het adres in uw Bitcoin-portemonnee te kopiëren / plakken. Als uw portemonnee op de een of andere manier niet naar een adres in de indeling kan verzenden bc1 …, u kunt ook een oud adres genereren dat begint met ‘3’ met de opdracht: lncli newaddress np2wkh

Controleer de balans op elk gewenst moment met behulp van de opdracht: lncli walletbalance

Het zal zowel het bevestigde als het onbevestigde evenwicht in Satoshi tonen. 1 Bitcoin is 100 miljoen Satoshi.

Maak verbinding met een knooppunt

In de volgende stap maken we verbinding met een knooppunt. Misschien heb je al een knooppunt om verbinding mee te maken of ken je een vriend die een Lightning-knooppunt beheert. U kunt ook een van de populaire knooppunten kiezen die op 1ml.com worden vermeld

De URI van een Lightning-knoop ziet er als volgt uit: 0331f80652fb840239df8dc99205792bba2e559a05469915804c08420230e23c7c@74.108.13.152: 9735

Het bevat de openbare sleutel van het knooppunt vóór de @, vervolgens de IP- of domeinnaam en de poort.

Maak verbinding met dit knooppunt met de opdracht: lncli connect [0331f80652fb840239df8dc99205792bba2e559a05469915804c08420230e23c7c@74.108.13.152: 9735]

Bij een succesvolle aansluiting moet de uitgang eenvoudig een open en een dichte haak zijn zonder foutmelding.

Open een kanaal

Zodra de aanbetaling is bevestigd op de Bitcoin Blockchain, opent u een kanaal. U kunt het kanaal openen met het knooppunt dat hierboven is aangesloten, maar het wordt ten zeerste aanbevolen dat u verbinding maakt met een diverse groep knooppunten. U bent ook van harte welkom om kanalen met meerdere knooppunten te openen.

We openen een kanaal met het commando: lncli openchannel 0331f80652fb840239df8dc99205792bba2e559a05469915804c08420230e23c7c 200000, waarbij de lange reeks die begint met 0331 de openbare sleutel van de andere knoop is en het nummer 200000 vertegenwoordigt het bedrag dat we willen vermelden.

Zodra je kanaal succesvol is geopend, ontvang je de financieringstransactie. Wanneer deze transactie wordt bevestigd op de Blockchain, is je kanaal open en actief. Tot die tijd wordt het weergegeven onder in afwachting van kanalen.

Over het algemeen duurt het drie bevestigingen voordat uw kanaal actief wordt.

Een screenshot van een open kanaal in Terminal.

Maak een betaling

Om een ​​betaling uit te voeren, hebt u uitgaande liquiditeit nodig (fondsen hebben in kanalen met andere knooppunten). Om dit te doen, hoeft u alleen Bitcoin in uw knooppunt te deponeren en kanalen met het netwerk te openen.

Idealiter zijn deze kanalen rechtstreeks gekoppeld aan de tegenpartijen waarmee u transacties uitvoert of goed verbonden knooppunten in het netwerk.

U kunt uw knooppunt altijd controleren met de opdracht: lncli getinfo

Je knooppunt moet altijd worden gesynchroniseerd met de keten en je moet ten minste één actief kanaal hebben.

Een Lightning-factuur ziet er zo uit: lnbc10u1pwfxg42pp553wyha3ag66tn40zls69eeaeq0cyluj6ja54sygp7vh50gcy0rnsdqlxycrqvpqwdshgueqvfjhggr0dcsry7qcqzysyrmxj0554vrg4ej2we83m8n7rxj94s8c5a8rwjud07ptc6dw7j2hr42sxt7lnazglku3pfe9jkl8f0gupkuz7jly5xnq35qr202jwwqqy8qs9a

Decodeer het met het commando: lncli decodepayreq [Lightning-factuur]

Dit toont het bedrag, waar de betaling naartoe gaat en wanneer de factuur verloopt.

Een screenshot van een ontvangen betaling in Terminal.

Om een ​​betaling uit te voeren, gebruiken we de opdracht: lncli payinvoice [Lightning-factuur]

Nadat het bedrag en de bestemming zijn bevestigd, probeert het knooppunt de betaling te verrichten. Zodra de betaling is geslaagd, wordt informatie over de betaling, zoals de hop en toeslagen, ontvangen.

Ontvang een betaling

Om betalingen te ontvangen, hebt u inkomende liquiditeit nodig. Moedig anderen aan om kanalen met u te openen (als uw knooppunt online blijft, gebeurt dit automatisch).

Elke keer dat u via uw kanalen betaalt, maakt u ook automatisch inkomende liquiditeiten vrij. Als u bijvoorbeeld 10 USD in uw knooppunt stort, een kanaal opent en een betaling van meer dan 2 USD uitvoert, heeft u onmiddellijk 2 USD aan inkomende capaciteit.

Genereer een factuur om een ​​betaling te ontvangen. De factuur heeft de indeling lncli addinvoice –memo “a memo” –amt –expiry < vervaltijd in seconden >

We kunnen bijvoorbeeld lncli addinvoice –memo “voor VPN-services” –amt 90000 – 3600 uitvoeren voor een 90.000 Satoshi-factuur die één uur geldig is.

Het resultaat bevat een r_hash, een pay_req en een add_index. De pay_req is onze factuur die we kunnen doorgeven.

Een screenshot van een betalingsverzoek in Terminal.

Controleer betalingen

Bekijk de uitgegeven facturen en hun status met de opdracht: lncli listinvoices. Hieronder kunnen we zien dat de factuur die we hierboven hebben uitgegeven nog niet is betaald, omdat ‘afgerekend’ is ingesteld op ‘onwaar’.

Een screenshot van een betaling in Terminal.

7. Handige opdrachten met lnd

Veruit de meest bruikbare opdracht in lnd is lncli help. Het geeft alle beschikbare opdrachten weer. Ontvang aanvullende informatie over elke opdracht door het woord ‘help’ toe te voegen. Zo zal lncli addinvoice help u de beschikbare opties tonen bij het maken van een factuur.

  • lncli getinfo toont je basisinformatie over je knooppunt
  • lncli listchannels toont u de kanalen die u momenteel hebt geopend en hun status
  • lncli getnetworkinfo toont u de reikwijdte van het Lightning-netwerk vanuit uw gezichtspunt
  • lncli feereport laat zien hoeveel uw knooppunt heeft verdiend met het routeren van betalingen
  • lncli connect Als een betaalkanaal offline of inactief is, kunt u proberen verbinding te maken met de peer om dit handmatig te doen herleven
  • lncli walletbalance toont je hoeveel Satoshis je aan de ketting bezit
  • lncli channelbalance laat zien hoeveel Satoshis je bezit in kanalen

8. Alternatief: Zap Desktop verbinden

Zap is een gebruikersinterface voor Lightning-knooppunt die op uw computer kan worden uitgevoerd. Als u Lightning op uw lokale computer uitvoert, is het triviaal om verbinding te maken. Maar als uw knooppunt zich in de cloud bevindt, moet u nog een paar stappen uitvoeren.

Om deze stap te laten werken, moeten zowel uw Bitcoind als uw lnd-knooppunt volledig worden gesynchroniseerd. Controleer of lnd is gesynchroniseerd met de opdracht: lncli getinfo. Moet lezen “gesynchroniseerd met keten: waar”.

Als ze niet worden gesynchroniseerd, zorg er dan voor dat Bitcoind actief en gesynchroniseerd is, door het logboek te controleren met tail -f /media/bitcoin/debug.log of door bitcoin-cli –getinfo uit te voeren en de blokhoogte te vergelijken met een ander knooppunt, of door blokverkenner aan te vinken.

Zap downloaden

Download Zap voor desktop hier. We hebben de nieuwste versie gedownload, die in ons voorbeeld bèta v0.4.1 is. Zorg ervoor dat u de juiste versie voor uw besturingssysteem krijgt! Voor Windows is dat ZapDesktop-win32-v0.4.1-beta.exe

Lnd.conf wijzigen

Open ons configuratiebestand met nano ~ / .lnd / lnd.conf

Wijzig de volgende regels:

rpclisten = 0.0.0.0: 10009
tlsextraip =< uw IP-adres >
Sla het bestand op en sluit het met Ctrl + O en Ctrl + X

Stop met lnd

Start lnd opnieuw om wijzigingen door te voeren. Om lnd te stoppen, voer je lncli stop uit
Wacht enkele seconden voordat u het opnieuw start. Als u de logboeken hebt geopend, kunt u zien wanneer lnd is afgesloten. U kunt ook controleren met top

Verwijder tls-sleutel en certificaat

Als u wijzigingen in het configuratiebestand hebt aangebracht die van invloed zijn op de tls-sleutel en het certificaat, moet u deze verwijderen. Doe dit met het commando: rm ~ / .lnd / tls.cert en rm ~ / .lnd / tls.key

Voer lnd uit om opnieuw te beginnen &>/ dev / null en disown

Open de firewall

Als u Zap wilt gebruiken, maakt u inkomende verbindingen met ons Lightning-knooppunt. Open de firewall met het commando: sudo ufw enable 10009 / tcp

Kopieer over het macaroon- en TLS-certificaat

Om de app en de server te verifiëren, moet u twee bestanden kopiëren (hieronder weergegeven).

Zap zal controleren of de TLS-sleutel correct is om ervoor te zorgen dat deze altijd is verbonden met de juiste server (en niet iemand die deze imiteert). Om te weten welke TLS-sleutel juist is, moeten we Zap het TLS-certificaat meedelen.

Ramen:

Open een nieuwe PowerShell met de opdracht: scp ubuntu @< je nodes ip >: ~ / .lnd / tls.cert C: \ Users \ YourUserName \ Desktop \ om het tls-certificaat naar uw bureaublad te kopiëren.

Gebruik de opdracht: scp ubuntu @< je nodes ip >: ~ / .lnd / data / chain / bitcoin / mainnet / admin.macaroon C: \ Users \ YourUserName \ Desktop \ om de macaroon te kopiëren. Als je wilt, kun je het in elke map kopiëren met behulp van de verkenner.

Mac of Linux:

Open een nieuwe terminal en gebruik de opdracht: scp ubuntu @< je nodes ip >: ~ / .lnd / tls.cert ~ / Desktop om het tls-certificaat te kopiëren.

Gebruik de opdracht: scp ubuntu @< je nodes ip >: ~ / .lnd / data / chain / bitcoin / mainnet / admin.macaroon ~ / Desktop om de macaroon te kopiëren. U kunt het ook naar elke map kopiëren met Finder of Bestanden.

Configureer Zap

Open Zap door op het eerder gedownloade bestand te klikken of door het in toepassingen te vinden. Kies de optie Verbind uw eigen knooppunt in het opstartscherm.

Een screenshot van het Zap-verbindingsscherm.

Voer vervolgens uw IP-adres en het pad naar het certificaat in.

Ramen:

Dit kan er zo uitzien:
192.168.1.21:10009
C: \ Users \ uwgebruikersnaam \ Desktop \ tls.cert
C: \ Users \ uwgebruikersnaam \ Desktop \ admin.macaroon

Mac of Linux:

Dit kan er zo uitzien:
192.168.1.21:10009
~ / Desktop / tls.cert
~ / Desktop / admin.macaroon

Een screenshot van het scherm Zap-verbindingsdetails.

Log in

Na het klikken op De volgende en ter bevestiging van uw selectie, moet u zijn aangemeld bij uw knooppunt. U kunt uw saldo en uw recente betalingen bekijken.

8b. Alternatief: verbind Zap iOS

Zap is een gebruikersinterface voor uw Lightning-knooppunt dat nog steeds in alfa is, maar u kunt zich hier aanmelden om een ​​tester te worden. U kunt het gebruiken om op afstand verbinding te maken, uw fondsen te controleren, kanalen te openen of betalingen te doen en ontvangen.

Download Zap voor iOS

Nadat je je hebt aangemeld als tester, download en installeer je de app via Testflight, de tool van Apple voor het downloaden van testsoftware. Het zal dan verschijnen als een gewone app op uw startscherm.

Lndconnect downloaden

Om de app en de server te verifiëren, moeten we gegevens van onze server naar de telefoon doorgeven. Wanneer u Zap op het bureaublad aansluit, worden twee bestanden naar onze machine gekopieerd, maar dat is niet mogelijk op een telefoon. Gebruik in plaats daarvan een tool genaamd lndconnect die voor ons een QR-code zal genereren.

Download lndconnect met de opdracht:
ga naar -d github.com/LN-Zap/lndconnect

Installeer lndconnect

Om lndconnect te installeren, ga je naar de map met de opdracht:
cd ~ / go / src / github.com / LN-Zap / lndconnect

Installeer het programma met make && maak installeren

Voer lndconnect uit

Typ lndconnect in uw terminal om de QR-code te laten verschijnen. Mogelijk moet u een beetje uitzoomen en het venster vergroten met Ctrl ++ (houd de knop ingedrukt en druk bovendien op het plus- of minteken om in of uit te zoomen)

Verbind Zap

Open de Zap-app op uw telefoon en klik Scannen wanneer de optie wordt gegeven. Scan de QR-code die is gegenereerd met lndconnect.

U kunt nu uw saldo bekijken, betalingen uitvoeren en ontvangen en uw kanalen beheren met de app.

9. Optioneel: Bitcoind configureren via Tor

Privacy is geweldig. Ons Bitcoin-bedrijf is uitsluitend ons bedrijf en geen enkele internetprovider of overheid zou moeten kunnen zien hoe we het gebruiken.

Maar privacy is ook geweldig voor de beveiliging. Als we onze Bitcoin-activiteit kunnen verbergen, kunnen we niet gemakkelijk worden aangevallen door criminele organisaties. En als ons knooppunt niet kan worden gevonden, kan het niet gemakkelijk worden beschadigd of worden gevoed met valse informatie.

Tor installeren

Installeer tor snel met het commando: sudo apt install tor

Tor configureren

Leid eerst alle Bitcoin-transacties via het Tor-netwerk. Sta vervolgens binnenkomende transacties alleen toe via een verborgen service.

Om dit te doen, moeten we een wachtwoord en de hash ervan maken. Om een ​​wachtwoord te maken, gebruikt u uw wachtwoordbeheerder (of gebruikt u de onze) om een ​​willekeurig wachtwoord van meer dan 30 tekens te genereren met hoofdletters, kleine letters en cijfers.

Plak het voorlopig in een notitieblok, maar bewaar het niet.

Maak zijn hash met behulp van tor met het commando: tor –hash-wachtwoord “yourpassword”

Plak de uitvoer voorlopig in een notitieblok.

Bewerk nu het tor-configuratiebestand. Open het met het commando: sudo nano / etc / tor / torrc

Het configuratiebestand is al vooraf geschreven, maar alles is uitgecommentarieerd (zoals aangegeven door de regels die beginnen met # -tekens. Zoek naar de zin #ControlPort 9051 onderaan de eerste sectie

Verwijder het # -teken zodat ControlPort 9051 wordt weergegeven

Verwijder ook de # tekens van deze twee lijnen

HashedControlPassword < je wachtwoord >
Cookie-verificatie 1

Vervang het bestaande HashedControlPassword door de hash verkregen in de bovenstaande stap. Verwijder nu de hash uit het kladblok.

Sla het nieuwe configuratiebestand op en sluit het met Ctrl + O en Ctrl + X

Start tor opnieuw met het commando: sudo service tor herstart

Bitcoind configureren

Voer het Bitcoin-configuratiebestand in met nano ~ / .bitcoin / bitcoin.conf

Wijzig het bestand met de volgende configuratie:

  • proxy = 127.0.0.1: 9050 (wijst het Bitcoin-knooppunt naar de Tor Socks Proxy, zodat alle gegevens door tor gaan)
  • luister = 1 (luistert naar inkomende verbindingen)
  • onlynet = ui (om alleen via tor te verbinden)
  • listenonion = 1 (luistert naar inkomende verbindingen via een uienadres)
  • discover = 0 (dus ons IP-adres wordt niet uitgezonden)
  • torcontrol = 127.0.0.1: 9051 (laat het bitcoin-knooppunt zien hoe Tor te besturen, bijvoorbeeld om een ​​verborgen service te maken)
  • torpassword =< YourTorPassword > (hoe het Bitcoin-knooppunt zichzelf zal verifiëren bij het Tor-knooppunt)

Plak het eerder gemaakte wachtwoord en sluit het kladblok.

Sluit de editor met de opdrachten: Ctrl + O en Ctrl + X
Start Bitcoind opnieuw met de opdracht: sudo service bitcoind herstart

Sluit de poort

Bitcoin-poort 8333 hoeft niet langer open te zijn. Sluit het met het commando: sudo ufw deny 8333 / tcp

Test je ui-opstelling

U kunt nu verbinding maken met uienknooppunten. Je zou een lijst van dergelijke knooppunten moeten vinden in de Bitcoin-wiki.

Als u bijvoorbeeld verbinding maakt met het knooppunt van BlueMatt, heeft u de opdracht: bitcoin-cli addnode nodig "nkf5e6b7pl4jfd4a.onion ”add

Uw Bitcoin-knooppunt kan nog steeds verbinding maken met reguliere IP-adressen, maar accepteert alleen inkomende verbindingen via het Tor-netwerk. Uw uienadres wordt weergegeven in uw logboeken bij het opstarten voor het geval u er specifiek verbinding mee wilt maken vanaf een ander knooppunt dat u beheert. Je kunt het ook helemaal onderaan vinden met het commando bitcoin-cli getnetworkinfo