Historiallisten ja reaaliaikaisten kryptotietojen hankkiminen erittäin yksinkertaisella verkkoohjelmoinnilla PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Historiallisen ja reaaliaikaisen salausdatan hankkiminen erittäin yksinkertaisella web-ohjelmoinnilla

Luciano Abriata

Kun opin kryptovaluutoista, tarvitsin kipeästi dataa, jota voisin itse manipuloida tehdäkseni omia juoniani ja analyysejani. Tässä näytän sinulle, kuinka saat helposti reaaliaikaisia ​​ja historiallisia kryptotietoja suoraan verkkoselaimellesi minimaalisella ohjelmointitaidolla. Mukana lähdekoodi, linkit ja joitain peruskaavioita ja analyyseja.

Vastuuvapauslauseke: Et löydä taloudellisia neuvojace täällä, enkä ole asiantuntija kryptovaluutoissa, kryptoarteissa, NFT:issä, niiden kaupassa jne. Annan vain ilmaisen HTML+JavaScript-koodin saadakseni tietoja API-kutsujen kautta CryptoCompare.com-sivustolle; ja näytän joitain näistä tiedoista johdettuja juonia omilla subjektiivisilla mielipiteilläni.

Kiinnostuin äskettäin kryptovaluutoista, kryptoartista, NFT:istä jne. Tieteilijänä, joka työskentelee jatkuvasti datan parissa, yksi ensimmäisistä asioista, jonka halusin tehdä, oli luonnollisesti leikkiä kryptovaluuttatiedoilla itse. Näin juonen kaikkialla verkkosivustoissa, uutisissa ja sovelluksissa; mutta miten saisin käsiini todellisen datan leikkiäkseni sillä ja tehdäkseni omia juoniani ja tutkimuksiani? Ja erityisesti, kuinka voisin olla varma, että se oli ajan tasalla joka kerta, kun pyysin sitä?

Erityisesti ensimmäinen asia, johon halusin kiinnittää käsiini, olivat eri krypto- ja Fiat-valuuttojen väliset vaihtokurssit. Huomasin, että CryptoCompare.com-sivusto tarjoaa mukavan sovellusliittymän, joka on ilmainen pienille puhelumäärille ja joka mahdollistaa ohjelmallisen pääsyn tietoihinsa. Löysin myös verkosta erilaisia ​​JavaScript-koodin osia, jotka olen koonnut kahdeksi hyvin yksinkertaiseksi verkkosovellukseksi: yksi saamaan BTC-USD-valuuttakurssipäivitykset 10 sekunnin välein; ja toinen hakea historiallisia BTC-USD-vaihtokursseja joka minuutti, tunti tai päivä koko Bitcoinin historian ajan. Voit vapaasti kopioida esittämäni koodin ja mukauttaa sitä omiin tavoitteisiisi.

Verkkosovellus 1: hanki vaihto reaaliajassa

Tietysti voit avata minkä tahansa kryptovaluuttasivuston tai -sovelluksen ja saada tämän numeron sieltä, mutta oletetaan, että haluat sen olevan aina käsillä ja päivittyvä automaattisesti, tai ehkä haluat, että se syötetään automaattisesti kehittämällesi laskentajärjestelmään.

Yksinkertainen pääsy tähän linkkiin CryptoComparen API:ssa palauttaa Bitcoinin (BTC) vaihtokurssin USD:na juuri puhelun hetkellä:

https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD

Samoin tämä toinen esimerkki antaa sinulle Ethereumin (ETH) valuuttakurssin euroina puhelun hetkellä:

https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=EUR

Helppoa, eikö? No, sen pohjalta seuraava koodi palauttaa minkä tahansa pyytämäsi muunnoksen (tässä esimerkissä BTC USD) 10 sekunnin välein pienellä verkkosivulla, jonka voit tehdä yksityiseksi seurataksesi suosikkikurssejasi omalla verkkosivustollasi:

Voit kopioida ja liittää tämän koodin .html-tiedostoon ja ladata sen sitten selaimeesi nähdäksesi sen käynnissä. Tai jos olet laiska, avaa tämä esittelyesimerkki sivustollani:

https://lucianoabriata.altervista.org/tests/cryptogames/getBTC-realtime.html

Voit helposti kehittää sitä edelleen verkkosovellukseksi, joka seuraa jatkuvasti valuuttakursseja, jopa tallentaa sen kaavioon visualisointia varten liikkeellä ollessasi tai muuttujaan ladattavaksi.

Verkkosovellus 2: hanki historiatietoja

Mutta entä jos haluat saada tietoja ennen verkkosivun käynnistämistä? No, voit mennä erikoistuneille verkkosivustoille ja ladata nämä tiedot. Huomasin kuitenkin, että helppokäyttöiset verkkosivustot tarjoavat vain osittaisia ​​tietoja. Esimerkiksi Yahoo Financesin BTC-tiedot alkavat 17. syyskuuta 2014, ja sen tietueet ovat kuukausittain, viikoittain tai päivittäin, mutta eivät tunti- tai minuuttikohtaisia. Lisäksi, jos olet kehittämässä järjestelmää, joka on päivitettävä automaattisesti, manuaalinen tietojen lataaminen on poissa keskustelusta... tarvitset ohjelmallisen pääsyn.

Onneksi CryptoComparen API sisältää tapoja noutaa historiallisia tietoja minuuteissa, tunneissa tai päivissä. Valuuttakurssien lisäksi myös muut mittarit, kuten vaihtomäärät. Jos haluat tietää lisää API katso sen dokumentaatiosta ja lue seuraava.

Tämän esimerkin kaltainen API-kutsu antaa sinulle tietoja viimeisten 20 tunnin ajalta tunti kerrallaan:

https://min-api.cryptocompare.com/data/v2/histohour?fsym=ETH&tsym=USD&limit=20&toTs=-1&api_key=YOURKEYHERE

Tulos on jäsennettävä JSON-muodossa. Se näyttää tältä:

Huomioitavaa API-kutsun URL-osoitteessa (jota käytämme seuraavaksi fetch() javascript-funktiossa):

  1. toTs=-1 tarkoittaa, että haluat tietoja puhelun suoritushetkeen asti.
  2. rajoittaa on haluamasi rivien määrä.
  3. Sinun on annettava API-avain.

Ilmaisella API-avaimella (hae se osoitteessa dokumentaatiosivulla; ja kyllä, voit ostaa avaimia edistyneemmillä ominaisuuksilla) sinulla on rajoitettu soittojen kokonaismäärä, ja jokainen puhelu antaa sinulle vain enintään 2000 merkintää. Joten jos esimerkiksi kysyt esimerkiksi BTC:n tuntikursseja USD:ssa, saat maksimissaan 2000 minuuttia taaksepäin kehotetusta ajasta, mikä tarkoittaa noin 33 tuntia eli hieman yli päivää. Tai jos pyydät tuntikohtaisia ​​tietoja, saat enintään 83.33 peräkkäisen päivän tiedot, hieman alle 3 kuukauden ajalta. Tämä ei kuitenkaan ole varsinainen ongelma, koska voit toistaa API:n ajassa taaksepäin niin monta kertaa kuin tarvitset, jotta voit kattaa sinua kiinnostavan aikavälin. Tarvitset esimerkiksi päivittäisen BTC-datan takaisin alkuperään asti. hieman yli 4000 pistettä (päivää) elokuussa 2021, jolloin tämä tarina kirjoitettiin. Tämä tarkoittaa, että tarvitset vain 3 peräkkäistä puhelua. Ja jos haluat tuntitietoja samalta ajanjaksolta, olet saavuttanut noin 98400 pistettä, jotka kattavat 50 peräkkäistä puhelua.

Haluan näyttää sinulle tämän verkkosovelluksen, jonka avulla voit pyytää päivittäisiä historiallisia tietoja mistä tahansa USD-valuuttakurssista:

Koodi saattaa näyttää hieman monimutkaiselta, mutta se voisi olla paljon yksinkertaisempi. Tässä on se, että loin kokonaisen käyttöliittymän, jonka avulla käyttäjä voi valita, millä aikavälillä tiedot saa, ja ketjutin sitten myöhempien kutsujen tulokset tekstiruutuun kopioimisen helpottamiseksi:

Huomaa, että sinun on kutsuttava API kahdesti: kerran funktiossa, joka pyytää luettelon tietomerkinnöistä suoritushetkeen asti (getBtcData, suoritetaan, kun käyttäjä napsauttaa "Hae uusimmat tiedot" ja myös automaattisesti latauksen yhteydessä) ja toinen funktio, joka palauttaa tiedot ennen tiettyä aikaa (getBtcDataPrevious). Huomaa myös, että funktiot päivittävät automaattisesti From- ja To-ajat, jotka näytetään raakasarjamuodossa ja muunnetaan myös ihmisen luettavaan muotoon funktiolla serialDateToNiceDate.

Kun olet ladannut sivun tai napsauttanut "Hae uusimmat tiedot", oikealla oleva tekstiruutu täyttyy viimeisillä 2000 tuntimerkinnällä, ja Alkaen ja Mihin ajat päivitetään. Tämän jälkeen voit pyytää 2000 rivilohkoa tietoja edellisiltä ajanjaksoilta napsauttamalla "Hae edellinen jakso". Saapuvat rivit lisätään tekstiruutuun historiallisen järjestyksen mukaisesti.

Tarkastellaan joitain historiallisia tietoja

Kuten johdannossa sanoin, olin erittäin innokas saamaan tietoja BTC:USD-pörssien ajan kehityksestä Bitcoinin luomisen jälkeen. Pienellä muokkauksella yllä näkyvään verkkosovellukseen (vaihtamalla "histohour" sanalla "histoday") saat sovelluksen, joka palauttaa päivittäiset tietueet. Sitten kolmella napsautuksella "Hae edellinen kausi" saat koko Bitcoinin päivittäisen datan heinäkuusta 2010 tähän päivään asti.

Tehdään näistä tiedoista muutama kaavio. Ensin yksinkertaisesti vaihtokurssi ajan mittaan, kaavio, jonka näet useimmissa sovelluksissa, sivustoissa ja uutisissa:

Juoni näyttää viisi keskeistä nousuaikaa: yksi vuoden 2013 lopulla, vahvempi vuoden 2017 lopulla – vuoden 2018 alkupuolella, jota seuraa toinen vuonna 2019, ja sitten vahvempi vuoden 2021 ensimmäisellä puoliskolla, jota seuraa uusi nopea nousu juuri nyt.

On mielenkiintoista, kuinka tuossa kaaviossa havaitut maksimit vastaavat suunnilleen kiinnostusta ajan mittaan Google Trendsin mittaamana:

Toinen haettujen BTC:USD-vaihtotietojen juoni, mielenkiintoisempi kuin yllä oleva, on tämä, jossa hintaa käsitellään logaritmisessa (tässä kirjaudu sisään perus 10) muodossa:

Tämä lokimuunnos havaitsee ylävaiheet selkeämmin. Tarkista, että suhteelliset piikkien korkeudet pohjasta huipulle ovat melko erilaisia ​​ja näyttävät vaimenevan hitaasti: ensimmäinen päähuippu merkitsee noin 1.5 suuruusluokkaa (noin 30X); toinen, kolmas ja neljäs ovat noin 1 suuruusluokkaa (noin 10X) ja viimeinen noin 0.5 suuruusluokkaa (noin 3.2X). Näin ollen vaikka historialliset maksimit ovat nousseet erittäin korkealle, mahdollisuudet suuriin voittoihin vähenevät vähitellen myöhemmin sijoittaville ihmisille. Vaikka silloin on liian myöhäistä rikastua Bitcoinilla, BTC:USD-valuuttakurssin yleinen trendi näyttää osoittavan, että se voi vielä kasvaa jonkin aikaa (ei käske sinua ostamaan täältä, vain naiivisti ekstrapoloimalla juonen):

Nämä lokikuvat sisältävät paljon enemmän tietoja, joita muut ovat analysoineet seuraavissa blogiartikkeleissa. Koska en ole asiantuntija, en voi arvioida heitä, mutta ne ovat varmasti erittäin mielenkiintoisia:

Johtopäätös ja valittu lisälukeminen

Toivon, että sinulla on hauskaa käyttää näitä ja johdettuja komentosarjoja kryptotietojen hankkimiseen ja niillä pelaamiseen. Tämä koko ala on erittäin mielenkiintoinen, ja tutkiessani kryptovaluuttoja viimeisen kahden vuoden aikana olen lukenut useita papereita, tarinoita ja postauksia, joista olen tislaanut nämä jatkoa varten täältä, pääasiassa Mediumilta ja siihen liittyvät julkaisut:

Lähde: https://towardsdatascience.com/obtaining-historical-and-real-time-crypto-data-with-very-simple-web-programming-7b481f153630?source=rss——-8—————–cryptocurrency

Aikaleima:

Lisää aiheesta Keskikokoinen