账户资源

getAccountResource

查询账户的资源信息(带宽,能量)。

getAccountResource(address)

参数

  1. 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)

参数

  1. 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)

参数

  1. ownerAddress(String)*

质押 TRX 账号的地址,HEX 格式或 Base58check 格式。

  1. frozenBalance(long)*

质押 TRX 的数量,单位为 SUN。

  1. frozenDuration(long)*

质押天数,目前固定为 3 天。

  1. resourceCode(int)*

质押 TRX 获取资源的类型,可以是 BANDWIDTH 或者 ENERGY。

  1. 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)

参数

  1. ownerAddress(String)*

解锁TRX 账号的地址,HEX 格式或 Base58check 格式。

  1. resourceCode(int)*

资源类型,BANDWIDTH 或者 ENERGY。

  1. 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)

参数

  1. fromAddress(String)*

要查询的账户地址,HEX 格式或 Base58check 格式。

  1. 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)

参数

  1. 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