public static bool SignRawTransaction() { Console.WriteLine("Starting SignRawTransaction tests..."); // Note that this depends on CreateRawTransaction having been run. // Was originally going to use this, but signrawtransaction works so well with multisig... // 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; // // string[] inputs2PrivKeys = new string[2]; // inputs2PrivKeys[0] = "cQ1nxdyfCY19WqoQQctArRga77xsneJPieRzuku4d7rjyTXT6Cmt"; // inputs2PrivKeys[1] = "cVJpaLpFVceG3WERxShJGs81YhcSunucwd7j1Xh6nRPhMKF6tkAd"; string multiSigTxHex = "0100000001cd13a17b390f450bdebd546095e9b8cb9e5985285933ab171379372686d807610000000000ffffffff0140420f00000000001976a91488260a05398e905853eb103825538d4380e07a2388ac00000000"; Bitcoind.RawTxInput[] multiSigInputs = new Bitcoind.RawTxInput[1]; Bitcoind.RawTxInput multiSigInput = new Bitcoind.RawTxInput(); multiSigInput.txID = "6107d8862637791317ab33592885599ecbb8e9956054bdde0b450f397ba113cd"; multiSigInput.vout = "0"; multiSigInput.scriptPubKey = "a914bc9fd4193f6bff24df8450d7f326ea8b04bc1cb387"; multiSigInput.redeemScript = "522103be117fab1593c1f5aa43353df54a0920fc699f089e872f36a40599688f566a472102558f523c7b6c97e10d89348c9b93b7ee7d860f62027f932eb150d4ba6e41c27821032973a0a39b810f1b3b351241e1ebe71ab21159e2068ddc352bb19d1c4f6f3d9553ae"; multiSigInputs [0] = multiSigInput; string[] multiSigPrivKeys = { "cToctw27wEp97fUzQ1VHih4qAzyAkp2Nq8MiQYABbnpkm36f6m1F", "cUjMgRmsRp9s5fSqXzyjZiTFddxa62hLdeJdWceD4BTm6gQY2geQ" }; string signedTx1To1 = Bitcoind.SignRawTransaction(_rawTx1To1); string signedTx1To2 = Bitcoind.SignRawTransaction(multiSigTxHex, multiSigInputs); string signedTx2To1 = Bitcoind.SignRawTransaction(multiSigTxHex, multiSigInputs, multiSigPrivKeys); string signedTx2To2 = Bitcoind.SignRawTransaction(multiSigTxHex, multiSigInputs, multiSigPrivKeys, Bitcoind.SigHashType.AllOrAnyoneCanPay); return(true); }