A Máquina Oracle tem um papel chave na tecnologia Blockchain
Máquina Oracle é uma infraestrutura fundamental no campo da Blockchain, que pode fornecer informações externas para contratos inteligentes na cadeia. Como um middleware que conecta contratos inteligentes e o mundo fora da cadeia, a Máquina Oracle desempenha um papel indispensável no ecossistema da Blockchain, cuja função principal é fornecer os dados externos necessários para os contratos inteligentes.
Por exemplo, se nós implantássemos um contrato inteligente na Ethereum que precisa obter dados sobre o volume de transações de petróleo em um determinado dia. Como o contrato inteligente em si não pode acessar diretamente os dados do mundo real fora da cadeia, é necessário recorrer à Máquina Oracle para realizar essa função. O processo específico é: o contrato inteligente registrará o volume de transações de petróleo para a data desejada em um log de eventos, e então um processo fora da cadeia iniciará para monitorar esse log de eventos. Quando um pedido relevante for detectado, esse processo chamará o método correspondente do contrato, enviando informações sobre o volume de transações de petróleo da data especificada para dentro do contrato inteligente através da submissão de uma transação na cadeia.
Entre os muitos projetos de Máquina Oracle, a Chainlink ocupa a maior quota de mercado. A Chainlink é uma rede de Máquina Oracle descentralizada, destinada a fornecer dados do mundo real para a Blockchain de maneira segura e confiável. Além de realizar as funções básicas de Máquina Oracle, a Chainlink também construiu um ecossistema em torno do token LINK que forma um ciclo virtuoso através de incentivos econômicos. Na rede Chainlink, os serviços de Máquina Oracle precisam ser acionados através da transferência de tokens LINK, sendo que o LINK é um token ERC677 na Ethereum. As funções de Máquina Oracle implementadas com o token LINK pertencem ao modo de pedido/resposta.
O padrão ERC677 adiciona o método transferAndCall ao ERC20, combinando pagamento e solicitação de serviço, atendendo melhor às necessidades do cenário de negócios de Máquina Oracle. Quando um usuário chama transferAndCall para realizar uma transferência, além da transferência normal do ERC20, se o destinatário for um endereço de contrato, também será chamado o método onTokenTransfer desse endereço.
Durante o processo de solicitação da Máquina Oracle na blockchain, quando o consumidor da Máquina Oracle utiliza o método transferAndCall para pagar a taxa e solicitar o serviço, o método onTokenTransfer do contrato da Máquina Oracle realiza primeiramente uma série de verificações de segurança, incluindo a validação se a transferência é um token LINK, a verificação se o comprimento dos dados da solicitação está em conformidade, a validação do selector da função, entre outros. Após essas verificações, será feita a chamada através do deleGatecall para invocar o método oracleRequest do contrato da Máquina Oracle.
O método oracleRequest gera um requestId único, define o tempo de expiração da solicitação e registra as informações relevantes no mapeamento commitments. O mais importante é que ele emite um evento OracleRequest que contém os dados da solicitação. Os dados desse evento geralmente são representados em formato CBOR(, codificados em formato ) para facilitar a análise e o processamento pelos nós off-chain.
Os nós off-chain, ao responder a um pedido, chamarão o método fulfillOracleRequest. Este método primeiro 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, atualizará a quantidade de tokens que podem ser retirados, eliminará o registo de compromisso correspondente e, finalmente, chamará a função de callback do contrato do solicitante.
Para os desenvolvedores, se apenas precisarem usar os dados de preços das moedas existentes, podem chamar diretamente a interface Price Feed fornecida pela Chainlink. Cada par de negociação tem uma Price Feed independente, ( também conhecido como Aggregator ), que na verdade é um contrato AggregatorProxy. Essas interfaces oferecem funcionalidades para obter precisão de preços, descrição, número da versão e dados de preços mais recentes, entre outros. Na maioria dos cenários de aplicação, o contrato pode precisar apenas ler o preço mais recente, chamando o método latestRoundData (). Vale ressaltar que os pares de negociação cotados em dólares geralmente usam uma precisão uniforme de 8 casas decimais, o que simplifica a questão do tratamento de precisão entre diferentes tokens.
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.
7 gostos
Recompensa
7
4
Partilhar
Comentar
0/400
LightningPacketLoss
· 8h atrás
O preço do link pode melhorar?
Ver originalResponder0
PumpingCroissant
· 20h atrás
link está a gastar um pouco de gás
Ver originalResponder0
GweiWatcher
· 20h atrás
qual é a relação entre o link e esta onda de aumento de preços?
Ver originalResponder0
WhaleSurfer
· 21h atrás
LINK bull ah, o preço de aproveitar grátis ainda pode ganhar deitado
Máquina Oracle: Bloco e o mundo real como a chave para a ponte
A Máquina Oracle tem um papel chave na tecnologia Blockchain
Máquina Oracle é uma infraestrutura fundamental no campo da Blockchain, que pode fornecer informações externas para contratos inteligentes na cadeia. Como um middleware que conecta contratos inteligentes e o mundo fora da cadeia, a Máquina Oracle desempenha um papel indispensável no ecossistema da Blockchain, cuja função principal é fornecer os dados externos necessários para os contratos inteligentes.
Por exemplo, se nós implantássemos um contrato inteligente na Ethereum que precisa obter dados sobre o volume de transações de petróleo em um determinado dia. Como o contrato inteligente em si não pode acessar diretamente os dados do mundo real fora da cadeia, é necessário recorrer à Máquina Oracle para realizar essa função. O processo específico é: o contrato inteligente registrará o volume de transações de petróleo para a data desejada em um log de eventos, e então um processo fora da cadeia iniciará para monitorar esse log de eventos. Quando um pedido relevante for detectado, esse processo chamará o método correspondente do contrato, enviando informações sobre o volume de transações de petróleo da data especificada para dentro do contrato inteligente através da submissão de uma transação na cadeia.
Entre os muitos projetos de Máquina Oracle, a Chainlink ocupa a maior quota de mercado. A Chainlink é uma rede de Máquina Oracle descentralizada, destinada a fornecer dados do mundo real para a Blockchain de maneira segura e confiável. Além de realizar as funções básicas de Máquina Oracle, a Chainlink também construiu um ecossistema em torno do token LINK que forma um ciclo virtuoso através de incentivos econômicos. Na rede Chainlink, os serviços de Máquina Oracle precisam ser acionados através da transferência de tokens LINK, sendo que o LINK é um token ERC677 na Ethereum. As funções de Máquina Oracle implementadas com o token LINK pertencem ao modo de pedido/resposta.
O padrão ERC677 adiciona o método transferAndCall ao ERC20, combinando pagamento e solicitação de serviço, atendendo melhor às necessidades do cenário de negócios de Máquina Oracle. Quando um usuário chama transferAndCall para realizar uma transferência, além da transferência normal do ERC20, se o destinatário for um endereço de contrato, também será chamado o método onTokenTransfer desse endereço.
Durante o processo de solicitação da Máquina Oracle na blockchain, quando o consumidor da Máquina Oracle utiliza o método transferAndCall para pagar a taxa e solicitar o serviço, o método onTokenTransfer do contrato da Máquina Oracle realiza primeiramente uma série de verificações de segurança, incluindo a validação se a transferência é um token LINK, a verificação se o comprimento dos dados da solicitação está em conformidade, a validação do selector da função, entre outros. Após essas verificações, será feita a chamada através do deleGatecall para invocar o método oracleRequest do contrato da Máquina Oracle.
O método oracleRequest gera um requestId único, define o tempo de expiração da solicitação e registra as informações relevantes no mapeamento commitments. O mais importante é que ele emite um evento OracleRequest que contém os dados da solicitação. Os dados desse evento geralmente são representados em formato CBOR(, codificados em formato ) para facilitar a análise e o processamento pelos nós off-chain.
Os nós off-chain, ao responder a um pedido, chamarão o método fulfillOracleRequest. Este método primeiro 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, atualizará a quantidade de tokens que podem ser retirados, eliminará o registo de compromisso correspondente e, finalmente, chamará a função de callback do contrato do solicitante.
Para os desenvolvedores, se apenas precisarem usar os dados de preços das moedas existentes, podem chamar diretamente a interface Price Feed fornecida pela Chainlink. Cada par de negociação tem uma Price Feed independente, ( também conhecido como Aggregator ), que na verdade é um contrato AggregatorProxy. Essas interfaces oferecem funcionalidades para obter precisão de preços, descrição, número da versão e dados de preços mais recentes, entre outros. Na maioria dos cenários de aplicação, o contrato pode precisar apenas ler o preço mais recente, chamando o método latestRoundData (). Vale ressaltar que os pares de negociação cotados em dólares geralmente usam uma precisão uniforme de 8 casas decimais, o que simplifica a questão do tratamento de precisão entre diferentes tokens.