TronWidgets

What is tronwidgets

TronWidgets is a collection of libraries that allow you to interact with the ecosystem of the TRON network. It aims to provide some out-of-box javascript SDK and UI components (coming soon) for TRON developers. At present, a @tronwidgets/transaction lib is provided, which is a wrap of TronWeb transaction builder lib. More libraries are on the way.

The following documentation will guide you through installing and using @tronwidgets/transaction to create transactions of the TRON network.

What is transaction

The lib can help DApp developers trigger contract transactions, query contract methods, etc. With transaction, DApp developers will be able to:

  • build transaction, sign, and broadcast

  • use the call or view method to query the specific parameters of the contract

  • deploy contract

  • send trx or other token

Get Started

Installation

  • npm i @tronwidgets/transaction

Code Example

Import it at the top of your code.

import { ContractInteract } from "@tronwidgets/transaction";

Contract function may require a Tron wallet address as target recipient.

const ACCOUNT = "TBHHa5Z6WQ1cRcgUhdvqdW4f728f2fiJmF";

Token contract (BTT @ nile testnet).

const CONTRACT = "TNuoKL1ni8aoshfFL1ASca1Gou9RXwAzfn";

Token contract (BTT(TRC20) @ nile testnet).

const CONTRACT_2 = "TBagxx57zx73VJJ61o12VfxzQ2EG3KHYJp";

The ABI code example can be found in the demo code.

All functions are asynchronous and the await keyword is permitted within it. The return type is Promise object.

Check /defi-demo/src/routes/contract.js for real-world implementation.

Check /packages/transaction/src/index.ts or /packages/transaction/dist/index.d.ts for code source.

trigger

Parameters

(address: any, functionSelector: any, options, parameters, { tronweb }?: {
 tronweb?: {} | undefined;
}) 

Example

const response = await ContractInteract.trigger(
  "TGjgvdTWWrybVLaVeFqSyVqJQWjxqRYbaK", // Decentralized USD (USDD)
  "name()",
  []
)

// convert response.constant_result from Hex to ASCII to retrieve string value

Response

{
  "result": {
      "result": true
  },
  "energy_used": 903,
  "constant_result": [
      "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011446563656e7472616c697a656420555344000000000000000000000000000000"
  ],
  "transaction": {
      "ret": [
          {}
      ],
      "visible": false,
      "txID": "034888a1b4492b71189d72dfacacbb75b1a59b339e596d1c0fab679cb4ca167a",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "data": "06fdde03",
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "contract_address": "414a3a5dd265bd974b4de0bbe33faa7efb8b7b87e8"
                      },
                      "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
                  },
                  "type": "TriggerSmartContract"
              }
          ],
          "ref_block_bytes": "5f50",
          "ref_block_hash": "6d01101e64239ef7",
          "expiration": 1652860608000,
          "fee_limit": 150000000,
          "timestamp": 1652860548453
      },
      "raw_data_hex": "0a025f5022086d01101e64239ef74080bcadb18d305a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412340a1541c4ae90260992e400b449011a49374e6cdc95f67a1215414a3a5dd265bd974b4de0bbe33faa7efb8b7b87e8220406fdde0370e5eaa9b18d30900180a3c347"
  }
}

sign

Parameters

(transaction: any, { tronweb }?: { tronweb?: {} | undefined; })

Example

const { transaction, result } = await window.tronWeb.transactionBuilder.triggerSmartContract(
  CONTRACT,
  "transfer(address,uint256)",
  {
    feeLimit: 1_000_000,
    callValue: 0
  },
  [{
    type: "address",
    value: ACCOUNT
  }, {
    type: "uint256",
    value: 1000000
  }]
);
if (!result.result) {
  console.error("error:", result);
  return;
}

const response = await window.tronWeb.trx.sign(transaction);

Response

{
  "visible": false,
  "txID": "093e9f4b3ba31c6429fa0b1b22f10281886e6bbe5ecb97bb25c721497c291231",
  "raw_data": {
      "contract": [
          {
              "parameter": {
                  "value": {
                      "data": "a9059cbb0000000000000000000000000e636d680b300214cf10e3343d0eef14f642c8a400000000000000000000000000000000000000000000000000000000000f4240",
                      "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                      "contract_address": "418df49db5dbf07e498492d2dafcf7b305cdc72471"
                  },
                  "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
              },
              "type": "TriggerSmartContract"
          }
      ],
      "ref_block_bytes": "6101",
      "ref_block_hash": "1f3cbafca3705dd1",
      "expiration": 1652861919000,
      "fee_limit": 1000000,
      "timestamp": 1652861859565
  },
  "raw_data_hex": "0a02610122081f3cbafca3705dd14098befdb18d305aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c4ae90260992e400b449011a49374e6cdc95f67a1215418df49db5dbf07e498492d2dafcf7b305cdc724712244a9059cbb0000000000000000000000000e636d680b300214cf10e3343d0eef14f642c8a400000000000000000000000000000000000000000000000000000000000f424070ededf9b18d309001c0843d",
  "signature": [
      "5401945088ec48ee611d871fe251756678c487b4b314a8c45306337084ca3ee52975152d64aafcc5438e737f93cd1f03b00df5b208ec91a5371c28d79da352fa00"
  ]
}

broadcast

Parameters

(signedTransaction: any, { tronweb }?: { tronweb?: {} | undefined; })

Example

const address = "TDqjTkZ63yHB19w2n7vPm2qAkLHwn9fKKk";
const functionSelector = "approve(address,uint256)";
const exchangeAddress = "TH1SvdkzHbeN7gYPKhtoDPtFe3V2nj9yVv";
const MAX_UINT256 = "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
const feeLimitCommon = 400000000;
const feeLimitMin = 100000000;

const parameters = [
  { type: "address", value: exchangeAddress },
  { type: "uint256", value: MAX_UINT256 }
  ];

const transaction = await ContractInteract.trigger(
  address,
  functionSelector,
  Object.assign({ feeLimit: feeLimitCommon },{ feeLimit: feeLimitMin }),
  parameters
);

if (!transaction.result || !transaction.result.result) {
  throw new Error("Unknown trigger error: " + JSON.stringify(transaction.transaction));
}

const signedTransaction = await ContractInteract.sign(transaction.transaction);

const response = await ContractInteract.broadcast(signedTransaction);

transaction

{
  "result": {
      "result": true
  },
  "transaction": {
      "visible": false,
      "txID": "60a8c18dbe622bbdc6c67cd289f012589bd1b71ebbb0826d2834c40b54f12273",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "data": "095ea7b3",
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "contract_address": "412a769a33b6ed01a074e4a45bffa0778a27949bec"
                      },
                      "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
                  },
                  "type": "TriggerSmartContract"
              }
          ],
          "ref_block_bytes": "622e",
          "ref_block_hash": "1f79b52388ace764",
          "expiration": 1652862834000,
          "fee_limit": 150000000,
          "timestamp": 1652862775340
      },
      "raw_data_hex": "0a02622e22081f79b52388ace76440d0aab5b28d305a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412340a1541c4ae90260992e400b449011a49374e6cdc95f67a1215412a769a33b6ed01a074e4a45bffa0778a27949bec2204095ea7b370ace0b1b28d30900180a3c347"
  }
}

signedTransaction

{
  "visible": false,
  "txID": "f80c9c44d2641da98c128b729d1251da8e21c0bc7a55b0def102f5225d21cc63",
  "raw_data": {
      "contract": [
          {
              "parameter": {
                  "value": {
                      "data": "095ea7b3",
                      "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                      "contract_address": "412a769a33b6ed01a074e4a45bffa0778a27949bec"
                  },
                  "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
              },
              "type": "TriggerSmartContract"
          }
      ],
      "ref_block_bytes": "622e",
      "ref_block_hash": "1f79b52388ace764",
      "expiration": 1652862834000,
      "fee_limit": 150000000,
      "timestamp": 1652862775617
  },
  "raw_data_hex": "0a02622e22081f79b52388ace76440d0aab5b28d305a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412340a1541c4ae90260992e400b449011a49374e6cdc95f67a1215412a769a33b6ed01a074e4a45bffa0778a27949bec2204095ea7b370c1e2b1b28d30900180a3c347",
  "signature": [
      "8c5f61d3f68d5f1d52170ecb9c941df9b7a2c4e0be89e1d3cb3e9d6c5ff2edcbf728a5809c3b736f15437aa7b79cd669825f2f58f930ce723bfaa1ef8cebfdb400"
  ]
}

Response

{
  "result": true,
  "txid": "f80c9c44d2641da98c128b729d1251da8e21c0bc7a55b0def102f5225d21cc63",
  "transaction": {
      "visible": false,
      "txID": "f80c9c44d2641da98c128b729d1251da8e21c0bc7a55b0def102f5225d21cc63",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "data": "095ea7b3",
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "contract_address": "412a769a33b6ed01a074e4a45bffa0778a27949bec"
                      },
                      "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
                  },
                  "type": "TriggerSmartContract"
              }
          ],
          "ref_block_bytes": "622e",
          "ref_block_hash": "1f79b52388ace764",
          "expiration": 1652862834000,
          "fee_limit": 150000000,
          "timestamp": 1652862775617
      },
      "raw_data_hex": "0a02622e22081f79b52388ace76440d0aab5b28d305a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412340a1541c4ae90260992e400b449011a49374e6cdc95f67a1215412a769a33b6ed01a074e4a45bffa0778a27949bec2204095ea7b370c1e2b1b28d30900180a3c347",
      "signature": [
          "8c5f61d3f68d5f1d52170ecb9c941df9b7a2c4e0be89e1d3cb3e9d6c5ff2edcbf728a5809c3b736f15437aa7b79cd669825f2f58f930ce723bfaa1ef8cebfdb400"
      ]
  }
}

send

Parameters

(address: any, functionSelector: any, options, parameters, { tronweb }?: {
  tronweb?: {} | undefined;
})

Example

const response = await ContractInteract.send(
  ACCOUNT,
  "postMessage(string)",
  [{ type: "string", value: "Hello" }]
);

Response

{
  "result": true,
  "txid": "75901bee90e7134590c47df2af885e281f251270572328ee258b26a2271dd4f4",
  "transaction": {
      "visible": false,
      "txID": "75901bee90e7134590c47df2af885e281f251270572328ee258b26a2271dd4f4",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "data": "6630f88f0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000",
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "contract_address": "41766510af1f0d793718f22de068600089da9af9d0"
                      },
                      "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
                  },
                  "type": "TriggerSmartContract"
              }
          ],
          "ref_block_bytes": "4dd5",
          "ref_block_hash": "bac6a76f7be8c97e",
          "expiration": 1652847045000,
          "fee_limit": 150000000,
          "timestamp": 1652846986508
      },
      "raw_data_hex": "0a024dd52208bac6a76f7be8c97e4088d3f1aa8d305acf01081f12ca010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e74726163741294010a1541c4ae90260992e400b449011a49374e6cdc95f67a121541766510af1f0d793718f22de068600089da9af9d022646630f88f0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000708c8aeeaa8d30900180a3c347",
      "signature": [
          "37185e7e01b1ff00ae1d661af9c51230ff10cfbab33a3ace970116a47783491bc06640705ab3a7311721e9be1f3ecc5d659d27854ef1283ebb8ab2585d382b9000"
      ]
  }
}

call

Parameters

(address: string, _functionSelector: any, { tronweb, abi }?: {
  tronweb?: {} | undefined;
  abi?: never[] | undefined;
})

Example

const response = await call(
  ACCOUNT,
  "getMessage()",
  { abi: funcABIV2.abi }
);

Response

{
  "result": "Hello"
}

view

Parameters

(address: string, _functionSelector: any, parameters = []{ tronweb } ?: {
  tronweb?: {} | undefined;
})

Example

const response = await view(
  CONTRACT_2,
  "totalSupply()",
  []
);

Response

{
  "result": {
    "result": true
  },
  "energy_used": 924,
  "constant_result": [
    "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000"
  ],
  "transaction": {
    "ret": [
      {}
    ],
    "visible": false,
    "txID": "85b4730e278ca5f253e3e3ebf5e9f8526c2c89e2566c23e14fb8187388295994",
    "raw_data": {
      "contract": [
        {
          "parameter": {
            "value": {
              "data": "ce6d41de",
              "owner_address": "4165fa68800fff5a10346d1a3aa1fb2ce92f2e2971",
              "contract_address": "41766510af1f0d793718f22de068600089da9af9d0"
            },
            "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
          },
          "type": "TriggerSmartContract"
        }
      ],
      "ref_block_bytes": "7e84",
      "ref_block_hash": "c118a5e68d514097",
      "expiration": 1662021381000,
      "timestamp": 1662021324119
    },
    "raw_data_hex": "0a027e842208c118a5e68d5140974088d7c6c1af305a6d081f12690a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412340a154165fa68800fff5a10346d1a3aa1fb2ce92f2e2971121541766510af1f0d793718f22de068600089da9af9d02204ce6d41de70d79ac3c1af30"
  }
}

Deploy

Parameters

(options: any, address: string, { callbacks, tronweb }?: {
  callbacks?: (() => void) | undefined;
  tronweb?: {} | undefined;
})

Example

const DeployOptions = {
  abi: funcABIV2.abi,
  bytecode: funcABIV2.bytecode,
  funcABIV2: funcABIV2.abi[0],
  parametersV2: [1]
}

const response = await ContractInteract.Deploy(DeployOptions);

Response

{
  "result": true,
  "txid": "54e91f79a5b88e76eb100dcd288bcba1d726912024dd783f12a767123b8fe9dd",
  "transaction": {
      "visible": false,
      "txID": "54e91f79a5b88e76eb100dcd288bcba1d726912024dd783f12a767123b8fe9dd",
      "contract_address": "4194abf50b4cae22905c1d383899d36019b372db35",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "new_contract": {
                              "bytecode": "608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506103528061003a6000396000f3006080604052600436106100325763ffffffff60e060020a6000350416636630f88f8114610037578063ce6d41de1461011f575b600080fd5b34801561004357600080fd5b50d3801561005057600080fd5b50d2801561005d57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100aa94369492936024939284019190819084018382808284375094975061014e9650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e45781810151838201526020016100cc565b50505050905090810190601f1680156101115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561012b57600080fd5b50d3801561013857600080fd5b50d2801561014557600080fd5b506100aa6101f7565b805160609061016490600090602085019061028e565b506000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101eb5780601f106101c0576101008083540402835291602001916101eb565b820191906000526020600020905b8154815290600101906020018083116101ce57829003601f168201915b50505050509050919050565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156102835780601f1061025857610100808354040283529160200191610283565b820191906000526020600020905b81548152906001019060200180831161026657829003601f168201915b505050505090505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102cf57805160ff19168380011785556102fc565b828001600101855582156102fc579182015b828111156102fc5782518255916020019190600101906102e1565b5061030892915061030c565b5090565b61028b91905b8082111561030857600081556001016103125600a165627a7a72305820d8016da0e588b4005857fe9a130eca1a7da6a671e252156ab06e485cc9058bb2002900000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000",
                              "consume_user_resource_percent": 100,
                              "origin_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                              "abi": {
                                  "entrys": [
                                      {
                                          "outputs": [
                                              {
                                                  "type": "string"
                                              }
                                          ],
                                          "inputs": [
                                              {
                                                  "name": "value",
                                                  "type": "string"
                                              }
                                          ],
                                          "name": "postMessage",
                                          "stateMutability": "Nonpayable",
                                          "type": "Function"
                                      },
                                      {
                                          "outputs": [
                                              {
                                                  "type": "string"
                                              }
                                          ],
                                          "constant": true,
                                          "name": "getMessage",
                                          "stateMutability": "View",
                                          "type": "Function"
                                      }
                                  ]
                              },
                              "origin_energy_limit": 10000000
                          }
                      },
                      "type_url": "type.googleapis.com/protocol.CreateSmartContract"
                  },
                  "type": "CreateSmartContract"
              }
          ],
          "ref_block_bytes": "4f29",
          "ref_block_hash": "cbdc889b7afcb668",
          "expiration": 1652848077000,
          "fee_limit": 150000000,
          "timestamp": 1652848019189
      },
      "raw_data_hex": "0a024f292208cbdc889b7afcb66840c8d1b0ab8d305a8f09081e128a090a30747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e437265617465536d617274436f6e747261637412d5080a1541c4ae90260992e400b449011a49374e6cdc95f67a12bb080a1541c4ae90260992e400b449011a49374e6cdc95f67a1a4c0a2c1a0b706f73744d657373616765220f120576616c75651a06737472696e672a081a06737472696e67300240030a1c10011a0a6765744d6573736167652a081a06737472696e673002400222cc07608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506103528061003a6000396000f3006080604052600436106100325763ffffffff60e060020a6000350416636630f88f8114610037578063ce6d41de1461011f575b600080fd5b34801561004357600080fd5b50d3801561005057600080fd5b50d2801561005d57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100aa94369492936024939284019190819084018382808284375094975061014e9650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e45781810151838201526020016100cc565b50505050905090810190601f1680156101115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561012b57600080fd5b50d3801561013857600080fd5b50d2801561014557600080fd5b506100aa6101f7565b805160609061016490600090602085019061028e565b506000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101eb5780601f106101c0576101008083540402835291602001916101eb565b820191906000526020600020905b8154815290600101906020018083116101ce57829003601f168201915b50505050509050919050565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156102835780601f1061025857610100808354040283529160200191610283565b820191906000526020600020905b81548152906001019060200180831161026657829003601f168201915b505050505090505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106102cf57805160ff19168380011785556102fc565b828001600101855582156102fc579182015b828111156102fc5782518255916020019190600101906102e1565b5061030892915061030c565b5090565b61028b91905b8082111561030857600081556001016103125600a165627a7a72305820d8016da0e588b4005857fe9a130eca1a7da6a671e252156ab06e485cc9058bb200290000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000030644080ade20470f58dadab8d30900180a3c347",
      "signature": [
          "be094b056dd6ef725698aa5e89ca9c7e32d2d43ec04d27a290c8d3f0581f754e0cb3c5536c8cef7670ee67e487658cf3d0f2aee3673a9726fd42340c1089227601"
      ]
  }
}

sendTrx

Parameters

(toAddress: string, amount: string | number, fromAddress: string, options: any, { callbacks, tronweb }?: {
  callbacks?: (() => void) | undefined;
  tronweb?: {} | undefined;
})

Example

const response = await ContractInteract.sendTrx(
  "TBHHa5Z6WQ1cRcgUhdvqdW4f728f2fiJmF",
  1000000
);

Response

{
  "result": true,
  "txid": "1fd5f9483ecdc6a7ae0897d24be14d3de6d43afbe1e4c2ca675fdaa5bb551bf8",
  "transaction": {
      "visible": false,
      "txID": "1fd5f9483ecdc6a7ae0897d24be14d3de6d43afbe1e4c2ca675fdaa5bb551bf8",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "amount": 1000000,
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "to_address": "410e636d680b300214cf10e3343d0eef14f642c8a4"
                      },
                      "type_url": "type.googleapis.com/protocol.TransferContract"
                  },
                  "type": "TransferContract"
              }
          ],
          "ref_block_bytes": "5098",
          "ref_block_hash": "ae68369446756cd2",
          "expiration": 1652849190000,
          "timestamp": 1652849132334
      },
      "raw_data_hex": "0a0250982208ae68369446756cd240f0c8f4ab8d305a67080112630a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412320a1541c4ae90260992e400b449011a49374e6cdc95f67a1215410e636d680b300214cf10e3343d0eef14f642c8a418c0843d70ae86f1ab8d30",
      "signature": [
          "1a108d49e226fe184d8dbb7b03f3453ebd07c9ffbcb21a400229668e01c9287190cb7027a884244bc7a790d911f48e98c58ff7eee338554fb618260db5f3f5fe00"
      ]
  }
}

sendToken

Parameters

(address: string, amount: string | number, tokenID: string | number, privateKey: string, { callbacks, tronweb }?: {
  callbacks?: (() => void) | undefined;
  tronweb?: {} | undefined;
})

Example

const response = await ContractInteract.sendToken(
  ACCOUNT,
  10000,
  "1000617"
);

Response

{
  "result": true,
  "txid": "23d404c13f9850ae265cb9cabe83fd34802de60d08830c13b36ec1879fc0bd72",
  "transaction": {
      "visible": false,
      "txID": "23d404c13f9850ae265cb9cabe83fd34802de60d08830c13b36ec1879fc0bd72",
      "raw_data": {
          "contract": [
              {
                  "parameter": {
                      "value": {
                          "amount": 10000,
                          "asset_name": "31303030363137",
                          "owner_address": "41c4ae90260992e400b449011a49374e6cdc95f67a",
                          "to_address": "410e636d680b300214cf10e3343d0eef14f642c8a4"
                      },
                      "type_url": "type.googleapis.com/protocol.TransferAssetContract"
                  },
                  "type": "TransferAssetContract"
              }
          ],
          "ref_block_bytes": "58fd",
          "ref_block_hash": "386870048618a656",
          "expiration": 1652855703000,
          "timestamp": 1652855644792
      },
      "raw_data_hex": "0a0258fd2208386870048618a65640d88b82af8d305a74080212700a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e7472616374123a0a0731303030363137121541c4ae90260992e400b449011a49374e6cdc95f67a1a15410e636d680b300214cf10e3343d0eef14f642c8a420904e70f8c4feae8d30",
      "signature": [
          "d0ea580ccff32bd595e5df2ac82cebdae125ad9f156094b57320e6cfe301d31b9ac53d3179cfb47a27aaa7c6a5037de9334e7da0a58256e6da19e5a7dd42138b00"
      ]
  }
}