Profundidade de análise: como a Máquina Oracle conecta contratos inteligentes ao mundo exterior

robot
Geração de resumo em curso

Máquina Oracle técnica Profundidade análise

No ecossistema blockchain, a Máquina Oracle desempenha um papel fundamental na conexão entre contratos inteligentes e o mundo exterior. Como uma infraestrutura, o sistema de Máquina Oracle pode fornecer informações e dados do mundo exterior para contratos inteligentes em cadeia.

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

Por exemplo, suponha que tenhamos implantado um contrato inteligente na rede Ethereum que precisa obter dados sobre o volume de negociação de petróleo em uma determinada data. Como o contrato inteligente em si não pode acessar diretamente os dados do mundo real fora da cadeia, é necessário usar uma Máquina Oracle para realizar essa função. O processo específico é: o contrato inteligente grava o volume de negociação de petróleo da data necessária no registro de eventos, em seguida, um processo de monitoramento fora da cadeia é iniciado para assinar esse evento. Assim que a solicitação relevante for detectada, esse processo chamará o método correspondente do contrato através da submissão de uma transação na cadeia, transmitindo as informações do volume de negociação de petróleo da data especificada para o contrato inteligente.

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

Entre os muitos projetos de Máquina Oracle, a Chainlink ocupa uma posição de destaque no mercado. Como uma solução de Máquina Oracle descentralizada, a Chainlink se dedica a fornecer dados do mundo real para blockchains da forma mais segura possível. Com base nos princípios fundamentais das Máquinas Oracle, foi construído um ecossistema em torno do token LINK que forma um ciclo virtuoso através de incentivos econômicos. A ativação das Máquinas Oracle da Chainlink requer a transferência do token LINK, que é um contrato ERC677 na rede Ethereum. As funcionalidades das Máquinas Oracle realizadas com o token LINK ERC677 pertencem ao modelo de solicitação/resposta.

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

O padrão ERC677 adiciona o método transferAndCall à base do ERC20, combinando o pagamento e o pedido de serviço, atendendo melhor às necessidades do cenário de negócios da Máquina Oracle. Quando um usuário utiliza transferAndCall para transferir, além da operação de transferência ERC20 convencional, também se verifica 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(上)

No processo de solicitação do serviço de Máquina Oracle, o consumidor deve primeiro confirmar a credibilidade da Máquina Oracle, pois o pagamento antecipado é necessário antes da prestação do serviço. O método onTokenTransfer do contrato da Máquina Oracle realizará uma série de verificações de segurança, incluindo a validação se a transferência é um token LINK, verificar se o comprimento dos dados está dentro dos limites e validar o selector da função, entre outros. Após as verificações, o contrato gerará um requestId único, definirá um tempo de expiração e emitirá um evento OracleRequest contendo os dados da solicitação.

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

Após receber o pedido, o nó off-chain irá responder chamando o método fulfillOracleRequest. Este método realizará uma série de validações, incluindo a verificação de permissões do chamador e a validação da validade do pedido. Após a validação, o nó chamará a função de callback do contrato do solicitante, retornando os dados ao pedido.

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

Para os desenvolvedores, se precisarem apenas de usar os dados de preços dos pares de moedas existentes, podem chamar diretamente a interface Price Feed fornecida oficialmente. Cada par de negociação tem um Price Feed independente (, ou seja, AggregatorProxy), que fornece métodos de consulta, incluindo decimals(), description(), version(), getRoundData() e latestRoundData(). Dentre estes, o método latestRoundData() retorna o parâmetro answer, que é o preço mais recente. Vale ressaltar que, para os pares de negociação cotados em dólares, a precisão costuma ser padronizada em 8 casas decimais.

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

Desta forma, os desenvolvedores podem facilmente obter e utilizar os dados de preços em tempo real fornecidos pela Máquina Oracle na blockchain, sem precisar lidar com processos complexos de chamadas de API e validação de dados.

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 5
  • Partilhar
Comentar
0/400
AlwaysAnonvip
· 11h atrás
Só se pode entender bebendo, o que é que a ChainLink sabe?
Ver originalResponder0
BearMarketGardenervip
· 11h atrás
Ainda a copiar as funcionalidades do Chainlink..
Ver originalResponder0
WalletAnxietyPatientvip
· 11h atrás
linkbull啊 这波稳了
Ver originalResponder0
NoodlesOrTokensvip
· 11h atrás
link chain é imbatível, pertence a isso
Ver originalResponder0
SchroedingerAirdropvip
· 11h atrás
链克真是yyds!一把 Tudo em 它
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)