From 32b3480e4204f2a81cd35f778f7c2b8c4d71ff8f Mon Sep 17 00:00:00 2001 From: keblek <68111648+keblek@users.noreply.github.com> Date: Thu, 18 Feb 2021 12:19:12 +0100 Subject: [PATCH] Deleting doughnut economy --- code/doughnuteconomy/Makefile | 16 ---- code/doughnuteconomy/bitcoind/Dockerfile | 46 --------- code/doughnuteconomy/bitcoind/bashrc | 5 - .../bitcoind/bitcoind-entrypoint.sh | 23 ----- .../bitcoind/bitcoind/bitcoin.conf | 22 ----- .../bitcoind/bitcoind/keys/demo_address.txt | 1 - .../bitcoind/bitcoind/keys/demo_mnemonic.txt | 1 - .../bitcoind/bitcoind/keys/demo_privkey.txt | 1 - code/doughnuteconomy/bitcoind/mine.sh | 20 ---- code/doughnuteconomy/c-lightning/Dockerfile | 33 ------- code/doughnuteconomy/c-lightning/bashrc | 4 - .../c-lightning/c-lightning-entrypoint.sh | 17 ---- .../c-lightning/fund-c-lightning.sh | 22 ----- .../c-lightning/lightningd/config | 9 -- code/doughnuteconomy/c-lightning/logtail.sh | 5 - .../c-lightning/wait-for-bitcoind.sh | 16 ---- code/doughnuteconomy/docker-compose.yml | 95 ------------------- code/doughnuteconomy/doughnut.sh | 24 ----- code/doughnuteconomy/fund-nodes.sh | 29 ------ code/doughnuteconomy/make-topology.sh | 30 ------ code/doughnuteconomy/payment-loop.sh | 37 -------- 21 files changed, 456 deletions(-) delete mode 100644 code/doughnuteconomy/Makefile delete mode 100644 code/doughnuteconomy/bitcoind/Dockerfile delete mode 100644 code/doughnuteconomy/bitcoind/bashrc delete mode 100644 code/doughnuteconomy/bitcoind/bitcoind-entrypoint.sh delete mode 100644 code/doughnuteconomy/bitcoind/bitcoind/bitcoin.conf delete mode 100644 code/doughnuteconomy/bitcoind/bitcoind/keys/demo_address.txt delete mode 100644 code/doughnuteconomy/bitcoind/bitcoind/keys/demo_mnemonic.txt delete mode 100644 code/doughnuteconomy/bitcoind/bitcoind/keys/demo_privkey.txt delete mode 100755 code/doughnuteconomy/bitcoind/mine.sh delete mode 100644 code/doughnuteconomy/c-lightning/Dockerfile delete mode 100644 code/doughnuteconomy/c-lightning/bashrc delete mode 100644 code/doughnuteconomy/c-lightning/c-lightning-entrypoint.sh delete mode 100644 code/doughnuteconomy/c-lightning/fund-c-lightning.sh delete mode 100644 code/doughnuteconomy/c-lightning/lightningd/config delete mode 100644 code/doughnuteconomy/c-lightning/logtail.sh delete mode 100644 code/doughnuteconomy/c-lightning/wait-for-bitcoind.sh delete mode 100644 code/doughnuteconomy/docker-compose.yml delete mode 100644 code/doughnuteconomy/doughnut.sh delete mode 100644 code/doughnuteconomy/fund-nodes.sh delete mode 100644 code/doughnuteconomy/make-topology.sh delete mode 100644 code/doughnuteconomy/payment-loop.sh diff --git a/code/doughnuteconomy/Makefile b/code/doughnuteconomy/Makefile deleted file mode 100644 index ead00f7..0000000 --- a/code/doughnuteconomy/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - -REGISTRY=docker.com -NAME=lnbook -CONTAINERS=bitcoind c-lightning - -all: build-all push-all - -build-all: - for container in ${CONTAINERS}; do \ - docker build -t ${NAME}/$$container $$container -f $$container/Dockerfile; \ - done - -push-all: - for container in ${CONTAINERS}; do \ - docker push ${NAME}/$$container; \ - done diff --git a/code/doughnuteconomy/bitcoind/Dockerfile b/code/doughnuteconomy/bitcoind/Dockerfile deleted file mode 100644 index b2555b6..0000000 --- a/code/doughnuteconomy/bitcoind/Dockerfile +++ /dev/null @@ -1,46 +0,0 @@ -FROM ubuntu:20.04 AS bitcoind-base - -RUN apt update && apt install -yqq \ - curl gosu jq bash-completion - -ENV BITCOIND_VERSION 0.21.0 -# Install binaries for Bitcoin Core -ADD https://bitcoincore.org/bin/bitcoin-core-${BITCOIND_VERSION}/bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz /usr/local -RUN cd /usr/local/ \ - && tar -zxf bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz \ - && cd bitcoin-${BITCOIND_VERSION} \ - && install bin/* /usr/local/bin \ - && install include/* /usr/local/include \ - && install -v lib/* /usr/local/lib - -ENV GH_URL https://raw.githubusercontent.com/bitcoin/bitcoin/master/ -ENV BC /usr/share/bash-completion/completions/ -ADD $GH_URL/contrib/bitcoin-cli.bash-completion $BC/bitcoin-cli -ADD $GH_URL/contrib/bitcoind.bash-completion $BC/bitcoind -ADD $GH_URL/contrib/bitcoin-tx.bash-completion $BC/bitcoin-tx - -FROM bitcoind-base AS bitcoind - -ADD bitcoind /bitcoind -RUN ln -s /bitcoind /root/. - -ADD bashrc /root/.bashrc -ADD bitcoind-entrypoint.sh /usr/local/bin -RUN chmod +x /usr/local/bin/bitcoind-entrypoint.sh -ADD mine.sh /usr/local/bin -RUN chmod +x /usr/local/bin/mine.sh - -# bitcoind P2P -EXPOSE 18444/tcp -# bitcoind regtest RPC -EXPOSE 18443/tcp -# zmqpubrawblock -EXPOSE 12005/tcp -# zmqpubrawtx -EXPOSE 12006/tcp - -WORKDIR /bitcoind -ENTRYPOINT ["/usr/local/bin/bitcoind-entrypoint.sh"] - -# Mine new block every 10 seconds -CMD ["/usr/local/bin/mine.sh"] diff --git a/code/doughnuteconomy/bitcoind/bashrc b/code/doughnuteconomy/bitcoind/bashrc deleted file mode 100644 index 5f4b902..0000000 --- a/code/doughnuteconomy/bitcoind/bashrc +++ /dev/null @@ -1,5 +0,0 @@ -# Use bash-completion, if available -alias bitcoin-cli="bitcoin-cli -datadir=/bitcoind" - -[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \ - . /usr/share/bash-completion/bash_completion diff --git a/code/doughnuteconomy/bitcoind/bitcoind-entrypoint.sh b/code/doughnuteconomy/bitcoind/bitcoind-entrypoint.sh deleted file mode 100644 index 167ef66..0000000 --- a/code/doughnuteconomy/bitcoind/bitcoind-entrypoint.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -set -Eeuo pipefail - -echo Starting bitcoind... -bitcoind -datadir=/bitcoind -daemon -until bitcoin-cli -datadir=/bitcoind getblockchaininfo > /dev/null 2>&1 -do - sleep 1 -done -echo bitcoind started -export address=`cat /bitcoind/keys/demo_address.txt` -export privkey=`cat /bitcoind/keys/demo_privkey.txt` -echo "================================================" -echo "Importing demo private key" -echo "Bitcoin address: " ${address} -echo "Private key: " ${privkey} -echo "================================================" -bitcoin-cli -datadir=/bitcoind createwallet regtest -bitcoin-cli -datadir=/bitcoind importprivkey $privkey - -# Executing CMD -echo "$@" -exec "$@" diff --git a/code/doughnuteconomy/bitcoind/bitcoind/bitcoin.conf b/code/doughnuteconomy/bitcoind/bitcoind/bitcoin.conf deleted file mode 100644 index 36d6903..0000000 --- a/code/doughnuteconomy/bitcoind/bitcoind/bitcoin.conf +++ /dev/null @@ -1,22 +0,0 @@ -regtest=1 -server=1 -debuglogfile=debug.log -debug=1 -txindex=1 -printtoconsole=0 - -[regtest] -fallbackfee=0.000001 -port=18444 -noconnect=1 -dnsseed=0 -dns=0 -upnp=0 -onlynet=ipv4 -rpcport=18443 -rpcbind=0.0.0.0 -rpcallowip=0.0.0.0/0 -rpcuser=regtest -rpcpassword=regtest -zmqpubrawblock=tcp://0.0.0.0:12005 -zmqpubrawtx=tcp://0.0.0.0:12006 diff --git a/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_address.txt b/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_address.txt deleted file mode 100644 index ae62ea3..0000000 --- a/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_address.txt +++ /dev/null @@ -1 +0,0 @@ -2NBKgwSWY5qEmfN2Br4WtMDGuamjpuUc5q1 diff --git a/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_mnemonic.txt b/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_mnemonic.txt deleted file mode 100644 index 37f503c..0000000 --- a/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_mnemonic.txt +++ /dev/null @@ -1 +0,0 @@ -electric flash rain cloud umbrella energy charge ozone air thunder crack wet diff --git a/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_privkey.txt b/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_privkey.txt deleted file mode 100644 index 6acc8df..0000000 --- a/code/doughnuteconomy/bitcoind/bitcoind/keys/demo_privkey.txt +++ /dev/null @@ -1 +0,0 @@ -cSaejkcWwU25jMweWEewRSsrVQq2FGTij1xjXv4x1XvxVRF1ZCr3 diff --git a/code/doughnuteconomy/bitcoind/mine.sh b/code/doughnuteconomy/bitcoind/mine.sh deleted file mode 100755 index 5e08f57..0000000 --- a/code/doughnuteconomy/bitcoind/mine.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -set -Eeuo pipefail - -export address=`cat /bitcoind/keys/demo_address.txt` -export privkey=`cat /bitcoind/keys/demo_privkey.txt` -echo "================================================" -echo "Bitcoin address: " ${address} -echo "Private key: " ${privkey} -echo "Balance:" `bitcoin-cli -datadir=/bitcoind getbalance` -echo "================================================" -echo "Mining 101 blocks to unlock some bitcoin" -bitcoin-cli -datadir=/bitcoind generatetoaddress 101 $address -echo "Mining 1 block every 10 seconds" -while sleep 10; do \ - bitcoin-cli -datadir=/bitcoind generatetoaddress 1 $address; \ - echo "Balance:" `bitcoin-cli -datadir=/bitcoind getbalance`; \ -done - -# If loop is interrupted, stop bitcoind -bitcoin-cli -datadir=/bitcoind stop diff --git a/code/doughnuteconomy/c-lightning/Dockerfile b/code/doughnuteconomy/c-lightning/Dockerfile deleted file mode 100644 index f3df06e..0000000 --- a/code/doughnuteconomy/c-lightning/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -FROM lnbook/bitcoind AS c-lightning-base - -# Install software-properties-common to add apt repositories -RUN apt update && apt install -yqq \ - software-properties-common - -# c-lightning -ENV C_LIGHTNING_VER 0.9.3~20210120202101201901~ubuntu20.04.1 -RUN add-apt-repository -u ppa:lightningnetwork/ppa -RUN apt-get install -yqq \ - lightningd=${C_LIGHTNING_VER} - -ADD https://raw.githubusercontent.com/ElementsProject/lightning/master/contrib/lightning-cli.bash-completion /usr/share/bash-completion/completions/lightning-cli - -FROM c-lightning-base AS c-lightning-run - -ADD lightningd /lightningd -WORKDIR /lightningd -RUN ln -s /lightningd /root/.lightning - -ADD bashrc /root/.bashrc -ADD c-lightning-entrypoint.sh /usr/local/bin -RUN chmod +x /usr/local/bin/c-lightning-entrypoint.sh -ADD logtail.sh /usr/local/bin -RUN chmod +x /usr/local/bin/logtail.sh -ADD wait-for-bitcoind.sh /usr/local/bin -RUN chmod +x /usr/local/bin/wait-for-bitcoind.sh - -EXPOSE 9735 9835 -ENTRYPOINT ["/usr/local/bin/c-lightning-entrypoint.sh"] - -# Show logs from beginning and keep following -CMD ["/usr/local/bin/logtail.sh"] diff --git a/code/doughnuteconomy/c-lightning/bashrc b/code/doughnuteconomy/c-lightning/bashrc deleted file mode 100644 index e0cd922..0000000 --- a/code/doughnuteconomy/c-lightning/bashrc +++ /dev/null @@ -1,4 +0,0 @@ -alias lightning-cli="lightning-cli --lightning-dir=/lightningd" - -[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \ - . /usr/share/bash-completion/bash_completion diff --git a/code/doughnuteconomy/c-lightning/c-lightning-entrypoint.sh b/code/doughnuteconomy/c-lightning/c-lightning-entrypoint.sh deleted file mode 100644 index 4724a89..0000000 --- a/code/doughnuteconomy/c-lightning/c-lightning-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -set -Eeuo pipefail - -source /usr/local/bin/wait-for-bitcoind.sh - -echo Starting c-lightning... -lightningd --lightning-dir=/lightningd --daemon - -until lightning-cli --lightning-dir=/lightningd getinfo > /dev/null 2>&1 -do - sleep 1 -done - -echo "Startup complete" - -echo "$@" -exec "$@" diff --git a/code/doughnuteconomy/c-lightning/fund-c-lightning.sh b/code/doughnuteconomy/c-lightning/fund-c-lightning.sh deleted file mode 100644 index 11f536f..0000000 --- a/code/doughnuteconomy/c-lightning/fund-c-lightning.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Generate a new receiving address for LND wallet -address=$(lightning-cli --lightning-dir=/lightningd newaddr | jq .address) - -# Ask Bitcoin Core to send 10 BTC to the address, using JSON-RPC call -curl --user regtest:regtest \ - -H 'content-type: text/plain;' \ - http://bitcoind:18443/ \ - --data-binary @- < /dev/null 2>&1 -do - echo -n "." - sleep 1 -done - -echo Waiting for bitcoind to mine blocks... -until bitcoin-cli -rpcconnect=bitcoind -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest getbalance | jq -e ". > 0" > /dev/null 2>&1 -do - echo -n "." - sleep 1 -done diff --git a/code/doughnuteconomy/docker-compose.yml b/code/doughnuteconomy/docker-compose.yml deleted file mode 100644 index 27de45d..0000000 --- a/code/doughnuteconomy/docker-compose.yml +++ /dev/null @@ -1,95 +0,0 @@ -version: "3.3" -networks: - lnnet: - -services: - bitcoind: - container_name: bitcoind - build: - context: bitcoind - image: lnbook/bitcoind:latest - networks: - - lnnet - expose: - - "18443" - - "12005" - - "12006" - restart: always - - Aa: - container_name: Aa - build: - context: c-lightning - image: lnbook/c-lightning:latest - networks: - - lnnet - expose: - - "9735" - restart: always - depends_on: - - bitcoind - - Bb: - container_name: Bb - build: - context: c-lightning - image: lnbook/c-lightning:latest - networks: - - lnnet - expose: - - "9735" - restart: always - depends_on: - - bitcoind - - Cc: - container_name: Cc - build: - context: c-lightning - image: lnbook/c-lightning:latest - networks: - - lnnet - expose: - - "9735" - restart: always - depends_on: - - bitcoind - - Dd: - container_name: Dd - build: - context: c-lightning - image: lnbook/c-lightning:latest - networks: - - lnnet - expose: - - "9735" - restart: always - depends_on: - - bitcoind - - Ee: - container_name: Ee - build: - context: c-lightning - image: lnbook/c-lightning:latest - networks: - - lnnet - expose: - - "9735" - restart: always - depends_on: - - bitcoind - - Ff: - container_name: Ff - build: - context: c-lightning - image: lnbook/c-lightning:latest - networks: - - lnnet - expose: - - "9735" - restart: always - depends_on: - - bitcoind diff --git a/code/doughnuteconomy/doughnut.sh b/code/doughnuteconomy/doughnut.sh deleted file mode 100644 index 394a542..0000000 --- a/code/doughnuteconomy/doughnut.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# docker-compose up -d && bash doughnut.sh -echo Wait for network to load for 180 sec -sleep 180 - -echo Funding all nodes -source fund-nodes.sh -sleep 60 -echo Making topology -source make-topology.sh -sleep 60 -echo Entering the payment loop -source payment-loop.sh - -# here for convinience to query the nodes -#docker-compose exec -T Aa lightning-cli -#docker-compose exec -T Bb lightning-cli -#docker-compose exec -T Cc lightning-cli -#docker-compose exec -T Ee lightning-cli -#docker-compose exec -T Dd lightning-cli -#docker-compose exec -T Ff lightning-cli - -exit 0 diff --git a/code/doughnuteconomy/fund-nodes.sh b/code/doughnuteconomy/fund-nodes.sh deleted file mode 100644 index 7b7313f..0000000 --- a/code/doughnuteconomy/fund-nodes.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -echo getting addresses -a=$(docker-compose exec -T Aa bash -c "lightning-cli newaddr | jq -r .bech32") -echo $a -b=$(docker-compose exec -T Bb bash -c "lightning-cli newaddr | jq -r .bech32") -echo $b -c=$(docker-compose exec -T Cc bash -c "lightning-cli newaddr | jq -r .bech32") -echo $c -d=$(docker-compose exec -T Dd bash -c "lightning-cli newaddr | jq -r .bech32") -echo $d -e=$(docker-compose exec -T Ee bash -c "lightning-cli newaddr | jq -r .bech32") -echo $e -f=$(docker-compose exec -T Ff bash -c "lightning-cli newaddr | jq -r .bech32") -echo $f - -echo funding wallets -ba=$(docker-compose exec -T bitcoind bash -c "bitcoin-cli -regtest -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest sendtoaddress $a 10") -echo $ba -bb=$(docker-compose exec -T bitcoind bash -c "bitcoin-cli -regtest -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest sendtoaddress $b 10") -echo $bb -bc=$(docker-compose exec -T bitcoind bash -c "bitcoin-cli -regtest -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest sendtoaddress $c 10") -echo $bc -bd=$(docker-compose exec -T bitcoind bash -c "bitcoin-cli -regtest -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest sendtoaddress $d 10") -echo $bd -be=$(docker-compose exec -T bitcoind bash -c "bitcoin-cli -regtest -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest sendtoaddress $e 10") -echo $be -bf=$(docker-compose exec -T bitcoind bash -c "bitcoin-cli -regtest -rpcport=18443 -rpcuser=regtest -rpcpassword=regtest sendtoaddress $f 10") -echo $bf diff --git a/code/doughnuteconomy/make-topology.sh b/code/doughnuteconomy/make-topology.sh deleted file mode 100644 index 62ed9ae..0000000 --- a/code/doughnuteconomy/make-topology.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -echo Getting node IDs -a_ID=$(docker-compose exec -T Aa bash -c "lightning-cli getinfo | jq -r .id") -b_ID=$(docker-compose exec -T Bb bash -c "lightning-cli getinfo | jq -r .id") -c_ID=$(docker-compose exec -T Cc bash -c "lightning-cli getinfo | jq -r .id") -d_ID=$(docker-compose exec -T Dd bash -c "lightning-cli getinfo | jq -r .id") -e_ID=$(docker-compose exec -T Ee bash -c "lightning-cli getinfo | jq -r .id") -f_ID=$(docker-compose exec -T Ff bash -c "lightning-cli getinfo | jq -r .id") - -echo Setting up channels... -echo A to B -docker-compose exec -T Aa lightning-cli connect ${b_ID}@Bb -docker-compose exec -T Aa lightning-cli -k fundchannel id=${b_ID} amount=1000000sat minconf=0 -echo B to C -docker-compose exec -T Bb lightning-cli connect ${c_ID}@Cc -docker-compose exec -T Bb lightning-cli -k fundchannel id=${c_ID} amount=1000000sat minconf=0 -echo C to D -docker-compose exec -T Cc lightning-cli connect ${d_ID}@Dd -docker-compose exec -T Cc lightning-cli -k fundchannel id=${d_ID} amount=1000000sat minconf=0 -echo D to E -docker-compose exec -T Dd lightning-cli connect ${e_ID}@Ee -docker-compose exec -T Dd lightning-cli -k fundchannel id=${e_ID} amount=1000000sat minconf=0 -echo E to F -docker-compose exec -T Ee lightning-cli connect ${f_ID}@Ff -docker-compose exec -T Ee lightning-cli -k fundchannel id=${f_ID} amount=1000000sat minconf=0 -echo F to A -docker-compose exec -T Ff lightning-cli connect ${a_ID}@Aa -docker-compose exec -T Ff lightning-cli -k fundchannel id=${a_ID} amount=1000000sat minconf=0 - diff --git a/code/doughnuteconomy/payment-loop.sh b/code/doughnuteconomy/payment-loop.sh deleted file mode 100644 index c21785c..0000000 --- a/code/doughnuteconomy/payment-loop.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -echo pay in a loop - -start=$(date +"%T") - -for i in {1..20} -do - echo A pays B - INV=$(docker-compose exec -T Bb bash -c "lightning-cli invoice 10000sat inva{$i} desc | jq -r .bolt11") - docker-compose exec -T Aa bash -c "lightning-cli pay $INV" - - echo B pays C - INV=$(docker-compose exec -T Cc bash -c "lightning-cli invoice 10000sat invb{$i} desc | jq -r .bolt11") - docker-compose exec -T Bb bash -c "lightning-cli pay $INV" - - echo C pays D - INV=$(docker-compose exec -T Dd bash -c "lightning-cli invoice 10000sat invc{$i} desc | jq -r .bolt11") - docker-compose exec -T Cc bash -c "lightning-cli pay $INV" - - echo D pays E - INV=$(docker-compose exec -T Ee bash -c "lightning-cli invoice 10000sat invd{$i} desc | jq -r .bolt11") - docker-compose exec -T Dd bash -c "lightning-cli pay $INV" - - echo E pays F - INV=$(docker-compose exec -T Ff bash -c "lightning-cli invoice 10000sat inve{$i} desc | jq -r .bolt11") - docker-compose exec -T Ee bash -c "lightning-cli pay $INV" - - echo F pays A - INV=$(docker-compose exec -T Aa bash -c "lightning-cli invoice 10000sat invf{$i} desc | jq -r .bolt11") - docker-compose exec -T Ff bash -c "lightning-cli pay $INV" -done -stop=$(date +"%T") - -echo time to finish -echo start $start -echo stop $stop