getAccountResource
查询账户的资源信息(带宽,能量)。
用法
getAccountResource(address)
参数
参数 | 描述 | 类型 |
---|---|---|
address | 帐户地址,Base58check 格式或 HEX 格式 | String |
返回值
Object - AccountResourceMessage 对象。
示例
wrapper.getAccountResource("TMmbeRPnFhXC7BPLaF2M1HCsoE4jwZNB7b");
执行结果:
freeNetLimit: 5000
assetNetUsed {
key: "1000203"
value: 0
}
assetNetLimit {
key: "1000203"
value: 100000
}
TotalNetLimit: 43200000000
TotalNetWeight: 30001829306
EnergyLimit: 13348
TotalEnergyLimit: 90000000000
TotalEnergyWeight: 13485132
getAccountNet
查询账户带宽信息。
用法
getAccountNet(address)
参数
参数 | 描述 | 类型 |
---|---|---|
address | 帐户地址,Base58check 格式或 HEX 格式 | String |
返回值
Object -AccountNetMessage 对象。
示例
wrapper.getAccountNet("TMmbeRPnFhXC7BPLaF2M1HCsoE4jwZNB7b");
执行结果:
freeNetLimit: 5000
assetNetUsed {
key: "1000203"
value: 0
}
assetNetLimit {
key: "1000203"
value: 100000
}
TotalNetLimit: 43200000000
TotalNetWeight: 30001829306
freezeBalance
质押TRX,获取带宽或者能量,质押额度会获得等值投票权 (TP) 。质押时间默认为 3 天。该接口已废弃,请使用freezeBalanceV2进行质押。
用法
freezeBalance(ownerAddress, frozenBalance, frozenDuration, resourceCode, receiveAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 质押 TRX 账号的地址,HEX 格式或 Base58check 格式 | String |
frozenBalance | 质押 TRX 的数量,单位为 SUN | long |
frozenDuration | 质押天数,目前固定为 3 天 | long |
resourceCode | 资源类型,0表示带宽,1表示能量 | int |
receiveAddress | 可选参数,将资源委托给其他账户地址,HEX 格式或 Base58check 格式 | String |
返回值
Object -TransactionExtention 对象: 未签名的交易信息。
示例
TransactionExtention transaction = wrapper.freezeBalance("TLtrDb1udekjDumnrf3EVeke3Q6pHkZxjm", 1_000_000L, 3L,1,"TMmbeRPnFhXC7BPLaF2M1HCsoE4jwZNB7b");
Transaction signedTxn = wrapper.signTransaction(transaction);
String ret = wrapper.broadcastTransaction(signedTxn);
执行结果:
557c9975c5db33d33c634c307a3ce05477c56cb124df94f1cbd8af247d6dd017
unfreezeBalance
解锁超过质押期的 TRX,释放所得到的带宽和能量。同时会因投票权 (TP) 减少,自动取消所有投票。
用法
unfreezeBalance(ownerAddress, resourceCode, receiveAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 解锁TRX 账号的地址,HEX 格式或 Base58check 格式 | String |
resourceCode | 资源类型,0表示带宽,1表示能量 | int |
receiveAddress | 可选参数,受委托账户的地址,HEX 格式或 Base58check 格式 | String |
返回值
Object -TransactionExtention 对象: 未签名的交易信息。
示例
TransactionExtention transaction = wrapper.unfreezeBalance("TFRgpvvNTe8bwC666D6orYhEkCcYsbax8U", 0);
Transaction signedTxn = wrapper.signTransaction(transaction);
String ret = wrapper.broadcastTransaction(signedTxn);
执行结果:
48f7cd24b548de95d58a65b74aeeb5413e4d8a4638e40ec1fbfb212aeded7419
getDelegatedResource
查看一个账户代理给另外一个账户的资源情况。
用法
getDelegatedResource(fromAddress, toAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
fromAddress | 要查询的账户地址,HEX 格式或 Base58check 格式 | String |
toAddress | 代理对象的账户地址,HEX 格式或 Base58check 格式 | String |
返回值
Object - DelegatedResourceList 对象。
示例
wrapper.getDelegatedResource("TLtrDb1udekjDumnrf3EVeke3Q6pHkZxjm","TMmbeRPnFhXC7BPLaF2M1HCsoE4jwZNB7b");
执行结果:
delegatedResource {
from: "Aw\326^\303g\274`\360\216\276\327\302k\023\274\226\232S\364\217"
to: "A\201ok\226\373\273*C\253\307py\242c\312\315\215kSz"
frozen_balance_for_energy: 2000000
expire_time_for_energy: 1615020525000
}
getDelegatedResourceAccountIndex
查看一个账户给哪些账户代理了资源。
用法
getDelegatedResourceAccountIndex(address)
参数
参数 | 描述 | 类型 |
---|---|---|
address | 要查询的账户地址,HEX 格式或 Base58check 格式 | String |
返回值
Object - DelegatedResourceAccountIndex 对象。
示例
DelegatedResourceAccountIndex accountIndex = wrapper.getDelegatedResourceAccountIndex("TLtrDb1udekjDumnrf3EVeke3Q6pHkZxjm");
ByteString account = accountIndex.getAccount();
int fromAccountsCount = accountIndex.getFromAccountsCount();
for(int i =0;i<fromAccountsCount;i++){
ByteString fromAccounts = accountIndex.getFromAccounts(i);
}
int toAccountsCount = accountIndex.getToAccountsCount();
for(int i =0;i<toAccountsCount;i++){
ByteString toAccounts = accountIndex.getToAccounts(i);
}
执行结果:
Accounts: TLtrDb1udekjDumnrf3EVeke3Q6pHkZxjm
toAccounts: TMmbeRPnFhXC7BPLaF2M1HCsoE4jwZNB7b
freezeBalanceV2
在Stake2.0机制下,质押TRX以获取带宽或者能量,同时根据质押额度获得等值投票权(TP)。
用法
freezeBalanceV2(ownerAddress, frozenBalance, resourceCode)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 质押 TRX 账号的地址,HEX 格式或 Base58check 格式 | String |
frozenBalance | 质押TRX 的数量, 单位为sun | long |
resourceCode | 质押 TRX 获取资源的类型,0为带宽,1为能量 | int |
返回值
Object - TransactionExtention:未签名的交易信息。
示例
TransactionExtention txnExt =client.freezeBalanceV2("41C9B9110BD5F6697075659AB3AAF6107840A9D96D",10000000,1);
System.out.println("txn id => " + Hex.toHexString(txnExt.getTxid().toByteArray()));
Transaction signedTxn = client.signTransaction(txnExt);
TransactionReturn ret = client.blockingStub.broadcastTransaction(signedTxn);
System.out.println("======== Result ========\n" + ret.toString());
执行结果:
txn id => 6d5a3492516db8008ce11b8db7c7b1d514e003f4fcb6a7bcbf2c792485eaa746
======== Result ========
result: true
unfreezeBalanceV2
解锁Stake2.0中质押的TRX, 释放所相应数量的带宽和能量,同时回收相应数量的投票权(TP)。
用法
unfreezeBalanceV2(ownerAddress, unfreezeBalance, resourceCode)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 解锁TRX 账号的地址,HEX 格式或 Base58check 格式 | String |
unfreezeBalance | 解质押的TRX数量,单位为sun | long |
resourceCode | 资源类型,0为带宽,1为能量 | int |
返回值
Object - TransactionExtention:未签名的交易信息。
示例
TransactionExtention txnExt2 =client.unfreezeBalanceV2("41C9B9110BD5F6697075659AB3AAF6107840A9D96D",700000000,1);
System.out.println("txn2 id => " + Hex.toHexString(txnExt2.getTxid().toByteArray()));
Transaction signedTxn2 = client.signTransaction(txnExt2);
TransactionReturn ret2 = client.blockingStub.broadcastTransaction(signedTxn2);
System.out.println("======== Result ========\n" + ret2.toString());
执行结果:
txn2 id => af0748c673940f71068c5519cf0af582c3d5c7c386d34e9f2d354e6b9e62c197
======== Result ========
result: true
delegateResource
在Stake 2.0机制下,将带宽或者能量资源代理给其它账户。
用法
delegateResource( ownerAddress, balance, resourceCode, receiverAddress, lock)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 交易发起者账号的地址, HEX 格式或 Base58check 格式 | String |
balance | 代理balance数量的TRX所对应的资源给目标地址, 单位为sun | long |
resourceCode | 资源类型,0为带宽,1为能量 | int |
receiverAddress | 资源的接收账户地址, HEX 格式或 Base58check 格式 | String |
lock | true表示为该资源代理操作设置三天的锁定期,即资源代理给目标地址后的三天内不可以取消对其的资源代理,如果锁定期内,再次代理资源给同一目标地址,则锁定期将重新设置为3天。false表示本次资源代理没有锁定期,可随时取消对目标地址的资源代理 | boolean |
返回值
Object - TransactionExtention:未签名的交易信息。
示例
TransactionExtention txnExt3 =client.delegateResource("41C9B9110BD5F6697075659AB3AAF6107840A9D96D",100999990,1,"41715AE2D2B73B5B4885F480BFBA04CBE6D61E6824",false);
System.out.println("txn3 id => " + Hex.toHexString(txnExt3.getTxid().toByteArray()));
Transaction signedTxn3 = client.signTransaction(txnExt3);
TransactionReturn ret3 = client.blockingStub.broadcastTransaction(signedTxn3);
System.out.println("======== Result ========\n" + ret3.toString());
执行结果:
txn3 id => f8f59725c2282d5f25443e32c606c97ec30602ae0310cb562e6529f63decd4bb
======== Result ========
result: true
undelegateResource
取消Stake2.0中为目标地址代理的带宽或者能量。
用法
undelegateResource( ownerAddress, balance, resourceCode, receiverAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 交易发起者账号的地址, HEX 格式或 Base58check 格式 | String |
balance | 取消代理 balance数量的TRX所对应的资源, 单位为sun | long |
resourceCode | 资源类型,0为带宽,1为能量 | int |
receiverAddress | 资源的接收账户地址, HEX 格式或 Base58check 格式 | String |
返回值
Object - TransactionExtention:未签名的交易信息。
示例
TransactionExtention txnExt4 =client.undelegateResource("41C9B9110BD5F6697075659AB3AAF6107840A9D96D",100999940,1,"41715AE2D2B73B5B4885F480BFBA04CBE6D61E6824");
System.out.println("txn4 id => " + Hex.toHexString(txnExt4.getTxid().toByteArray()));
Transaction signedTxn4 = client.signTransaction(txnExt4);
TransactionReturn ret4 = client.blockingStub.broadcastTransaction(signedTxn4);
System.out.println("======== Result ========\n" + ret4.toString());
执行结果:
txn4 id => 1f7096bb68a4c743e606544cfd58b301bdf6f2a5a8ec81fa20243b1f4fcd802a
======== Result ========
result: true
withdrawExpireUnfreeze
提取Stake2.0中已过锁定期的解质押的本金。
用法
withdrawExpireUnfreeze(ownerAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 账号地址, HEX 格式或 Base58check 格式 | String |
返回值
Object - TransactionExtention:未签名的交易信息。
示例
TransactionExtention txnExt5 =client.withdrawExpireUnfreeze("41C9B9110BD5F6697075659AB3AAF6107840A9D96D");
System.out.println("txn5 id => " + Hex.toHexString(txnExt5.getTxid().toByteArray()));
Transaction signedTxn5 = client.signTransaction(txnExt5);
TransactionReturn ret5 = client.blockingStub.broadcastTransaction(signedTxn5);
System.out.println("======== Result ========\n" + ret5.toString());
执行结果:
txn5 id => d09c82ea7aa664dd7a617ee347c2e1664171a84cd674d5bd028a12ec338a2e11
======== Result ========
result: true
getAvailableUnfreezeCount
查询Stake 2.0中账户当下解质押剩余次数。
用法
getAvailableUnfreezeCount( ownerAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 账号地址, HEX 格式或 Base58check 格式 | String |
返回值
int - count 解质押剩余次数。
示例
long count =client.getAvailableUnfreezeCount("41C9B9110BD5F6697075659AB3AAF6107840A9D96D");
System.out.println("count => "+count);
执行结果:
count => 31
getCanWithdrawUnfreezeAmount
查询Stake 2.0中用户可以提取的解质押本金数量。
用法
getCanWithdrawUnfreezeAmount(ownerAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 账号地址, HEX 格式或 Base58check 格式 | String |
返回值
long - amount 可提现本金数量。
示例
long amount =client.getCanWithdrawUnfreezeAmount("41C9B9110BD5F6697075659AB3AAF6107840A9D96D");
System.out.println("amount => "+amount);
执行结果:
amount => 0
getCanDelegatedMaxSize
查询Stake 2.0机制下目标地址中指定类型资源的可代理数量,单位为sun。
用法
getCanDelegatedMaxSize(ownerAddress, type)
参数
参数 | 描述 | 类型 |
---|---|---|
ownerAddress | 账号地址, HEX 格式或 Base58check 格式 | String |
type | 资源类型,0为带宽,1为能量 | int |
返回值
long - maxSize 资源的可代理数量。
示例
long maxSize =client.getCanDelegatedMaxSize("41C9B9110BD5F6697075659AB3AAF6107840A9D96D",1);
System.out.println("maxSize => "+maxSize);
执行结果:
maxSize => 321999830
getDelegatedResourceV2
查询Stake 2.0机制下某地址代理给目标地址的资源情况。
用法
getDelegatedResourceV2(fromAddress, toAddress)
参数
参数 | 描述 | 类型 |
---|---|---|
fromAddress | 代理账户地址, HEX 格式或 Base58check 格式 | String |
toAddress | 资源的接收账户地址, HEX 格式或 Base58check 格式 | String |
返回值
DelegatedResourceList - 代理信息列表。
示例
Response.DelegatedResourceList delegatedResourceList =client.getDelegatedResourceV2("41C9B9110BD5F6697075659AB3AAF6107840A9D96D","41715AE2D2B73B5B4885F480BFBA04CBE6D61E6824");
System.out.println("delegatedResourceList => "+delegatedResourceList);
执行结果:
delegatedResourceList => delegatedResource {
from: "A\311\271\021\v\325\366ipue\232\263\252\366\[email protected]\251\331m"
to: "AqZ\342\322\267;[H\205\364\200\277\272\004\313\346\326\036h$"
frozen_balance_for_energy: 7000169
}
getDelegatedResourceAccountIndexV2
查询Stake 2.0机制下某地址的资源委托索引。返回两个列表,一个是该帐户将资源委托给的地址列表(toAddress),另一个是将资源委托给该帐户的地址列表(fromAddress)。
用法
getDelegatedResourceAccountIndexV2(address)
参数
参数 | 描述 | 类型 |
---|---|---|
address | 账号地址, HEX 格式或 Base58check 格式 | String |
返回值
DelegatedResourceAccountIndex - 代理关系对象。
示例
Response.DelegatedResourceAccountIndex delegatedResourceAccountIndex =client.getDelegatedResourceAccountIndexV2("41715AE2D2B73B5B4885F480BFBA04CBE6D61E6824");
System.out.println("delegatedResourceAccountIndex => "+delegatedResourceAccountIndex);
执行结果:
delegatedResourceAccountIndex => account: "AqZ\342\322\267[H\205\364\200\277\272\004\313\346\326\036h$"
fromAccounts: "A\311\271\021\v\325\366ipue\232\263\252\366\[email protected]\251\331m"