Migrar de Horizon a RPC
Las aplicaciones que utilizan la API REST-like de Horizon necesitarán ser actualizadas para usar la API JSON-RPC de RPC al migrar de Horizon a RPC. Esta guía proporciona una visión general de las principales diferencias entre las dos APIs y cómo migrar tu aplicación.
Formato de Solicitud / Respuesta
La API REST-like de Horizon utiliza métodos HTTP y códigos de estado para comunicarse con los clientes. Las respuestas son JSON en el formato HAL. Consulta el Formato de Respuesta de Horizon.
La API JSON-RPC de RPC utiliza JSON-RPC 2.0 para comunicarse con los clientes. Las solicitudes a la API son objetos JSON que contienen una o más invocaciones de métodos. Las respuestas también son objetos JSON que contienen un resultado para cada invocación en la solicitud. Consulta JSON-RPC.
Ambos formatos utilizan JSON para la estructura general, que es relativamente simple y no requiere ningún código especial del cliente, aunque hay SDKs de cliente disponibles. Algunos valores contenidos dentro están codificados en XDR y se pueden decodificar utilizando SDKs de Stellar.
Mapeo de Puntos Finales
Las aplicaciones que utilizan los siguientes puntos finales de Horizon pueden típicamente migrar directamente a RPC usando los métodos referenciados.
Los puntos finales sin mapeos no tienen un reemplazo directo en la API de RPC. Para crear una funcionalidad similar en una aplicación, echa un vistazo a otros productos de Data.
El método getTransactions
puede utilizarse para recuperar eventos agrupados por transacción. Los eventos están contenidos en el meta XDR de la transacción (campo resultMetaXdr
).
El método getEvents
no es un reemplazo directo para los puntos finales de Horizon.
El método devuelve un flujo de eventos que en el protocolo actual solo incluye eventos de contratos. En un futuro cercano como resultado de CAP-67, este método se ampliará para incluir eventos de operaciones no contractuales.
Mientras tanto, el método getTransactions
puede utilizarse para recuperar el meta XDR de las transacciones que contienen operaciones no contractuales para determinar qué movimientos de valor han ocurrido. El meta XDR también contiene eventos de contratos.