{"id":3187,"date":"2025-04-15T10:55:07","date_gmt":"2025-04-15T10:55:07","guid":{"rendered":"https:\/\/satoshibrother.com\/it\/chainlink-oracle-series-parte-1\/"},"modified":"2025-04-15T10:55:07","modified_gmt":"2025-04-15T10:55:07","slug":"chainlink-oracle-series-parte-1","status":"publish","type":"post","link":"https:\/\/satoshibrother.com\/it\/chainlink-oracle-series-parte-1\/","title":{"rendered":"Chainlink Oracle Series (Parte 1)"},"content":{"rendered":"<h2>Introduzione agli Oracoli nella Blockchain<\/h2>\n<p>Nel campo della blockchain, un <strong>oracle<\/strong> \u00e8 un sistema che fornisce <strong>informazioni esterne<\/strong> ai contratti smart sulla catena. Come middleware, l&#8217;oracle connette i contratti smart e il mondo esterno alla blockchain, svolgendo un <strong>ruolo infrastrutturale estremamente critico<\/strong>. La sua funzione principale \u00e8 fornire dati per i contratti smart eseguiti sulla blockchain.<\/p>\n<h2>Esempio di Utilizzo di un Oracle<\/h2>\n<p>Ad esempio, se creiamo un contratto smart sulla rete Ethereum che necessita di accedere ai dati sul <strong>volume di trading del petrolio greggio<\/strong> in una certa data, possiamo utilizzare un oracle, poich\u00e9 il contratto smart stesso non pu\u00f2 ottenere questo tipo di dati reali <em>off-chain<\/em>. In questo caso, il contratto smart registrer\u00e0 il volume di trading del petrolio nella data richiesta nel registro eventi e verr\u00e0 avviato un processo <em>off-chain<\/em> per monitorare e iscriversi a questo registro eventi.<\/p>\n<h2>Chainlink: il Leader tra gli Oracoli<\/h2>\n<p>Nella blockchain, <strong>Chainlink<\/strong> detiene la quota di mercato pi\u00f9 grande tra gli oracoli. Chainlink \u00e8 un <strong>progetto di oracle decentralizzato<\/strong> che fornisce dati reali alla blockchain in modo estremamente sicuro. Ha stabilito un <strong>ecosistema a ciclo virtuoso<\/strong> attorno al token LINK attraverso incentivi economici.<\/p>\n<p>Per attivare il servizio dell&#8217;oracle, \u00e8 necessario trasferire <strong>token LINK<\/strong>, un contratto ERC 677 sulla rete Ethereum. La funzione oracle basata su LINK appartiene alla modalit\u00e0 <strong>richiesta\/riposta<\/strong>, sfruttando il metodo transferAndCall degli ERC 677.<\/p>\n<blockquote>\n<p>\u201cChainlink ha proposto uno standard adatto per gli scenari di servizi oracle: l&#8217;ERC 677, che unisce pagamento e richiesta di servizio in un&#8217;unica operazione.\u201d<\/p>\n<\/blockquote>\n<h2>Funzionamento del Metodo onTokenTransfer<\/h2>\n<p>Quando un utente esegue un <em>transferAndCall<\/em>, oltre al trasferimento di LINK, si verifica se l&#8217;indirizzo del destinatario \u00e8 un contratto. Se s\u00ec, verr\u00e0 chiamato il <strong>metodo onTokenTransfer<\/strong> di quel contratto. Prima di richiedere il servizio dall&#8217;oracle, \u00e8 fondamentale <strong>verificare l&#8217;affidabilit\u00e0<\/strong> dell&#8217;oracle scelto.<\/p>\n<p>La classificazione della credibilit\u00e0 dell&#8217;oracle e la richiesta on-chain sono aspetti importanti. Il metodo onTokenTransfer verifica se il trasferimento riguarda il token LINK e controlla la lunghezza dei dati e la presenza di un <strong>selettore di funzione<\/strong> che inizia con oracleRequest.<\/p>\n<h2>Processo di Richiesta e Risposta degli Oracoli<\/h2>\n<p>La richiesta dell&#8217;oracle include l&#8217;ID unico derivato dal richiedente. Se validato, si imposta un <strong>tempo di scadenza<\/strong> e l&#8217;ID della richiesta viene aggiunto ai commitments.<\/p>\n<p>\u00c8 fondamentale emettere un <strong>evento OracleRequest<\/strong> contenente i dati richiesti. Ad esempio, un aggregatore Chainlink per <strong>ETH\/USD<\/strong> registrer\u00e0 un evento OracleRequest dopo aver ricevuto una richiesta dati.<\/p>\n<p>Dopo la richiesta, se l&#8217;oracle restituisce i dati, saranno forniti con l&#8217;indirizzo, l&#8217;ID del metodo da chiamare e il tempo di scadenza. <strong>La velocit\u00e0 di risposta<\/strong> \u00e8 cruciale, quindi si consiglia di utilizzare il servizio nodo ZAN.<\/p>\n<h2>Esempio Pratico dal Team Chainlink<\/h2>\n<p>Questo articolo ha presentato un metodo di esempio <strong>&#8220;requestEthereumPrice&#8221;<\/strong> dal contratto &#8220;TestnetConsumer&#8221; fornito da Chainlink, illustrando brevemente il processo di richiesta e risposta. Ogni coppia di trading ha un feed di prezzo separato o Aggregator, il cui accesso \u00e8 generalmente semplice attraverso metodi definibili in base alla necessit\u00e0.<\/p>\n<p>Questo articolo \u00e8 stato scritto da XiG (X account) del Team ZAN (X account).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduzione agli Oracoli nella Blockchain Nel campo della blockchain, un oracle \u00e8 un sistema che fornisce informazioni esterne ai contratti smart sulla catena. Come middleware, l&#8217;oracle connette i contratti smart e il mondo esterno alla blockchain, svolgendo un ruolo infrastrutturale estremamente critico. La sua funzione principale \u00e8 fornire dati per i contratti smart eseguiti sulla blockchain. Esempio di Utilizzo di un Oracle Ad esempio, se creiamo un contratto smart sulla rete Ethereum che necessita di accedere ai dati sul volume di trading del petrolio greggio in una certa data, possiamo utilizzare un oracle, poich\u00e9 il contratto smart stesso non pu\u00f2<\/p>\n","protected":false},"author":3,"featured_media":3186,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[169,13],"class_list":["post-3187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethereum","tag-chainlink","tag-ethereum"],"yoast_description":"Esplora il ruolo degli oracoli Chainlink nella tecnologia blockchain, fornendo dati reali essenziali ai contratti smart in modo sicuro ed efficiente.","_links":{"self":[{"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/posts\/3187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/comments?post=3187"}],"version-history":[{"count":0,"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/posts\/3187\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/media\/3186"}],"wp:attachment":[{"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/media?parent=3187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/categories?post=3187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/satoshibrother.com\/it\/wp-json\/wp\/v2\/tags?post=3187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}