.gold. Estos archivos hacen que los movimientos financieros sean más accesibles y estén alineados con la lógica contable.
¿Por qué usar Gold?
- Proporciona un formato claro y estructurado para transferencias de activos.
- Define fuentes, destinos y cantidades de manera explícita.
- Admite lógica de transacción avanzada, como distribuir saldos basados en porcentajes o cantidades restantes.
- Mejora la automatización y consistencia en los flujos de trabajo financieros.
Estructura de un archivo .gold
Un archivo
.gold representa una transacción usando una estructura jerárquica. Aquí hay un ejemplo:
Jerarquía del DSL
A continuación se muestra la estructura jerárquica de un archivo
.gold, ilustrando las relaciones clave:
Comprensión de las palabras clave del DSL
transaction
Abre un nuevo bloque de transacción, donde se definen todos los elementos relacionados.send
Especifica el activo y la cantidad a transferir, incluyendo las cuentas de origen de las cuales se debitarán los fondos. Se pueden agrupar múltiples cuentasfrom usando source.
Formato: send {asset_code} {value}
distribute
Define las cuentas de destino donde se acreditarán los fondos. Se pueden incluir múltiples cuentasto dentro de distribute.
Notaciones de valor en transacciones
El DSL gold admite diferentes formas de expresar valores dentro de una transacción::amount– Notación estándar que especifica el activo, cantidad y escala.:share– Especifica un porcentaje de la cantidad totalsend.:remaining– Asigna el saldo restante después de todas las demás distribuciones.
Ejemplo: Flujo de transacción Pix Out
Este ejemplo demuestra una transacción Pix Out en formato
.gold:
Desglose:
- (transaction v1) – Define una nueva transacción usando la versión 1.
- (Transaction route ID) – Categoriza la transacción.
- (metadata …) – Almacena datos adicionales de la transacción.
- (send BRL fee|2) – Especifica la cantidad total enviada.
- (source …) – Detalla las cuentas de origen de las cuales se debita la cantidad.
- (distribute …) – Asigna los fondos a las cuentas apropiadas.
- (distribute :remaining …) – Asegura que cualquier saldo restante sea manejado.

