Column: perikelen rond lightningnodetransplantaties
Een jaar geleden deed ik de eerste serieuze poging voor een lightningnode op een Raspberry Pi 4 8GB met het voorgebakken systeem MyNode. Dat lukte en ik had al vrij snel een goed verbonden node. Daarvoor had ik wel eens gerotzooid met een node op een RPi 3B+ met RaspiBlitz en ook later heb ik die RPi nog wel gebruikt om een slecht functionerende BTCPay Server op te draaien. Dat laatste viel in de categorie: ‘al doende leert men’. En bij bitcoingerelateerde zaken komt ook het volgende bij kijken: ‘… verlies je miniplukjes bitcoin niet door domme acties’.
Waarom ging ik ook nog aan de slag met een aparte BTCPay Server? Dat had een vrij simpele reden: ik vond dat mijn boek ‘Cryptovaluta voor dummies’ tenminste met bitcoin en lightning-bitcoin te krijgen moest zijn. In de retail kende ik geen enkele boekhandel die in de winkel of online bitcoinbetalingen accepteert, wat dus betekende dat ik het dan maar zelf moest doen. Inmiddels is er door het niet aflatende zendingswerk van mijn collega-auteurs Bert en Peter Slagter met ‘Ons geld is stuk’ in ieder geval bij één boekhandel in Nederland de mogelijkheid in de winkel met LN-BTC te betalen, maar online is dat helaas nog niet mogelijk.
Lang verhaal kort: de MyNode-installatie moest dienen als makkelijk alles-in-een-recept voor het draaien van een node waar je niet naar om hoeft te kijken (dat kan heel erg misgaan bleek) en vooral ook functioneren als BTCPay Server. Dat laatste pakket is op MyNode makkelijk via een grafische gebruikersinterface te installeren. En dan werkt dat. Binnen je eigen netwerk. Het lukte me met geen mogelijkheid om dat ook naar buiten te krijgen. Navraag in de chatkanalen van MyNode maakte duidelijk dat het eigenlijk ook niet de bedoeling is: leuk voor een lokaal point-of-sale’-systeem, maar niet voor een wereldwijd bereikbare dienst.
Inmiddels had ik een goed draaiende node met veel verbindingen en daaromheen een leuke community in het LightningNL-telegramkanaal. Toch bleef dat online afrekenen van dat boek van mij knagen. Daar had ik dus een aparte BTCPay Server voor nodig. Het opzetten van BTCPay als plugin in een WooCommerce-omgeving op een WordPress-installatie was het probleem niet: dat werkt echt heel eenvoudig.
Hoog tijd RPi 4 numero #2 te kopen. Met natuurlijk weer een grote harddisk voor die hele vermaledijde bitcoinblockchain, want dat had ik inmiddels geleerd: je kunt een zogenaamde ‘pruned node’ maken van je BTCPay Server, maar als je dan een lokale lightningnode opzet… dan mag je peentjes gaan zweten om het daar naartoe verstuurde geld later weer terug te krijgen, dus de on-chain-funding-transactie. En ja, er staat een heel grote waarschuwing bij die je helaas kunt negeren. Je lightning-seed is namelijk geen standaard-seed, maar werkt met het aezeed cipher seed scheme. Op Reddit wordt dat verder uitgelegd.
Goed, een werkende MyNode, maar niet mijn gewenste opstelling, een goed werkende BTCPay Server op een RPi 4 met de hele bitcoinblockchain erop. Dat ging als een speer. Enige ding: hoe krijg je binnenkomende kanalen? Mijn oplossing was één private channel van de MyNode naar BTCPay en dat deed zijn werk. Voornamelijk ikzelf die testdonaties aan mijzelf deed trouwens. Broekzak-vestzak zullen we maar zeggen. Je kunt overigens ook een andere node via macaroons en andere lastige zaken koppelen aan je Server, did that, been there, maar zo bleef ik twee RPi’s nodig hebben.
De druppel was toen de harddisk van de MyNode het begaf. Drie weken peentjes zweten en heel wat meer geluk dan wijsheid met een klein beetje commandlinekennis zorgde ervoor dat de MyNode toch ineens weer in de lucht was, inclusief bestaande kanalen. Inmiddels had ik een SSD aangeschaft om de HDD te vervangen, maar die bleek 4 bits te klein voor een ‘disk copy’ dus dat ging ook al mis. Nou ja, dan maar helemaal goed: BTCPay kreeg de nieuwe SSD, inclusief een verse bitcoinblockchain.
Deze opstelling met de twee nodes draaide prima, maar de MyNode bleef een doorn in mijn oog. Net als Umbrel veel te veel diensten die allemaal stuk kunnen gaan of rare beveiligingslekken geven en wat al niet meer. Inmiddels was ik er dus achter dat je prima de eigen interne lightningnode van BTCPay kunt gebruiken en die heeft gewoon de bekende visuele voorkant meegekregen als op zoveel plekken: Ride the Lightning, beter bekend als RTL.
Nu bleef nog één ding staan: het uitzetten van de MyNode. En alle kanaaltjes dus. Inmiddels was de node ook onderdeel van een van de eerste Satoshi Radio Ring of Fires en dat zou dus betekenen de kanalen opgeven in die ring en zo de verbindingen tussen die andere nodes ook minder goed maken. Transplantatie dus en dat is geen makkelijke klus.
Uiteindelijk heb ik de MyNode lang opengehouden, ben een paar kanalen gaan opzetten vanuit BTCPay naar een paar goed verbonden kanalen die ik ook al op de MyNode had. Daar heb je dan nog niks aan: alleen uitgaande kanalen zijn niet zo nuttig voor een node die betalingen moet kunnen ontvangen. Dus zelf balanceren door steeds de helft van de kanaalwaardes via specifieke kanalen (dat kun je kiezen) naar de MyNode te sturen en in een enkel geval naar BlueWallet als het anders niet lukte. En altijd cheap hè, 1sat/vbyte-fees. Altijd dan precies even een block dat er een eeuw over doet om door te komen of een hoos aan nieuwe transacties. Na een paar dagen was het in ieder geval volledig gelukt: een nieuwe, goed verbonden node en de oude MyNode kon aan de wilgen.
Natuurlijk, er zijn inmiddels veel meer diensten die je kunnen helpen met een gebalanceerd kanaal opzetten, alleen zijn die vaak duur. Ik ben toch echt van de 1-sats-fee-soort. Dan maar even wachten als het druk is op het netwerk. Misschien ga ik de volgende keer eens ‘loop in’ of ‘loop out’ gebruiken, maar voordat ik een beetje begrijpelijke documentatie daarover tegenkwam… was ik al klaar.
Al met al: de transplantatie van de MyNode met de bestaande kanalen van de SR ROF heeft gewerkt. Het voelde als een harttransplantatie uitvoeren terwijl je wel globaal iets van de anatomie van het hart en omliggend weefsel weet, maar toch niet genoeg. ‘Ah, die ader moet daar!’
Krijn Soeteman is tech- en wetenschapsjournalist en volgt bitcoin al sinds lange tijd. Hij is onder meer te vinden op Twitter.
Lees ook eerdere columns:
Also read
Column: Lastige feestdagenvragen
Column: Groene sprookjes
gas-olie-mining-scaled-5fd920ae0873c.jpg')" title="Column: Omgekeerde wereld">
Column: Omgekeerde wereld
Wil je op de hoogte blijven over alle ontwikkelingen? Kom dan eens
langs in onze Telegram chat, en download
ook vooral onze Android
Nieuws app
of iOS Nieuws
app!