Browse Source

test

z_createrawtransaction
blackjok3r 5 years ago
parent
commit
c3a9d0fa0c
  1. 28
      src/rpc/rawtransaction.cpp

28
src/rpc/rawtransaction.cpp

@ -721,7 +721,7 @@ UniValue verifytxoutproof(const UniValue& params, bool fHelp)
UniValue createrawtransaction(const UniValue& params, bool fHelp)
{
if (fHelp || params.size() < 2 || params.size() > 4)
if (fHelp ) || //params.size() < 2 || params.size() > 4)
throw runtime_error(
"createrawtransaction [{\"txid\":\"id\",\"vout\":n},...] {\"address\":amount,...} ( locktime ) ( expiryheight )\n"
"\nCreate a transaction spending the given inputs and sending to the given addresses.\n"
@ -754,6 +754,32 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp)
+ HelpExampleRpc("createrawtransaction", "\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"{\\\"address\\\":0.01}\"")
);
int nextBlockHeight = chainActive.Height() + 1;
CMutableTransaction rawTx = CreateNewContextualCMutableTransaction(Params().GetConsensus(), nextBlockHeight);
CCcontract_info *cp, C;
cp = CCinit(&C,EVAL_ORACLES);
CPubKey ccAddress = CPubKey(ParseHex(cp->CChexstr));
CPubKey mypk = Mypubkey();
CTxOut vout = MakeCC1of2vout(EVAL_ORACLES, 1000000, mypk, ccAddress);
std::vector<CPubKey> vPubKeys = std::vector<CPubKey>();
vPubKeys.push_back(mypk);
vPubKeys.push_back(ccAddress);
std::vector<std::vector<unsigned char>> vData = std::vector<std::vector<unsigned char>>();
std::string test = "thisisatest";
vData.push_back(std::vector<unsigned char>(test.begin(), test.end()));
test = "anothertest";
vData.push_back(std::vector<unsigned char>(test.begin(), test.end()));
COptCCParams ccp = COptCCParams(COptCCParams::VERSION, EVAL_ORACLES, 1, 2, vPubKeys, vData);
vout.scriptPubKey << ccp.AsVector() << OP_DROP;
rawTx.vout.push_back(vout);
return EncodeHexTx(rawTx);
LOCK(cs_main);
RPCTypeCheck(params, boost::assign::list_of(UniValue::VARR)(UniValue::VOBJ)(UniValue::VNUM)(UniValue::VNUM), true);
if (params[0].isNull() || params[1].isNull())

Loading…
Cancel
Save