top of page

introdução

OP Mainnet Guides

Onde devo começar?
Se você é totalmente novo na Mainnet da OP, recomendamos dar uma olhada no guia para implantar um contrato básico. Ele lhe familiarizará com as etapas essenciais necessárias para implantar um contrato na rede. Felizmente, a Mainnet da OP é equivalente à EVM, então é 100% igual a criar um contrato na rede Ethereum. Se você já tem um pouco mais de familiaridade com a OP e Ethereum, pode experimentar um dos vários tutoriais feitos pela comunidade da Optimism. Eles lhe ajudarão a dar um pontapé inicial ao criar seu primeiro projeto optimista. Se você precisar de ETH de testnet, pode usar nosso Superchain Faucet ou verificar outras opções de network faucets.


Guias
Os guias fornecem diretrizes de integração para tópicos específicos. Eles são pontos de referência e devem conter todas as informações relevante que você precisa para concluir um tipo específico de integração, desde informações de rede e tutoriais até dicas e truques. Estamos buscando manter guias para muitas das interações comuns que os desenvolvedores podem ter com a Mainnet da OP. Por exemplo, temos guias para adicionar suporte à Mainnet da OP a uma carteira ou a uma corretora. Também temos guias para colocar seu token na bridge padrão ou até mesmo escrever sua própria bridge personalizada


Quer adicionar um guia específico?
Estamos deixando passar algum caso de uso importante? Adoraríamos ouvir de você em um problema do GitHub ou no Discord.

Criando um NFT na Mainnet da OP

O ecossistema de NFT da Mainnet da OP.

Essas ferramentas estão disponíveis na Mainnet da OP:

 

 

Ferramentas do criador

  • NiftyKit

  • nft-inator

  • Zero Code NFT

  • Unlock (NFTs vinculados ao tempo para associação)

  • ThirdWeb 

 
APIs de dados de NFT

  • Alchemy

  • SimpleHash

  • QuickNode

  • Reservoir

  • NFTScan
     

Mercados

  • Quix

  • OpenSea

  • Tofu

  • OptiMarket

  • Circular Art
     

Agregadores

  • Bluesweep


Liquidez de NFT

  • Backed permite que você use NFTs como garantia

Testando em Redes de Teste da Optimism  

Você pode encontrar o chainID e informações de suporte para OP Goerli, nossa rede de testes, usando esses endpoints. Para obter ETH e tokens de faucets, consulte aqui. Esta página mostra algumas utilidades de teste adicionais.

 

Tokens ERC-20

Temos vários contratos de token de teste ERC-20. Este token é uma implementação do ERC-20, com a adição de um faucet, uma função que emite 1000 tokens para o chamador para facilitar os testes.

Além disso, tanto a Mainnet da OP quanto o OP Goerli têm WETH no endereço:

 

0x4200000000000000000000000000000000000006

 

 

 

 

A ponte

O token OUTb é suportado pela ponte em Goerli.

Veja este tutorial para saber como usá-lo.

 

Tokens ERC-721

Temos um token ERC-721 em Goerli no endereço 0x38abA480f2bA7A17bC01EE5E1AD64fCedd93EfE7. É o contrato de token ERC-721 da OpenZeppelin com a adição de um faucet. Basta chamar a função faucet para obter quantos tokens NFT você precisar.

Suportando a Mainnet da OP em sua carteira

Este guia é destinado a desenvolvedores de carteiras que desejam oferecer aos seus usuários a capacidade de enviar transações na Mainnet da OP (a maioria das outras chains OP Stack se comporta de maneira semelhante). A Mainnet da OP geralmente se comporta como qualquer outra chain baseada na EVM, com exceção de pequenas discrepâncias relacionadas às taxas de transação. Essas discrepâncias de taxa são um resultado inerente do fato de que a Mainnet da OP é uma rede blockchain de Camada 2 que deve publicar dados de transação na Ethereum.

 

Conexão com a Mainnet da OP

A Mainnet da OP compartilha a API Ethereum JSON-RPC com apenas algumas diferenças pequenas. Você encontrará todas as informações importantes sobre a Mainnet da OP, bem como quaisquer redes de teste, em nossa página de Redes. Você pode optar por se conectar à Mainnet da OP por meio de nossos endpoints públicos "rate-limited", endpoints de provedores de infraestrutura ou executando seu próprio nó. Devido aos limites de throughput, recomendamos o uso de provedores de nós privados ou a execução de seu próprio nó para aplicações de produção.

 

Endereços de token canônico

O endereço do contrato ERC-20 para um token na Mainnet da OP pode ser diferente do endereço para o mesmo token na Ethereum. A Optimism mantém uma lista de tokens. Você pode ver a mesma lista com uma interface melhor aqui. Por exemplo, olhando para o token SNX, a lista de tokens da Superchain retorna os seguintes endereços:

 

Status da transação

Uma transação na Mainnet da OP pode estar em dois estados:

  1. Sequencer Confirmado: A transação foi aceita pelo sequenciador na Mainnet da OP (L2)

  2. Confirmado na Cadeia: A transação foi gravada no Ethereum (L1)

Ainda estamos trabalhando nas ferramentas para detectar facilmente quando uma determinada transação foi publicada na Ethereum. Por enquanto, recomendamos que as carteiras considerem as transações como finais depois de serem "Sequencer Confirmadas". As transações são consideradas "Sequencer Confirmadas" assim que o recibo da transação mostra pelo menos uma confirmação.

Taxas de transação

Na Mainnet da OP, as taxas de transação incluem tanto uma taxa de dados L1 quanto uma taxa de execução L2. Para exibir o custo estimado total de uma transação recomendamos que você use o SDK. Recomendamos fortemente a exibição de taxas na Mainnet da OP (e qualquer outra cadeia OP Stack que use o mesmo mecanismo) como uma única taxa unificada para minimizar a confusão do usuário. No Bedrock, oferecemos suporte ao EIP 155. Portanto, a taxa de execução L2 é composta por dois componentes: uma taxa base fixa (por bloco) e uma taxa de prioridade selecionada pelo usuário.

 

Taxa base

Os parâmetros do EIP 1559 têm valores diferentes na Mainnet da OP (e em muitas outras cadeias OP Stack) do que na L1 Ethereum. Como resultado, em cada bloco, a taxa base pode variar entre 98% e 110% do valor anterior. Como os blocos são produzidos a cada dois segundos, a taxa base pode variar entre 54% e 1.745% do valor um minuto antes. Se o usuário demorar catorze segundos para aprovar a transação na carteira, a taxa base pode quase dobrar nesse tempo. A taxa base especificada na transação não é necessariamente a taxa base que o usuário pagará, é apenas um limite superior para esse valor. Na maioria dos casos, faz sentido especificar uma taxa base muito mais alta do que o valor atual, para garantir a aceitação. Por exemplo, enquanto escrevo isso, o ETH está cerca de $2000, e um centavo é cerca de 5000 gwei. Supondo que 20% de um centavo seja uma taxa base aceitável para uma transação, e que a transação seja grande, com 5.000.000 de gas (no tamanho do bloco-alvo), isso nos dá uma taxa base de 200.000 wei. Esse seria o valor a ser colocado na transação, mesmo que a taxa base da L2 (enquanto escrevo isso) seja de 2.420 wei.

Você pode obter a taxa base L2 atual no painel de rastreamento de gas.

 

Taxa de prioridade

Ao contrário da taxa base, a taxa de prioridade na transação é o valor que o usuário paga e, portanto, faz sentido mantê-la o mais baixa possível. Se você já tem código de estimativa que usa para a L1 Ethereum, pode simplesmente usar esse código. Observe que na Mainnet da OP, a taxa de prioridade costuma ser muito baixa. Enquanto escrevo isso, uma taxa de prioridade de 500 wei é suficiente para obter os valores atuais.

 

Envio de ETH "máximo"

Muitas carteiras permitem que os usuários enviem a quantidade máxima de ETH disponível no saldo do usuário. Claro, isso requer que a taxa prevista para a transação de envio seja deduzida do saldo ETH enviado. Você DEVE deduzir tanto a taxa de execução L2 quanto a taxa de dados L1, ou a taxa cobrada mais o saldo enviado excederá o saldo do usuário e a transação falhará.

 

Exibindo os preços do gas

Se você deseja exibir os preços atuais do gas, pode usar eth_gasPrice.

Adding OP Mainnet to your centralized exchange

Conexão com a Mainnet da OP

Você se conecta à Mainnet da OP da mesma maneira que se conecta ao Ethereum, conectando-se a um ponto de extremidade JSON RPC.

 

Endpoints

Clique aqui para os endpoints da Mainnet da OP. Você pode escolher entre nossos endpoints públicos, que têm limitação de taxa, e endpoints de provedores de infraestrutura. Dadas as limitações de taxa de throughput, recomendamos o uso de um provedor privado de RPC para casos de uso na mainnet e testnet.

 

Saldo de ETH

O ETH é usado precisamente da mesma forma que é usado na L1 Ethereum.

 

Endereços de token

O endereço do contrato ERC-20 para um token na Mainnet da OP pode ser diferente do endereço para o mesmo token na Ethereum. A lista de tokens pode ser consultada aqui. Por exemplo, ao olhar para o token SNX, obtemos esses endereços:

 

Para obter o saldo total de SNX de um usuário que usa a Mainnet da OP, você precisa:

  1. Conectar-se a um endpoint Ethereum padrão e enviar uma consulta de saldo para o endereço 0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f.

  2. Conectar-se a um endpoint da Mainnet da OP e enviar uma consulta de saldo para o endereço 0x8700daec35af8ff88c16bdf0418774cb3d7599b4.

 

Depósitos e retiradas na Mainnet da OP

Os contratos ERC-20 na Mainnet da OP funcionam da mesma forma que na Ethereum, portanto, você pode usar seu código existente para retiradas e depósitos. Basta conectar-se a um ponto de extremidade da Mainnet da OP.

 

Taxas de transação

A maior parte do custo de uma transação na Mainnet da OP não é o gas consumido pela própria transação (que raramente ultrapassa 0,001 gwei por gas), mas o custo de gravar a transação na Ethereum. Esse custo é deduzido automaticamente do saldo do usuário na Mainnet da OP. Se você cobrar dos seus usuários o custo das retiradas, precisará fazer um cálculo para isso. Você pode ler mais sobre este assunto aqui. O código relevante está aqui.

 

Depósitos e retiradas entre cadeias

Como uma corretora centralizada, haverá momentos em que as retiradas de ETH ou de um token ERC-20 na Mainnet da OP ou na Ethereum excederão os depósitos e você precisará transferir ativos. Para fazer isso, você deve usar uma ponte ou um gateway. Temos um gateway padrão que recebe ativos na L1 (Ethereum mainnet) e emite o ativo equivalente na Mainnet da OP.

 

Quando um usuário deseja retirar os ativos de volta para a L1, a ponte queima o ativo na L2 e o libera para o usuário na L1. Se você deseja usar esse gateway automaticamente, siga este tutorial para ETH ou este para tokens ERC-20. Observe que enquanto as transações da L1 para L2 geralmente levam minutos, as transações da L2 para L1 no gateway requerem um período de desafio de sete dias. Alternativamente, você pode usar uma ponte de terceiros. Essas pontes geralmente dependem de pools de liquidez para permitir retiradas mais rápidas e suportam várias cadeias L2. No entanto, a seleção de tokens deles pode ser mais limitada e eles podem não ser tão descentralizados quanto o nosso gateway. Quando um token ERC-20 não tem um equivalente na Mainnet da OP, você pode criar um. Se não houver necessidade de lógica de negócios personalizada, você pode seguir as etapas neste tutorial. Se precisar implementar algum tipo de lógica personalizada, consulte este tutorial.

 

Relatórios de auditoria

Para obter uma lista completa de relatórios de auditoria, visite o GitHub.

Adicionando uma ponte personalizada à Mainnet da OP

Considere usar a ponte padrão primeiro antes de decidir desenvolver uma solução de ponte personalizada. Na ponte padrão, quando o ERC20 é depositado na L1 e transferido para o contrato da ponte, ele permanece "trancado" lá enquanto a quantidade equivalente é criada no token da L2. Para retiradas, o oposto acontece, a quantidade do token da L2 é queimada e a mesma quantidade de tokens da L1 é transferida para o destinatário. Essa implementação atende a uma ampla gama de requisitos.

 

Construindo uma ponte personalizada

Quando a ponte padrão da Mainnet da OP não atende aos seus requisitos para a transferência de ativos ou dados, você pode implantar sua solução de ponte personalizada utilizando a mesma infraestrutura de mensagens entre domínios que a ponte padrão. Para obter detalhes sobre como funciona a mensagens entre domínios, consulte o artigo Princípios básicos de transferência e também o tutorial sobre depósitos e retiradas entre L1 e L2.

Algumas das razões pelas quais a ponte padrão pode não funcionar para você incluem, por exemplo, quando você não pode limitar as funções de criação e queima de tokens L2 apenas para a ponte (algo que exigimos por motivos de segurança). Além disso, algumas pontes personalizadas implementam sua própria lógica para gerenciar o fornecimento de tokens, o que requer lógica personalizada.

 

Outro caso pode ser quando você está transferindo tokens não-ERC20, como NFTs ou quando você está agrupando depósitos para transferências mais baratas para a L2. Observe que, ao construir uma ponte personalizada para tokens ERC20 e planejar adicioná-los à lista de tokens da Superchain, temos requisitos específicos para os contratos de ponte. Eles devem implementar a interface IL1ERC20Bridge no contrato de ponte da L1 e a interface IL2ERC20Bridge no contrato de ponte da L2. Isso garante que a interface de usuário da Ponte Mainnet da OP possa suportar depósitos e retiradas de tokens por meio desta ponte personalizada. Para adicionar sua ponte e token à lista de tokens, você deve fazer uma solicitação pull contra o repositório da lista de tokens da Superchain. Devido à complexidade de revisar uma ponte personalizada, você precisará implantá-la primeiro na OP Goerli, antes de ir para a produção

Captura de Tela 2023-09-18 às 22.03.26.png
Captura de Tela 2023-09-18 às 22.04.51.png
Captura de Tela 2023-09-18 às 22.05.29.png
Captura de Tela 2023-09-18 às 22.06.02.png

©2023 por Optimism em Português. 

bottom of page