Compreendendo o ERC20

Compreendendo o ERC20

Este artigo presume que o leitor já esteja familiarizado com, no mínimo, os seguintes conceitos: o blockchain Ethereum, dapps, ether, contratos inteligentes & ICOs.

Para recapitular rapidamente, o blockchain Ethereum é uma plataforma de computação baseada em blockchain de código aberto e distribuída. Essa plataforma de computação, a rede Ethereum, hospeda aplicativos descentralizados (dapps) que são executados com blocos de códigos denominados contratos inteligentes; todas as transações na rede Ethereum, bem como os custos de computação da execução de contratos inteligentes, são pagos no criptomoeda éter Ethereum.

Alguns, mas não todos, desses dapps (aplicativos descentralizados) exigem uma moeda in-dapp adicional – esses dapps apresentam sua nova moeda, chamada token, e levantam fundos por meio de uma oferta inicial de moeda (ICO).

A plataforma de blockchain Ethereum é construída de tal forma que incentiva dapps de todos os tipos – incluindo aqueles que requerem a criação, manutenção & transferência de ativos digitais. Esses tokens Ethereum específicos do dapp podem ser implementados para criar uma rede de dapps com casos de uso significativos, como fatura de factoring, pagamentos em todo o navegador, & um cartão de débito criptomoeda.

Todas as ideias mencionadas anteriormente são tokens dapp baseados em Ethereum que seguem um padrão de programação de tokens muito comum; na verdade, 99% de todos os tokens Ethereum implantados seguem este padrão, o padrão ERC20.

O padrão de token ERC20, que significa Ethereum Requests for Comment, é um conjunto padrão de “regras” de programação que todos os tokens baseados em Ethereum devem seguir. Os desenvolvedores concordaram com essas seis funções & dois eventos como token mínimo viável para normalizar os comportamentos esperados durante a comunicação pela rede Ethereum – estabelecendo este protocolo, os desenvolvedores do Ethereum são capazes de trabalhar com contratos inteligentes externos facilmente.

Apresentando Solidity

Embora o Ethereum mais popular cliente está atualmente escrito em GO do Google, as opções para uma linguagem de contrato inteligente amigável ao desenvolvedor são abundantes. Os desenvolvedores podem escolher entre idiomas como Vyper, Bambu, Serpente & Solidez.

Para o restante deste artigo, destacaremos & passo a passo da sintaxe do Solidity.

Solidity é uma linguagem de programação orientada a contratos de alto nível usada para implementar contratos inteligentes. A sintaxe Solidity, para aqueles familiarizados com programação, é uma mistura de Javascript, Python, & Conceitos de C; é tipificado estaticamente, suporta herança & tem uma série de bibliotecas desde o início. Para mais informações sobre o Solidity, você deve consultar a documentação encontrada aqui: https://solidity.readthedocs.io/en/develop/#

Passo a passo da interface ERC20

Vamos começar a cavar um pouco mais fundo exatamente no que & como esse padrão é implementado em toda a rede Ethereum – como mencionado anteriormente, vamos cobrir isso especificamente na sintaxe do Solidity.

Em Ethereum-land, tudo começa & termina com contratos. A documentação do Solidity define os contratos como “uma coleção de código (seu funções) & dados (é Estado) que residem em um endereço específico no blockchain Ethereum. ” Os contratos Ethereum suportam herança – portanto, um contrato pode ser uma instância de outro contrato.


Seguindo essa lógica, um contrato abstrato, que é usado estritamente para herança, também pode ser usado como à prova de falhas, definindo o que um novo contrato deve conter para compilar. Esses contratos abstratos, também são conhecidos como contratos de interface.

Isso significa que qualquer contrato de token que seja uma instância ERC20 não compila sem o seguinte; em contraste, isso significa que os desenvolvedores Ethereum agora sabem quais funções & comportamentos que eles podem esperar ao interagir com qualquer token ERC20.

O padrão ERC20 é um contrato de interface que contém um total de seis funções executáveis & dois eventos de registro.

Abono

A função Permitir permite que dois endereços criem transferência unidirecional repetida; um endereço de carteira tokenOwner & um segundo gastador de carteira são definidos como as duas carteiras que se envolverão em transações repetidas. Especificamente, o gastador da carteira retirará alguns montante da carteira tokenOwner em alguns intervalo – ambas são variáveis ​​que serão determinadas mais tarde.

Aprovar

Para a função Aprovar, consulte novamente nossa função Provisão: a função permite que dois endereços sejam retirados repetidamente de forma unidirecional. A função Aprovar, apropriadamente chamada, é uma função padrão simples que pede ao proprietário da carteira para “aprovar” uma transação que está prestes a ser feita em seu nome no contexto de uma Concessão. Esta função requer duas entradas, o endereço do gastador & a quantidade de tokens enviados. A saída retorna um booleano público que determina se a aprovação foi fornecida ou rejeitada.

Equilíbrio de

BalanceOf é uma função intuitiva que aceita um único parâmetro de entrada de endereço (endereço tokenOwner) & retorna uma única constante pública (equilíbrio uint). A constante uint retornada, balance, representa a quantidade de tokens que o endereço consultado contém – lembre-se, as transações em um blockchain são geralmente públicas, Ethereum não é diferente.

TotalSupply

A função totalSupply, como você provavelmente pode adivinhar pelo nome, é uma função construtora anônima que é executada apenas uma vez no primeiro momento de implantação na rede Ethereum ao vivo. A função retorna um número inteiro não atribuído totalSupply constante público (uint) que atua como o fornecimento total de tokens para o restante da vida do contrato. Essa constante totalSupply é geralmente definida de duas maneiras: codificar uma variável ou financiamento de uma carteira de origem.

Transferir

A função de transferência é a função central de qualquer token ERC20; define & implementa direto wallet-owner-to-peer transferência de token. Uma vez que os proprietários da carteira fazem esta chamada, apenas dois parâmetros são necessários: o endereço do receptor & a quantidade de tokens enviados. Esses dois parâmetros são geralmente inicializados como (endereço para) & (tokens uint). O valor de retorno de transferência é simplesmente um booleano que confirma se o destinatário (o endereço “para”) recebeu os tokens enviados.

Transferir de

A função TransferFrom permite um contrato inteligente para executar uma transferência com os parâmetros passados em nome do dono da carteira. Faça a distinção cuidadosamente com o anterior Transfefunção r. A função anterior permitia o dono da carteira para enviar tokens diretamente para um endereço; esta Transferir de permite um contrato inteligente para enviar tokens em nome dos proprietários da carteira, como preencher um pedido em uma troca, liberar fundos em tempo hábil ou pagar nossos ganhos em um jogo de sorte.

O Transferir de função tem três parâmetros de entrada, o endereço do proprietário da carteira, o endereço da carteira do receptor, & a quantidade de tokens enviados. Eles são frequentemente inicializados na seguinte sintaxe: (endereço de, endereço para, tokens uint). A saída da função é exatamente a mesma que a saída Transfer: um único booleano público que detalha o sucesso ou falha da transação.

Resumo

As seis funções detalhadas acima são as seis funções principais encontradas em 99% de todos os tokens ERC20 ativos atualmente. Com algumas exceções (olhando para você Golem), os desenvolvedores do Ethereum podem se sentir seguros sabendo que podem esperar totalmente essas funções essenciais ao desenvolver contratos internos ou ao interagir com contratos públicos externos em liberdade.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map