setup script
This commit is contained in:
parent
beaae80536
commit
7e4788879a
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
FROM ubuntu:20.04
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential libtool autotools-dev automake \
|
||||
pkg-config bsdmainutils python3 libssl-dev \
|
||||
libevent-dev libboost-system-dev libboost-filesystem-dev \
|
||||
libboost-chrono-dev libboost-test-dev libboost-thread-dev \
|
||||
libdb-dev libdb++-dev
|
||||
|
||||
# Clone Bitcoin Core
|
||||
RUN apt-get install -y git
|
||||
RUN git clone https://github.com/bitcoin/bitcoin.git
|
||||
|
||||
# Build Bitcoin Core
|
||||
WORKDIR /bitcoin
|
||||
RUN ./autogen.sh
|
||||
RUN ./configure
|
||||
RUN make
|
||||
|
||||
# Prepare Signet configuration
|
||||
RUN mkdir /root/.bitcoin
|
||||
COPY bitcoin.conf /root/.bitcoin/
|
||||
|
||||
# Expose necessary ports
|
||||
EXPOSE 38333 38332
|
||||
|
||||
# Start Bitcoin Core
|
||||
CMD ["/bitcoin/src/bitcoind"]
|
||||
4
bitcoin.conf
Normal file
4
bitcoin.conf
Normal file
@ -0,0 +1,4 @@
|
||||
signet=1
|
||||
[signet]
|
||||
daemon=1
|
||||
# we would add our custom signet parameters here
|
||||
61
signet.sh
Normal file
61
signet.sh
Normal file
@ -0,0 +1,61 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd ~/src/bitcoin/src
|
||||
|
||||
./bitcoind -regtest -daemon=1 -wallet="test"
|
||||
printf "Waiting for regtest bitcoind to start"
|
||||
while ! ./bitcoin-cli -regtest getconnectioncount 2>/dev/null 1>&2
|
||||
do printf .; sleep 1
|
||||
done; echo
|
||||
|
||||
ADDR=$(./bitcoin-cli -regtest getnewaddress '' bech32)
|
||||
PRIVKEY=$(./bitcoin-cli -regtest dumpprivkey $ADDR)
|
||||
PUBKEY=$(./bitcoin-cli -regtest getaddressinfo $ADDR | jq -r .pubkey)
|
||||
|
||||
LENX2=$(printf $PUBKEY | wc -c)
|
||||
LEN=$((LENX2/2))
|
||||
LENHEX=$(echo "obase=16; $LEN" | bc)
|
||||
SCRIPT=$(echo 51${LENHEX}${PUBKEY}51ae)
|
||||
|
||||
cat <<EOF
|
||||
ADDR=$ADDR
|
||||
PRIVKEY=$PRIVKEY
|
||||
PUBKEY=$PUBKEY
|
||||
SCRIPT=$SCRIPT
|
||||
EOF
|
||||
|
||||
./bitcoin-cli -regtest stop 2>&1
|
||||
|
||||
datadir=$HOME/signet-custom-$$
|
||||
mkdir $datadir
|
||||
cat > $datadir/bitcoin.conf <<EOF
|
||||
signet=1
|
||||
[signet]
|
||||
daemon=1
|
||||
signetchallenge=$SCRIPT
|
||||
EOF
|
||||
|
||||
./bitcoind -datadir=$datadir -wallet="test"
|
||||
|
||||
printf "Waiting for custom Signet bitcoind to start"
|
||||
while ! ./bitcoin-cli -datadir=$datadir getconnectioncount 2>/dev/null 1>&2
|
||||
do printf .; sleep 1
|
||||
done; echo
|
||||
|
||||
./bitcoin-cli -datadir=$datadir importprivkey "$PRIVKEY"
|
||||
NADDR=$(./bitcoin-cli -datadir=$datadir getnewaddress)
|
||||
|
||||
# Examples from
|
||||
# https://github.com/bitcoin/bitcoin/pull/19937#issuecomment-696419619
|
||||
|
||||
../contrib/signet/generate.py --cli="./bitcoin-cli -datadir=$datadir" generate 1 --block-time=1 --address="$NADDR" --grind-cmd='./bitcoin-util grind'
|
||||
#../contrib/signet/generate.py --cli="./bitcoin-cli -datadir=$datadir" generate 1 --block-time=1 --address="$NADDR" --backdate 0
|
||||
#../contrib/signet/generate.py --cli="./bitcoin-cli -datadir=$datadir" generate 1 --block-time=1 --descriptor="wpkh(...)#..." --secondary
|
||||
|
||||
./bitcoin-cli -datadir=$datadir getblocktemplate '{"rules": ["signet","segwit"]}' \
|
||||
| ../contrib/signet/generate.py --cli="./bitcoin-cli -datadir=$datadir" genpsbt --address="$NADDR" \
|
||||
| ./bitcoin-cli -datadir=$datadir -stdin walletprocesspsbt
|
||||
|
||||
#../contrib/signet/generate.py solvepsbt --grind-cmd='./bitcoin-util grind' | ./bitcoin-cli -datadir=$datadir submitblock
|
||||
|
||||
./bitcoin-cli -datadir=$datadir stop
|
||||
Loading…
x
Reference in New Issue
Block a user