Máquina Oracle Chainlink: a ponte que conecta Blockchain ao mundo real

robot
Geração de resumo em curso

Máquina Oracle técnica detalhada: o caso do Chainlink

Máquina Oracle é a infraestrutura fundamental que conecta contratos inteligentes ao mundo exterior no campo da blockchain. Ela atua como um sistema de middleware, capaz de fornecer informações de dados externos para contratos inteligentes na cadeia. A função principal da Máquina Oracle é entregar dados para contratos inteligentes na blockchain.

Máquina Oracle详解系列之 Chainlink(上)

Por exemplo, suponha que implantemos um contrato inteligente na rede Ethereum que precisa obter dados sobre o volume de negociações de petróleo bruto em uma data específica. Como o contrato inteligente em si não pode acessar diretamente dados do mundo real fora da cadeia, é necessário recorrer à Máquina Oracle para isso. O fluxo específico é: o contrato inteligente primeiro registra a necessidade de dados sobre o volume de negociações de petróleo bruto na data necessária no registro de eventos, e então um processo fora da cadeia será iniciado para monitorar e assinar esse registro de eventos. Quando o pedido na transação é detectado, esse processo chamará os métodos relevantes do contrato através da submissão de uma transação na cadeia, carregando as informações sobre o volume de negociações de petróleo bruto na data especificada para o contrato inteligente.

Máquina Oracle详解系列之 Chainlink(上)

No mercado de máquinas Oracle, o Chainlink detém a maior participação de mercado. Como um projeto de máquina Oracle descentralizado, o Chainlink visa fornecer dados gerados no mundo real para a blockchain da forma mais segura possível. Com base nos princípios básicos das máquinas Oracle, o Chainlink estabeleceu um ecossistema de ciclo virtuoso em torno do token LINK através de incentivos econômicos. As máquinas Oracle do Chainlink precisam ser acionadas através da transferência de tokens LINK. O LINK é um contrato ERC677 na rede Ethereum, e as funções de máquina Oracle realizadas com o token LINK pertencem ao modo de solicitação/resposta.

Máquina Oracle详解系列之 Chainlink(上)

O padrão de token ERC677 adiciona o método transferAndCall à base do ERC20. Este método combina pagamento e solicitação de serviço, atendendo à necessidade do cenário de negócios da Máquina Oracle. Quando um usuário realiza uma transferência transferAndCall, além da transferência ERC20, também será verificado se o endereço de recebimento é um endereço de contrato; se for, o método onTokenTransfer desse endereço será chamado.

Máquina Oracle详解系列之 Chainlink(上)

Antes de solicitar os serviços da Máquina Oracle, os usuários precisam confirmar a confiabilidade da Máquina Oracle, pois ela requer pagamento antes de fornecer serviços ao consumidor. Quando os consumidores da Máquina Oracle utilizam o método transferAndCall para pagar taxas e solicitar serviços, o método onTokenTransfer do contrato da Máquina Oracle realiza uma série de verificações de segurança, incluindo a validação se a transferência é um token LINK, verificação se o comprimento dos dados ultrapassa o limite, validação do selector da função, entre outros. Somente após a aprovação das verificações, é que será feita a chamada ao método oracleRequest do contrato oracle através do deleGatecall.

Máquina Oracle详解系列之 Chainlink(上)

O método oracleRequest irá gerar um requestId único, definir um tempo de expiração e emitir o evento OracleRequest. Este evento contém os dados da solicitação, utilizando o formato de codificação CBOR. Os nós off-chain ouvirão este evento, extrairão as informações da solicitação e, em seguida, chamarão a API para obter os dados necessários, finalmente, através do envio de uma transação, invocarão o método fulfillOracleRequest para submeter os dados na blockchain.

Máquina Oracle详解系列之 Chainlink(上)

O método fulfillOracleRequest realizará uma série de validações, incluindo a verificação de permissões do chamador, a validação da validade da solicitação, entre outras. Após a validação bem-sucedida, será registrado o montante de tokens que podem ser extraídos e será chamada a função de retorno do contrato do solicitante para retornar os dados.

Máquina Oracle详解系列之 Chainlink(上)

Para os desenvolvedores, se apenas quiserem usar os dados de preços das pares de moedas existentes, podem chamar diretamente a interface Price Feed fornecida oficialmente. Cada par de negociação tem um Price Feed separado (, que é na verdade o contrato Aggregator), ou seja, o contrato AggregatorProxy. Os desenvolvedores podem obter os dados de preços mais recentes chamando o método latestRoundData(), onde o parâmetro answer é o preço mais recente. A maioria dos pares de negociação cotados em USD tem uma precisão uniforme de 8 casas decimais, simplificando o tratamento da precisão entre diferentes tokens.

Máquina Oracle详解系列之 Chainlink(上)

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 5
  • Partilhar
Comentar
0/400
PebbleHandervip
· 5h atrás
É assim que as coisas são.
Ver originalResponder0
BankruptWorkervip
· 5h atrás
É muito difícil, desistir da luta.
Ver originalResponder0
CryptoGoldminevip
· 5h atrás
Eu ganhei 200 vezes no ano passado com o mercado do link, apenas com análise técnica.
Ver originalResponder0
TestnetScholarvip
· 5h atrás
link foi novamente copiado
Ver originalResponder0
Web3Educatorvip
· 5h atrás
coisas fundamentalmente fascinantes, deixe-me explicar isso para meus alunos de web3...
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)