XDR-JSON
El esquema XDR-JSON está definido por la biblioteca stellar-xdr y proporciona un método reversible para convertir valores Stellar XDR a JSON y convertir ese JSON de vuelta al XDR idéntico.
La conversión con el esquema también está disponible en las siguientes herramientas y bibliotecas.
El esquema JSON para el formato XDR-JSON se puede encontrar usando el comando stellar xdr types schema
.
Herramientas
Bibliotecas
- biblioteca rust stellar-xdr
- paquete npm @stellar/stellar-xdr-json
- paquete go github.com/stellar/go-stellar-xdr-json
Características clave del esquema de conversión JSON y XDR
-
Convertible sin pérdida: El formato JSON permite convertir de XDR a JSON y volver a XDR sin pérdida de información.
-
Autodescriptivo: El formato JSON describe el interior del tipo pero no identifica el tipo que está codificado. Esto es similar a XDR, que tampoco identifica el tipo codificado.
-
Enteros de 64 bits: El formato JSON incluye enteros de hasta 64 bits de tamaño. Los entornos de ejecución JavaScript no admiten enteros de 64 bits, por lo que debe usarse un decodificador personalizado, como lossless-json.
-
Cadenas ASCII escapadas: El formato JSON incluye cadenas que son seguras en UTF-8, cadenas ASCII escapadas. Esto se debe a que las cadenas XDR no están codificadas en UTF-8, sino que son flujos de bytes que pueden contener cualquier valor. Los caracteres no ASCII están escapados.
El esquema definido (enlazado arriba) no es compatible con versiones anteriores entre una versión de protocolo dada y versiones previas. La práctica recomendada es almacenar los datos del ledger requeridos en formato XDR, no en formato JSON.