TRC-10
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接口
序号 | 接口名称 | 接口说明 |
---|---|---|
1 | getassetissuebyaccount | 查询账户发行的TRC10 代币 |
2 | getassetissuebyid | 根据id查询TRC10 代币 |
3 | getassetissuebyname | 根据name查询TRC10 代币 |
4 | getassetissuelistbyname | 根据name查询TRC10 代币列表 |
5 | getassetissuelist | 查询所有TRC10 代币列表 |
6 | getpaginatedassetissuelist | 分页查询TRC10 代币列表 |
7 | unfreezeasset | 解锁已经结束质押期的TRC10代币 |
8 | updateasset | 修改TRC10 代币信息 |
9 | participateassetissue | 参与TRC-10通证首次发行 |
Updated about 1 month ago