Tutorial de Gobernanza Multisig
Antecedentes
Sección titulada «Antecedentes»Esta sección se basa en el tutorial de Argumentos en JSON. Si no lo has hecho, por favor completa ese tutorial primero.
Este tutorial también hace referencia al paquete de ejemplo CliArgs
.
Para este ejemplo, Ace y Bee realizarán operaciones de gobernanza desde una cuenta “multisig v2” 2-de-2 (una cuenta multisig en cadena según multisig_account.move
)
Creación de cuenta
Sección titulada «Creación de cuenta»Dado que la cuenta de Ace se creó durante el tutorial Argumentos en JSON, comienza minando una cuenta de dirección vanity para Bee también:
aptos key generate \ --vanity-prefix 0xbee \ --output-file bee.key
Salida
{ "Result": { "PublicKey Path": "bee.key.pub", "PrivateKey Path": "bee.key", "Account Address:": "0xbeec980219d246581cef5166dc6ba5fb1e090c7a7786a5176d111a9029b16ddc" }}
Almacena la dirección de Bee en una variable de shell, para que puedas llamarla inline más tarde:
# Tu dirección exacta variarábee_addr=0xbeec980219d246581cef5166dc6ba5fb1e090c7a7786a5176d111a9029b16ddc
Financia la cuenta de Bee con el faucet:
aptos account fund-with-faucet --account $bee_addr
Crear cuenta multisig
Sección titulada «Crear cuenta multisig»Ahora Ace y Bee pueden crear una cuenta multisig 2-de-2 donde ambos necesitan firmar para ejecutar transacciones:
aptos multisig create \ --additional-owners $bee_addr \ --num-signatures-required 2 \ --private-key-file ace.key \ --assume-yes
Esto creará una nueva cuenta multisig que requiere 2 de 2 firmas para ejecutar transacciones.
Proponer una transacción
Sección titulada «Proponer una transacción»Para proponer una transacción en la cuenta multisig, Ace puede usar:
aptos multisig create-transaction \ --multisig-address $multisig_addr \ --function-id $ace_addr::cli_args::set_vals \ --type-args \ 0x1::account::Account \ 0x1::chain_id::ChainId \ --args \ u8:123 \ "hex:0x1234" \ "string:hello, multisig world!" \ "bool:[true, false, true]" \ 'address:[["0xace", "0xbee"]]' \ --private-key-file ace.key \ --assume-yes
Aprobar y ejecutar transacción
Sección titulada «Aprobar y ejecutar transacción»Una vez propuesta la transacción, Bee puede aprobarla y ejecutarla:
aptos multisig approve \ --multisig-address $multisig_addr \ --sequence-number 1 \ --private-key-file bee.key \ --assume-yes
Luego ejecutar la transacción:
aptos multisig execute \ --multisig-address $multisig_addr \ --sequence-number 1 \ --private-key-file bee.key \ --assume-yes
Beneficios de multisig
Sección titulada «Beneficios de multisig»Las cuentas multisig proporcionan:
- Seguridad mejorada - Requiere múltiples firmas para transacciones importantes
- Gobernanza descentralizada - Permite toma de decisiones distribuida
- Protección contra llaves comprometidas - Una sola llave comprometida no puede ejecutar transacciones
- Transparencia - Todas las propuestas y aprobaciones son visibles en cadena