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.
//Create the transactionContractDeleteTransaction transaction =newContractDeleteTransaction().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 network
TransactionResponse 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 transactionconsttransaction=awaitnewContractDeleteTransaction().setContractId(contractId).freezeWith(client);//Sign with the admin key on the contractconstsignTx=awaittransaction.sign(adminKey)//Sign the transaction with the client operator's private key and submit to a Hedera networkconsttxResponse=awaitsignTx.execute(client);//Get the receipt of the transactionconstreceipt=awaittxResponse.getReceipt(client);//Get the transaction consensus statusconsttransactionStatus=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