getAccountResource
查询账户的资源信息(带宽,能量)。
getAccountResource(address)
参数
- address(String)*
所查询账户的地址,Base58check 格式或 HEX 格式。
返回
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(String)*
帐户地址,Base58check 格式或 HEX 格式。
返回
AccountNetMessage 对象。
示例
wrapper.getAccountNet("TMmbeRPnFhXC7BPLaF2M1HCsoE4jwZNB7b");
执行结果:
freeNetLimit: 5000
assetNetUsed {
key: "1000203"
value: 0
}
assetNetLimit {
key: "1000203"
value: 100000
}
TotalNetLimit: 43200000000
TotalNetWeight: 30001829306
freezeBalance
质押TRX,获取带宽或者能量,质押额度会获得等值投票权 (TP) 。质押时间默认为 3 天。
freezeBalance(ownerAddress, frozenBalance, frozenDuration, resourceCode, receiveAddress)
参数
- ownerAddress(String)*
质押 TRX 账号的地址,HEX 格式或 Base58check 格式。
- frozenBalance(long)*
质押 TRX 的数量,单位为 SUN。
- frozenDuration(long)*
质押天数,目前固定为 3 天。
- resourceCode(int)*
质押 TRX 获取资源的类型,可以是 BANDWIDTH 或者 ENERGY。
- receiveAddress(String)
可选参数,将资源委托给其他账户地址,HEX 格式或 Base58check 格式。
返回
TransactionExtention,包括执行结果。
异常
IllegalException,质押失败时抛出此异常。
示例
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(String)*
解锁TRX 账号的地址,HEX 格式或 Base58check 格式。
- resourceCode(int)*
资源类型,BANDWIDTH 或者 ENERGY。
- receiveAddress(String)
可选参数,受委托账户的地址,HEX 格式或 Base58check 格式。
返回
TransactionExtention,包括执行结果。
异常
IllegalException,解锁失败时抛出此异常。
示例
TransactionExtention transaction = wrapper.unfreezeBalance("TFRgpvvNTe8bwC666D6orYhEkCcYsbax8U", 0);
Transaction signedTxn = wrapper.signTransaction(transaction);
String ret = wrapper.broadcastTransaction(signedTxn);
执行结果:
48f7cd24b548de95d58a65b74aeeb5413e4d8a4638e40ec1fbfb212aeded7419
getDelegatedResource
查看一个账户代理给另外一个账户的资源情况。
getDelegatedResource(fromAddress, toAddress)
参数
- fromAddress(String)*
要查询的账户地址,HEX 格式或 Base58check 格式。
- toAddress(String)*
代理对象的账户地址,HEX 格式或 Base58check 格式。
返回
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(String)*
要查询的账户地址,HEX 格式或 Base58check 格式。
返回
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