全部产品

账户接口

本节主要介绍在操作账户时所涉及的一些接口参数。

创建账户

createAccount

创建账户,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> createAccount(CreateAccountRequest request)
  • 请求参数
参数 必选 类型 说明
request true CreateAccountRequest 创建账户的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBase< ReplyTransactionReceipt> MychainBaseResult持有所有 response 类型。
  • 示例
  1. MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().createAccount(
  2. CreateAccountRequest.build(
  3. adminAccount.getIdentity(), testAccount1, params
  4. )
  5. );

asyncCreateAccount

创建账户,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncCreateAccount(CreateAccountRequest request, ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true CreateAccountRequest 创建账户的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBaseResult MychainBaseResult 持有所有 response 类型。
  • 示例
  1. MychainBase<Response> result = sdk.getAccountService().asyncCreateAccount(
  2. CreateAccountRequest.build(adminAccount.getIdentity(), testAccount3, params),
  3. new ICallback() {
  4. @Override
  5. public void onResponse(String txHash, Response response) {
  6. System.out.println("async create account, txHash:" + txHash + ", result: " + response.getErrorCode());
  7. }
  8. });

CreateAccountRequest

创建账户所需要的参数:

参数 类型 说明
account Account 待创建者账户
fromAccountId Identity 创建者账户 ID
mychainParams MychainParams 接口通用扩展参数

转账

transferBalance

交易转帐,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> transferBalance(TransferBalanceRequest request)
  • 请求参数
参数 必选 类型 说明
request true TransferBalanceRequest 交易转帐的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBaseResult MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. //转移余额
  7. MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().transferBalance(
  8. TransferBalanceRequest.build(testAccount1.getIdentity(),
  9. testAccount2.getIdentity(),
  10. new BigInteger(transferAmount+""),
  11. params
  12. )
  13. );

asyncTransferBalance

交易转帐,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncTransferBalance(TransferBalanceRequest request, ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true TransferBalanceRequest 交易转帐的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBaseResult MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 异步传输余额
  7. MychainBase<Response> result = sdk.getAccountService().asyncTransferBalance(
  8. TransferBalanceRequest.build(testAccount2.getIdentity(),
  9. testAccount1.getIdentity(),
  10. new BigInteger(transferAmount+""),
  11. params),
  12. (txHash, response) -> {
  13. System.out.println("async transfer balance, txHash:"+txHash+", result: "+ response.getErrorCode());
  14. }
  15. );

TransferBalanceRequest

转账所需要的参数:

参数 类型 说明
fromAcctId Identity 转出账户
toAcctId Identity 转入账户
amount BigInteger 转账金额
mychainParams MychainParams 通用参数

设置恢复公钥

setRecoverKey

设置恢复公钥,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> setRecoverKey(SetRecoverKeyRequest request)
  • 请求参数
参数 必选 类型 说明
request true SetRecoverKeyRequest 恢复公钥的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBaseResult MychainBaseResult 持有所有 response 类型
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().setRecoverKey(
  7. SetRecoverKeyRequest.build(testAccount1.getIdentity(), newRecoverKey, params));

asyncSetRecoverKey

设置恢复公钥,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncSetRecoverKey(SetRecoverKeyRequest request, ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true SetRecoverKeyRequest 恢复公钥的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. MychainBase<Response> result = sdk.getAccountService().asyncSetRecoverKey(
  7. SetRecoverKeyRequest.build(testAccount1.getIdentity(), newRecoverKey, params),
  8. new ICallback() {
  9. @Override
  10. public void onResponse(String txHash, Response response) {
  11. System.out.println("async set recover key, txHash:" + txHash + ", result: "
  12. + response.getErrorCode());
  13. }
  14. });

SetRecoverKeyRequest

重置恢复公钥所需要的参数:

参数 类型 说明
acctId Identity 要设置的账户 ID
recoverPubKey String 新的恢复公钥
mychainParams MychainParams 通用参数

预重置公钥

preResetPubKey

预重置公钥,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> preResetPubKey(PreResetPubKeyRequest request)
  • 请求参数
参数 必选 类型 说明
request true PreResetPubKeyRequest 预重置公钥的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 预重置
  7. MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().preResetPubKey(PreResetPubKeyRequest.build( acctId, params));

asyncPreResetPubKey

预重置公钥,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncPreResetPubKey(PreResetPubKeyRequest request, ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true PreResetPubKeyRequest 预重置公钥的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. MychainBase<Response> response = sdk.getAccountService().asyncPreResetPubKey(
  7. PreResetPubKeyRequest.build(accId, params), new ICallback() {
  8. @Override
  9. public void onResponse(String txHash, Response response) {
  10. }
  11. });

PreResetPubKeyRequest

预重置公钥所需要的参数:

参数 类型 说明
acctId Identity 要预重置的账户 ID
mychainParams MychainParams 通用参数

重置公钥

resetPubKey

重置公钥,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> resetPubKey(ResetPubKeyRequest request)
  • 请求参数
参数 必选 类型 说明
request true ResetPubKeyTransaction 重置公钥的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 重置公钥
  7. MychainBase<Response> response = sdk.getAccountService().resetPubKey(
  8. ResetPubKeyRequest.build(testAccount1.getIdentity(), authMap, params));

asyncResetPubKey

重置公钥,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncResetPubKey(ResetPubKeyRequest request,ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true ResetPubKeyRequest 重置公钥的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 重置公钥
  7. MychainBase<Response> response = sdk.getAccountService().asyncResetPubKey(
  8. ResetPubKeyRequest.build(testAccount1.getIdentity(), beforeAuthMap, params),
  9. new ICallback() {
  10. @Override
  11. public void onResponse(String txHash, Response response) {
  12. System.out.println("async reset pubkey, txHash:" + txHash + ", result: " + response.getErrorCode());
  13. }
  14. });

ResetPubKeyRequest

重置公钥所需要的参数:

参数 类型 说明
acctId Identity 要重置的账户 ID
mychainParams MychainParams 通用参数

更新权重

updateAuthMap

更新权重,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> updateAuthMap(UpdateAuthMapRequest request)
  • 请求参数
参数 必选 类型 说明
request true UpdateAuthMapRequest 更新权重的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 更新认证图
  7. MychainBase<ReplyTransactionReceipt> response = sdk.getAccountService().updateAuthMap(
  8. UpdateAuthMapRequest.build(testAccount1.getIdentity(), beforeAuthMap, params));

asyncUpdateAuthMap

更新权重,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncUpdateAuthMap(UpdateAuthMapRequest request,ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true UpdateAuthMapRequest 更新权重的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. AuthMap beforeAuthMap = sdk.getQueryService()
  7. .queryAccount(testAccount1.getIdentity().hexStrValue()).getData().getAccount().getAuthMap();
  8. for (Map.Entry<String, Integer> entry : beforeAuthMap.getAuthMap().entrySet()) {
  9. beforeAuthMap.updateAuth(entry.getKey(), entry.getValue() + 10);
  10. }
  11. MychainBase<Response> result = sdk.getAccountService().asyncUpdateAuthMap(
  12. UpdateAuthMapRequest.build(testAccount1.getIdentity(), beforeAuthMap, params),
  13. new ICallback() {
  14. @Override
  15. public void onResponse(String txHash, Response response) {
  16. System.out.println("async update auth map, txHash:" + txHash + ", result: " + response.getErrorCode());
  17. }
  18. });

UpdateAuthMapRequest

更新权重所需要的参数:

参数 类型 说明
acctId Identity 要设置的账户 ID
authMap AuthMap 新的权重
mychainParams MychainParams 通用参数

冻结账户

freezeAccount

冻结账户,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> freezeAccount(FreezeAccountRequest request)
  • 请求参数
参数 必选 类型 说明
request true FreezeAccountRequest 冻结账户的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 冻结账户
  7. MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().freezeAccount(
  8. FreezeAccountRequest.build(adminAccount.getIdentity(), testAccount1.getIdentity(),
  9. params))

asyncFreezeAccount

冻结账户,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncFreezeAccount(FreezeAccountRequest request,ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true FreezeAccountRequest 冻结账户的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 异步冻结帐户
  7. MychainBase<Response> result = sdk.getAccountService().asyncFreezeAccount(
  8. FreezeAccountRequest.build(adminAccount.getIdentity(), testAccount1.getIdentity(),
  9. params), new ICallback() {
  10. @Override
  11. public void onResponse(String txHash, Response response) {
  12. assertNotNull(txHash);
  13. assertTrue(response.getErrorCode().isSuccess());
  14. }
  15. });

FreezeAccountRequest

冻结账户请求所需要的参数:

参数 类型 说明
from Identity 冻结账户的操作者 ID
to Identity 待冻结的账户 ID
mychainParams MychainParams 通用参数

解冻账户

unFreezeAccount

解除冻结账户,同步方式调用。

  • 函数原型
  1. public MychainBase<ReplyTransactionReceipt> unFreezeAccount(UnfreezeAccountRequest request)
  • 请求参数
参数 必选 类型 说明
request true UnfreezeAccountRequest 解除冻结账户的请求
  • 返回字段
返回字段 字段类型 说明
result MychainBase<ReplyTransactionReceipt> MychainBaseResult 持有所有 response类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 解除冻结账户
  7. MychainBase<ReplyTransactionReceipt> result2 = sdk.getAccountService()
  8. .unFreezeAccount(
  9. UnfreezeAccountRequest.build(adminAccount.getIdentity(),
  10. testAccount1.getIdentity(), params));

asyncUnFreezeAccount

解除冻结账户,异步方式调用。

  • 函数原型
  1. public MychainBase<Response> asyncUnFreezeAccount(UnfreezeAccountRequest request,ICallback callback)
  • 请求参数
参数 必选 类型 说明
request true UnfreezeAccountRequest 解除冻结账户的请求
callback true ICallback 回调函数
  • 返回字段
返回字段 字段类型 说明
result MychainBase MychainBaseResult 持有所有 response 类型。
  • 示例
  1. // 准备参数 params
  2. MychainParams params = new MychainParams.Builder()
  3. .gas(BigInteger.valueOf(40000))
  4. .privateKeyList(adminPrivateKeys)
  5. .build();
  6. // 异步解除冻结账户
  7. MychainBase<Response> result2 = sdk.getAccountService().asyncUnFreezeAccount(
  8. UnfreezeAccountRequest.build(adminAccount.getIdentity(), testAccount1.getIdentity(),
  9. params), new ICallback() {
  10. @Override
  11. public void onResponse(String txHash, Response response) {
  12. assertNotNull(txHash);
  13. assertTrue(response.getErrorCode().isSuccess());
  14. }
  15. });

UnfreezeAccountRequest

解冻账户请求所需要的参数:

参数 类型 说明
from Identity 解冻账户的操作者 ID
to Identity 待解冻的账户 ID
mychainParams MychainParams 通用参数