Skip to content

Latest commit

 

History

History
102 lines (77 loc) · 3.26 KB

delete-a-schedule-transaction.md

File metadata and controls

102 lines (77 loc) · 3.26 KB

Delete a scheduled transaction

A transaction that deletes a scheduled transaction from the network. You can delete a scheduled transaction if only the admin key was set during the creation of the scheduled transaction. If an admin key was not set, the attempted deletion will result in "SCHEDULE_IS_IMMUTABLE" response from the network. Once the scheduled transaction is deleted, the scheduled transaction will be marked as deleted with the consensus timestamp the scheduled transaction was deleted at.

Transaction Signing Requirements

  • The admin key of the scheduled transaction

Transaction Properties

Field Description
Schedule ID The ID of the scheduled transaction
Constructor Description
new ScheduleDeleteTransaction() Initializes the ScheduleDeleteTransaction object
new ScheduleDeleteTransaction()

Methods

Method Type Requirement
setScheduleId(<scheduleId>) ScheduleId Required
getScheduleId() ScheduleId Optional

{% tabs %} {% tab title="Java" %}

//Create the transaction and sign with the admin key
ScheduleDeleteTransaction transaction = new ScheduleDeleteTransaction()
     .setScheduleId(scheduleId)
     .freezeWith(client)
     .sign(adminKey);

//Sign with the operator key and submit to a Hedera network
TransactionResponse txResponse = transaction.execute(client);

//Get the transaction receipt
TransactionReceipt receipt = txResponse.getReceipt(client);

//Get the transaction status
Status transactionStatus = receipt.status;
System.out.println("The transaction consensus status is " +transactionStatus);

{% endtab %}

{% tab title="JavaScript" %}

//Create the transaction and sign with the admin key
const transaction = await new ScheduleDeleteTransaction()
     .setScheduleId(scheduleId)
     .freezeWith(client)
     .sign(adminKey);

//Sign with the operator key and submit to a Hedera network
const txResponse = await transaction.execute(client);

//Get the transaction receipt
const receipt = await txResponse.getReceipt(client);

//Get the transaction status
const transactionStatus = receipt.status;
console.log("The transaction consensus status is " +transactionStatus);

{% endtab %}

{% tab title="Go" %}

//Create the transaction and freeze the unsigned transaction
transaction, err := hedera.NewScheduleDeleteTransaction()
            SetScheduleID(scheduleId).
            FreezeWith(client)

if err != nil {
    panic(err)
}

//Sign with the admin key, sign with the client operator private key and submit the transaction to a Hedera network
txResponse, err := transaction.Sign(adminKey).Execute(client)

if err != nil {
    panic(err)
}

//Request the receipt of the transaction
receipt, err := txResponse.GetReceipt(client)

if err != nil {
    panic(err)
}

//Get the transaction consensus status
status:= *receipt.Status

fmt.Printf("The transaction consensus status is %v\n", status)

{% endtab %} {% endtabs %}