#! /bin/sh -e # Wherever we are, we want to be in daemon/test dir. cd `git rev-parse --show-toplevel`/daemon/test . scripts/vars.sh . scripts/helpers.sh parse_cmdline 2 "$@" setup_lightning 2 start_lightningd 2 lightningd/lightningd if lcli1 connect localhost $PORT2 $ID1; then echo Connected OK with wrong ID? >&2 exit 1 fi lcli1 connect localhost $PORT2 $ID2 # Should now be exchanging gossip lcli1 getpeers | $FGREP '"condition" : "Exchanging gossip"' # It should have gone through these steps lcli1 getpeers info | $FGREP "Starting handshake as initiator" lcli1 getpeers info | $FGREP "Beginning gossip" lcli1 getpeers info | $FGREP "Exchanging gossip" # Both should still be owned by gossip lcli1 getpeers | $FGREP '"owner" : "lightningd_gossip"' lcli2 getpeers | $FGREP '"owner" : "lightningd_gossip"' # Add some funds. NEWADDR=`lcli1 newaddr | get_field address` FUND_INPUT_TXID=`$CLI sendtoaddress $NEWADDR 0.10000002` FUND_INPUT_TX=`$CLI getrawtransaction $FUND_INPUT_TXID` lcli1 addfunds $FUND_INPUT_TX | $FGREP '"satoshis" : 10000002' # Now fund a channel. lcli1 fundchannel $ID2 100000 # Now wait for it to reach depth lcli1 getpeers info | $FGREP "Waiting for our funding tx" $CLI generate 10 check "lcli1 getpeers info | $FGREP 'Funding tx reached depth'" check "lcli2 getpeers info | $FGREP 'Funding tx reached depth'" check "lcli1 getpeers | tr -s '\012\011\" ' ' ' | $FGREP 'condition : Normal operation'" check "lcli2 getpeers | tr -s '\012\011\" ' ' ' | $FGREP 'condition : Normal operation'" lcli1 stop lcli2 stop all_ok