Configuratie en starten
Tijd: 5 minuten
Bitcoin Core heeft allerhande instellingen net zoals jouw mobiel instellingen heeft. Het mooie aan het mobieltje is dat de instellingen overzichtelijk gegroepeerd onder elkaar staan. Je kunt ze makkelijk wijzigen met een druk op de knop. Bij Core werkt dat net even anders. Je moet eerst een lijst vinden met mogelijke instellingen, je inlezen en daarna bepalen wat je nodig hebt. Best wel een gedoe, daarom staat hieronder een configuratie bestand wat zou moeten werken voor deze guide. Wil je meer customizen dan is deze site van Lopp een hele goede resource.

Configuratie

Gezien vanuit de home directory (/home/ubuntu) hebben we nu een map genaamd bitcoin met de broncode. Naast deze map hebben we een map nodig genaamd .bitcoin dus maak hem aan.
1
mkdir ~/.bitcoin
Copied!
De instellingen van Bitcoin Core zetten we in een bestand in de .bitcoin map genaamd bitcoin.conf.
1
nano ~/.bitcoin/bitcoin.conf
Copied!
Net als bij het torrc bestand moeten we wat regels copy-pasten. Je kunt alle regels, inclusief de commentaar regels aangegeven met een #, kopiëren en plakken.
1
# Maak het mogelijk JSON-RPC commando's te accepteren
2
server=1
3
4
# Draai Bitcoin Core (bitcoind) in de achtergrond
5
daemon=1
6
7
# Listening mode aan
8
listen=1
9
10
# Zorg ervoor dat Core een index bijhoudt van alle txs
11
txindex=1
12
13
# Als je wil dat Specter sneller werkt
14
blockfilterindex=1
15
16
# Als je Specter (zie Bitcoin Core extensies hoofdstuk in de guide) wil draaien
17
disablewallet=0
18
19
# Cache grootte in MB's voor de database. Ophogen naar 3000 is wel lekker voor de IBD.
20
# Later kan het teruggeschroeft worden naar 500.
21
dbcache=3000
22
23
# Wil je jouw node op zowel tor als clearnet, laat de instellingen dan voor wat het is.
24
# Wil je jouw node enkel op tor? Doe dan het volgende:
25
# - Haal # weg voor onlynet=onion. Je zegt hiermee dat alleen tor toegestaan is.
26
# - Haal # weg voor proxy=127.0.0.1:9050. Je zegt hiermee dat alles via tor moet lopen.
27
# - Haal # weg voor bind=127.0.0.1.
28
# - Zet # voor onion=127.0.0.1:9050. Je hebt immers met proxy aangegeven dat ALLES via tor moet.
29
# - Zet # voor discover=1. Je zet hiermee de discover functie uit.
30
# - Zet # voor upnp=1. Je zet hiermee de UPnP functie uit.
31
32
#onlynet=onion
33
#proxy=127.0.0.1:9050
34
#bind=127.0.0.1
35
onion=127.0.0.1:9050
36
discover=1
37
upnp=1
38
39
# Nodig voor Lightning in een later stadium van de guide
40
zmqpubrawblock=tcp://127.0.0.1:28332
41
zmqpubrawtx=tcp://127.0.0.1:28333
42
43
# Standaard gebruik maken van native segwit (bech32) adressen
44
addresstype=bech32
45
changetype=bech32
Copied!
Wacht even met gulzig op Ctrl + X drukken om op te slaan! Wil je dat jouw node enkel bereikbaar is via tor? Doe dan het onderstaande. Wil je dat jouw node ook via het normale internet bereikbaar is, laat de instellingen dan voor wat het is en sla het bestand op.
  • Haal de # weg voor onlynet=onion. Je zegt hiermee dat alleen tor toegestaan is.
  • Haal de # weg voor proxy=127.0.0.1:9050. Je zegt hiermee dat alles via tor moet lopen.
  • Haal de # weg voor bind=127.0.0.1.
  • Zet een # voor onion=127.0.0.1:9050. Je hebt immers met proxy aangegeven dat ALLES via tor moet.
  • Zet een # voor discover=1. Je zet hiermee de discover functie uit.
  • Zet een # voor upnp=1. Je zet hiermee de UPnP functie uit.
Druk na alle veranderingen op Ctrl + X en daarna Y om op te slaan.

Authenticatie

We willen een gebruiker aanmaken om deze toegang verlenen tot bitcoind. Dit doen we met een scriptje. In het volgende commando wordt de gebruiker XXX meegegeven. Maar dit kun je veranderen in iets wat je leuk vindt.
1
python3 ~/bitcoin/share/rpcauth/rpcauth.py XXX
Copied!
De output zal hierop lijken:
1
String to be appended to bitcoin.conf:
2
rpcauth=XXX:kdfjhad93rhasdjfhas$lkajshdflakshdf93ehf3qiflkjf9f39rhf39p3930fhaldkjfhsdkljbdflg
3
Your password:
4
sdflkashf93hfhalfhasdfjh3ejfhb=
Copied!
Wat staat hier? De eerste regel geeft aan dat we iets moeten toevoegen aan het bitcoin.conf bestand. De volledige regel die begint met rpcauth moeten we dus toevoegen. We hebben een wachtwoord toebedeeld gekregen. Daar heb je het mee te doen. Open bitcoin.conf opnieuw.
1
nano ~/.bitcoin/bitcoin.conf
Copied!
Voeg onderaan het bestand de rpcauth=user:salt$hash regel toe, maar dan met alle cijfers en letters zoals het commando je gaf. Sla het op met Ctrl + X en bevestig met Y. We hebben nu aan bitcoind verteld dat de gebruiker genaamd xxx mag inloggen met het wachtwoord sdflkashf93hfhalfhasdfjh3ejfhb=. Sla dit wachtwoord dus op, je zal het later nodig hebben.
Je kunt meerdere rpcauth regels toevoegen. Zo kun je verschillende gebruikers aanmaken en toegang geven.

Firewall en router

Als je UFW hebt ingesteld is het belangrijk om port 8333 open te zetten. Dit zorgt ervoor dat andere nodes kunnen verbinden met die van jou. Het openzetten van deze port is alleen noodzakelijk als je je node (ook) over clearnet draait. Draai je jouw node enkel over tor, dan kun je deze paragraaf overslaan en verder naar "starten".
1
sudo ufw allow 8333 comment "Port voor Bitcoin Core peers"
Copied!
In het configuratie bestand een paar paragraven hierboven staat upnp=1. Dit houdt in dat als jouw router UPnP ondersteunt, Bitcoin Core die port zal openzetten op je router. Ondersteunt jouw router UPnP niet of heb je het uitgezet? Dan moet je even op portforward.com kijken hoe jij op jouw specifieke router port 8333 openzet en het verkeer doorsluist naar je Pi.

Starten

Dan is het nu tijd om deel te nemen aan het Bitcoin netwerk! Knal dit je Pi in:
1
bitcoind
Copied!
Done! Je kunt live bijhouden wat er gebeurt met:
1
tail -n 200 -f ~/.bitcoin/debug.log
Copied!
Per block dat gecontroleerd wordt, zie je de tekst progress=X.XXXXX voorbij komen. Dit is een getal van 0 tot 1. Nul betekent dat je nog niets gesynchroniseerd hebt, 1 betekent dat je klaar bent. Met Ctrl + C zet je de live feed weer stop.
De initiële block download (IBD) zal zo'n 60 tot 80 uur duren.
Met de installatie van Core heb je ook een tool geïnstalleerd genaamd bitcoin-cli. Hiermee kun je met bitcoind praten.

Instellingen checken

Maak gebruik van de bitcoin-cli om netwerk informatie op te halen van jouw node.
1
bitcoin-cli getnetworkinfo
Copied!
Met dit commando krijg je wat informatie over het netwerk. Als het goed is ziet het er ongeveer zo uit als je enkel van tor gebruik maakt.
Het onion-adres wijkt af van het adres dat je in de vorige stap hebt aangemaakt (als je dat hebt aangemaakt). Dat het afwijkt is juist goed. Het onion-adres uit de vorige stap is enkel voor het uitvoeren van commando's op je node van buitenaf en gaat over port 8332. Het onderstaande onion-adres wordt door bitcoind zelf aangemaakt en gaat over port 8333. Dit wordt gebruikt om met andere nodes te communiceren.
1
"networks": [
2
{
3
"name": "ipv4",
4
"limited": true,
5
"reachable": false,
6
"proxy": "127.0.0.1:9050",
7
"proxy_randomize_credentials": true
8
},
9
{
10
"name": "ipv6",
11
"limited": true,
12
"reachable": false,
13
"proxy": "127.0.0.1:9050",
14
"proxy_randomize_credentials": true
15
},
16
{
17
"name": "onion",
18
"limited": false,
19
"reachable": true,
20
"proxy": "127.0.0.1:9050",
21
"proxy_randomize_credentials": true
22
},
23
],
24
"localaddresses": [
25
{
26
"address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.onion",
27
"port": 8333,
28
"score": 4
29
}
30
]
Copied!
Hieraan zie je het volgende:
  • IPv4 is niet bereikbaar
  • IPv6 is niet bereikbaar
  • Onion is wel bereikbaar (tor)
  • Jouw onion-adres binnen het "localaddresses" blok
Heb je zowel tor als clearnet aan staan, dan zal je output er zo uit zien:
1
"networks": [
2
{
3
"name": "ipv4",
4
"limited": false,
5
"reachable": true,
6
"proxy": "",
7
"proxy_randomize_credentials": false
8
},
9
{
10
"name": "ipv6",
11
"limited": false,
12
"reachable": true,
13
"proxy": "",
14
"proxy_randomize_credentials": false
15
},
16
{
17
"name": "onion",
18
"limited": false,
19
"reachable": true,
20
"proxy": "127.0.0.1:9050",
21
"proxy_randomize_credentials": true
22
}
23
],
24
"localaddresses": [
25
{
26
"address": "69.69.69.69",
27
"port": 8333,
28
"score": 3
29
},
30
{
31
"address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.onion",
32
"port": 8333,
33
"score": 4
34
}
35
]
Copied!
Hieraan zie je het volgende:
  • IPv4, IPv6 en onion (tor) zijn bereikbaar
  • Jouw IP-adres binnen het "localaddresses" blok
  • Jouw onion-adres binnen het "localaddresses" blok
Wijkt jouw output af? Ga terug naar start.
Last modified 1d ago