Ir diretamente para o conteúdo principal

RPC da Camada X

Com o Quicknode, tem acesso à nossa rede global X Layer, que encaminha sempre os seus pedidos de API para a localização disponível mais próxima, garantindo uma baixa latência e as velocidades mais rápidas.

O que é o X Layer?

A X Layer é uma solução de Camada 2 do tipo rollup de conhecimento zero (zkRollup) para a Ethereum, desenvolvida com base na tecnologia zkEVM. Utiliza uma abordagem de provas híbridas — gerando provas STARK para a execução e, em seguida, envolvendo-as recursivamente numa prova SNARK para uma verificação eficiente na cadeia. Isto garante que as transações são matematicamente válidas, ao mesmo tempo que herdam a segurança da Ethereum.

Ao contrário dos rollups otimistas, a X Layer não requer períodos de desafio para os levantamentos, uma vez que as provas de validade proporcionam certeza criptográfica assim que são submetidas. A finalidade depende dos intervalos de submissão das provas — normalmente minutos, em vez de dias —, mas continua a ser mais rápida do que nos rollups otimistas. Os custos de transação são significativamente reduzidos em comparação com a rede principal da Ethereum, com poupanças resultantes do agrupamento de transações e da compressão dos calldata.

A X Layer alcança compatibilidade ao nível do bytecode com a Máquina Virtual Ethereum (EVM). Esta arquitetura zkEVM suporta quase todos os códigos de operação (opcodes) e pré-compilações da EVM, apresentando apenas diferenças menores em casos pontuais, como os custos de gás. Isto garante que a maioria dos contratos inteligentes e aplicações existentes da Ethereum possam ser implementados sem modificações, preservando uma ampla compatibilidade com o ambiente de execução, as ferramentas e o ecossistema de programadores da Ethereum, ao mesmo tempo que proporciona garantias de segurança de conhecimento zero.

Interagir com a Camada X

A X Layer suporta na íntegra a interface JSON-RPC padrão da Ethereum, ao mesmo tempo que oferece funcionalidades adicionais específicas da Camada 2. Isto garante uma compatibilidade total com as ferramentas existentes da Ethereum, permitindo que os programadores utilizem a X Layer de forma integrada com ferramentas como o MetaMask, o Hardhat, o Foundry e as bibliotecas Web3, sem necessidade de alterações no código.

Com a API X Layer, pode:

  • Executar todos os métodos JSON-RPC padrão da Ethereum (eth_call, eth_sendTransaction, eth_getBalance)
  • Aceder a métodos específicos da Camada X para operações de rollup (por exemplo, consultar o estado das provas e as interações com a ponte)
  • Consultar a atividade da ponte, os envios em lote e o estado da verificação das provas
  • Subscreva eventos L2 em tempo real através de ligações WebSocket
  • Utilize as ferramentas de rastreio e inspeção disponíveis para uma depuração mais aprofundada da blockchain

Pode ligar-se à API das seguintes formas:

  • Executar um nó local da Camada X
  • Utilizar um fornecedor de serviços alojados, como um ponto de acesso Quicknode X Layer, que proporciona acesso à Mainnet da X Layer com elevada fiabilidade, dados arquivados e desempenho melhorado

Redes compatíveis

A Quicknode disponibiliza acesso às seguintes redes da Camada X:

Rede principal
Tipo:Produção
ID da cadeia:
196
HTTP:
WSS:
Arquivo:Sim
Poda:Nenhuma
Rede de teste
Tipo:Rede de teste
ID da cadeia:
1952
HTTP:
WSS:
Arquivo:Sim
Poda:Nenhuma
Nota:

O XLayer utiliza uma regeneração por bloco 42,810,021. Os dados históricos anteriores a este bloco estão disponíveis, mas encontram-se armazenados em nós antigos e são encaminhados automaticamente quando se indica um número de bloco específico em métodos como eth_getBlockByNumber, eth_getBalance, e debug_trace*.

O próprio bloco 42 810 021 é impossível de localizar e pode ser devolvido {"code":4444,"message":"pruned history unavailable"}.

Requisitos do nó de transação

O X Layer utiliza dois clientes de nó diferentes , separados no limite da re-génese (bloco 42 810 021):

  • Bloco 42,810,021 e antes disso — Requer um cdk-Erigon nó. Os nós Geth devolvem null relativamente a estas transações históricas.
  • Após o bloco 42,810,021 — Requer um Geth nó. Os nós Erigon devolvem null para estas transações atuais.

Para consultar dados anteriores à regeneração, inclua o x-qn-height cabeçalho com o número do bloco de destino no seu pedido, para o encaminhar para o cdk-Erigon nó. Sem este cabeçalho, os pedidos são encaminhados por predefinição para o Geth nó, pelo que o cabeçalho não é necessário para os blocos posteriores à regeneração.

Exemplo anterior à Regénese (cdk-Erigon, bloco ≤ 42 810 021):

curl --location 'https://docs-demo.xlayer-mainnet.quiknode.pro/' \
--header 'Content-Type: application/json' \
--header 'x-qn-height: 42810020' \
--data '{"method":"eth_getBlockByNumber","params":["0x28D3AA4",false],"id":1,"jsonrpc":"2.0"}'

Exemplo pós-Regenesis (Geth, bloco > 42 810 021):

curl --location 'https://docs-demo.xlayer-mainnet.quiknode.pro/' \
--header 'Content-Type: application/json' \
--data '{"method":"eth_getBlockByNumber","params":["0x28D3AA6",false],"id":1,"jsonrpc":"2.0"}'
Partilhar este documento