Introdução simples e introdução do projeto de web3.0

O que é web3.0?

1. Introdução

Web3.0 é um aplicativo mais inteligente, descentralizado, seguro e confiável realizado por meio de blockchain e outras tecnologias.

As principais características do Web3.0 incluem:

Descentralização: Web3.0 transfere dados e aplicativos de servidores centralizados para nós distribuídos para realizar aplicativos descentralizados.

Seguro e confiável: Web3.0 adota blockchain e outras tecnologias para realizar aplicativos descentralizados, invioláveis, seguros e confiáveis.

Os cenários de aplicação do Web3.0 incluem contratos inteligentes, aplicativos descentralizados (DApp), Internet das Coisas, inteligência artificial e outros campos.

2. O conteúdo de aprendizagem que precisa ser envolvido

  1. Tecnologia Blockchain: Projetos descentralizados geralmente são implementados com base na tecnologia blockchain. É necessário entender o conceito, princípio e métodos comuns de implementação de blockchain, como Ethereum, EOS, etc.

A blockchain Ethereum adota um design chamado "modelo de conta Ethereum", cada conta possui um endereço único, que pode ser identificado e acessado através do endereço. Existem dois tipos de contas Ethereum: contas externas e contas contratuais. A conta do contrato é o código de execução do contrato inteligente, que pode receber e processar solicitações de transação e executar processamento lógico de negócios complexo.

Uma conta externa é uma conta Ethereum padrão representada por um endereço de 20 bytes. A chave privada da conta externa é armazenada na carteira do usuário, e o usuário pode usar o software da carteira para gerenciá-la, como criação, importação, backup, transferência e outras operações.

Uma conta de contrato é um tipo especial de conta que contém o código de execução de um contrato inteligente. Cada conta de contrato possui um endereço único, representado por 20 bytes, mas não pode ser transferida por meio de uma chave privada como uma conta externa. Pelo contrário, o código da conta do contrato deve definir uma ou mais funções que podem ser chamadas publicamente. Os usuários podem chamar essas funções enviando solicitações de transação. O código do contrato realizará o processamento correspondente de acordo com as solicitações de transação e retornará os resultados ao remetente.

Quando o usuário envia uma solicitação de transação, o endereço de destino precisa ser especificado. Se o endereço de destino for uma conta externa, isso significa uma operação de transferência, e o valor da transação será deduzido da conta do remetente e transferido para a conta do o endereço de destino; se o endereço de destino for uma conta de contrato, o que significa chamar a função de contrato. Os dados da transação incluirão os parâmetros e o valor de retorno da função de chamada. O código do contrato processará de acordo com os parâmetros e retornará o resultado para o remetente. Portanto, o código da conta do contrato pode realizar lógica de negócios e operações interativas muito complexas, como gerenciamento de ativos digitais, execução de decisões de votação, etc.

A conta externa e a conta de contrato do blockchain Ethereum funcionam de maneiras diferentes. A conta externa é usada para operações de transferência simples, enquanto a conta de contrato pode implementar lógica de negócios complexa e operações interativas.

Conta externa (esquerda), conta de contrato (direita):

Cada bloco contém vários registros de transação, que são vinculados por um algoritmo de hash para formar uma estrutura de cadeia imutável, que garante a transparência e a rastreabilidade dos registros de transação.

Na rede Ethereum, cada transação gera um único hash de transação (Transaction Hash, também conhecido como TX Hash). TX Hash é uma string longa, geralmente composta por 64 caracteres hexadecimais. É o identificador único da transação na rede Ethereum, que pode ser usado para consultar o status da transação, verificar se a transação foi empacotada no bloco e outras operações relacionadas.

O TX Hash é criado pelo remetente da transação, é calculado a partir de vários detalhes da transação e transmitido na rede. Uma vez que o TX Hash é transmitido, o nó minerador irá adicioná-lo ao pool de memória e esperar que ele seja compactado no bloco.

Depois que uma transação é empacotada em um bloco, o TX Hash se torna parte do bloco e é registrado permanentemente no blockchain. Neste ponto, você pode usar o TX Hash para consultar o status da transação, confirmar se a transação foi processada e outras informações relacionadas.

TX Hash é um identificador único de uma transação na rede Ethereum, que é usado para identificar o status da transação, consultar se a transação foi processada e outras operações relacionadas.

  1. Contratos inteligentes: Os contratos inteligentes são o núcleo dos projetos de blockchain e é necessário entender o conceito, método de escrita, segurança etc. dos contratos inteligentes.

Eu uso a ferramenta de desenvolvimento Remix-Ethereum para escrever, ele escreve Solidity baseado na blockchain Ethereum

3. Solidez

Solidity, desenvolvido pela equipe Ethereum, é a linguagem de programação de contrato inteligente mais comumente usada na web3. A linguagem é Turing completa e orientada a objetos. Essas características são o resultado da linguagem ser fortemente influenciada por C++, Python e JavaScript.

Construído em um blockchain compatível com EVM, os desenvolvedores podem usar o Solidity para criar dApps nativos do Ethereum e implantar contratos inteligentes para inúmeras finalidades, como votação, gerenciamento de transações e carteiras de assinatura múltipla.

A CONTA é o dobro do GÁS USADO

3. Ferramentas de desenvolvimento coordenado

Ambiente de teste: Ganache

Ambiente formal: Metamask

Descrição do Projeto

Este projeto foi fundado em 12 de dezembro de 2021. O framework front-end usa vue 3+ts, a biblioteca de componentes usa antd, o framework Truffle é usado para desenvolver aplicativos web3 e o blockchain usa Solidity+web3.js

Descrição do projeto : Tecnologia Blockchain , use Web3.js+ Solidity para escrever contratos inteligentes para substituir a interface web 2.0 tradicional e use o plug-in Metamask para fazer login em contas descentralizadas. Web 3.0 Peace of Mind Funding - uma plataforma de serviços baseada na rede de serviços blockchain (BSN) para ajuda pessoal para doenças graves, promovendo abertura e transparência de caridade e bem-estar público. A plataforma coloca informações do paciente na cadeia, dados de transações na cadeia e aprovação de doações na cadeia, etc., por meio de contratos inteligentes para garantir a segurança e a transparência dos fundos de doação ao máximo .

Trabalho principal :

O front-end usa Web3.js para chamar a interface no blockchain em vez do modo de interface tradicional de front-end e back-end. A descentralização torna o desenvolvimento mais conveniente e todos os registros de transações são abertos e transparentes.

Configuração do projeto (usando o framework trufa web3)

Sequência de configuração:

1. Primeiro você precisa configurar `node`, `npm`, `yarn`, instalar `ganache`, `chrome`, `chrome` instalar plug-in `MetaMask` 2. Instalar 
trufa, `yarn global add trufa` 
3 Abra o software `ganache` 
4. Selecione início rápido no software `ganache`, clique no ícone de engrenagem no canto superior direito para definir 
5. Adicione o projeto na guia da área de trabalho, selecione `./truffle-config.js` e altere a porta para 8545 na guia do servidor. 
6. Clique em salvar e reiniciar no canto superior direito. 
7. Selecione a guia de contratos superior no software ganache, copie o endereço do contrato de crowdfunding, localize a 7ª linha do arquivo `./crowdfunding/src/api/contract.ts` e substitua o endereço que começa com 0x pelo endereço que você acabou de copiar. 
8. Mude para a pasta finalWork 
9. Digite: `truffle compile` 
10. Digite: `truffle migration` 
11. Copie `./build/contracts/CrowdFunding.json` para `./crowdfunding/src/api/` 12. 
Alterne para o diretório `./crowdfunding/` 
13. Digite: `yarn` 
14. Após a conclusão da instalação, digite: `yarn serve` 
15. Visite no navegador: `http://localhost:8080`
16. Selecione a rede local conectada a localhost:8545 em `metamask`, e importe várias contas do ganache para iniciar o teste.
explicar:
  • 1.truffle compile é uma ferramenta de linha de comando fornecida pela estrutura Truffle para compilar contratos inteligentes do Solidity. Ao desenvolver um Ethereum DApp, o contrato inteligente é o núcleo do DApp, que define a lógica de negócios e a estrutura de dados do aplicativo. No Truffle, os contratos inteligentes geralmente estão localizados no diretório contracts/ e escritos na linguagem Solidity. Quando o contrato inteligente é modificado, o contrato precisa ser recompilado para gerar ABI (Application Binary Interface) e código binário, para que a implantação, teste e interação subsequentes possam ser realizados. Deve-se notar que o comando truffle compile usa o compilador solc para compilar contratos por padrão. As opções do compilador podem ser alteradas definindo a propriedade de compiladores em trufa-config.js, como escolher usar uma versão diferente do compilador solc, usar um compilador externo, etc.

  • 2. Ao escrever um contrato inteligente Solidity, geralmente é necessário usar o compilador Solidity para compilar o código Solidity em bytecode e, em seguida, implantar o bytecode na rede Ethereum. Durante o processo de compilação do Solidity, é gerado um arquivo JSON, que contém os metadados e as informações ABI (Application Binary Interface) do contrato inteligente.

  • 3.truffle migration é uma ferramenta de linha de comando fornecida pela estrutura Truffle, que é usada para implantar contratos inteligentes do Solidity na rede blockchain de destino. Ao desenvolver um Ethereum DApp, o contrato inteligente é o núcleo do DApp, que define a lógica de negócios e a estrutura de dados do aplicativo. O comando truffle migration executará o script de implantação e implantará o contrato inteligente na rede de destino. Antes de executar o script de implantação, você precisa garantir que a compilação foi concluída, ou seja, a ABI correspondente e o código binário foram gerados. Os scripts de implantação geralmente estão localizados no diretório migrations/ e são escritos em linguagem JavaScript, podendo executar algumas operações de inicialização, como salvar o endereço do contrato no arquivo de configuração ou inicializar o estado do contrato.

  • 4. Esses arquivos de implantação são scripts JavaScript usados ​​para executar operações de implantação de contratos inteligentes. No Truffle, cada arquivo de implantação corresponde ao processo de implantação de um contrato inteligente, e o nome do arquivo que começa com um número indica a sequência de implantação, como 1_initial_migration.js. No arquivo de implantação, o desenvolvedor precisa especificar o nome do contrato inteligente a ser implantado, o endereço da conta do implantador, a chave privada da conta do implantador, a configuração de rede a ser usada etc. O arquivo de implantação geralmente usa o método artefatos.require() fornecido pelo Truffle para carregar o contrato inteligente compilado e, em seguida, usa a conta do implantador para chamar o método deploy() para implantar o contrato na rede de destino. Após a implantação bem-sucedida, o endereço do contrato será salvo no arquivo de configuração para uso em testes e interações subsequentes.

  • 5. O método artefatos.require() pode receber um parâmetro, que é o nome do contrato inteligente. Ao chamar o método artefatos.require(), ele lerá o arquivo JSON correspondente do diretório build/contracts/ e retornará um objeto JavaScript contendo a ABI do contrato inteligente e o código binário. Os desenvolvedores podem usar esse objeto para executar operações como implantação, teste e interação de contratos inteligentes. Deve-se observar que o objeto JavaScript retornado pelo método artefatos.require() contém a ABI e o código binário do contrato inteligente, mas não contém o endereço do contrato. Após a implantação do contrato inteligente, o endereço do contrato será salvo no arquivo de configuração e o desenvolvedor precisará ler manualmente o endereço e associá-lo ao objeto do contrato inteligente.

  • 6. O arquivo JSON correspondente no diretório build/contracts/ não contém o campo de redes ao compilar, mas depois que o contrato inteligente for implantado com sucesso, o Truffle atualizará automaticamente o campo de redes para registrar a implantação do contrato em diferentes redes

A função principal

Exibição da lista de resgate na página inicial do produto

iniciar uma arrecadação de fundos

Socorristas doam fundos

Após a arrecadação de fundos bem-sucedida, o destinatário inicia uma solicitação para usar os fundos

Esperando que os doadores analisem se concordam com o uso dos fundos

Depois que metade dos doadores aprovar a aprovação, os fundos serão transferidos para a conta do paciente

Página de informações do centro pessoal

Terminar

Este é meu primeiro compartilhamento web3.0, estou muito feliz em compartilhar isso com você!

Acho que você gosta

Origin blog.csdn.net/weixin_54079103/article/details/131741085
Recomendado
Clasificación