Comment on page
Retirar un pool
Procedimiento para retirar un pool. Se recomienda dar al menos un par de epochs para que los delegadores tengan tiempo de buscar otro pool donde delegar su stake.
Es muy recomendado que toda operación que implique acceso a las cold keys, payment.addr o stake.addr se realicen en una maquina sin acceso a internet a fin de minimizar posibilidades de exponer info sensitiva de nuestro pool y/o fondos a terceros mal intencionados. Luego se copian los archivos firmados al BP o un relay online y desde ahí se les agrega a la blockchain.
Para esto necesitamos crear un certificado de des-registro y someter la transacción. El retiro del pool se hará al final del epoch que indiquemos en nuestro certificado. El mismo debe ser un epoch mayor al actual y menor que
eMax
, cuyo valor podemos consultar en el protocol.json
.cd ~/cardano-node
cardano-cli query protocol-parameters \
--mainnet \
--out-file out/protocol.json
cat out/protocol.json | jq .eMax
Necesitamos consultar también el epoch actual, una forma simple y rápida es consultar las métricas de cardano-node.
curl -s http://127.0.0.1:12798/metrics | grep epoch
Para este ejemplo tenemos que
eMax
es igual a 18 y el epoch actual es 200, es decir que nuestro epoch para retirar el pool debe estar comprendido entre 201 y 218.Generamos un certificado indicando el epoch en que retiraremos el pool
cardano-cli stake-pool deregistration-certificate \
--cold-verification-key-file pool-keys/cold.vkey \
--epoch 210 \
--out-file out/pool.deregistration
Consultamos nuestros UTXO y tip. Luego generamos nuestro borrador.
cardano-cli query utxo \
--address $(cat payment.addr) \
--mainnet
cardano-cli query tip --mainnet | jq .slotNo
cardano-cli transaction build-raw \
--tx-in 4fec1c3bcd8752befae60ca69f....28cb28319cba44115281f925add#0 \
--tx-out $(cat payment.addr)+0 \
--ttl 0 \
--fee 0 \
--out-file tmp/tx.draft \
--certificate-file out/pool.deregistration
Aplicamos la fórmula
Saldo_UTXO - fee
. Para el --ttl
podemos usar un valor seguro como tip + 2000
.cardano-cli transaction calculate-min-fee \
--tx-body-file tmp/tx.draft \
--tx-in-count 1 \
--tx-out-count 1 \
--witness-count 1 \
--byron-witness-count 0 \
--mainnet \
--protocol-params-file out/protocol.json
expr 1000000 - 173567
Ahora si generamos nuestra transacción con los valores obtenidos, la firmamos y sometemos a la blockchain
cardano-cli transaction build-raw \
--tx-in 4fec1c3bcd8752befae60ca69f6042......8319cba44115281f925add#0 \
--tx-out $(cat payment.addr)+826433\
--ttl 5027980 \
--fee 826433 \
--out-file tmp/tx.raw \
--certificate-file out/pool.deregistration
cardano-cli transaction sign \
--tx-body-file tmp/tx.raw \
--signing-key-file payment.skey \
--signing-key-file pool-keys/cold.skey \
--mainnet \
--out-file tmp/tx.signed
cardano-cli transaction submit \
--tx-file tmp/tx.signed \
--mainnet
Se debe tener en cuenta ademas que luego de retirar el pool se deben esperar 2 epochs para recibir el depósito de 500 ADA en nuestro
stake.addr
.Última actualización 2yr ago