Exemplo n.º 1
0
    print("Daemons started")
    time.sleep(3)

    bitcoin = AuthServiceProxy("http://*****:*****@127.0.0.1:" + str(bitcoin_port))
    sidechain = AuthServiceProxy("http://*****:*****@127.0.0.1:" + str(sidechain_port))
    sidechain2 = AuthServiceProxy("http://*****:*****@127.0.0.1:" + str(sidechain2_port))
    print("Daemons started, making blocks to get funds")

    bitcoin.generate(101)
    sidechain.generate(101)

    addr = bitcoin.getnewaddress()

    addrs = sidechain.getpeginaddress()
    txid1 = bitcoin.sendtoaddress(addrs["mainchain_address"], 24)
    # 10+2 confirms required to get into mempool and confirm
    bitcoin.generate(11)
    time.sleep(2)
    proof = bitcoin.gettxoutproof([txid1])
    raw = bitcoin.getrawtransaction(txid1)

    print("Attempting peg-in")
    try:
        pegtxid = sidechain.claimpegin(raw, proof)
        raise Exception(
            "Peg-in should not mature enough yet, need another block.")
    except JSONRPCException as e:
Exemplo n.º 2
0
    sidechain2start = sidechain_bin_path + "/liquidd -datadir=" + sidechain2_datadir + sidechain_args
    subprocess.Popen(sidechain2start.split(), stdout=subprocess.PIPE)

    print("Restarting second sidechain daemon with proper fedpegscript")
    time.sleep(3)

    sidechain2 = AuthServiceProxy("http://*****:*****@127.0.0.1:" + str(sidechain2_port))

    print("Daemons started, making blocks to get funds")

    bitcoin.generate(101)
    sidechain.generate(101)
    sidechain2.getwalletinfo()

    addr = bitcoin.getnewaddress()

    # Activate PAK wallet to allow peg out testing
    sidechain.importprivkey(
        "cUyokiFagFZQpUwwh5Qjsp6jAjRX77tUAWP8kznhCtWyXBWm1gip")
    pakstuff = sidechain.initpegoutwallet(
        "tpubDAenfwNu5GyCJWv8oqRAckdKMSUoZjgVF5p8WvQwHQeXjDhAHmGrPa4a4y2Fn7HF2nfCLefJanHV3ny1UY25MRVogizB2zRUdAo7Tr9XAjm",
        0,
        "038a2ab87e8d3d9eb2dbd3aa9911e16541bd8d42a13d29584fb25c6272e9ac23ea")

    # First, blackhole almost all 21M bitcoin that already exist(and test subtractfrom)
    assert (sidechain.getwalletinfo()["balance"]["bitcoin"] == 21000000)
    sidechain.sendtomainchain(20999998, True)
    assert (sidechain.getwalletinfo()["balance"]["bitcoin"] == 2)

    sidechain.generate(101)
Exemplo n.º 3
0
    print("Daemons started")
    time.sleep(3)

    with open(bitcoin2_rpccookiefile, 'r') as f:
        bitcoin2_rpccookie = f.readline()

    bitcoin = AuthServiceProxy("http://*****:*****@127.0.0.1:"+str(bitcoin_port))
    bitcoin2 = AuthServiceProxy("http://"+ bitcoin2_rpccookie +"@127.0.0.1:"+str(bitcoin2_port))
    sidechain = AuthServiceProxy("http://*****:*****@127.0.0.1:"+str(sidechain_port))
    sidechain2 = AuthServiceProxy("http://*****:*****@127.0.0.1:"+str(sidechain2_port))
    print("Daemons started, making blocks to get funds")

    bitcoin.generate(101)
    sidechain.generate(101)

    addr = bitcoin.getnewaddress()

    # First, blackhole all 21M bitcoin that already exist(and test subtractfrom)
    assert(sidechain.getwalletinfo()["balance"]["bitcoin"] == 21000000)
    sidechain.sendtomainchain(addr, 21000000, True)
    assert("bitcoin" not in sidechain.getwalletinfo()["balance"])

    sidechain.generate(101)

    addrs = sidechain.getpeginaddress()
    txid1 = bitcoin.sendtoaddress(addrs["mainchain_address"], 24)
    # 10+2 confirms required to get into mempool and confirm
    bitcoin.generate(1)
    time.sleep(2)
    proof = bitcoin.gettxoutproof([txid1])
    raw = bitcoin.getrawtransaction(txid1)
Exemplo n.º 4
0
sidechainstart = sys.argv[2] + "/elementsd -datadir=" + sidechain_datadir
subprocess.Popen(sidechainstart.split(), stdout=subprocess.PIPE)

print("Daemons started")
time.sleep(2)

bitcoin = AuthServiceProxy("http://*****:*****@127.0.0.1:" + str(bitcoin_port))
sidechain = AuthServiceProxy("http://*****:*****@127.0.0.1:" + str(sidechain_port))
print("Daemons started, making blocks to get funds")

bitcoin.generate(101)
sidechain.generate(101)

addr = bitcoin.getnewaddress()

# Lockup some funds to unlock later
sidechain.sendtomainchain(addr, 50)
sidechain.generate(101)

addrs = sidechain.getpeginaddress()
txid = bitcoin.sendtoaddress(addrs["mainchain_address"], 49)
bitcoin.generate(10)
proof = bitcoin.gettxoutproof([txid])
raw = bitcoin.getrawtransaction(txid)

print("Attempting peg-in")
pegtxid = sidechain.claimpegin(addrs["sidechain_address"], raw, proof)
sidechain.generate(1)