public string SendSimpleInvokeTx(neoAddress neoAddress, string addrTransfer, string contractHash, JArray inputJA) { //获取可用NEO UTXO Dictionary <string, List <neoHelper.neoTranstion.Utxo> > dir = GetUTXOByAddress(neoAddress.addrStr); if (!dir.ContainsKey("0x" + neoHelper.GAShash)) { return("没有GAS"); } ThinNeo.Transaction TX = null; { //构造转账部分交易(自己给自己)与手续费 TX = MakeTransferTx(dir["0x" + neoHelper.GAShash], addrTransfer, neoHelper.GAShash, 0, (decimal)0.00000000); //构造合约调用部分 TX = MakeInvokeTxFromTransferTx(TX, contractHash, inputJA, (decimal)0.00000000); //发送交易 string txHexStr = SignAndGetTxHex(neoAddress, TX); var res = nelApi.sendRawTransaction(txHexStr); return((string)res["result"][0]["txid"]); } }
public string SignAndGetTxHex(neoAddress neoAddress, Transaction TX) { //添加鉴证(签名) var signdata = ThinNeo.Helper_NEO.Sign(TX.GetMessage(), neoAddress.addrPriKeyBytes); var b = ThinNeo.Helper.Bytes2HexString(neoAddress.addrPubKeyBytes); TX.AddWitness(signdata, neoAddress.addrPubKeyBytes, neoAddress.addrStr); //交易序列化 var trandata = TX.GetRawData(); var strtrandata = ThinNeo.Helper.Bytes2HexString(trandata); return(strtrandata); }
public NNS_register_sell(neoAddress neoAddressIn, string contractHashIn, string nelApiUrlIn) { cop = new contractOperate(neoAddressIn, contractHashIn, nelApiUrlIn); }
public NNS_domainCenter(neoAddress neoAddressIn, string contractHashIn, string nelApiUrlIn) { cop = new contractOperate(neoAddressIn, contractHashIn, nelApiUrlIn); }
public NNS_DEX_fixedSelling(neoAddress neoAddressIn, string contractHashIn, string nelApiUrlIn) { cop = new contractOperate(neoAddressIn, contractHashIn, nelApiUrlIn); }