WEB3DEV

Cover image for O que é uma Assinatura? Como podemos assiná-la com blockchain?
Jhonattan Farias
Jhonattan Farias

Posted on

O que é uma Assinatura? Como podemos assiná-la com blockchain?

O que é uma Assinatura? Como podemos assiná-la com blockchain?

Uma assinatura é uma evidência de que você concorda com uma declaração específica.
Quando fazemos negócios com terceiros, criamos um contrato assinado por ambas as partes, mesmo que também haja um contrato quando compramos itens on-line, aqui estão os termos:

  • O item pode ser devolvido em 15 dias.

  • A data de entrega do item será dia X.

  • O item só retorna se for um produto danificado.

  • O valor da devolução do item será creditado em X dias.

É tudo sobre negócios tradicionais e, em termos de blockchain, as mesmas coisas também acontecem aqui.

mostra um homem e uma mulher sorrindo e batendo as mãos em um ambiente formal

Então, vamos embarcar em nossa jornada e iluminar os tópicos abaixo.

  • O que é uma Assinatura?

  • O que é o protocolo EIP-712?

  • Como assinar/verificar nossa mensagem com a Metamask?

  • Criar/verificar assinaturas do Etherscan

  • Exemplo da OpenSea?

O que é Assinatura?

  • A Assinatura é a chave de hash que é a combinação de uma chave privada e a mensagem.

  • É gratuito. Você não precisa pagar nenhuma taxa de gas.

  • Uma mensagem é sempre uma string. Se você deseja assinar um JSON, deve convertê-lo em string usando JSON.stringify()

  • Comprovativo de assinatura de que é o proprietário deste endereço, caso contrário, se quiser fazer alguém acreditar que é o proprietário deste endereço, deverá enviar o valor mínimo que tenha o custo.

O que é o protocolo EIP-712?

  • EIP-712 é o protocolo de melhoria da Ethereum para hashing e assinatura de dados.

  • Este protocolo simplifica a assinatura de informações e é facilmente legível pelo usuário.

  • Antes do EIP-712, a solicitação de assinatura vinha com um hash e não era legível pelo usuário comum assim:

mostra uma mensagem que contém a assinatura em formato de hash

  • Após o EIP-712, o pop-up de solicitação será semelhante a

Mostra uma mensagem que não contém assinatura, porém mostra o nome de enviou a mensagem

Como assinar/verificar nossa mensagem com Metamask?

  • O primeiro passo é assinar/verificar uma mensagem conectada à carteira usando o comando.
contas const = await ethereum.request({
       method: 'eth_requestAccounts'
});
const account = accounts[0]; // pega o endereço
Enter fullscreen mode Exit fullscreen mode
  • **Sign Message (Mensagem de assinatura) **Para requisições de assinatura, temos que usar o método personal_sign.
const message = "Endereço próprio de Arnish Gupta";
const sign = await ethereum.request({
     method: 'personal_sign',
     params: [message, account],
});
// na constante "sign" você obterá a assinatura
Enter fullscreen mode Exit fullscreen mode
  • Verify Message (Verificar mensagem)Para obter o endereço da assinatura, usamos o método de recover.
const recoveredAdd = web3.eth.accounts.recover(message, sign);
// recoveredAdd é o endereço desta mensagem
Enter fullscreen mode Exit fullscreen mode

Você pode baixar o código-fonte completo aqui.

Criar/verificar assinatura do Etherscan

Mostra um Pop up com um campo para preencher o endereço e um para assinar a mensagem

  • Escreva qualquer mensagem na caixa de mensagem e clique no botão Assinar mensagem, então uma janela de solicitação será aberta em seu dApp.

Mostra uma requisição de assinatura para que você assine a mensagem

  • Clique no botão assinar na metamask, então um pop-up será aberto no etherscan e você poderá ver o hash da assinatura.

Mostra que sucesso na assinatura e também mostra o hash da assinatura

  • você pode publicar sua assinatura no etherscan, então você obterá o URL público exclusivo para poder compartilhá-lo com qualquer pessoa para justificação.

  • Para outra verificação de assinatura, você pode clicar no botão Verificar assinatura perto de Assinar mensagem e obterá as três caixas de entrada para escrever hash da assinatura, mensagem e endereço. Ele dirá se é válido ou não.

Exemplo da OpenSea?

  • OpenSea é uma plataforma NFT líder. As pessoas podem comprar e vender os NFTs.

  • A OpenSea oferece o recurso de que podemos fazer oferta de qualquer NFT. Isso significa que queremos comprá-lo pelo preço X.

Mostra um NFT sendo vendido na openSea

  • No processo de Fazer Oferta, a OpenSea assina o detalhe do NFT com o preço que você ofereceu.

Mostra uma requisição para que você assine o detalhe do NFT com o preço que você ofereceu

  • Se o proprietário estiver interessado em seus lances, a OpenSea pode comprar este NFT em que você está interessado e o valor transferido de sua conta para a conta do proprietário do NFT.

Espero que você tenha entendido o conceito de Assinatura. Se você tiver alguma dúvida, pode escrever para mim. Fico feliz em ler suas palavras.

Junte-se a mim e aprenda sobre blockchain toda segunda-feira às 9h da manhã.

Obrigado por ler..!!

Este artigo foi escrito por https://guptaarnish-it.medium.com/ e traduzido por Jhonattan Farias, você pode encontrar o artigo original aqui.

Top comments (0)