本节主要介绍在操作账户时所涉及的一些接口参数。
创建账户
createAccount
创建账户,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> createAccount(CreateAccountRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | CreateAccountRequest | 创建账户的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result |
|
|
示例
MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().createAccount(
CreateAccountRequest.build(
adminAccount.getIdentity(), testAccount1, params
)
);
asyncCreateAccount
创建账户,异步方式调用。
函数原型
public MychainBase<Response> asyncCreateAccount(CreateAccountRequest request, ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | CreateAccountRequest | 创建账户的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBaseResult |
|
示例
MychainBase<Response> result = sdk.getAccountService().asyncCreateAccount(
CreateAccountRequest.build(adminAccount.getIdentity(), testAccount3, params),
new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
System.out.println("async create account, txHash:" + txHash + ", result: " + response.getErrorCode());
}
});
CreateAccountRequest
创建账户所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
account | Account | 待创建者账户 |
fromAccountId | Identity | 创建者账户 ID |
mychainParams | MychainParams | 接口通用扩展参数 |
转账
transferBalance
交易转账,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> transferBalance(TransferBalanceRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | TransferBalanceRequest | 交易转账的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBaseResult |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
//转移余额
MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().transferBalance(
TransferBalanceRequest.build(testAccount1.getIdentity(),
testAccount2.getIdentity(),
new BigInteger(transferAmount+""),
params
)
);
asyncTransferBalance
交易转账,异步方式调用。
函数原型
public MychainBase<Response> asyncTransferBalance(TransferBalanceRequest request, ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | TransferBalanceRequest | 交易转账的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBaseResult |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 异步传输余额
MychainBase<Response> result = sdk.getAccountService().asyncTransferBalance(
TransferBalanceRequest.build(testAccount2.getIdentity(),
testAccount1.getIdentity(),
new BigInteger(transferAmount+""),
params),
(txHash, response) -> {
System.out.println("async transfer balance, txHash:"+txHash+", result: "+ response.getErrorCode());
}
);
TransferBalanceRequest
转账所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
fromAcctId | Identity | 转出账户 |
toAcctId | Identity | 转入账户 |
amount | BigInteger | 转账金额 |
mychainParams | MychainParams | 通用参数 |
设置恢复公钥
setRecoverKey
设置恢复公钥,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> setRecoverKey(SetRecoverKeyRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | SetRecoverKeyRequest | 恢复公钥的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBaseResult |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().setRecoverKey(
SetRecoverKeyRequest.build(testAccount1.getIdentity(), newRecoverKey, params));
asyncSetRecoverKey
设置恢复公钥,异步方式调用。
函数原型
public MychainBase<Response> asyncSetRecoverKey(SetRecoverKeyRequest request, ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | SetRecoverKeyRequest | 恢复公钥的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
MychainBase<Response> result = sdk.getAccountService().asyncSetRecoverKey(
SetRecoverKeyRequest.build(testAccount1.getIdentity(), newRecoverKey, params),
new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
System.out.println("async set recover key, txHash:" + txHash + ", result: "
+ response.getErrorCode());
}
});
SetRecoverKeyRequest
重置恢复公钥所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
acctId | Identity | 要设置的账户 ID |
recoverPubKey | String | 新的恢复公钥 |
mychainParams | MychainParams | 通用参数 |
预重置公钥
preResetPubKey
预重置公钥,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> preResetPubKey(PreResetPubKeyRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | PreResetPubKeyRequest | 预重置公钥的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 预重置
MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().preResetPubKey(PreResetPubKeyRequest.build( acctId, params));
asyncPreResetPubKey
预重置公钥,异步方式调用。
函数原型
public MychainBase<Response> asyncPreResetPubKey(PreResetPubKeyRequest request, ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | PreResetPubKeyRequest | 预重置公钥的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
MychainBase<Response> response = sdk.getAccountService().asyncPreResetPubKey(
PreResetPubKeyRequest.build(accId, params), new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
}
});
PreResetPubKeyRequest
预重置公钥所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
acctId | Identity | 要预重置的账户 ID |
mychainParams | MychainParams | 通用参数 |
重置公钥
resetPubKey
重置公钥,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> resetPubKey(ResetPubKeyRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | ResetPubKeyTransaction | 重置公钥的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 重置公钥
MychainBase<Response> response = sdk.getAccountService().resetPubKey(
ResetPubKeyRequest.build(testAccount1.getIdentity(), authMap, params));
asyncResetPubKey
重置公钥,异步方式调用。
函数原型
public MychainBase<Response> asyncResetPubKey(ResetPubKeyRequest request,ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | ResetPubKeyRequest | 重置公钥的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 重置公钥
MychainBase<Response> response = sdk.getAccountService().asyncResetPubKey(
ResetPubKeyRequest.build(testAccount1.getIdentity(), beforeAuthMap, params),
new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
System.out.println("async reset pubkey, txHash:" + txHash + ", result: " + response.getErrorCode());
}
});
ResetPubKeyRequest
重置公钥所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
acctId | Identity | 要重置的账户 ID |
mychainParams | MychainParams | 通用参数 |
更新权重
updateAuthMap
更新权重,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> updateAuthMap(UpdateAuthMapRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | UpdateAuthMapRequest | 更新权重的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 更新认证图
MychainBase<ReplyTransactionReceipt> response = sdk.getAccountService().updateAuthMap(
UpdateAuthMapRequest.build(testAccount1.getIdentity(), beforeAuthMap, params));
asyncUpdateAuthMap
更新权重,异步方式调用。
函数原型
public MychainBase<Response> asyncUpdateAuthMap(UpdateAuthMapRequest request,ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | UpdateAuthMapRequest | 更新权重的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
AuthMap beforeAuthMap = sdk.getQueryService()
.queryAccount(testAccount1.getIdentity().hexStrValue()).getData().getAccount().getAuthMap();
for (Map.Entry<String, Integer> entry : beforeAuthMap.getAuthMap().entrySet()) {
beforeAuthMap.updateAuth(entry.getKey(), entry.getValue() + 10);
}
MychainBase<Response> result = sdk.getAccountService().asyncUpdateAuthMap(
UpdateAuthMapRequest.build(testAccount1.getIdentity(), beforeAuthMap, params),
new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
System.out.println("async update auth map, txHash:" + txHash + ", result: " + response.getErrorCode());
}
});
UpdateAuthMapRequest
更新权重所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
acctId | Identity | 要设置的账户 ID |
authMap | AuthMap | 新的权重 |
mychainParams | MychainParams | 通用参数 |
冻结账户
freezeAccount
冻结账户,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> freezeAccount(FreezeAccountRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | FreezeAccountRequest | 冻结账户的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 冻结账户
MychainBase<ReplyTransactionReceipt> result = sdk.getAccountService().freezeAccount(
FreezeAccountRequest.build(adminAccount.getIdentity(), testAccount1.getIdentity(),
params))
asyncFreezeAccount
冻结账户,异步方式调用。
函数原型
public MychainBase<Response> asyncFreezeAccount(FreezeAccountRequest request,ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | FreezeAccountRequest | 冻结账户的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 异步冻结账户
MychainBase<Response> result = sdk.getAccountService().asyncFreezeAccount(
FreezeAccountRequest.build(adminAccount.getIdentity(), testAccount1.getIdentity(),
params), new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
assertNotNull(txHash);
assertTrue(response.getErrorCode().isSuccess());
}
});
FreezeAccountRequest
冻结账户请求所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
from | Identity | 冻结账户的操作者 ID |
to | Identity | 待冻结的账户 ID |
mychainParams | MychainParams | 通用参数 |
解冻账户
unFreezeAccount
解除冻结账户,同步方式调用。
函数原型
public MychainBase<ReplyTransactionReceipt> unFreezeAccount(UnfreezeAccountRequest request)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | UnfreezeAccountRequest | 解除冻结账户的请求 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result |
|
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 解除冻结账户
MychainBase<ReplyTransactionReceipt> result2 = sdk.getAccountService()
.unFreezeAccount(
UnfreezeAccountRequest.build(adminAccount.getIdentity(),
testAccount1.getIdentity(), params));
asyncUnFreezeAccount
解除冻结账户,异步方式调用。
函数原型
public MychainBase<Response> asyncUnFreezeAccount(UnfreezeAccountRequest request,ICallback callback)
请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | UnfreezeAccountRequest | 解除冻结账户的请求 |
callback | true | ICallback | 回调函数 |
返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | MychainBase |
|
示例
// 准备参数 params
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// 异步解除冻结账户
MychainBase<Response> result2 = sdk.getAccountService().asyncUnFreezeAccount(
UnfreezeAccountRequest.build(adminAccount.getIdentity(), testAccount1.getIdentity(),
params), new ICallback() {
@Override
public void onResponse(String txHash, Response response) {
assertNotNull(txHash);
assertTrue(response.getErrorCode().isSuccess());
}
});
UnfreezeAccountRequest
解冻账户请求所需要的参数:
参数 | 类型 | 说明 |
---|---|---|
from | Identity | 解冻账户的操作者 ID |
to | Identity | 待解冻的账户 ID |
mychainParams | MychainParams | 通用参数 |