Visão geral do Ethereum
O Ethereum é uma plataforma de software distribuída de código aberto baseada em blockchain que surgiu como um grande desafiante para o Bitcoin. O Ethereum foi proposto pela primeira vez em 2013 pelo investigador de criptomoedas Vitalik Buterin, que sugeriu adicionar uma linguagem de script para programação ao Bitcoin. Foi lançado a 30 de julho de 2015. O desenvolvimento do Ethereum foi patrocinado por um crowdsale online, um tipo de crowdsourcing em que foram emitidos tokens de criptomoeda.
Ler mais: O que é o Ethereum?
A criptomoeda nativa do Ethereum chama-se Ether (ETH) e apresenta uma linguagem de programação conhecida como Solidity. Blockchain, a tecnologia subjacente do Ethereum, é um livro-razão distribuído que mantém uma lista permanente e inviolável de registos. Esta arquitetura descentralizada permite aos programadores criar uma vasta gama de aplicações descentralizadas (DApps), tirando partido do ecossistema robusto e da versatilidade da plataforma.
Uma das principais características do Ethereum é o seu suporte para contratos inteligentes, que são contratos digitais que são executados automaticamente com base em condições predefinidas como mencionamos na Lição 1. Estes contratos inteligentes permitem um ambiente sem confiança onde as transações podem ser conduzidas de forma segura e transparente sem a necessidade de intermediários. Os mineiros da rede Ethereum estavam a produzir tokens Ether, que servem não só como moeda mas também como meio de pagar as taxas de utilização na plataforma; depois de “The Merge”, o Ethereum fez a transição para um mecanismo de Proof-of-Stake (PoS), onde validadores (não mineradores) validam transações e criam novos blocos. Em vez de produzir tokens Ether, os validadores ganham taxas de transação e bloqueiam recompensas em Ether pela sua participação na rede. O Ether ainda serve como um meio de pagar as taxas de utilização na plataforma, mas a sua emissão e distribuição são diferentes do mecanismo anterior de Proof-of-Work (PoW).
A capacidade do Ethereum de hospedar DApps e contratos inteligentes atraiu um interesse significativo de desenvolvedores e organizações, tornando-se uma plataforma líder para a construção de soluções inovadoras em vários setores, incluindo finanças, cadeia de abastecimento e jogos, entre outros. À medida que o ecossistema Ethereum continua a evoluir, permanece na vanguarda da tecnologia blockchain, impulsionando a inovação e promovendo uma comunidade próspera de desenvolvedores e utilizadores.
Ler mais: O que é a fusão?
Ler mais: O que é DApp?
Introdução à linguagem de programação Solidity
Solidity é uma linguagem de programação de alto nível com tipagem estática projetada especificamente para escrever contratos inteligentes na cadeia de blocos Ethereum. Desenvolvida pela equipa principal do Ethereum, a sintaxe do Solidity é influenciada pelo JavaScript, tornando-a familiar e acessível a uma vasta gama de programadores. A linguagem é Turing-complete, permitindo que os programadores criem lógicas complexas e implementem várias funcionalidades nos seus contratos inteligentes. Solidity compila em bytecode da Ethereum Virtual Machine (EVM), que é executado na rede Ethereum.
No Solidity, os programadores podem definir estruturas de dados personalizadas, criar funções definidas pelo utilizador e implementar mecanismos de controlo de acesso, entre outras funcionalidades. Com o Solidity, é possível criar uma vasta gama de aplicações descentralizadas, incluindo plataformas de finanças descentralizadas (DeTI), tokens não fungíveis (NFTs), organizações autónomas descentralizadas (DAOs) e muito mais.
Estrutura de um contrato de Solidity: Exemplo
Um contrato de Solidity é um pedaço de código independente que consiste em variáveis, funções, eventos e modificadores, entre outros elementos. A estrutura básica de um contrato da Solidity é a seguinte:
Diretiva Pragma: Esta linha especifica a versão compatível do compilador Solidity para o contrato inteligente. Por exemplo:
Solidez
solidez do pragma ^0.8.0;
Definição do contrato: Esta linha declara o contrato e o seu nome. \
Por exemplo:
Solidez
contrato SimpleToken {
Variáveis de estado: São variáveis que armazenam o estado do contrato na blockchain. Por exemplo, pode armazenar o fornecimento total de um token:
Solidez
uint256 aprovisionamento público total;
Funções: As funções definem o comportamento do contrato e podem ser chamadas por utilizadores externos ou outros contratos. Aqui está uma função simples para transferir tokens:
Solidez
transferência de função (endereço destinatário, valor uint256) público {
// ... transfer logic ...
}
Eventos: Os eventos são utilizados para registar ações específicas no contrato e podem ser monitorizados por utilizadores externos ou contratos. Por exemplo, um evento de transferência num contrato de token:
Solidez
transferência de eventos (endereço indexado de, endereço indexado a, valor uint256);
Modificadores: Os modificadores são utilizados para modificar o comportamento das funções, normalmente para controlo de acesso ou verificações de pré-condições. Por exemplo, um modificador para verificar se o remetente tem tokens suficientes para transferir:
JavaScript
o modificador tem EnoughTokens (valor uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
Construtor: O construtor é uma função especial que inicializa as variáveis de estado do contrato quando é implementado. Por exemplo, inicializar o fornecimento total de um token:
JavaScript
construtor (uint256 _TotalSupply) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
Juntando tudo, um simples contrato de Solidity para um token pode ficar assim:
TypeScript
solidez do pragma ^0.8.0;
contrato SimpleToken {
uint256 aprovisionamento público total;
mapeamento (endereço = > uint256) balanceOf público;
Transferência de eventos (endereço indexado de, endereço indexado a, valor uint256);
o modificador tem Tokens suficientes (valor uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
Destaques
O Ethereum é uma plataforma baseada em blockchain que suporta contratos inteligentes e aplicações descentralizadas (DApps).
A criptomoeda nativa do Ethereum é o Ether (ETH).
Solidity é uma linguagem de programação de alto nível usada para escrever contratos inteligentes no Ethereum.
Os contratos inteligentes no Ethereum são executados automaticamente com base em condições predefinidas.
O Ethereum fez a transição para um mecanismo de Proof-of-Stake (PoS) para validar transações e criar novos blocos.
O Solidity permite que os programadores definam estruturas de dados, criem funções, implementem controlo de acesso e muito mais.
O ecossistema da Ethereum atrai programadores e organizações de vários setores.
Os contratos de solidez consistem em pragmas, definição de contrato, variáveis de estado, funções, eventos, modificadores e construtores.
Os contratos de solidez podem ser usados para criar plataformas DeFii, NFTs, DAOs e muito mais.
Visão geral do Ethereum
O Ethereum é uma plataforma de software distribuída de código aberto baseada em blockchain que surgiu como um grande desafiante para o Bitcoin. O Ethereum foi proposto pela primeira vez em 2013 pelo investigador de criptomoedas Vitalik Buterin, que sugeriu adicionar uma linguagem de script para programação ao Bitcoin. Foi lançado a 30 de julho de 2015. O desenvolvimento do Ethereum foi patrocinado por um crowdsale online, um tipo de crowdsourcing em que foram emitidos tokens de criptomoeda.
Ler mais: O que é o Ethereum?
A criptomoeda nativa do Ethereum chama-se Ether (ETH) e apresenta uma linguagem de programação conhecida como Solidity. Blockchain, a tecnologia subjacente do Ethereum, é um livro-razão distribuído que mantém uma lista permanente e inviolável de registos. Esta arquitetura descentralizada permite aos programadores criar uma vasta gama de aplicações descentralizadas (DApps), tirando partido do ecossistema robusto e da versatilidade da plataforma.
Uma das principais características do Ethereum é o seu suporte para contratos inteligentes, que são contratos digitais que são executados automaticamente com base em condições predefinidas como mencionamos na Lição 1. Estes contratos inteligentes permitem um ambiente sem confiança onde as transações podem ser conduzidas de forma segura e transparente sem a necessidade de intermediários. Os mineiros da rede Ethereum estavam a produzir tokens Ether, que servem não só como moeda mas também como meio de pagar as taxas de utilização na plataforma; depois de “The Merge”, o Ethereum fez a transição para um mecanismo de Proof-of-Stake (PoS), onde validadores (não mineradores) validam transações e criam novos blocos. Em vez de produzir tokens Ether, os validadores ganham taxas de transação e bloqueiam recompensas em Ether pela sua participação na rede. O Ether ainda serve como um meio de pagar as taxas de utilização na plataforma, mas a sua emissão e distribuição são diferentes do mecanismo anterior de Proof-of-Work (PoW).
A capacidade do Ethereum de hospedar DApps e contratos inteligentes atraiu um interesse significativo de desenvolvedores e organizações, tornando-se uma plataforma líder para a construção de soluções inovadoras em vários setores, incluindo finanças, cadeia de abastecimento e jogos, entre outros. À medida que o ecossistema Ethereum continua a evoluir, permanece na vanguarda da tecnologia blockchain, impulsionando a inovação e promovendo uma comunidade próspera de desenvolvedores e utilizadores.
Ler mais: O que é a fusão?
Ler mais: O que é DApp?
Introdução à linguagem de programação Solidity
Solidity é uma linguagem de programação de alto nível com tipagem estática projetada especificamente para escrever contratos inteligentes na cadeia de blocos Ethereum. Desenvolvida pela equipa principal do Ethereum, a sintaxe do Solidity é influenciada pelo JavaScript, tornando-a familiar e acessível a uma vasta gama de programadores. A linguagem é Turing-complete, permitindo que os programadores criem lógicas complexas e implementem várias funcionalidades nos seus contratos inteligentes. Solidity compila em bytecode da Ethereum Virtual Machine (EVM), que é executado na rede Ethereum.
No Solidity, os programadores podem definir estruturas de dados personalizadas, criar funções definidas pelo utilizador e implementar mecanismos de controlo de acesso, entre outras funcionalidades. Com o Solidity, é possível criar uma vasta gama de aplicações descentralizadas, incluindo plataformas de finanças descentralizadas (DeTI), tokens não fungíveis (NFTs), organizações autónomas descentralizadas (DAOs) e muito mais.
Estrutura de um contrato de Solidity: Exemplo
Um contrato de Solidity é um pedaço de código independente que consiste em variáveis, funções, eventos e modificadores, entre outros elementos. A estrutura básica de um contrato da Solidity é a seguinte:
Diretiva Pragma: Esta linha especifica a versão compatível do compilador Solidity para o contrato inteligente. Por exemplo:
Solidez
solidez do pragma ^0.8.0;
Definição do contrato: Esta linha declara o contrato e o seu nome. \
Por exemplo:
Solidez
contrato SimpleToken {
Variáveis de estado: São variáveis que armazenam o estado do contrato na blockchain. Por exemplo, pode armazenar o fornecimento total de um token:
Solidez
uint256 aprovisionamento público total;
Funções: As funções definem o comportamento do contrato e podem ser chamadas por utilizadores externos ou outros contratos. Aqui está uma função simples para transferir tokens:
Solidez
transferência de função (endereço destinatário, valor uint256) público {
// ... transfer logic ...
}
Eventos: Os eventos são utilizados para registar ações específicas no contrato e podem ser monitorizados por utilizadores externos ou contratos. Por exemplo, um evento de transferência num contrato de token:
Solidez
transferência de eventos (endereço indexado de, endereço indexado a, valor uint256);
Modificadores: Os modificadores são utilizados para modificar o comportamento das funções, normalmente para controlo de acesso ou verificações de pré-condições. Por exemplo, um modificador para verificar se o remetente tem tokens suficientes para transferir:
JavaScript
o modificador tem EnoughTokens (valor uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
Construtor: O construtor é uma função especial que inicializa as variáveis de estado do contrato quando é implementado. Por exemplo, inicializar o fornecimento total de um token:
JavaScript
construtor (uint256 _TotalSupply) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
Juntando tudo, um simples contrato de Solidity para um token pode ficar assim:
TypeScript
solidez do pragma ^0.8.0;
contrato SimpleToken {
uint256 aprovisionamento público total;
mapeamento (endereço = > uint256) balanceOf público;
Transferência de eventos (endereço indexado de, endereço indexado a, valor uint256);
o modificador tem Tokens suficientes (valor uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
Destaques
O Ethereum é uma plataforma baseada em blockchain que suporta contratos inteligentes e aplicações descentralizadas (DApps).
A criptomoeda nativa do Ethereum é o Ether (ETH).
Solidity é uma linguagem de programação de alto nível usada para escrever contratos inteligentes no Ethereum.
Os contratos inteligentes no Ethereum são executados automaticamente com base em condições predefinidas.
O Ethereum fez a transição para um mecanismo de Proof-of-Stake (PoS) para validar transações e criar novos blocos.
O Solidity permite que os programadores definam estruturas de dados, criem funções, implementem controlo de acesso e muito mais.
O ecossistema da Ethereum atrai programadores e organizações de vários setores.
Os contratos de solidez consistem em pragmas, definição de contrato, variáveis de estado, funções, eventos, modificadores e construtores.
Os contratos de solidez podem ser usados para criar plataformas DeFii, NFTs, DAOs e muito mais.