emit
Conceptos
Sección titulada «Conceptos»Comportamiento
Sección titulada «Comportamiento»- 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
- Esta función emite el JSON de transacción proporcionado.
- En caso de éxito, devuelve el número de hashes de transacciones emitidas.
- Si hay un error, devuelve un código de error.
Definición
Sección titulada «Definición»int64_t emit ( uint32_t write_ptr, uint32_t write_len, uint32_t read_ptr, uint32_t read_len);function emit( txJson: Record<string, any> | Transaction ): ErrorCode | ByteArrayEjemplo
Sección titulada «Ejemplo»if (emit(tx, tx_len) < 0) rollback("¡Error al emitir!", 15, 1);const emitResult = emit(txJson)if(typeof emitResult === 'number') rollback("¡Error al emitir!", 1)Parámetros
Sección titulada «Parámetros»| Nombre | Tipo | Descripción |
|---|---|---|
| write_ptr | uint32_t | Puntero a un buffer donde se escribirá el hash de la transacción |
| write_len | uint32_t | Tamaño del buffer donde se escribirá el hash (debe ser 32) |
| read_ptr | uint32_t | Puntero a la transacción a emitir |
| read_len | uint32_t | Longitud de la transacción |
| Nombre | Tipo | Descripción |
|---|---|---|
| txJson | Record<string, any> | Transaction | El JSON de la transacción a emitir. |
Código de retorno
Sección titulada «Código de retorno»| Tipo | Descripción |
|---|---|
| int64_t | En 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_reserveTOO_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. |
| Tipo | Descripción |
|---|---|
| ErrorCode | ByteArray | Devuelve un ErrorCode si hay error, o un array de hashes de transacciones emitidas en caso de éxito. |