Tipos de contas
Há dois tipos de contas:
EOA (Externally Owned Account). Uma conta de um usuário do Ethereum, controlada por qualquer pessoa que possua as chaves privadas.
Contract Account. Uma conta que contém código executável de contrato inteligente e é controlada pela lógica de seu código. Não possui chaves privadas.
Ambos tipos de contas podem:
Receber, manter e enviar ETH e tokens.
Interagir com smart contracts existentes.
No entanto, possuem diferenças importantes.
Há dois tipos de contas:
EOA (Externally Owned Account). Uma conta de um usuário do Ethereum, controlada por qualquer pessoa que possua as chaves privadas.
Contract Account. Uma conta que possui código executável de smart contract e é controlada pela lógica do seu código. Não possui chaves privadas.
Ambos os tipos de contas podem:
Receber, manter e enviar ETH e tokens.
Interagir com smart contracts existentes.
No entanto, eles possuem diferenças importantes.
Custo de criação
Nenhum
Tem custo porque utiliza armazenamento da blockchain
Transações possíveis
Pode iniciar qualquer transação
Só pode enviar transações em resposta a uma transação recebida
Interação com EOAs
Só transferências de ETH
Uma EOA pode enviar transações que disparem a execução de seu código
O endereço Ethereum (address) de uma EOA é gerado a partir de sua chave privada. Primeiro, a chave pública é criada com um primeiro ciframento, e depois o endereço é gerado aplicando um hash à chave pública (veja chaves públicas e privadas na aula anterior).
Os endereços das contract accounts também possuem 42 caracteres e começam com «0x», mas são gerados criptograficamente a partir do endereço da conta do criador do contrato e do número de transações enviadas a partir desse endereço (nonce).
O endereço Ethereum (address) de uma EOA é gerada a partir de sua chave privada. Primeiro, cria-se a chave pública com uma primeira criptografia e, em seguida, o endereço é gerado, aplicando um hash à chave pública (veja sobre chaves públicas e privadas na aula anterior).
Os endereços das contract accounts também têm 42 caracteres e começam com "0x", mas são geradas criptograficamente a partir do endereço da conta do criador do contrato e do número de transações enviadas a partir desse endereço (nonce).
Last updated