Saltearse al contenido

emit

Transacciones emitidas
  • Lee una transacción desde read_ptr
  • Valida la transacción según las reglas de emisión
  • Emite la transacción al consenso si es válida
  • Escribe el hash canónico de la transacción en write_ptr
int64_t emit (
uint32_t write_ptr,
uint32_t write_len,
uint32_t read_ptr,
uint32_t read_len
);
if (emit(tx, tx_len) < 0)
rollback("¡Error al emitir!", 15, 1);
NombreTipoDescripción
write_ptruint32_tPuntero a un buffer donde se escribirá el hash de la transacción
write_lenuint32_tTamaño del buffer donde se escribirá el hash (debe ser 32)
read_ptruint32_tPuntero a la transacción a emitir
read_lenuint32_tLongitud de la transacción
TipoDescripción
int64_tEn caso de éxito, el número de bytes del hash de la transacción escritos (32), o:

Si es negativo, un error:
OUT_OF_BOUNDS
- punteros/longitudes fuera de la memoria del hook.

PREREQUISITE_NOT_MET
- se debe llamar antes a emit_reserve

TOO_MANY_EMITTED_TXN
- se han emitido más transacciones de las prometidas

EMISSION_FAILURE
- la transacción es inválida según las reglas de emisión.