SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
10.12.2024

Lição 286: Usando o Gnosis Safe para Multisig

Nesta lição, exploraremos como usar o Gnosis Safe, uma carteira multisignature popular para gerenciar ativos digitais de forma segura. O Multisig, ou múltiplas assinaturas, requer várias assinaturas para transações, garantindo que nenhuma única pessoa possa controlar unilateralmente os fundos. O Gnosis Safe oferece uma interface amigável ao usuário e é amplamente adotado no ecossistema Ethereum.

O que é o Gnosis Safe?

O Gnosis Safe é uma carteira de contrato inteligente que permite que você mantenha e gerencie várias criptomoedas, exigindo múltiplas assinaturas para autorizar qualquer transação. Isso reduz o risco de roubo e garante que a tomada de decisões coletivas seja respeitada.

Principais Características:

  • Segurança Multisignature: Exige várias aprovações para qualquer transação.
  • Interface Amigável: Interface web fácil de usar para gerenciar fundos.
  • Compatibilidade: Funciona com diversos ativos e outras aplicações descentralizadas (dApps).
  • Propriedade Flexível: Suporta uma ampla gama de proprietários de carteira e pode ser gerenciado por vários endereços.

Configurando um Gnosis Safe

Passo 1: Criar um Gnosis Safe

  1. Acesse o site do Gnosis Safe.
  2. Clique em "Criar novo Safe."
  3. Escolha a rede (Ethereum mainnet, Gnosis chain, etc.).
  4. Especifique um nome para o seu Safe.
  5. Adicione endereços de proprietários. Você pode adicionar vários endereços Ethereum que terão direitos de propriedade.
  6. Defina o número necessário de confirmações exigidas para executar transações (m de n).

Por exemplo, se você tem três proprietários e deseja que dois deles confirmem uma transação, você deve definir m = 2 e n = 3.

Passo 2: Financiar Seu Gnosis Safe

Uma vez criado o Gnosis Safe, você pode financiá-lo enviando ativos para o endereço do Safe. Você pode transferir ETH ou qualquer token ERC20 suportado pelo Gnosis Safe.

Passo 3: Realizando uma Transação

Para realizar uma transação a partir do Gnosis Safe, siga estes passos:

  1. Faça login na sua conta do Gnosis Safe.
  2. Clique em "Transacionar."
  3. Selecione o ativo que deseja enviar e insira o endereço do destinatário.
  4. Especifique a quantia e qualquer informação adicional necessária.
  5. Envie a transação.

Uma vez que a transação seja enviada, ela exigirá o número pré-definido de confirmações. Os outros proprietários precisarão aprová-la.

Exemplo: Aprovação de uma Transação

Aqui está um exemplo em JavaScript usando a biblioteca ethers.js para interagir com o Gnosis Safe através de seus contratos:

const { ethers } = require("ethers");

// Conectar à rede Ethereum
const provider = new ethers.providers.Web3Provider(window.ethereum);

// Endereço do contrato Gnosis Safe e ABI (Você pode encontrar o ABI no Etherscan)
const safeAddress = "SEU_ENDEREÇO_GNOSIS_SAFE";
const safeAbi = [ /* ABI do Gnosis Safe */];

// Criar uma instância de carteira (substitua pela sua chave privada)
const wallet = new ethers.Wallet("SUA_CHAVE_PRIVADA", provider);
const safeContract = new ethers.Contract(safeAddress, safeAbi, wallet);

// Função para aprovar uma transação
async function approveTransaction(transactionHash) {
    const tx = await safeContract.approveHash(transactionHash);
    await tx.wait();
    console.log("Transação aprovada:", transactionHash);
}

// Exemplo de uso
const txHashToApprove = "HASH_DA_TRANSACAO"; // Hash da transação que precisa ser aprovada
approveTransaction(txHashToApprove);

Conclusão

O Gnosis Safe fornece uma interface intuitiva e alta segurança para gerenciar ativos digitais usando carteiras multisignature. Ao exigir várias aprovações para transações, ele efetivamente mitiga os riscos associados a pontos únicos de falha. Esta lição ilustrou como criar um Gnosis Safe, financiá-lo e realizar transações de forma segura.

Sinta-se à vontade para explorar mais recursos do Gnosis Safe e integrá-lo em seus projetos para aumentar a segurança na gestão de ativos.

Did you like this article? Rate it from 1 to 5:

Thank you for voting!