Difference between revisions of "Plebnet Playground"
Jump to navigation
Jump to search
(35 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
<translate> | |||
== Plebnet Playground / plebnet.fun == <!--T:1--> | |||
== Master node info == | <!--T:2--> | ||
[[File:PlebnetPlayground.jpg|450px|alt=Plebnet Playground Logo]] | |||
<!--T:3--> | |||
Signet based bitcoin / lnd package which will allow plebs to learn and use lightning network without having to take any financial risks. | |||
<!--T:4--> | |||
Github Repo: https://github.com/PLEBNET-PLAYGROUND/plebnet-playground-docker | |||
== Progress == <!--T:5--> | |||
<!--T:6--> | |||
* Signet master node that handles block production - DONE | |||
* CLI docker setup for bitcoind & lnd under tor - DONE | |||
* ThunderHub and RTL GUI containers added - DONE | |||
* Faucet API to allow plebs to obtain some coins - 'DONE | |||
* Faucet Web UI - DONE | |||
* RPi4 docker images - In future | |||
* Automated traffic so people can get routes - RUNNING | |||
* Jupyter Dashboard Project - IN PROGRESS | |||
== Signet Reference Material == <!--T:7--> | |||
<!--T:8--> | |||
[https://en.bitcoin.it/wiki/Signet#Custom_Signet Signet Setup Wiki] | |||
== Master node info == <!--T:9--> | |||
<!--T:10--> | |||
{| class="wikitable" | {| class="wikitable" | ||
| signetchallenge=512102ee856c56a5aaadd1656f849bafa4c9dacc86a2878fe546c6189185f842ae2c1851ae | | signetchallenge=512102ee856c56a5aaadd1656f849bafa4c9dacc86a2878fe546c6189185f842ae2c1851ae | ||
|} | |} | ||
<!--T:11--> | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ Bitcoin Endpoints | |+ Bitcoin Endpoints | ||
Line 25: | Line 57: | ||
<!--T:12--> | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ Lightning Endpoints | |+ Lightning Endpoints | ||
Line 33: | Line 66: | ||
|- | |- | ||
|03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@xrybvh4myas4rr3p6itf5ib6zqtrfb5gyb5246bakifev5s62rlicyad.onion:9735 | |03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@xrybvh4myas4rr3p6itf5ib6zqtrfb5gyb5246bakifev5s62rlicyad.onion:9735 | ||
|- | |||
|03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@[2604:a880:800:14::2c:9000] | |||
|} | |} | ||
= | {| class="wikitable" | ||
|+ Watchtower Endpoints | |||
|- | |||
! NodeId@Address:Port | |||
|- | |||
|02c6d32c0596ad26c34cd1978ee72c4ec9ab6e2a82327bc26c3b90c8c14e2e5d96@uoyands3phvswnej6by67rblju3n5syxxaadbzkalmjrx72nmqbgvjqd.onion:9911 | |||
|- | |||
|031557cea4a1aa39400801273d5027a419638aa1d6e4d5e77ee8a72b049d1f67fb@3zlvbas7neqmr75zbwnwugqkxl7qlzqkyph25c6uh74slrugznxzwmqd.onion:9911 | |||
|- | |||
|} | |||
Block Explorer: https://explorer.plebnet.fun/ | |||
== Current Infrastructure == <!--T:13--> | |||
<!--T:14--> | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Role !! Machine Type !! Cost | ! Role !! Machine Type !! Cost | ||
|- | |- | ||
|Block producer / LND node || Digital Ocean | |Block producer / LND node || Digital Ocean 2 GB Memory / 2 AMD vCPU / 60 GB Disk || $19.44 | ||
|} | |} | ||
== | == Aliases for easy management == <!--T:15--> | ||
<!--T:16--> | |||
<nowiki> | |||
alias lncli-signet='lncli -n signet ' | |||
</nowiki> | |||
== lnd.conf == <!--T:17--> | |||
<!--T:18--> | |||
FYI, LND did not add signet support until v0.13.0+, please make sure you are on this version or higher before attempting | |||
<!--T:19--> | |||
<nowiki> | |||
<!--T:20--> | |||
[Application Options] | |||
<!--T:21--> | |||
listen=0.0.0.0:9735 | |||
listen=[::1]:9736 | |||
rpclisten=localhost:10009 | |||
rpclisten=[::1]:10010 | |||
minchansize=10000000 | |||
ignore-historical-gossip-filters=true | |||
accept-keysend=true | |||
accept-amp=true | |||
allow-circular-route=true | |||
numgraphsyncpeers=3 | |||
# INSERT YOUR ALIAS ON THE NEXT LINE! | |||
alias=HelloJessica | |||
# UNCOMMENT AND EDIT FILE PATH WITH CLEAR TEXT PASSWORD TO AUTO UNLOCK LND WALLET | |||
#wallet-unlock-password-file=/path/to/unlock.password | |||
#externalip=<replace yours if using public IP> | |||
[Bitcoin] | |||
bitcoin.active=true | |||
bitcoin.mainnet=false | |||
bitcoin.signet=true | |||
bitcoin.signetseednode=104.131.10.218 | |||
bitcoin.node=bitcoind | |||
bitcoin.dnsseed=0 | |||
[Bitcoind] | |||
bitcoind.dir=/var/lib/bitcoind/ | |||
bitcoind.rpchost=localhost | |||
bitcoind.rpcuser=bitcoin | |||
bitcoind.rpcpass=bitcoin | |||
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 | |||
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 | |||
[tor] | |||
tor.active=true | |||
tor.socks=9050 | |||
tor.control=localhost:9051 | |||
#password is set in your torrc if you use one below it is just set as a "hello" | |||
tor.password=hello | |||
tor.v3=true | |||
[watchtower] | |||
watchtower.listen=0.0.0.0:9911 | |||
watchtower.listen=[::1]:9912 | |||
[wtclient] | |||
wtclient.active=true | |||
wtclient.sweep-fee-rate=10 | |||
[protocol] | |||
protocol.wumbo-channels=true | |||
<!--T:22--> | |||
</nowiki> | |||
== bitcoin.conf == <!--T:23--> | |||
<!--T:24--> | |||
<nowiki> | |||
listen=1 | |||
listenonion=1 | |||
signet=1 | |||
daemon=1 | |||
#rpcauth the password here is set as "bitcoin" | |||
rpcauth=bitcoin:c8c8b9740a470454255b7a38d4f38a52$e8530d1c739a3bb0ec6e9513290def11651afbfd2b979f38c16ec2cf76cf348a | |||
txindex=1 | |||
#Only include i2psam if you have install i2p | |||
#i2psam=127.0.0.1:7656 | |||
server=1 | |||
dnsseed=0 | |||
[signet] | |||
zmqpubrawblock=tcp://0.0.0.0:28332 | |||
zmqpubrawtx=tcp://0.0.0.0:28333 | |||
zmqpubhashblock=tcp://0.0.0.0:28334 | |||
wallet=/var/lib/bitcoind/signet/wallets | |||
signetchallenge=512102ee856c56a5aaadd1656f849bafa4c9dacc86a2878fe546c6189185f842ae2c1851ae | |||
proxy=127.0.0.1:9050 | |||
addnode=104.131.10.218:38333 | |||
<!--T:25--> | |||
</nowiki> | |||
== /etc/tor/torrc == <!--T:26--> | |||
<!--T:27--> | |||
This example has a HashedControlPassword set as "please", you can create your own running '''tor --hash-password mynewpassword''' | |||
<!--T:28--> | |||
<nowiki> | |||
SocksPort 9050 # Default: Bind to localhost:9050 for local connections. | |||
RunAsDaemon 1 | |||
<!--T:29--> | |||
## The port on which Tor will listen for local connections from Tor | |||
## controller applications, as documented in control-spec.txt. | |||
ControlPort 9051 | |||
## If you enable the controlport, be sure to enable one of these | |||
## authentication methods, to prevent attackers from accessing it. | |||
HashedControlPassword 16:A170E9325684E5366021C2AA404D4CA5AAE0D6FFE947E60B939083EF61 | |||
CookieAuthentication 1 | |||
CookieAuthFileGroupReadable 1 | |||
<!--T:30--> | |||
</nowiki> | |||
== notes from getting started with ubuntu 20.04 running in a VM == <!--T:31--> | |||
<!--T:32--> | |||
these notes are incomplete and may or may not help you get things working. | |||
<!--T:33--> | |||
<nowiki> | |||
<!--T:34--> | |||
# Install and configure tor | |||
<!--T:35--> | |||
sudo apt install -y tor | |||
<!--T:36--> | |||
#we need to add some stuff to torrc so that lnd and bitcoind are allowed to set themselves up as a tor service, or else we get this error: | |||
#unable to initialize tor controller: unable to connect to Tor server: dial tcp 127.0.0.1:9051: connect: connection refused | |||
<!--T:37--> | |||
#edit /etc/tor/torrc | |||
<!--T:38--> | |||
SocksPort 9050 # Default: Bind to localhost:9050 for local connections. | |||
RunAsDaemon 1 | |||
<!--T:39--> | |||
#make sure tor is running and has picked up the changes to the config file | |||
service tor start | |||
service tor restart | |||
<!--T:40--> | |||
#install and configure bitcoin | |||
#https://medium.com/@lukedashjr/how-to-securely-install-bitcoin-9bfeca7d3b2a | |||
wget https://bitcoin.org/bin/bitcoin-core-0.21.1/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz | |||
<!--T:41--> | |||
#gpg verification should go here | |||
<!--T:42--> | |||
tar xvf bitcoin-*tar.gz | |||
sudo cp -vR bitcoin-*/* /usr/ | |||
<!--T:43--> | |||
#edit ~/.bitcoin/bitcoin.conf | |||
<!--T:44--> | |||
#install and configure lnd | |||
#https://github.com/lightningnetwork/lnd/releases | |||
<!--T:45--> | |||
wget https://github.com/lightningnetwork/lnd/releases/download/v0.13.1-beta/lnd-linux-amd64-v0.13.1-beta.tar.gz | |||
tar xvf lnd-linux-amd64-v0.13.1-beta.tar.gz | |||
cp lnd-linux-amd64-v0.13.1-beta/ln* /usr/local/bin/ | |||
<!--T:46--> | |||
mkdir ~/.lnd/ | |||
<!--T:47--> | |||
#edit ~/.lnd/lnd.conf | |||
<!--T:48--> | |||
#start lnd and create a wallet | |||
<!--T:49--> | |||
#https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#creating-a-wallet | |||
#https://github.com/lightningnetwork/lnd/blob/master/docs/wallet.md | |||
#https://docs.lightning.engineering/lightning-network-tools/lnd/run-lnd | |||
<!--T:50--> | |||
openssl rand -hex 21 > ~/.lnd/wallet_password | |||
<!--T:51--> | |||
cat ~/.lnd/wallet_password | |||
# Copy this password | |||
<!--T:52--> | |||
lncli create | |||
# Follow prompts, use the wallet password as the initial password and set no cipher seed password | |||
<!--T:53--> | |||
#instructions for backing up the wallet goes here | |||
<!--T:54--> | |||
#the first time you run lnd (without a wallet), you cant have the unlock passphrase in the config file to automatically unlock the wallet. now that we have created it, we can add a line to lnd.conf to automatically unlock it: | |||
#wallet-unlock-password-file=/root/.lnd/wallet_password | |||
<!--T:55--> | |||
#deal with error messages about ipv6 | |||
<!--T:56--> | |||
#find an address to request signet coins to: | |||
<!--T:57--> | |||
lncli --no-macaroons newaddress p2wkh | |||
<!--T:58--> | |||
bitcoin-cli sendtoaddress "tb1q88nwytlynzwa5f99hpjrae8phpvs5l94dwqfvf" 0.1 | |||
<!--T:59--> | |||
./src/bitcoin-cli --datadir=./signet -named sendtoaddress address="tb1q88nwytlynzwa5f99hpjrae8phpvs5l94dwqfvf" amount=0.3 fee_rate=25 | |||
<!--T:60--> | |||
lncli --no-macaroons connect 03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@xrybvh4myas4rr3p6itf5ib6zqtrfb5gyb5246bakifev5s62rlicyad.onion:9735 | |||
lncli --no-macaroons openchannel 03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e 10000000 2500000 | |||
<!--T:61--> | |||
</nowiki> | |||
== General Step-by-Step Guide (generic) == <!--T:62--> | |||
<!--T:63--> | |||
https://stopanddecrypt.medium.com/?p=489180297d5 | |||
== Crowdfunding == <!--T:64--> | |||
<!--T:65--> | |||
https://btcpay.xenon.fun/apps/477A5RjNYiRcHWZUm4di4V6DFLnx/crowdfund | https://btcpay.xenon.fun/apps/477A5RjNYiRcHWZUm4di4V6DFLnx/crowdfund | ||
</translate> |
Latest revision as of 16:49, 13 April 2022
Plebnet Playground / plebnet.fun
Signet based bitcoin / lnd package which will allow plebs to learn and use lightning network without having to take any financial risks.
Github Repo: https://github.com/PLEBNET-PLAYGROUND/plebnet-playground-docker
Progress
- Signet master node that handles block production - DONE
- CLI docker setup for bitcoind & lnd under tor - DONE
- ThunderHub and RTL GUI containers added - DONE
- Faucet API to allow plebs to obtain some coins - 'DONE
- Faucet Web UI - DONE
- RPi4 docker images - In future
- Automated traffic so people can get routes - RUNNING
- Jupyter Dashboard Project - IN PROGRESS
Signet Reference Material
Master node info
signetchallenge=512102ee856c56a5aaadd1656f849bafa4c9dacc86a2878fe546c6189185f842ae2c1851ae |
Address | Port |
---|---|
104.131.10.218 | 38333 |
2604:a880:800:14::2c:9000 | 38333 |
6megrst422lxzsqvshkqkg6z2zhunywhyrhy3ltezaeyfspfyjdzr3qd.onion | 38333 |
cidcbr4jpvorsegnk5ehkpydf57fpl2vw5cdzvqre74byv4knv5a.b32.i2p | 38333 |
NodeId@Address:Port |
---|
03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@104.131.10.218:9735 |
03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@xrybvh4myas4rr3p6itf5ib6zqtrfb5gyb5246bakifev5s62rlicyad.onion:9735 |
03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@[2604:a880:800:14::2c:9000] |
NodeId@Address:Port |
---|
02c6d32c0596ad26c34cd1978ee72c4ec9ab6e2a82327bc26c3b90c8c14e2e5d96@uoyands3phvswnej6by67rblju3n5syxxaadbzkalmjrx72nmqbgvjqd.onion:9911 |
031557cea4a1aa39400801273d5027a419638aa1d6e4d5e77ee8a72b049d1f67fb@3zlvbas7neqmr75zbwnwugqkxl7qlzqkyph25c6uh74slrugznxzwmqd.onion:9911 |
Block Explorer: https://explorer.plebnet.fun/
Current Infrastructure
Role | Machine Type | Cost |
---|---|---|
Block producer / LND node | Digital Ocean 2 GB Memory / 2 AMD vCPU / 60 GB Disk | $19.44 |
Aliases for easy management
alias lncli-signet='lncli -n signet '
lnd.conf
FYI, LND did not add signet support until v0.13.0+, please make sure you are on this version or higher before attempting
[Application Options] listen=0.0.0.0:9735 listen=[::1]:9736 rpclisten=localhost:10009 rpclisten=[::1]:10010 minchansize=10000000 ignore-historical-gossip-filters=true accept-keysend=true accept-amp=true allow-circular-route=true numgraphsyncpeers=3 # INSERT YOUR ALIAS ON THE NEXT LINE! alias=HelloJessica # UNCOMMENT AND EDIT FILE PATH WITH CLEAR TEXT PASSWORD TO AUTO UNLOCK LND WALLET #wallet-unlock-password-file=/path/to/unlock.password #externalip=<replace yours if using public IP> [Bitcoin] bitcoin.active=true bitcoin.mainnet=false bitcoin.signet=true bitcoin.signetseednode=104.131.10.218 bitcoin.node=bitcoind bitcoin.dnsseed=0 [Bitcoind] bitcoind.dir=/var/lib/bitcoind/ bitcoind.rpchost=localhost bitcoind.rpcuser=bitcoin bitcoind.rpcpass=bitcoin bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 [tor] tor.active=true tor.socks=9050 tor.control=localhost:9051 #password is set in your torrc if you use one below it is just set as a "hello" tor.password=hello tor.v3=true [watchtower] watchtower.listen=0.0.0.0:9911 watchtower.listen=[::1]:9912 [wtclient] wtclient.active=true wtclient.sweep-fee-rate=10 [protocol] protocol.wumbo-channels=true
bitcoin.conf
listen=1 listenonion=1 signet=1 daemon=1 #rpcauth the password here is set as "bitcoin" rpcauth=bitcoin:c8c8b9740a470454255b7a38d4f38a52$e8530d1c739a3bb0ec6e9513290def11651afbfd2b979f38c16ec2cf76cf348a txindex=1 #Only include i2psam if you have install i2p #i2psam=127.0.0.1:7656 server=1 dnsseed=0 [signet] zmqpubrawblock=tcp://0.0.0.0:28332 zmqpubrawtx=tcp://0.0.0.0:28333 zmqpubhashblock=tcp://0.0.0.0:28334 wallet=/var/lib/bitcoind/signet/wallets signetchallenge=512102ee856c56a5aaadd1656f849bafa4c9dacc86a2878fe546c6189185f842ae2c1851ae proxy=127.0.0.1:9050 addnode=104.131.10.218:38333
/etc/tor/torrc
This example has a HashedControlPassword set as "please", you can create your own running tor --hash-password mynewpassword
SocksPort 9050 # Default: Bind to localhost:9050 for local connections. RunAsDaemon 1 ## The port on which Tor will listen for local connections from Tor ## controller applications, as documented in control-spec.txt. ControlPort 9051 ## If you enable the controlport, be sure to enable one of these ## authentication methods, to prevent attackers from accessing it. HashedControlPassword 16:A170E9325684E5366021C2AA404D4CA5AAE0D6FFE947E60B939083EF61 CookieAuthentication 1 CookieAuthFileGroupReadable 1
notes from getting started with ubuntu 20.04 running in a VM
these notes are incomplete and may or may not help you get things working.
# Install and configure tor sudo apt install -y tor #we need to add some stuff to torrc so that lnd and bitcoind are allowed to set themselves up as a tor service, or else we get this error: #unable to initialize tor controller: unable to connect to Tor server: dial tcp 127.0.0.1:9051: connect: connection refused #edit /etc/tor/torrc SocksPort 9050 # Default: Bind to localhost:9050 for local connections. RunAsDaemon 1 #make sure tor is running and has picked up the changes to the config file service tor start service tor restart #install and configure bitcoin #https://medium.com/@lukedashjr/how-to-securely-install-bitcoin-9bfeca7d3b2a wget https://bitcoin.org/bin/bitcoin-core-0.21.1/bitcoin-0.21.1-x86_64-linux-gnu.tar.gz #gpg verification should go here tar xvf bitcoin-*tar.gz sudo cp -vR bitcoin-*/* /usr/ #edit ~/.bitcoin/bitcoin.conf #install and configure lnd #https://github.com/lightningnetwork/lnd/releases wget https://github.com/lightningnetwork/lnd/releases/download/v0.13.1-beta/lnd-linux-amd64-v0.13.1-beta.tar.gz tar xvf lnd-linux-amd64-v0.13.1-beta.tar.gz cp lnd-linux-amd64-v0.13.1-beta/ln* /usr/local/bin/ mkdir ~/.lnd/ #edit ~/.lnd/lnd.conf #start lnd and create a wallet #https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md#creating-a-wallet #https://github.com/lightningnetwork/lnd/blob/master/docs/wallet.md #https://docs.lightning.engineering/lightning-network-tools/lnd/run-lnd openssl rand -hex 21 > ~/.lnd/wallet_password cat ~/.lnd/wallet_password # Copy this password lncli create # Follow prompts, use the wallet password as the initial password and set no cipher seed password #instructions for backing up the wallet goes here #the first time you run lnd (without a wallet), you cant have the unlock passphrase in the config file to automatically unlock the wallet. now that we have created it, we can add a line to lnd.conf to automatically unlock it: #wallet-unlock-password-file=/root/.lnd/wallet_password #deal with error messages about ipv6 #find an address to request signet coins to: lncli --no-macaroons newaddress p2wkh bitcoin-cli sendtoaddress "tb1q88nwytlynzwa5f99hpjrae8phpvs5l94dwqfvf" 0.1 ./src/bitcoin-cli --datadir=./signet -named sendtoaddress address="tb1q88nwytlynzwa5f99hpjrae8phpvs5l94dwqfvf" amount=0.3 fee_rate=25 lncli --no-macaroons connect 03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e@xrybvh4myas4rr3p6itf5ib6zqtrfb5gyb5246bakifev5s62rlicyad.onion:9735 lncli --no-macaroons openchannel 03ee9d906caa8e8e66fe97d7a76c2bd9806813b0b0f1cee8b9d03904b538f53c4e 10000000 2500000
General Step-by-Step Guide (generic)
https://stopanddecrypt.medium.com/?p=489180297d5
Crowdfunding
https://btcpay.xenon.fun/apps/477A5RjNYiRcHWZUm4di4V6DFLnx/crowdfund