TL;DR: we're planning to remove transaction meta from the SDF-hosted Horizon API (
) in Q2 2024.
Are you using Transaction Metas from the SDF Horizon API for Soroban transactions?
If so, please let us know here or on the
Stellar Dev Discord thread as soon as possible, and share any details you can. We’d love to work with you on making this a smooth transition.
ContextTransaction metas (
https://developers.stellar.org/api/horizon/resources/transactions/object) are a low level journal of changes in Stellar transactions. Horizon has exposed these as part of the transaction resource since its inception in 2015. With the introduction of Soroban, these metas can grow quite significantly in size. For operators who maintain Horizon with a non-trivial retention window, this could be a significant operation burden.
Soon, new configuration flags will be introduced into Horizon. They will allow Horizon operators to disable ingestion of transaction meta and the result_meta_xdr field in responses for the transactions API endpoint. The default settings will preserve existing behavior and will default to enabled. Operators of Horizon can use the flags to disable the field in the API, and disable ingestion of the transaction meta into the database, keeping resource usage lower.
And at some point in Q2 2024, we plan to use those flags to disable tx meta for the SDF public Horizon instance.
Instead of using Horizon to access Transaction Meta, developers can access it with the Soroban RPC (
https://soroban.stellar.org/api/methods/getTransaction) or Stellar Core, with additional functionalities to iterate over this meta planned to be made available in an upcoming Soroban RPC release.
Notes:
Soroban RPC (
https://soroban.stellar.org/api/methods/getTransaction) will continue to serve transaction metas for transactions within its retention window.
Operators running their own horizon can choose to retain ingestion metas, but should bear in mind that we expect the operational burden to be high.