Añadir Metadata a una tx

Creamos un archivo json que almacenará los metadatos que queremos registrar en la transacción:

echo '{"user-id": "123456", "event-id": "a124", "option": "b"}' > data-example.json 

Parámetros de transacción

Calculamos el UTXO de entrada tx_in:

cardano-cli shelley query utxo \
    --address $(cat paymentwithstake.addr) \
    --mainnet > fullUtxo.out

tail -n +3 fullUtxo.out | sort -k3 -nr > balance.out

cat balance.out

tx_in=""
total_balance=0
while read -r utxo; do
    in_addr=$(awk '{ print $1 }' <<< "${utxo}")
    idx=$(awk '{ print $2 }' <<< "${utxo}")
    utxo_balance=$(awk '{ print $3 }' <<< "${utxo}")
    total_balance=$((${total_balance}+${utxo_balance}))
    echo TxHash: ${in_addr}#${idx}
    echo ADA: ${utxo_balance}
    tx_in="${tx_in} --tx-in ${in_addr}#${idx}"
done < balance.out
txcnt=$(cat balance.out | wc -l)
echo Total ADA balance: ${total_balance}
echo Number of UTXOs: ${txcnt}

Obtenemos el slot actual:

Creamos el borrador de la transacción con el metadata:

Transacción de prueba

Calculamos la comisión de transacción en base a tx.tmp

Creamos la transacción final añadiendo un archivo data-examle.json:

Firmamos la transacción:

Lanzamos la transacción a la blockchain:

circle-check

Última actualización