TRC-10是TRON网络支持的一种代币标准, 没有使用TRON虚拟机(TVM),是基于链自身的一种代币标准。 在TRON网络中,每个帐户都能够发行TRC-10代币,需要支付1024TRX的发行费用。

发行TRC-10代币

发行TRC-10是一种AssetIssueContract类型的TRON网络交易,每个帐户都能够以1024 TRX为代价发行TRC-10代币。 下面是使用HTTP API和tronweb SDK转账的示例:

  • HTTP API
    下面通过fullnode HTTP接口wallet/createassetissue创建一个未签名的发行TRC-10 Token交易:
    curl -X POST  https://api.shasta.trongrid.io/wallet/createassetissue -d '{
    "owner_address":"417946F66D0FC67924DA0AC9936183AB3B07C81126",
    "name":"0x6173736574497373756531353330383934333132313538",
    "abbr": "0x6162627231353330383934333132313538",
    "total_supply" :100000000,
    "trx_num":1,
    "num":1,
    "precision":1,
    "start_time" : 1581928489000,
    "end_time":1581938187000,
    "description":"007570646174654e616d6531353330363038383733343633",
    "url":"007570646174654e616d6531353330363038383733343633",
    "free_asset_net_limit":10000,
    "public_free_asset_net_limit":10000,
    "frozen_supply":{"frozen_amount":1, "frozen_days":2}
    }'

通过上述接口创建好未签名的交易后,还需要对该交易进行签名和广播,最终完成TRC-10的创建,具体请参考交易章节。

  • tronweb SDK
    下面通过tronweb创建发行TRC-10 Token交易:
const privateKey = "...";
var createAssetAddress = "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR";
const trc_options = {
      name : "test", 
      abbreviation : "tt",  
      description : "fortest", 
      url : "www.baidu.com",
      totalSupply : 10000000,
      trxRatio : 1,
      tokenRatio : 1,
      saleStart : 1581929489000,
      saleEnd : 1581938187000,
      freeBandwidth : 0,
      freeBandwidthLimit : 0,
      frozenAmount : 0,
      frozenDuration : 0,
      precision : 6
}
//创建一个未签名的交易,用于发行trc10代币,相当于 createToken
tradeobj = await tronWeb.transactionBuilder.createAsset(
      trc_options,
      createAssetAddress
).then(output => {
  console.log('- Output:', output, '\n');
  return output;
});
//签名
const signedtxn = await tronWeb.trx.sign(
      tradeobj,
      privateKey
);
//广播
const receipt = await tronWeb.trx.sendRawTransaction(
      signedtxn
).then(output => {
  console.log('- Output:', output, '\n');
  return output;
});

TRC-10转账

转账TRC-10是一种TransferAssetContract类型的TRON网络交易,它将TRC-10从一个账户地址转移到另一个账户地址。下面是使用HTTP API和tronweb SDK 对TRC-10转账的示例:

  • HTTP API
    下面通过fullnode HTTP接口wallet/transferasset创建一个未签名的TRC-10转账交易:
curl -X POST   https://127.0.0.1:8090/wallet/transferasset -d '{
  "owner_address":"41d1e7a6bc354106cb410e65ff8b181c600ff14292", 
  "to_address": "41e552f6487585c2b58bc2c9bb4492bc1f17132cd0", 
  "asset_name": "0x6173736574497373756531353330383934333132313538", 
  "amount": 100
}'

通过上述接口创建好未签名的交易后,还需要对该交易进行签名和广播,最终完成TRC-10转账,具体请参考交易章节。

  • tronweb SDK
    下面通过tronweb创建一个TRC-10转账交易:
const privateKey = "..."; 
var toAddress = "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR";
var tokenID= "1000088";
var amount = 1000;
var fromAddress = "TVDGpn4hCSzJ5nkHPLetk8KQBtwaTppnkr";
//创建一个未签名的 TRC10 转账交易
tradeobj = await tronWeb.transactionBuilder.sendToken(
      toAddress,
      amount,
      tokenID,
      fromAddress,    
).then(output => {
  console.log('- Output:', output, '\n');
  return output;
});
//签名
const signedtxn = await tronWeb.trx.sign(
      tradeobj,
      privateKey
);
//广播
const receipt = await tronWeb.trx.sendRawTransaction(
      signedtxn
).then(output => {
  console.log('- Output:', output, '\n');
  return output;
});

查询TRC-10余额

  • HTTP API
    可以通过fullnode HTTP接口wallet/getaccount返回值中assetV2查询余额来查询账户的TRC-10余额信息:
 curl -X POST  https://api.shasta.trongrid.io/wallet/getaccount -d 
     '{"address": "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR",
       "visible": true
     }'
  • tronweb SDK
    下面通过tronweb查询账户的TRC-10余额:
var address = "TM2TmqauSEiRf16CyFgzHV2BVxBejY9iyR"; 
//通过返回值中assetV2查询TRC-10余额
var tradeobj = await tronWeb.trx.getAccount(
      address,
).then(output => {console.log('- Output:', output, '\n');});

其他TRC-10接口

序号接口名称接口说明
1easytransferassetbyprivate用私钥快捷转账TRC10 代币
2easytransferasset用密码快捷转账TRC10 代币
3getassetissuebyaccount查询账户发行的TRC10 代币
4getassetissuebyid根据id查询TRC10 代币
5getassetissuebyname根据name查询TRC10 代币
6getassetissuelistbyname根据name查询TRC10 代币列表
7getassetissuelist查询所有TRC10 代币列表
8getpaginatedassetissuelist分页查询TRC10 代币列表
9unfreezeasset解锁已经结束质押期的TRC10代币
10updateasset修改TRC10 代币信息
11participateassetissue参与TRC-10通证首次发行