daemon/test: activate segwit.

You need to be running a bitcoind modified with segregated witness:

	https://github.com/sipa/bitcoin/tree/segwit4

It needs 432 blocks to activate it!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2016-04-12 14:17:45 +09:30
parent d9c4960f33
commit edcec2ba4e
3 changed files with 21 additions and 3 deletions

View File

@@ -196,7 +196,7 @@ TXID=`$CLI sendtoaddress $P2SHADDR 0.01`
TX=`$CLI getrawtransaction $TXID` TX=`$CLI getrawtransaction $TXID`
lcli1 connect localhost $PORT2 $TX lcli1 connect localhost $PORT2 $TX
sleep 2 sleep 5
# Expect them to be waiting for anchor. # Expect them to be waiting for anchor.
lcli1 getpeers | $FGREP STATE_OPEN_WAITING_OURANCHOR lcli1 getpeers | $FGREP STATE_OPEN_WAITING_OURANCHOR
@@ -239,6 +239,9 @@ if [ -n "$TIMEOUT_ANCHOR" ]; then
lcli1 dev-mocktime $TIME lcli1 dev-mocktime $TIME
sleep 2 sleep 2
# Now we need to trigger it again (first time it gets the mediantime).
$CLI generate 1
# Sometimes it skips poll because it's busy. Do it again. # Sometimes it skips poll because it's busy. Do it again.
TIME=$(($TIME + 1)) TIME=$(($TIME + 1))
lcli1 dev-mocktime $TIME lcli1 dev-mocktime $TIME

View File

@@ -8,7 +8,14 @@ INIT=$1
# Initially we need 100 blocks so coinbase matures, giving us funds. # Initially we need 100 blocks so coinbase matures, giving us funds.
if [ -n "$INIT" ]; then if [ -n "$INIT" ]; then
$CLI generate 101 # To activate segwit via BIP9, we need at least 432 blocks!
$CLI generate 432
if $CLI getblockchaininfo | tr -s '\012\011 ' ' ' | grep -q '{ "id": "witness", "status": "active" }'; then :
else
echo "Segwit not activated after 432 blocks?" >&2
$CLI getblockchaininfo >&2
exit 1
fi
else else
$CLI generate 1 $CLI generate 1
fi fi

View File

@@ -27,7 +27,15 @@ while ! $CLI getinfo >/dev/null 2>&1; do
sleep 1 sleep 1
i=$(($i + 1)) i=$(($i + 1))
done done
# Make sure they have segwit support!
if $CLI help createwitnessaddress > /dev/null 2>&1; then :
else
echo This bitcoind does not have segwit support. >&2
echo Please install one from https://github.com/sipa/bitcoin/tree/segwit4 >&2
exit 1
fi
scripts/generate-block.sh init scripts/generate-block.sh init
A1=`scripts/get-new-address.sh` A1=`scripts/get-new-address.sh`