Ejemplo n.º 1
0
        public static bool CreateRawTransaction()
        {
            Console.WriteLine("Starting CreateRawTransaction tests...");

            // NOTE: scriptPubKey and redeemScript are not being tested in this case.

            Bitcoind.RawTxInput[] inputs1 = new Bitcoind.RawTxInput[1];
            Bitcoind.RawTxInput   input1  = new Bitcoind.RawTxInput();
            input1.txID = "fff17832d351c12476dc3d6f902fd2e0666992135ffe49ac343d9db15dfcddf7";
            input1.vout = "0";
            inputs1 [0] = input1;

            Bitcoind.RawTxInput[] inputs2 = new Bitcoind.RawTxInput[2];
            Bitcoind.RawTxInput   input2  = new Bitcoind.RawTxInput();
            input2.txID = "e69899e5bd2020b99c67b258e5d56ca5c091c9b065f412381ce44a9e438721c1";
            input2.vout = "1";
            inputs2 [0] = input1;
            inputs2 [1] = input2;

            Bitcoind.PayToAddress[] outputs1 = new Bitcoind.PayToAddress[1];
            Bitcoind.PayToAddress   output1  = new Bitcoind.PayToAddress();
            output1.address = "mjkTKcq27UHMoydoQPrq74fCgyBZ5DCAwf";
            output1.amount  = "1.5";
            outputs1 [0]    = output1;

            Bitcoind.PayToAddress[] outputs2 = new Bitcoind.PayToAddress[2];
            Bitcoind.PayToAddress   output2  = new Bitcoind.PayToAddress();
            output2.address = "miKXJCSnAYyMNPX1emfd7QGXdCFTJRm9Bi";
            output2.amount  = "10.123456";
            outputs2 [0]    = output1;
            outputs2 [1]    = output2;

            // Test 1 tx with 1 output
            _rawTx1To1 = Bitcoind.CreateRawTransaction(inputs1, outputs1);
            if (_rawTx1To1 == null || _rawTx1To1.Length == 0)
            {
                return(false);
            }
            // Test 1 tx with 2 output
            _rawTx1To2 = Bitcoind.CreateRawTransaction(inputs1, outputs2);
            if (_rawTx1To2 == null || _rawTx1To2.Length == 0)
            {
                return(false);
            }
            // Test 2 tx with 1 output
            _rawTx2To1 = Bitcoind.CreateRawTransaction(inputs2, outputs1);
            if (_rawTx2To1 == null || _rawTx2To1.Length == 0)
            {
                return(false);
            }
            // Test 2 tx with 2 output
            _rawTx2To2 = Bitcoind.CreateRawTransaction(inputs2, outputs2);
            if (_rawTx2To2 == null || _rawTx2To2.Length == 0)
            {
                return(false);
            }
            return(true);
        }