メインコンテンツまでスキップ

認証キーのローテーション

Aptos Moveアカウントには、公開アドレス、認証キー、公開鍵、秘密鍵があります。公開アドレスは永久であり、常にアカウントの初期認証キーと一致します。

Aptosアカウントモデルは独自の機能を促進し、アカウントの秘密鍵をローテーションします。カウントのアドレスは 初期 認証キーであるため、アカウントに署名する機能は、公開アドレスを変更せずに別の秘密鍵へ転送できます。

このガイドでは、様々なAptos SDKを少し使用してアカウントの認証キーをローテーションする方法の例を示します。

SDKのインストールリンクは以下の例でカバーしています。

警告

以下の例の一部では秘密鍵を使用しています。秘密鍵は誰とも共有しないでください。

アカウントの認証キーをローテーションする方法

以下を実行して、2つのテストプロファイルを初期化します。秘密鍵の入力を求められた場合は、どちらの場合も入力を空白のままにしておきます。

devnetで2つのテストプロファイルを初期化する
aptos init --profile test_profile_1 --network devnet --assume-yes
aptos init --profile test_profile_2 --network devnet --assume-yes
test_profile_1の認証キーを test_profile_2の認証キーへローテーションします。
aptos account rotate-key --profile test_profile_1 --new-private-key <TEST_PROFILE_2_PRIVATE_KEY>
プロファイルの秘密鍵はどこで確認できますか?

構成がGlobal<local_directory>/.aptos/config.yamlに設定されていて、それがWorkspaceへ設定されている場合、Aptos CLIプロファイルの公開鍵、秘密鍵、認証キーは、~/.aptos/config.yamlへ保存されます。

構成設定を確認するには、aptos config show-global-configを実行します。

 
ガス単価100オクタで[52000 - 78000]オクタの範囲でトランザクションを送信しますか?[はい/いいえ] >
はい
...

新しいキーのプロファイルを作成しますか?[はい/いいえ] >
はい
...

プロファイルの名前を入力します
test_profile_1_rotated

プロファイル test_profile_1_rotated が保存されました.

これで、他のアカウントと同じ様にプロファイルを使用出来ます。

config.yamlファイルでは、 test_profile_1_rotatedは元の公開アドレスを保持しますが、test_profile_2と一致する新しい公開鍵と秘密鍵を持ちます。

認証キーはconfig.yamlファイルには表示されませんが、以下のコマンドで変更を確認できます。

認証キーがビュー関数と同様となった事を確認します。
# View the authentication key of `test_profile_1_rotated`
aptos move view --function-id 0x1::account::get_authentication_key --args address:test_profile_1_rotated

# View the authentication key of `test_profile_2`, it should equal the above.
aptos move view --function-id 0x1::account::get_authentication_key --args address:test_profile_2
前の2つのコマンドの出力例
{
"Result": [
"0x458fba533b84717c91897cab05047c1dd7ac2ea73e75c77281781f5b7fec180c"
]
}
{
"Result": [
"0x458fba533b84717c91897cab05047c1dd7ac2ea73e75c77281781f5b7fec180c"
]
}