A transaction that updates the properties of an existing topic. This includes the topic memo, admin key, submit key, auto-renew account, and auto rauto-renewenew period.
Topic Properties
Transaction Signing Requirements
If an admin key is updated, the transaction must be signed by the pre-update admin key and post-update admin key.
If the admin key was set during the creation of the topic, the admin key must sign the transaction to update any of the topic's properties
If no adminKey was defined during the creation of the topic, you can only extend the expirationTime.
Transaction Fees
Please see the transaction and query fees table for the base transaction fee
//Create a transaction to add a submit keyTopicUpdateTransaction transaction =newTopicUpdateTransaction().setTopicId(topicId).setSubmitKey(submitKey);//Sign the transaction with the admin key to authorize the updateTopicUpdateTransaction signTx =transaction.freezeWith(client).sign(adminKey);//Sign the transaction with the client operator, submit to a Hedera network, get the transaction IDTransactionResponse txResponse =signTx.execute(client);//Request 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 a transaction to add a submit keyconsttransaction=awaitnewTopicUpdateTransaction().setTopicId(topicId).setSubmitKey(submitKey).freezeWith(client);//Sign the transaction with the admin key to authorize the updateconstsignTx=awaittransaction.sign(adminKey);//Sign with the client operator private key and submit to a Hedera networkconsttxResponse=awaitsignTx.execute(client);//Request 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.0
//Create the transactiontransaction :=hedera.NewTopicUpdateTransaction().SetTopicId(topicId).SetTopicMemo("new memo")//Sign with the client operator private key and submit the transaction to a Hedera networktxResponse, err :=transaction.FreezeWith(client).Sign(adminkey)Execute(client)if err != nil {panic(err)}//Request 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 is %v\n", transactionStatus)//v2.0.0
Get transaction values
//Create a transaction to add a submit keyTopicUpdateTransaction transaction =newTopicUpdateTransaction().setSubmitKey(submitKey);//Get submit keytransaction.getSubmitKey()//v2.0.0
//Create a transaction to add a submit keyconsttransaction=newTopicUpdateTransaction().setSubmitKey(submitKey);//Get submit keytransaction.getSubmitKey()//v2.0.0
//Create the transactiontransaction :=hedera.NewTopicUpdateTransaction()SetSubmitKey()transaction :=transaction.GetSubmitKey()//v2.0.0
Set a new admin key that authorizes update topic and delete topic transactions.
Submit Key
Set a new submit key for a topic that authorizes sending messages to this topic.
Topic Memo
Set a new short publicly visible memo on the new topic and is stored with the topic. (100 bytes)
Auto Renew Account
Set a new auto-renew account ID for this topic. Currently, rent is not enforced for topics so auto-renew payments will not be made.
Auto Renew Period
Set a new auto-renew period for this topic. Currently, rent is not enforced for topics so auto-renew payments will not be made.
NOTE: The minimum period of time is approximately 30 days (2592000 seconds) and the maximum period of time is approximately 92 days (8000001 seconds). Any other value outside of this range will return the following error: AUTORENEW_DURATION_NOT_IN_RANGE.