Урок 4

Contrato inteligente

Este módulo fornece uma visão técnica aprofundada do zkSync, com foco na escrita e implementação de contratos inteligentes, utilizando o zkSync CLI e SDK, e integrando o zkSync com ambientes de desenvolvimento existentes.

Os contratos inteligentes no zkSync funcionam de forma semelhante aos do Ethereum, mas com escalabilidade e eficiência aprimoradas devido à tecnologia subjacente zkRollup. O zkSync usa provas de conhecimento zero para manter a segurança e a confiança ao processar transações off-chain.

Zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs) são usados para verificar a correção de cálculos off-chain. No zkSync, os zk-SNARKs garantem que todas as transações e execuções de contratos inteligentes são válidas sem a necessidade de realizar os cálculos na rede principal do Ethereum. Isso reduz a carga computacional e as taxas de gás associadas, permitindo maior throughput.

A Era zkSync, a última iteração, é totalmente compatível com a Máquina Virtual Ethereum (EVM). Isso significa que a maioria dos contratos inteligentes escritos para o Ethereum pode ser implantada no zkSync com pouca ou nenhuma modificação. A compatibilidade com a EVM garante que os desenvolvedores possam usar ferramentas e linguagens familiares (como Solidity) para escrever e implantar seus contratos.

A Era zkSync também integra o zkPorter, uma solução de disponibilidade de dados que melhora a escalabilidade. O zkPorter permite que certos dados sejam mantidos fora da cadeia, aumentando significativamente o número de transações que podem ser processadas sem congestionar a mainnet do Ethereum.

Escrever e Implementar Contratos Inteligentes

Os contratos inteligentes para zkSync são escritos em Solidity, a mesma linguagem usada para os contratos inteligentes do Ethereum. Os desenvolvedores podem usar a mesma sintaxe e estruturas lógicas às quais estão habituados, tornando a transição para zkSync muito direta.

Implementação de Contratos Inteligentes

1.Configurar Ambiente de Desenvolvimento:

  • Instalar o Node.js e o npm (Node Package Manager).
  • Instale a seringa zkSyncecapacete de segurançapacotes via npm.
  • Inicializar um novo projeto Hardhat e configurá-lo para funcionar com zkSync.

2.Configuração:

Modificar o hardhat.config.jsficheiro para incluir definições específicas do zkSync, como os URLs da rede zkSync e as opções de compilador específicas do zkSync.

Um exemplo de configuração pode parecer-se com:

3.Compile os contratos inteligentes:

Usando o framework Hardhat, é possível compilar contratos Solidity. O plugin Hardhat zkSync garante que a compilação seja compatível com a rede zkSync.

4.Implantação de Contratos Inteligentes:

O processo de implementação envolve a ligação ao fornecedor zkSync, a criação de uma instância de carteira e a sua utilização para implementar o contrato. Exemplo de script de implementação:

Ferramentas de desenvolvimento disponíveis

Hardhat

Hardhat é um ambiente de desenvolvimento e executor de tarefas para Ethereum que foi expandido para suportar zkSync. Permite aos desenvolvedores compilar, implementar, testar e depurar contratos inteligentes Solidity.

SDK zkSync

O SDK zkSync fornece ferramentas e bibliotecas para interagir com o zkSync a partir de um ambiente JavaScript. Inclui utilitários para configurar carteiras, enviar transações e interagir com contratos inteligentes implementados no zkSync.

zkSync CLI

A interface de linha de comando (CLI) do zkSync oferece funcionalidades para gerir projetos zkSync, incluindo implementar contratos e gerir contas.

Remix IDE

O Remix é uma aplicação web e de desktop de código aberto que ajuda a escrever contratos Solidity diretamente a partir do navegador. Suporta o zkSync através de plugins e configurações que o ligam à rede zkSync.

Integração

As ferramentas de desenvolvimento integram-se para proporcionar um ambiente coeso para o desenvolvimento, teste e implementação de contratos inteligentes no zkSync.

SDK do Hardhat e zkSync

O Hardhat integra-se com o SDK zkSync para fornecer um fluxo de trabalho suave para os programadores. Os plugins do Hardhat para zkSync lidam com os processos de compilação e implementação, enquanto o SDK zkSync fornece a funcionalidade subjacente para interagir com a rede zkSync. Esta combinação permite aos programadores escrever scripts de implementação e testes usando construções familiares do Hardhat, enquanto aproveitam as funcionalidades específicas do zkSync.

Hardhat e Remix

Os desenvolvedores podem escrever e testar contratos inteligentes usando o Remix e depois usar o Hardhat para cenários de implementação mais complexos. Os artefatos compilados do Remix podem ser facilmente importados para um projeto Hardhat, permitindo fluxos de trabalho de desenvolvimento flexíveis.

zkSync CLI

O CLI zkSync pode ser utilizado juntamente com o Hardhat e o SDK zkSync para gerir implementações e interagir com contratos implementados. Ele fornece uma interface de linha de comandos para tarefas comuns, como implementar contratos ou gerir chaves de conta, que podem ser integradas em pipelines de implementação automatizados.

Teste e Depuração

O framework de teste do Hardhat pode ser usado para escrever testes unitários e de integração para contratos inteligentes. Esses testes podem ser executados em um nó zkSync local ou em uma testnet para garantir que os contratos se comportem conforme o esperado. O SDK zkSync facilita a interação com os contratos durante os testes, permitindo uma cobertura abrangente dos testes.

Ao integrar essas ferramentas, os desenvolvedores podem escrever, testar, implantar e gerenciar contratos inteligentes no zkSync de forma eficiente, usando a escalabilidade e a eficiência de custos do zkRollups, mantendo uma experiência de desenvolvimento familiar. Essa integração suporta um forte ciclo de vida de desenvolvimento, desde a criação inicial do contrato até a implantação e manutenção contínua.

Destaques

  • Escrever e implantar contratos inteligentes no zkSync envolve o uso do Solidity e do Vyper, com compilação por meio de compiladores zkSync personalizados.
  • O CLI e SDK zkSync fornecem ferramentas abrangentes para configuração de projetos, compilação de contratos, implantação e interação.
  • A integração com ferramentas de desenvolvimento como Hardhat, Foundry, Remix e Atlas melhora a experiência do desenvolvedor.
  • Seguir as melhores práticas garante um desenvolvimento seguro e eficiente de contratos inteligentes no zkSync.
Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.
Каталог
Урок 4

Contrato inteligente

Este módulo fornece uma visão técnica aprofundada do zkSync, com foco na escrita e implementação de contratos inteligentes, utilizando o zkSync CLI e SDK, e integrando o zkSync com ambientes de desenvolvimento existentes.

Os contratos inteligentes no zkSync funcionam de forma semelhante aos do Ethereum, mas com escalabilidade e eficiência aprimoradas devido à tecnologia subjacente zkRollup. O zkSync usa provas de conhecimento zero para manter a segurança e a confiança ao processar transações off-chain.

Zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs) são usados para verificar a correção de cálculos off-chain. No zkSync, os zk-SNARKs garantem que todas as transações e execuções de contratos inteligentes são válidas sem a necessidade de realizar os cálculos na rede principal do Ethereum. Isso reduz a carga computacional e as taxas de gás associadas, permitindo maior throughput.

A Era zkSync, a última iteração, é totalmente compatível com a Máquina Virtual Ethereum (EVM). Isso significa que a maioria dos contratos inteligentes escritos para o Ethereum pode ser implantada no zkSync com pouca ou nenhuma modificação. A compatibilidade com a EVM garante que os desenvolvedores possam usar ferramentas e linguagens familiares (como Solidity) para escrever e implantar seus contratos.

A Era zkSync também integra o zkPorter, uma solução de disponibilidade de dados que melhora a escalabilidade. O zkPorter permite que certos dados sejam mantidos fora da cadeia, aumentando significativamente o número de transações que podem ser processadas sem congestionar a mainnet do Ethereum.

Escrever e Implementar Contratos Inteligentes

Os contratos inteligentes para zkSync são escritos em Solidity, a mesma linguagem usada para os contratos inteligentes do Ethereum. Os desenvolvedores podem usar a mesma sintaxe e estruturas lógicas às quais estão habituados, tornando a transição para zkSync muito direta.

Implementação de Contratos Inteligentes

1.Configurar Ambiente de Desenvolvimento:

  • Instalar o Node.js e o npm (Node Package Manager).
  • Instale a seringa zkSyncecapacete de segurançapacotes via npm.
  • Inicializar um novo projeto Hardhat e configurá-lo para funcionar com zkSync.

2.Configuração:

Modificar o hardhat.config.jsficheiro para incluir definições específicas do zkSync, como os URLs da rede zkSync e as opções de compilador específicas do zkSync.

Um exemplo de configuração pode parecer-se com:

3.Compile os contratos inteligentes:

Usando o framework Hardhat, é possível compilar contratos Solidity. O plugin Hardhat zkSync garante que a compilação seja compatível com a rede zkSync.

4.Implantação de Contratos Inteligentes:

O processo de implementação envolve a ligação ao fornecedor zkSync, a criação de uma instância de carteira e a sua utilização para implementar o contrato. Exemplo de script de implementação:

Ferramentas de desenvolvimento disponíveis

Hardhat

Hardhat é um ambiente de desenvolvimento e executor de tarefas para Ethereum que foi expandido para suportar zkSync. Permite aos desenvolvedores compilar, implementar, testar e depurar contratos inteligentes Solidity.

SDK zkSync

O SDK zkSync fornece ferramentas e bibliotecas para interagir com o zkSync a partir de um ambiente JavaScript. Inclui utilitários para configurar carteiras, enviar transações e interagir com contratos inteligentes implementados no zkSync.

zkSync CLI

A interface de linha de comando (CLI) do zkSync oferece funcionalidades para gerir projetos zkSync, incluindo implementar contratos e gerir contas.

Remix IDE

O Remix é uma aplicação web e de desktop de código aberto que ajuda a escrever contratos Solidity diretamente a partir do navegador. Suporta o zkSync através de plugins e configurações que o ligam à rede zkSync.

Integração

As ferramentas de desenvolvimento integram-se para proporcionar um ambiente coeso para o desenvolvimento, teste e implementação de contratos inteligentes no zkSync.

SDK do Hardhat e zkSync

O Hardhat integra-se com o SDK zkSync para fornecer um fluxo de trabalho suave para os programadores. Os plugins do Hardhat para zkSync lidam com os processos de compilação e implementação, enquanto o SDK zkSync fornece a funcionalidade subjacente para interagir com a rede zkSync. Esta combinação permite aos programadores escrever scripts de implementação e testes usando construções familiares do Hardhat, enquanto aproveitam as funcionalidades específicas do zkSync.

Hardhat e Remix

Os desenvolvedores podem escrever e testar contratos inteligentes usando o Remix e depois usar o Hardhat para cenários de implementação mais complexos. Os artefatos compilados do Remix podem ser facilmente importados para um projeto Hardhat, permitindo fluxos de trabalho de desenvolvimento flexíveis.

zkSync CLI

O CLI zkSync pode ser utilizado juntamente com o Hardhat e o SDK zkSync para gerir implementações e interagir com contratos implementados. Ele fornece uma interface de linha de comandos para tarefas comuns, como implementar contratos ou gerir chaves de conta, que podem ser integradas em pipelines de implementação automatizados.

Teste e Depuração

O framework de teste do Hardhat pode ser usado para escrever testes unitários e de integração para contratos inteligentes. Esses testes podem ser executados em um nó zkSync local ou em uma testnet para garantir que os contratos se comportem conforme o esperado. O SDK zkSync facilita a interação com os contratos durante os testes, permitindo uma cobertura abrangente dos testes.

Ao integrar essas ferramentas, os desenvolvedores podem escrever, testar, implantar e gerenciar contratos inteligentes no zkSync de forma eficiente, usando a escalabilidade e a eficiência de custos do zkRollups, mantendo uma experiência de desenvolvimento familiar. Essa integração suporta um forte ciclo de vida de desenvolvimento, desde a criação inicial do contrato até a implantação e manutenção contínua.

Destaques

  • Escrever e implantar contratos inteligentes no zkSync envolve o uso do Solidity e do Vyper, com compilação por meio de compiladores zkSync personalizados.
  • O CLI e SDK zkSync fornecem ferramentas abrangentes para configuração de projetos, compilação de contratos, implantação e interação.
  • A integração com ferramentas de desenvolvimento como Hardhat, Foundry, Remix e Atlas melhora a experiência do desenvolvedor.
  • Seguir as melhores práticas garante um desenvolvimento seguro e eficiente de contratos inteligentes no zkSync.
Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.