A transaction that deletes a smart contract from a Hedera network. Once a smart contract is marked deleted, you will not be able to modify any of the contract's properties. **** If a smart contract did not have an admin key defined, you cannot delete the smart contract. You can verify the smart contract was deleted by submitting a smart contract info query to the network. If a smart contract has an associated hbar balance, you will need to transfer the balance to another Hedera account.
Transaction Signing Requirements
If the admin key was defined for the smart contract it is required to sign the transaction.
The client operator's (fee payer account) private key is required to sign the transaction.
Transaction Fees
Please use the Hedera fee estimator to estimate your transaction fee cost
Methods
Method | Type | Description | Requirement |
---|---|---|---|
| Sets the contract ID (x.z.y) which should be deleted. | Required | |
| Sets the account ID (x.z.y) which will receive all remaining hbars | Optional | |
| Sets the contract ID (x.z.y) which will receive all remaining hbars. | Optional |
//Create the transactionContractDeleteTransaction transaction = new ContractDeleteTransaction() .setContractId(contractId);//Freeze the transaction for signing, sign with the admin key on the contract, sign with the client operator private key and submit to a Hedera networkTransactionResponse txResponse = transaction.freezeWith(client).sign(adminKey).execute(client);//Get the receipt of the transactionTransactionReceipt receipt = txResponse.getReceipt(client);//Get the transaction consensus statusStatus transactionStatus = receipt.status;System.out.println("The transaction consensus status is " +transactionStatus);//v2.0.0
//Create the transactionconst transaction = await new ContractDeleteTransaction() .setContractId(contractId) .freezeWith(client);//Sign with the admin key on the contractconst signTx = await transaction.sign(adminKey)//Sign the transaction with the client operator's private key and submit to a Hedera networkconst txResponse = await signTx.execute(client);//Get the receipt of the transactionconst receipt = await txResponse.getReceipt(client);//Get the transaction consensus statusconst transactionStatus = receipt.status;console.log("The transaction consensus status is " +transactionStatus);//v2.0.5
//Create and freeze the transactiontransaction := hedera.NewContractDeleteTransaction(). SetContractID(contractID) FreezeWith(client)//Sign with the admin key on the contract, sign with the client operator private key and submit to a Hedera networktxResponse. err := transaction.Sign(adminKey).Execute(client)if err != nil {panic(err)}//Get the receipt of the transactionreceipt, err := txResponse.GetReceipt(client)if err != nil {panic(err)}//Get the transaction consensus statustransactionStatus := receipt.Statusfmt.Printf("The transaction consensus status %v\n", transactionStatus)//v2.0.0
Last updated