Урок 4

Contrato inteligente

Este módulo fornece uma visão técnica detalhada do zkSync, com foco na escrita e implantação de contratos inteligentes, usando 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.

Argumentos sucintos de conhecimento não interativos à prova de conhecimento zero (zk-SNARKs) são usados para verificar a correção de cálculos off-chain. No zkSync, 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 mainnet 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.

O zkSync Era também integra o zkPorter, uma solução de disponibilidade de dados que aumenta 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 Ethereum.

Escrevendo e implantando contratos inteligentes

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

Implantando Contratos Inteligentes

1.Configurar Ambiente de Desenvolvimento:

  • Instale Node.js e npm (Gerenciador de Pacotes de Nó).
  • Instale o zkSyncecapacete de segurança pacotes via npm.
  • Inicialize um novo projeto Hardhat e configure-o para funcionar com zkSync.

2.Configuração:

Modificar o hardhat.config.js para incluir configurações específicas do zkSync, como as URLs de rede do zkSync e as opções do compilador específico do zkSync.

Exemplo de configuração pode se parecer com:

3.Compilar os Contratos Inteligentes:

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

4.Implantando Contrato Inteligente:

O processo de implantação envolve conectar-se ao provedor zkSync, criar uma instância de carteira e usá-la para implantar o contrato. Exemplo de script de implantação:

Ferramentas de Desenvolvimento Disponíveis

Capacete

Hardhat é um ambiente de desenvolvimento e executor de tarefas para Ethereum que foi estendido para suportar zkSync. Ele permite que os desenvolvedores compilem, implementem, testem e depurem contratos inteligentes Solidity.

SDK zkSync

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

zkSync CLI

A interface de linha de comando (CLI) do zkSync oferece funcionalidades para gerenciar projetos zkSync, incluindo implantação de contratos e gerenciamento de contas.

Remix IDE

Remix é um aplicativo de código aberto para web e desktop que ajuda a escrever contratos Solidity diretamente do navegador. Ele suporta zkSync através de plugins e configurações que o conectam à rede zkSync.

Integração

As ferramentas de desenvolvimento se integram para fornecer um ambiente coeso para desenvolver, testar e implementar contratos inteligentes no zkSync.

SDK do Hardhat e do zkSync

O Hardhat integra-se ao SDK zkSync para fornecer um fluxo de trabalho suave para os desenvolvedores. 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. Essa combinação permite que os desenvolvedores escrevam scripts de implementação e testes usando construções familiares do Hardhat, aproveitando os recursos específicos do zkSync.

Hardhat e Remix

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

CLI do zkSync

O CLI zkSync pode ser usado ao lado do Hardhat e do SDK zkSync para gerenciar implantações e interagir com contratos implantados. Ele fornece uma interface de linha de comando para tarefas comuns, como implantar contratos ou gerenciar chaves de conta, que podem ser integradas em pipelines de implantação automatizados.

Testando e depurando

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 como esperado. O SDK zkSync facilita a interação com os contratos durante os testes, permitindo uma cobertura de teste abrangente.

Ao integrar essas ferramentas, os desenvolvedores podem escrever, testar, implantar e gerenciar de forma eficiente contratos inteligentes no zkSync, usando a escalabilidade e eficiência de custos dos zkRollups, mantendo uma experiência de desenvolvimento familiar. Essa integração suporta um ciclo de vida de desenvolvimento sólido, 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 zkSync CLI e SDK 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 de contrato inteligente seguro e eficiente no zkSync.
Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.
Каталог
Урок 4

Contrato inteligente

Este módulo fornece uma visão técnica detalhada do zkSync, com foco na escrita e implantação de contratos inteligentes, usando 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.

Argumentos sucintos de conhecimento não interativos à prova de conhecimento zero (zk-SNARKs) são usados para verificar a correção de cálculos off-chain. No zkSync, 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 mainnet 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.

O zkSync Era também integra o zkPorter, uma solução de disponibilidade de dados que aumenta 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 Ethereum.

Escrevendo e implantando contratos inteligentes

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

Implantando Contratos Inteligentes

1.Configurar Ambiente de Desenvolvimento:

  • Instale Node.js e npm (Gerenciador de Pacotes de Nó).
  • Instale o zkSyncecapacete de segurança pacotes via npm.
  • Inicialize um novo projeto Hardhat e configure-o para funcionar com zkSync.

2.Configuração:

Modificar o hardhat.config.js para incluir configurações específicas do zkSync, como as URLs de rede do zkSync e as opções do compilador específico do zkSync.

Exemplo de configuração pode se parecer com:

3.Compilar os Contratos Inteligentes:

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

4.Implantando Contrato Inteligente:

O processo de implantação envolve conectar-se ao provedor zkSync, criar uma instância de carteira e usá-la para implantar o contrato. Exemplo de script de implantação:

Ferramentas de Desenvolvimento Disponíveis

Capacete

Hardhat é um ambiente de desenvolvimento e executor de tarefas para Ethereum que foi estendido para suportar zkSync. Ele permite que os desenvolvedores compilem, implementem, testem e depurem contratos inteligentes Solidity.

SDK zkSync

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

zkSync CLI

A interface de linha de comando (CLI) do zkSync oferece funcionalidades para gerenciar projetos zkSync, incluindo implantação de contratos e gerenciamento de contas.

Remix IDE

Remix é um aplicativo de código aberto para web e desktop que ajuda a escrever contratos Solidity diretamente do navegador. Ele suporta zkSync através de plugins e configurações que o conectam à rede zkSync.

Integração

As ferramentas de desenvolvimento se integram para fornecer um ambiente coeso para desenvolver, testar e implementar contratos inteligentes no zkSync.

SDK do Hardhat e do zkSync

O Hardhat integra-se ao SDK zkSync para fornecer um fluxo de trabalho suave para os desenvolvedores. 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. Essa combinação permite que os desenvolvedores escrevam scripts de implementação e testes usando construções familiares do Hardhat, aproveitando os recursos específicos do zkSync.

Hardhat e Remix

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

CLI do zkSync

O CLI zkSync pode ser usado ao lado do Hardhat e do SDK zkSync para gerenciar implantações e interagir com contratos implantados. Ele fornece uma interface de linha de comando para tarefas comuns, como implantar contratos ou gerenciar chaves de conta, que podem ser integradas em pipelines de implantação automatizados.

Testando e depurando

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 como esperado. O SDK zkSync facilita a interação com os contratos durante os testes, permitindo uma cobertura de teste abrangente.

Ao integrar essas ferramentas, os desenvolvedores podem escrever, testar, implantar e gerenciar de forma eficiente contratos inteligentes no zkSync, usando a escalabilidade e eficiência de custos dos zkRollups, mantendo uma experiência de desenvolvimento familiar. Essa integração suporta um ciclo de vida de desenvolvimento sólido, 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 zkSync CLI e SDK 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 de contrato inteligente seguro e eficiente no zkSync.
Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.