Texto original: “Ensina passo a passo como construir um site pessoal descentralizado”

Autor: Tigre Gordo

Para os entusiastas da Web3 que têm o hábito de emitir opiniões, "hospedar" conteúdo nas mídias sociais da Web2, como o Twitter, não parece ser "resistente à censura" o suficiente e carece de um senso de exclusividade e independência para equipes de protocolo Web3 ou partes do projeto; Em outras palavras, a descentralização de todo o processo, desde os serviços do produto até a apresentação front-end, também é mais atrativa em termos de narrativa. Não importa a motivação que você tenha, transformar um site pessoal ou oficial de projeto em um site descentralizado tem certas vantagens em termos de custo, anonimato e proteção de privacidade.

Portanto, este artigo irá guiá-lo passo a passo para implantar seu site pessoal (tomando como exemplo a página web gerada pelo Notion) no IPFS para construir um site verdadeiramente descentralizado (Dweb) que pertence apenas a você.

O artigo está dividido em três partes: introdução, funcionamento prático e sugestões. Apresentarei primeiro o conceito e a representação da rede descentralizada Dweb e, em seguida, ensinarei passo a passo como adicionar um site de cartão de visita pessoal ao Dweb. Por fim, também resumirei as vantagens e desvantagens da solução atual.

Considerando a extensão do artigo e a dificuldade de começar, na parte prática apresentarei apenas o método mais simples de implantação de uma estrutura de página web HTML. Ao mesmo tempo, este tutorial depende principalmente da ferramenta Fleek para implementar a implantação. Fleek é poderoso e pode empacotar uma variedade de estruturas de páginas da web (como WordPress, Next.js, etc.). Amigos com uma certa base técnica podem explorá-lo em profundidade.

O que é um site descentralizado?

Site descentralizado (Dweb) refere-se literalmente a um site implantado em uma rede descentralizada.

Do ponto de vista dos componentes, o Dweb é semelhante aos sites tradicionais da Internet. Todos eles precisam ter uma entrada - um nome de domínio e um assunto de hospedagem - um servidor de hospedagem. No mundo Web3, os projetos representativos correspondentes a estas duas “funções” são ENS, IPFS e Arweave (este artigo centra-se no primeiro, que também é uma solução utilizada por muitos projetos).

ENS (Ethereum Name Service) é um sistema de nomenclatura distribuído, escalável e aberto baseado em Ethereum; em termos leigos, é o sistema de nomes de domínio blockchain.

A ideia do IPFS é distribuir e armazenar dados em nós que podem ser executados por qualquer pessoa em todo o mundo; é essencialmente um serviço de armazenamento de dados ponto a ponto resistente à censura. Além disso, como o IPFS distribui dados entre nós e aponta para dados específicos, ele pode garantir que os recursos venham de fontes atualizadas recentemente e que a experiência real seja mais rápida e confiável.

Para obter mais explicações sobre ENS e IPFS, os leitores interessados ​​​​podem ler "Um artigo para aprender sobre ENS, o aplicativo Ethereum não financeiro de maior sucesso até o momento" e "Análise aprofundada de IPFS: o protocolo subjacente da nova geração da Internet ".

Alimentada por ENS e IPFS, a infraestrutura distribuída de blockchain pode armazenar conteúdo diretamente em contratos inteligentes (contêineres).

Site representativo baseado em ENS+IPFS

Embora não seja óbvio no nível de percepção, se os usuários prestarem atenção a alguns aplicativos Web3 convencionais, eles poderão descobrir em seus documentos oficiais que os principais protocolos Web3, como Uniswap e 1inch, sincronizaram seus sites com IPFS.

Os endereços do link ENS são 1inch.eth e uniswapexchange.eth respectivamente. Para navegadores Web3 nativos, você pode inserir diretamente os endereços acima para acessar.

1 polegada: 1 polegada. et. link/" _src="https://1inch. et. link/">https://1inch.eth.link/

uniswap: https://uniswapexchange.eth.link。

Para mais sites implantados usando a tecnologia ENS+IPFS, a Almonit organizou sites Dweb. O link é o seguinte: https://almonit.eth.link/#/discover/.

Como implantar

Neste artigo, usamos principalmente a solução fornecida pela ferramenta Fleek. A vantagem desta solução é que ela é simples de implantar e oferece suporte a vários frameworks web. Além de suportar páginas HTML, também oferece suporte a frameworks web em vários idiomas. como Next.js, Hugo.js, Wordpress, etc.

Este artigo se concentra na mais simples das muitas funções suportadas pelo Fleek - a solução de implantação de estrutura de página HTML, e fornece uma explicação passo a passo, espero que os novatos possam começar rapidamente depois de lê-lo para especialistas; servir como ponto de partida para atrair novas ideias.

Acabei de mencionar que você precisa preparar uma página da web HTML, então o notion será usado para gerar esse arquivo de página da web HTML. O principal motivo é que o notion é fácil de operar e possui sua própria função de exportação de html, para que você possa usá-lo como. um criador visual de páginas da web em HTML.

Como a ferramenta usada pelo Fleek usa sincronização automática com o Github, você também precisa preparar uma conta no Github e o Repo (biblioteca) correspondente.

A implantação na rede IPFS em si não requer um nome de domínio. O upload para a rede gerará um hash, semelhante ao endereço IP no Web2, portanto, um ENS precisa estar preparado para mapear esse hash IPFS.

Para resumir, prepare três coisas com antecedência:

Uma conta github; um nome de domínio ENS, a carteira correspondente e uma pequena quantidade de ETH como gás, uma conta noção e criar uma página de perfil pessoal. 1. Exportar HTML do Notion

1.1 Projete um perfil no conceito, a demonstração é mostrada abaixo.

1.2 Exportar a página que preparamos a partir da função de exportação de conceito Devido à capacidade limitada do IPFS de suportar páginas da web estáticas, por enquanto só podemos optar por exportar uma única página. (Jogadores avançados também podem implementar páginas multinível - subpáginas).

1.3 Após obter o arquivo compactado exportado, ele será automaticamente baixado localmente. Após descompactá-lo localmente, você obterá uma pasta e um arquivo HTML conforme mostrado abaixo. Renomeie o arquivo que termina com “xxx.html” para “index.html”.

2. Faça upload para o Github

2.1 Vá para a página inicial do GitHub, faça login (se você não tiver uma conta, você precisa registrar uma conta), entre na página a seguir e clique em "Novo" para criar um novo repositório.

2.2 Recomenda-se usar a biblioteca Privada (privacidade) para este Repo recém-criado. Isso evita que qualquer pessoa que não seja a ferramenta Fleek e o criador acesse o arquivo original.

2.3 Em seguida, você precisa usar o cliente Github (se não houver nenhum cliente Github em seu computador, você precisará baixar e instalar um). Após fazer login no cliente Github, retorne à página da web do Github que você acabou de criar e clique em “Configurar na área de trabalho” na caixa azul (abra o cliente na área de trabalho).

2.4 Após instalar o cliente desktop, o seguinte prompt aparecerá.

2.5 Vá para o cliente de desktop, siga as instruções para definir um diretório local e registre o caminho do diretório local. Copie o arquivo que baixamos na primeira etapa “Exportar dados do Notion” para o diretório local.

2.5 Após a conclusão da cópia, o seguinte prompt aparecerá quando você retornar ao cliente. Preencha alguma descrição e clique em confirmar.

2.6 Clique em push origin para enviar o documento para o Github Repo.

3. Crie um novo projeto usando Fleek

"Fleek é um conjunto de ferramentas que inclui tudo que você precisa para construir sites e aplicativos modernos de maneira integrada na rede aberta e seus protocolos."

Simplificando, Fleek é uma ferramenta que pode facilmente implantar sites pessoais em redes descentralizadas.

3.1 Você precisa se registrar ao entrar no Fleek pela primeira vez. Recomenda-se usar a carteira Etheretrum Little Fox para se registrar diretamente e fazer login com um clique, o que é mais conveniente (você também pode usar o Github ou o e-mail para se registrar).

3.2 Após se registrar e fazer login, você chegará à página inicial do projeto. Em seguida, você precisa criar um projeto de site.

3.3 Selecionamos o repositório Github recém-criado na segunda etapa e passamos para a próxima etapa.

3.4 Selecionamos IPFS na opção Serviços de hospedagem e selecionamos Cointinue para prosseguir para a próxima etapa.

3.5 Selecione o site que você acabou de criar e entre na página de configuração detalhada.

3.6 Agora que o site foi implantado em IPFS, a ferramenta Fleek associou cuidadosamente um nome de domínio mapeado, conforme mostrado na figura.

3.7 Em seguida, vincule o nome de domínio ENS, selecione "Configuração" e encontre "ENS".

3.8 Role para baixo até “Adicionar ENS”.

3.9 Insira o nome de domínio do ENS.

3.10 Entre na interface a seguir e clique novamente no endereço ENS que você acabou de inserir. E selecione "Definir hash de conteúdo" e, finalmente, pague uma taxa de gás para concluir a vinculação.

3.11 Neste momento, vemos que o nome de domínio ENS que antes era cinza ficou azul e a ligação foi bem-sucedida.

3.12 Para navegadores que suportam nomes de domínio descentralizados, como Brave, Little Fox Wallet Mobile APP, etc., você pode inserir diretamente ENS como yyzfish.eth que defini aqui para acessar diretamente o Dweb implantado. Para navegadores Web2, ENS também tem compatibilidade. soluções, você pode acessar diretamente https://yyzfish.eth.link/.

Algumas reflexões durante o processo de construção de um site

Depois de passar por esse processo, percebi algumas das vantagens e desvantagens dos sites descentralizados em comparação aos sites tradicionais.

Vantagem

Baixo custo e estável

As páginas Web2 tradicionais precisam ser implantadas no servidor, o que não só requer manutenção, mas também os custos aumentam com o número de usuários. No entanto, através do processo de implantação para Web3 neste artigo, não é difícil descobrir que o custo. de implantar no IFPS é extremamente barato (atualmente gratuito). E independentemente do número de usuários, o custo não mudará.

Uma narrativa Web3 mais completa

No início, era difícil implantar um projeto completo (front-end + contrato inteligente) em uma rede como a Ethereum ao mesmo tempo devido ao alto nível de gás na cadeia. Agora, com o aprimoramento do protocolo de rede IPFS, a enorme página interativa front-end também possui sua própria rede descentralizada dedicada. Isto é narrativamente consistente com a ideia da verdadeira “descentralização”. Atualmente, os principais protocolos DeFi, como Uniswap e 1inch, foram implantados em redes descentralizadas. No futuro, a implantação completa em redes descentralizadas pode se tornar um recurso padrão dos projetos Web3.

legal pessoalmente

Os nomes de domínio ENS são muito populares nas redes sociais (como o Twitter). Muitos KOLs têm o apelido xxx.eth. Com base nisso, eles estenderam ainda mais seus blogs para a rede IPFS e usaram o nome de domínio ENS como entrada. ser uma coisa legal para os entusiastas da criptografia.

Anonimato e proteção de privacidade

Como o Dweb considerou totalmente a combinação de “descentralização” e “privacidade” no estágio inicial de design, ele é na verdade um pouco semelhante à rede Tor e possui características de não rastreabilidade e anonimato.

insuficiente

A compatibilidade com Web2 ainda precisa ser melhorada

Embora a ferramenta já suporte muitas estruturas convencionais, nem todas elas são suportadas. Estruturas web dinâmicas como PHP ainda não são suportadas. A compatibilidade geral precisa ser melhorada.

Não é amigável para usuários domésticos

Como o número atual de nós IPFS está longe de atingir o número planejado no white paper (roteiro), existem alguns obstáculos ao acesso doméstico do Dweb.

Espero ver soluções mais completas e iterações tecnológicas no futuro.