# AccountDelete [[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteAccount.cpp) AccountDeleteトランザクションは、XRP Ledgerで[アカウント](/ja/docs/references/protocol/ledger-data/ledger-entry-types/accountroot)と、アカウントが所有するオブジェクトを削除し、可能であれば、アカウントの残りのXRPを指定された送金先アカウントに送信します。アカウントを削除する要件については、[アカウントの削除](/ja/docs/concepts/accounts/deleting-accounts)をご覧ください。 *[DeletableAccounts Amendment](/ja/resources/known-amendments#deletableaccounts)が必要です。* ## JSONの例 ```json { "TransactionType": "AccountDelete", "Account": "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm", "Destination": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe", "DestinationTag": 13, "Fee": "5000000", "Sequence": 2470665, "Flags": 2147483648 } ``` ## フィールド [共通フィールド](/ja/docs/references/protocol/transactions/common-fields)に加えて、トランザクションは以下のフィールドを使用します。 | フィールド | JSONの型 | [内部の型](/ja/docs/references/protocol/binary-format) | 必須? | 説明 | | --- | --- | --- | --- | --- | | `CredentialIDs` | 文字列の配列 | Vector256 | いいえ | このトランザクションによる入金を承認する資格情報のセット。配列の各メンバーは、レジャー内のCredentialエントリのレジャーエントリIDでなければなりません。詳細については、[Credential ID](/ja/docs/references/protocol/transactions/types/payment#credential-ids)をご覧ください。 | | `Destination` | 文字列 - [アドレス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9) | AccountID | はい | 送金元アカウントを削除した後の残りのXRPを受け取るアカウントのアドレス。レジャー内の資金供給のあるアカウントでなければならず、送金元アカウントであってはいけません。 | | `DestinationTag` | 数値 | UInt32 | いいえ | 削除されたアカウントの残りのXRPの受取人を識別する任意の[宛先タグ](/ja/docs/concepts/transactions/source-and-destination-tags)、または受取人のその他の情報。 | ## 特別なトランザクションコスト レジャースパム対策として、AccountDeleteトランザクションは通常よりもはるかに高い[トランザクションコスト](/ja/docs/concepts/transactions/transaction-cost)を要求します。標準の最小値である0.00001 XRPの代わりに、AccountDeleteは少なくとも所有者準備金の量、現在は0.2 XRPをバーンする必要があります。これにより、アカウントを削除することで[準備金](/ja/docs/concepts/accounts/reserves)分のXRPを完全に回収できないため、新しいアカウントの過剰な作成を抑制します。 トランザクションコストは、トランザクションが検証済みレジャーに含まれている場合は常に適用されます。アカウントを削除できない場合でも、トランザクションは失敗します。(詳細は、[エラーケース](#%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%B1%E3%83%BC%E3%82%B9)をご覧ください。)アカウントを削除できない場合の高いトランザクションコストを支払う可能性を大幅に減らすには、[トランザクションを送信](/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit)する際に`fail_hard`を有効にしてください。 ## エラーケース すべてのトランザクションで発生する可能性のあるエラーに加えて、トランザクションでは、次の[トランザクション結果コード](/ja/docs/references/protocol/transactions/transaction-results)が発生する可能性があります。 | エラーコード | 説明 | | --- | --- | | `temDISABLED` | [DeletableAccounts Amendment](/resources/known-amendments#deletableaccounts)が有効でない場合に発生します。 | | `temDST_IS_SRC` | `Destination`がトランザクションの送金元(`Account`フィールド)と一致している場合に発生します。 | | `tecDST_TAG_NEEDED` | `Destination`アカウントに[宛先タグ](/ja/docs/concepts/transactions/source-and-destination-tags)が必要であるのに、`DestinationTag`フィールドが指定されていない場合に発生します。 | | `tecNO_DST` | `Destination`アカウントが、レジャーの資金供給のあるアカウントではない場合に発生します。 | | `tecNO_PERMISSION` | `Destination`アカウントに[Deposit Authorization](/ja/docs/concepts/accounts/depositauth)が必要で、送金元が事前に承認されていない場合に発生します。 | | `tecTOO_SOON` | 送金元の`Sequence`番号が大きすぎる場合に発生します。トランザクションの`Sequence`番号に256を加えた値が、現行の[レジャーインデックス](/ja/docs/references/protocol/data-types/basic-data-types#%E3%83%AC%E3%82%B8%E3%83%A3%E3%83%BC%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9)より小さい値でなければなりません。 | | `tecHAS_OBLIGATIONS` | 削除するアカウントが、レジャーの削除できないオブジェクトに接続されている場合に発生します。([escrow](/ja/docs/concepts/payment-types/escrow)など、他のアカウントによって作成されたオブジェクトが含まれます。) | | `tefTOO_BIG` | 送金元アカウントが、レジャーの1,000個を超えるオブジェクトにリンクされている場合に発生します。これらのオブジェクトの一部が先行して個別に削除された場合、トランザクションは再試行で成功する可能性があります。 |