A implantação do contrato Era atualmente só pode ser realizada através da linha de comando, o que é um pouco complicado.

Depois de alguma exploração, eu estava basicamente familiarizado com a situação. Aqui, ajudaremos você a resolver o processo completo de implantação e verificação e tomaremos a implantação do contrato mais simples como exemplo para facilitar o início de todos.

etapa:

1. Preparação do ambiente

2. Preparação do código do contrato

3. Implantar contrato de verificação

Conjunto ambiental de três peças

Consulte a documentação oficial da Era para instalar o conjunto de ambiente de três peças:

O ambiente de computador de todos para Node, NVM e Yarn é complexo. Se você encontrar um erro, você mesmo pode pesquisar no Google ou fazer perguntas ao ChatGPT:

https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#prerequisites

Inicialização e instalação do SDK

Continue consultando a documentação oficial e proceda da seguinte forma:

1. Crie uma nova pasta exclusiva (comando mk & cd)

2. Inicialize o ambiente (comando Yarn init -y)

3. Instale o SDK e as dependências (comando Yarn Add)

arquivo de configuração de configuração

Crie o arquivo hardhat.config.ts no diretório atual. O código que utilizo é o seguinte (você pode copiá-lo completamente no ALT da imagem) Observação: pode ser necessário instalar o pacote zksolc mais uma vez (é assim). Resolvi o erro ao compilar). Se você modificar a versão do zksolc, como mudar para a versão oficial recomendada 1.3.10, também será baixado automaticamente uma vez.

Aqui você precisa do seu ambiente de linha de comando para poder acessar a rede externa normalmente! Por exemplo, ative o “modo avançado” do Surge

Contrato inteligente minimalista

P: Qual é a aparência do contrato inteligente mais simples?

Resposta: Um contrato que contém apenas o nome do contrato e nada mais. Por exemplo, o contrato na captura de tela define apenas a versão e o nome do contrato, mas é de fato um contrato inteligente legal (você pode copiar o código da imagem ALT).

Três etapas:

1. Crie uma nova pasta de contrato (implantação de contratos mkdir)

2. Edite o arquivo do contrato (mini.sol)

3. Compile o contrato

Compilar contrato

Em teoria, a compilação deveria ser muito simples, exigindo apenas um comando para fazer uma captura de tela. Mas, na verdade, a probabilidade de reportar erros aqui é extremamente alta.

Se um erro for relatado, você pode verificar os dois locais a seguir:

1. Se o ambiente de linha de comando pode acessar a rede externa (método de detecção: curl http://google.com)

2. Reinstale o zksolc e tente novamente (https://twitter.com/gm365/status/1644303144518848512…)

Se tudo correr bem, a compilação foi bem-sucedida conforme mostrado na figura.

Implantar contrato

Existem duas etapas para implantar um contrato:

1. Crie o arquivo deploy/deploy.ts e modifique-o

2. O comando `yarn hardhat deploy-zksync` implanta o contrato

Modifiquei o arquivo deploy.ts, você pode copiar o código do ALT. Observe os dois locais marcados com ❗️ na imagem, que você precisa modificar de acordo com a situação.

1. Implante a chave privada da carteira EOA do contrato.

2. O nome do contrato que você definiu na etapa anterior (WTF aqui).

Execute o comando de implantação. Se tudo correr bem, você verá o endereço do contrato após a implantação bem-sucedida em cerca de dez segundos.

Verifique o código-fonte do contrato

Após a conclusão da implantação, você também pode optar por abrir o código-fonte do seu código de contrato, verificando-o no navegador blockchain.

Depois de encontrar o endereço do seu contrato:

1. Versão Zksolc: Aqui está 1.3.5 (selecione de acordo com suas configurações reais)

2. Versão Solc: Esta é 0.8.17 (item de configuração no arquivo hardhat.config.ts)

3. Nome do contrato (WTF aqui)

4. Código do contrato (copiar e colar)

Resumir

Se tudo correr bem, parabéns por concluir a implantação do seu primeiro contrato inteligente na cadeia Era.

Depois de aprender essa habilidade básica, será fácil implantar contratos mais complexos no futuro.

Como escrevemos o contrato mais simples, o custo de implantação desse contrato também é extremamente baixo (gastei US$ 0,21 no teste aqui).

Além disso, aqui estão alguns recursos que podem ser úteis:

1. Documentação oficial: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…

2. Tutorial de terceiros: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…

3. Uma introdução à implantação do contrato Era que escrevi antes: https://twitter.com/gm365/status/1644299731236171778…

digressão

zkSync não é totalmente compatível com EVM e seus diferentes mecanismos para implantação de contratos tornam impossível usar Remix e outros métodos para operar diretamente o contrato de implantação na página da web (o ThirdWeb também não consegue concluir a implantação no momento, embora seja mostrado no site que pode ser implantado no Era através de seu contrato modelo, mas na verdade não é possível, eles só admitiram em DC).

Espero que a equipe zkSync continue trabalhando duro para facilitar a implantação de contratos no futuro.