馃嚜馃嚫 Instrucciones para un Pool con Multi-Propietarios

:cuba: :es: Traducci贸n de multiowner-pool-instructions publicado por el operador de Stake Pool ANGEL

Instrucciones (Flujo de Trabajo) para configurar un pool con multi-propietarios (desde 0), teniendo los fondos asegurados en un dispositivos hardware.

angel

Ambos usuarios usan billeteras hardware para asegurar el Pledge.

Requerimientos

Ambos propietarios necesitar谩n instalar cardano-hw-cli en el escritorio con las billeteras hardware conectadas.

Paso 1: Crear las llaves y direcciones

Generar las llaves de pago y las llaves de stake, derivar las direcciones correspondientes y enviar fondos con al menos 503 ADA para el dep贸sito del pool.

cardano-cli address key-gen ...
cardano-cli stake-address key-gen ...
cardano-cli address build ...
cardano-cli stake-address build ...

Paso 2: Crear llaves y certificados de entorno fr铆o, as铆 como llaves vrf y kes de entorno caliente

cardano-cli node key-gen ...
cardano-cli node key-gen-VRF ...
cardano-cli node issue-op-cert 鈥

Paso 3: Registrar direcci贸n de stake en la blockchain.

cardano-cli stake-address registration-certificate 鈥

Paso 4: Registrar certificado de delegaci贸n y pool de un solo propietario

Pool de un solo propietario (1era iteraci贸n)

cardano-cli stake-pool registration-certificate \
  --cold-verification-key-file node-cold.vkey \
  --vrf-verification-key-file vrf.vkey \
  --pool-pledge 0 \
  --pool-cost 340000000 \
  --pool-margin <comisi贸n variable, ejemplo- 0.011 para 1.1%> \
  --pool-reward-account-verification-key-file cli-stake-rewards.vkey \
  --pool-owner-stake-verification-key-file cli-stake-rewards.vkey \
  --mainnet \
  --single-host-pool-relay <IP del relay p煤blico> --pool-relay-port <puerto> \
  --metadata-url <dominio>/nombre_del_pool.json \
  --metadata-hash <hash de metadatos> \
  --out-file pool.cert

Crear certificado de delegaci贸n

cardano-cli stake-address delegation-certificate \
  --staking-verification-key-file cli-stake-rewards.vkey \
  --stake-pool-verification-key-file node-cold.vkey \
  --out-file delegation.cert

Construir transacci贸n incluyendo

 --certificate-file pool.cert \
 --certificate-file delegation.cert \

Firmar con las siguientes llaves privadas

 --signing-key-file cli-payment.skey \
 --signing-key-file cli-stake-rewards.skey \
 --signing-key-file node-cold.skey \

Enviarlo a la blockchain

cardano-cli shelley transaction submit

Paso 5: Delegar las billeteras hardware en el pool usando Daedalus o Yoroi.

Tanto el propietario como el copropietario deben delegar en el pool usando la delegaci贸n interactiva disponible tanto en Daedalus como Yoroi (~2.18 ADA)

Paso 6: Exportar las llaves p煤blicas de las billeteras hardware.

Propietario

cardano-hw-cli shelley address key-gen
  --path 1852H/1815H/0H/2/0
  --verification-key-file hw-stake1.vkey
  --hw-signing-file stake1.hwsfile
cardano-hw-cli shelley address key-gen
  --path 1852H/1815H/0H/0/0
  --verification-key-file hw-payment1.vkey
  --hw-signing-file payment1.hwsfile

Copropietario:

cardano-hw-cli shelley address key-gen
  --path 1852H/1815H/0H/2/0
  --verification-key-file hw-stake2.vkey
  --hw-signing-file stake2.hwsfile
cardano-hw-cli shelley address key-gen
  --path 1852H/1815H/0H/0/0 
  --verification-key-file hw-payment2.vkey 
  --hw-signing-file payment2.hwsfile

Paso 7: Registrar certificado del pool con multi propietarios

Obt茅n la llave hw-stake2.vkey del copropietario

Crea otro certificado para el pool usando las llaves p煤blicas de los propietarios (hw-stake1.vkey & hw-stake2.vkey), y se debe especificar cli-stake-rewards para las recompensas. Las recompensas deben ser distribuidas manualmente luego de cada epoch.

cardano-cli stake-pool registration-certificate \
  --cold-verification-key-file node-cold.vkey \
  --vrf-verification-key-file vrf.vkey \
  --pool-pledge <pledge acordado> \
  --pool-cost <comisi贸n fija> \
  --pool-margin <comisi贸n variable, ejemplo- 0.011 para 1.1%> \
  --pool-reward-account-verification-key-file cli-stake-rewards.vkey \
  --pool-owner-stake-verification-key-file hw-stake1.vkey \
  --pool-owner-stake-verification-key-file hw-stake2.vkey \
  --mainnet \
  --single-host-pool-relay <IP p煤blica del relay> --pool-relay-port <puerto> \
  --metadata-url <dominio>/nombre_del_pool.json \
  --metadata-hash <hash de metadatos> \
  --out-file pool.cert

Crea la transacci贸n tx-pool.raw que incluye el certificado de este pool.

--certificate-file pool.cert

Se requieren 4 testigos

  • node-cold.vkey
  • hw-stake1.vkey
  • hw-stake2.vkey
  • cli-payment (que se usa para pagar la comisi贸n de la trx y los 500 ADA de dep贸sito)

Desde un servidor sin conexi贸n:

Nodo fr铆o

cardano-cli transaction witness \
  --tx-body-file tx-pool.raw \
  --signing-key-file node-cold.skey \
  --mainnet \
  --out-file node-cold.witness

Pago

cardano-cli transaction witness \
  --tx-body-file tx-pool.raw \
  --signing-key-file cli-payment.skey \
  --mainnet \
  --out-file cli-payment.witness

A continuaci贸n necesitamos copiar el archivo tx-pool.raw hacia el escritorio

Primero creamos un testigo usando la llave hw-stake1.vkey en el escritorio (donde est谩 conectado el ledger)

Llave hw-stake1

cardano-hw-cli shelley transaction witness
  --tx-body-file tx-pool.raw
  --hw-signing-file stake1.hwsfile
  --mainnet
  --out-file hw-stake1.witness

Luego enviamos el archivo tx-pool.raw hacia el copropietario, el cual crear谩 un testigo:

Llave hw-stake2 del copropietario

cardano-hw-cli shelley transaction witness
  --tx-body-file tx-pool.raw
  --hw-signing-file stake2.hwsfile
  --mainnet
  --out-file hw-stake2.witness

A continuaci贸n el copropietario env铆a de regreso el archivo hw-stake2.witness, el cual ser谩 usado para armar los testigos y enviar la transacci贸n multi-firma, as铆:

cardano-cli transaction assemble \
  --tx-body-file tx-pool.raw \
  --witness-file node-cold.witness \
  --witness-file cli-payment.witness \
  --witness-file hw-stake1.witness \
  --witness-file hw-stake2.witness \
  --out-file tx-pool.multisign 

Finalmente env铆as el archivo tx-pool.multisign desde un nodo caliente

cardano-cli shelley transaction submit

鈥 y hecho !!! :+1: