Máquina Oracle Princípios e Introdução ao Chainlink
Máquina Oracle é uma infraestrutura indispensável no mundo da blockchain, capaz de fornecer dados externos para contratos inteligentes. Como uma ponte que conecta contratos inteligentes e o mundo real, a Máquina Oracle desempenha um papel crucial no ecossistema da blockchain.
Os contratos inteligentes não conseguem obter dados fora da cadeia, portanto, necessitam de uma Máquina Oracle para realizar essa função. Por exemplo, se um contrato inteligente na Ethereum precisar dos dados de volume de transações de petróleo de um determinado dia, ele escreverá o pedido no registro de eventos. Em seguida, um processo fora da cadeia irá monitorar esse registro e, através da invocação do método do contrato, fará o upload dos dados necessários para o contrato inteligente.
Chainlink é atualmente o maior projeto de máquina oracle descentralizada em termos de quota de mercado. Ele estabelece um ecossistema impulsionado por incentivos econômicos através do token LINK, garantindo que dados do mundo real sejam fornecidos à blockchain da maneira mais segura. O acionamento da máquina oracle Chainlink requer uma transferência de tokens LINK, o que se enquadra no modo de solicitação/resposta.
O token LINK é um token baseado no padrão ERC677, que adiciona o método transferAndCall sobre a base do ERC20. Este método combina pagamento e solicitação de serviço, atendendo melhor às necessidades de negócios da Máquina Oracle. Quando os usuários utilizam transferAndCall para transferências, além da operação de transferência, o método onTokenTransfer do endereço de recebimento também será chamado.
O método onTokenTransfer do contrato da Máquina Oracle realizará uma série de verificações de segurança, incluindo a validação de se o token transferido é LINK, a verificação se o comprimento dos dados ultrapassa o limite e a validação do seletor de função, entre outras. Após as verificações, será feita uma chamada ao método oracleRequest do contrato oracle através de deleGatecall.
O método oracleRequest gera um requestId único, define um tempo de expiração e emite o evento OracleRequest. Esse evento contém os dados da solicitação, geralmente em formato binário CBOR.
Após o nó off-chain escutar o evento OracleRequest, ele irá analisar as informações específicas do pedido, obter os resultados através da chamada da API e, em seguida, chamar o método fulfillOracleRequest para submeter os dados na blockchain. Este método, após uma série de validações, chamará a função de retorno do contrato do solicitante, devolvendo os resultados ao contrato consumidor.
Para os desenvolvedores, a Chainlink também oferece uma interface de Price Feed mais simples. Cada par de negociação possui um contrato AggregatorProxy, que fornece vários métodos simples para consultar preços. Entre eles, o método latestRoundData() pode obter diretamente os dados de preço mais recentes, sem a necessidade de especificar configurações complexas como APIs.
De um modo geral, a Chainlink oferece acesso a dados externos conveniente e confiável para contratos inteligentes, através do token LINK e de uma arquitetura de contratos bem projetada, garantindo segurança e impulsionando o desenvolvimento adicional do ecossistema blockchain.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Chainlink: contratos inteligentes e a ponte para o mundo real
Máquina Oracle Princípios e Introdução ao Chainlink
Máquina Oracle é uma infraestrutura indispensável no mundo da blockchain, capaz de fornecer dados externos para contratos inteligentes. Como uma ponte que conecta contratos inteligentes e o mundo real, a Máquina Oracle desempenha um papel crucial no ecossistema da blockchain.
Os contratos inteligentes não conseguem obter dados fora da cadeia, portanto, necessitam de uma Máquina Oracle para realizar essa função. Por exemplo, se um contrato inteligente na Ethereum precisar dos dados de volume de transações de petróleo de um determinado dia, ele escreverá o pedido no registro de eventos. Em seguida, um processo fora da cadeia irá monitorar esse registro e, através da invocação do método do contrato, fará o upload dos dados necessários para o contrato inteligente.
Chainlink é atualmente o maior projeto de máquina oracle descentralizada em termos de quota de mercado. Ele estabelece um ecossistema impulsionado por incentivos econômicos através do token LINK, garantindo que dados do mundo real sejam fornecidos à blockchain da maneira mais segura. O acionamento da máquina oracle Chainlink requer uma transferência de tokens LINK, o que se enquadra no modo de solicitação/resposta.
O token LINK é um token baseado no padrão ERC677, que adiciona o método transferAndCall sobre a base do ERC20. Este método combina pagamento e solicitação de serviço, atendendo melhor às necessidades de negócios da Máquina Oracle. Quando os usuários utilizam transferAndCall para transferências, além da operação de transferência, o método onTokenTransfer do endereço de recebimento também será chamado.
O método onTokenTransfer do contrato da Máquina Oracle realizará uma série de verificações de segurança, incluindo a validação de se o token transferido é LINK, a verificação se o comprimento dos dados ultrapassa o limite e a validação do seletor de função, entre outras. Após as verificações, será feita uma chamada ao método oracleRequest do contrato oracle através de deleGatecall.
O método oracleRequest gera um requestId único, define um tempo de expiração e emite o evento OracleRequest. Esse evento contém os dados da solicitação, geralmente em formato binário CBOR.
Após o nó off-chain escutar o evento OracleRequest, ele irá analisar as informações específicas do pedido, obter os resultados através da chamada da API e, em seguida, chamar o método fulfillOracleRequest para submeter os dados na blockchain. Este método, após uma série de validações, chamará a função de retorno do contrato do solicitante, devolvendo os resultados ao contrato consumidor.
Para os desenvolvedores, a Chainlink também oferece uma interface de Price Feed mais simples. Cada par de negociação possui um contrato AggregatorProxy, que fornece vários métodos simples para consultar preços. Entre eles, o método latestRoundData() pode obter diretamente os dados de preço mais recentes, sem a necessidade de especificar configurações complexas como APIs.
De um modo geral, a Chainlink oferece acesso a dados externos conveniente e confiável para contratos inteligentes, através do token LINK e de uma arquitetura de contratos bem projetada, garantindo segurança e impulsionando o desenvolvimento adicional do ecossistema blockchain.