Šta je interfejs za programiranje aplikacija (API)?
Interfejs za programiranje aplikacija (API) je skup pravila koji omogućava jednoj aplikaciji da zatraži podatke od druge aplikacije ili da joj zada neku radnju, a zatim dobije jasan odgovor. Zamislite jelovnik u restoranu za softver. Naručite šta želite, a kuhinja vam to donese.
API-je koriste samo programeri. Nije tačno. Sa interfejsom za programiranje aplikacija (API) dolazite u kontakt svaki put kada vaš novčanik preuzima cene tokena, bot proverava gas ili aplikacija exchange-a prikazuje otvorene naloge. Neprimetan pogon, veliki učinak.
Kako funkcioniše interfejs za programiranje aplikacija (API)
Zamislite aplikaciju za portfolio koja prati tržište i kupuje kada se aktivira vaše upozorenje. U nastavku je kratak prikaz postupka.
- Korak 1: Aktivira se okidač ili dodirnete dugme „Kupi“.
- Korak 2: Aplikacija šalje zahtev krajnjoj tački sa podacima o paru, strani i veličini naloga.
- Korak 3: Ključ ili potpis potvrđuje da je poziv ovlašćen.
- Korak 4: Server izvršava radnju, beleži je i vraća strukturirane podatke, često u JSON formatu.
- Korak 5: Aplikacija prikazuje izvršeni nalog, ažurira vaše stanje i beleži eventualne greške. Eto, tako to funkcioniše.
Zašto je interfejs za programiranje aplikacija (API) važan
Zašto bi vas to trebalo zanimati čak i ako nikada ne pišete kod:
- Prednost: Brzina i jasnoća. Cene, stanja i trgovine stižu u realnom vremenu.
- Šira slika: Novčanici, exchange-i, orakli i botovi povezuju se poput Lego kockica za odrasle.
- Primena: Naići ćete na njih u novčanicima, dapp-ovima, DAO-ovima, poreskim alatima, upozorenjima i analitici.
Pre upisa koristite ključeve koji dozvoljavaju samo čitanje. Ograničite dozvole, dodajte IP pravila i testirajte sa malim stanjem ili na testnoj mreži. Počnite malim koracima, pa postepeno povećavajte ulog.
Ključne karakteristike interfejsa za programiranje aplikacija (API)
Osobine koje ga čine praktičnim:
- Format: Predvidivi zahtevi i odgovori, često u JSON formatu, tako da obe strane koriste istu strukturu podataka.
- Autentifikacija: Ključevi ili potpisi potvrđuju ko upućuje poziv i šta mu je dozvoljeno.
- Ograničenja: Ograničenja broja zahteva održavaju stabilnost servisa i sprečavaju spam.
- Verzionisanje: Nove funkcije stižu bez narušavanja rada starijih aplikacija.
- Dokumentacija: Uputstva sadrže krajnje tačke, parametre i kodove grešaka kako bi se problemi brzo otklonili.
Vrste
Glavne vrste na koje ćete naići u kriptu:
- REST: Jasan zahtev i odgovor preko HTTP-a za cene i stanja.
- GraphQL: U jednom pozivu zatražite samo polja koja su vam potrebna.
- WebSocket: Tokovi podataka u realnom vremenu za trgovine, događaje u mempool-u i promene cena.
- JSONRPC: Standardni pozivi čvoru za slanje transakcije i preuzimanje stanja.
- SDK: Klijentska biblioteka koja objedinjuje uobičajene pozive i štedi vreme.
Čuvajte API ključeve kao da su novac. Držite ih dalje od repozitorijuma, redovno ih menjajte i strogo ograničite dozvole. Dokumentacija za interfejs za programiranje aplikacija (API) može da se menja, zato se prijavite za obaveštenja o novostima pre nego što zbunite svog bota.
Primer
Vaš novčanik poziva interfejs za programiranje aplikacija (API) da preuzme stanje vašeg ETH-a, a zatim drugi API da preračuna taj iznos u dolare za prikaz.
Zanimljivost
Termin API je nastao decenijama pre kripta, ali je JSON RPC postao zajednički jezik Ethereum klijenata mnogo pre nego što su ga elegantni novčanici učinili pristupačnim.
Zaključak
Ukratko, interfejs za programiranje aplikacija (API) je jelovnik koji aplikacijama omogućava da na ponovljiv način zatraže podatke ili radnje, od provere cena do transakcija na blockchain-u.
.