Aprende c贸mo generar constructores de transacciones para el lenguaje de programaci贸n de tu SDK objetivo.
La biblioteca catbuffer define el protocolo para serializar y deserializar entidades de Bitxor. La biblioteca viene con generadores de c贸digo para diferentes lenguajes. Los SDK y aplicaciones utilizan el c贸digo generado para interactuar con el punto final de transacciones REST.
La biblioteca logra las siguientes propiedades:
Eficiencia de memoria
Large networks compute a large number of transactions. Working with binary optimized in size makes the communication faster. Furthermore, reading entities from memory buffers鈥攐r just a part of them鈥攊s memory efficient.
Flexibilidad
Los puntos finales de transacciones REST transaction endpoints manejan las llamadas para actualizar el estado de la cadena de bloques. La carga 煤til serializada de una transacci贸n se adjunta al cuerpo de la llamada POST. Estos puntos finales permiten agregar nuevas funcionalidades al lado del cliente sin modificar el contrato de la API.
Reutilizaci贸n
Las aplicaciones pueden incrustar el c贸digo generado sin administrar dependencias, lo cual es especialmente deseable en entornos altamente seguros. Adem谩s, compartir una base de c贸digo com煤n permite agregar nuevas caracter铆sticas con menos esfuerzo.
Los esquemas definen la estructura de datos de las entidades. La biblioteca genera el c贸digo m谩s optimizado necesario para serializar y deserializar las entidades definidas.
Clona el repositorio catbuffer-generators
.
git clone https://github.com/bitxorcorp/catbuffer-generators
Instala los requisitos del paquete.
pip install -r requirements.txt
Clona el repositorio catbuffer-schemas
dentro de la carpeta catbuffer-generators
.
git clone https://github.com/bitxorcorp/bitxor/tree/main/catbuffer/schemas
Dentro de la carpeta catbuffer-schemas
del repositorio catbuffer, puedes encontrar la estructura de datos de las entidades. Con la ayuda de un generador de c贸digo, puedes producir el c贸digo m谩s optimizado necesario para serializar y deserializar esas entidades.
Por ejemplo, ejecuta el siguiente comando para generar constructores de transacciones en C++ para una TransferTransaction:
python main.py --schema bitxor/transfer/transfer.cats --generator cpp_builder
Tambi茅n puedes generar c贸digo para todos los esquemas ejecutando el siguiente comando en el directorio catbuffer-generators
:
python ../scripts/generate_all.sh cpp_builder
El generador crea un nuevo archivo para cada esquema en la carpeta catbuffer/_generated/cpp_builder
.