XDR-JSON
El esquema XDR-JSON está definido por el stellar-xdr crate y proporciona un medio reversible para convertir valores Stellar XDR a JSON y convertir ese JSON de vuelta a XDR idéntico.
La conversión con el esquema también es expuesta por las siguientes herramientas y bibliotecas.
El JSON-Schema para el formato XDR-JSON se puede encontrar usando el comando [stellar xdr types schema
].
Herramientas
Bibliotecas
- stellar-xdr crate de Rust
- @stellar/stellar-xdr-json paquete npm
- github.com/stellar/go-stellar-xdr-json paquete go
Características clave del esquema de conversión JSON y XDR
-
Reversible: El formato JSON permite convertir de XDR a JSON y de vuelta a XDR sin pérdida de información.
-
Auto-descriptivo: El formato JSON describe los internos 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 de JavaScript no admiten enteros de 64 bits, así que se debe usar un decodificador personalizado, como lossless-json.
-
Cadenas ASCII escapadas: El formato JSON incluye cadenas que son seguras para 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 hacia atrás entre una versión de protocolo dada y versiones anteriores. La práctica recomendada es almacenar los datos de ledger requeridos en formato XDR, no en formato JSON.