このトピックでは、主にアカウント操作に関連するインターフェイスパラメーターについて説明します。
アカウントの作成
createAccount
この同期操作を呼び出して、アカウントを作成できます。
public MychainBase<ReplyTransactionReceipt> createAccount(CreateAccountRequest request)
| 名前 |
必須 |
タイプ |
説明 |
| request |
true |
CreateAccountRequest |
アカウント作成リクエスト。 |
| レスポンスフィールド |
フィールドタイプ |
説明 |
| result |
MychainBase< ReplyTransactionReceipt> |
MychainBaseResult には response タイプが含まれています。 |
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 |
MychainBaseResult には response タイプが含まれています。 |
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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// params をビルドする
MychainParams params = new MychainParams.Builder()
.gas(BigInteger.valueOf(40000))
.privateKeyList(adminPrivateKeys)
.build();
// authmap を更新する
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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBase<ReplyTransactionReceipt> |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
MychainBaseResult には response タイプが含まれています。 |
// 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 |
共通パラメーター |