Jak vybrat poskytovatele dat pro váš web3 projekt?

Kromě kryptoměnových tokenů blockchain také umožňuje analytikům získat jasnější představu o prakticky jakémkoli projektu GameFi, NFT, tržišti nebo protokolu DeFi díky Footprint.

Ve Footprintu jsme vytvořili metodiku, která sestavuje a smysluplně agreguje nezpracovaná data z blockchainu. A to platí pro integraci programování.

1. Způsoby práce s blockchainovými daty

Promluvme si nejprve o metodách integrace programování. Existuje několik různých způsobů, jak pracovat s blockchainovými daty, a zvolený přístup bude záviset na vašich konkrétních potřebách a cílech. Zde je rychlý přehled:

1.1 Blockchain průzkumníci

Blockchain explorer je webová stránka nebo nástroj, který vám umožňuje prohlížet data uložená na blockchainu. To může být rychlý a snadný způsob, jak získat přístup k informacím o konkrétních transakcích, blocích a dalších datech na blockchainu.

Blockchain průzkumníci mohou být užitečným nástrojem pro přístup a prohlížení dat uložených na blockchainu, ale mají určitá omezení pro softwarové integrace. Zde je několik příkladů věcí, které mohou průzkumníkům blockchainu chybět:

  • Zaměřuje se především na hrubá data. Průzkumníci blockchainu obvykle zobrazují nezpracovaná data z blockchainu. To vyžaduje implementaci abstrakcí nad nezpracovanými daty, což může být únavné, zejména u projektů zaměřených spíše na dodání než na technické detaily určitých blockchainů.
  • Možnosti přizpůsobení: Průzkumníci blockchainu jsou obvykle navrženi tak, aby byly uživatelsky přívětivé a snadno použitelné, což znamená, že nemusí nabízet mnoho možností přizpůsobení. To může ztížit přizpůsobení průzkumníka vašim konkrétním potřebám nebo preferencím.
  • Funkce pokročilého vyhledávání: Průzkumníci blockchainu mají často základní funkce vyhledávání, ale nemusí podporovat pokročilejší funkce vyhledávání, jako jsou booleovské operátory nebo regulární výrazy. To může ztížit vyhledávání konkrétních informací na blockchainu.
  • Interaktivita: Mnoho průzkumníků blockchainu jsou v podstatě nástroje pouze pro čtení.

Přestože průzkumníci blockchainu mohou být užitečným způsobem, jak získat přístup k nezpracovaným datům blockchainu a prohlížet si je, mají určitá omezení, o kterých byste si měli být vědomi, než se na nich rozhodnete implementovat infrastrukturu řešení.

 1.2 Vlastní řešení indexování

Nastavení vlastního indexeru pro práci s blockchainovými daty může mít několik výhod a potenciálních nevýhod. Zde je několik příkladů každého z nich:

Výhody:

  • Přizpůsobení: Když nastavíte svůj indexátor, máte úplnou kontrolu nad tím, jak jsou data indexována a jak k nim přistupujete. To vám umožní přizpůsobit indexátor vašim specifickým potřebám a preferencím.
  • Nezávislost: Nastavením indexeru se nespoléháte na službu třetí strany, která bude udržovat a aktualizovat index. To může poskytnout větší kontrolu a flexibilitu při práci s blockchainovými daty.
  • Vylepšené zabezpečení: Když si nastavíte svůj vlastní indexer, můžete implementovat svá vlastní bezpečnostní opatření k ochraně dat a zabránění neoprávněnému přístupu.

Nevýhody:

  • Složitost: Nastavení vašeho indexeru může být složitý a časově náročný proces, zvláště pokud jste v práci s technologií blockchain nováčkem. Budete muset porozumět základní technologii a být ochotni investovat čas a úsilí potřebné k uvedení indexeru do provozu.
  • Údržba: Jakmile nastavíte svůj indexátor, budete odpovědní za jeho údržbu a aktualizaci. To může vyžadovat neustálé technické znalosti a zdroje, což může být nevýhodou, pokud nemáte potřebné znalosti nebo podporu.
  • Cena: Nastavení vlastního indexeru může být drahé, protože musíte zakoupit hardware a software potřebný pro provoz indexeru a zaplatit veškeré související náklady, jako je elektřina a šířka pásma.

Celkově lze říci, že nastavení vlastního indexeru pro práci s blockchainovými daty může poskytnout větší kontrolu a přizpůsobení, ale může to být také složitý a nákladný proces. Než se rozhodnete, zda je to správný přístup, je důležité pečlivě zvážit výhody a nevýhody.

1.3 Databáze jako služba

Použití indexeru třetí strany pro práci s blockchainovými daty může mít několik výhod a potenciálních nevýhod. Zde je několik příkladů každého z nich:

Výhody:

  • Snadné použití: Indexery třetích stran jsou obvykle navrženy tak, aby se daly snadno používat, což znamená, že můžete začít pracovat s blockchainovými daty rychle a bez toho, abyste se museli učit spoustu technických detailů nebo spouštět vlastní řešení pro indexování (nezáleží na tom, zda je to samovyvinuté nebo hotové SDK)
  • Funkce pokročilého vyhledávání: Mnoho indexátorů třetích stran nabízí pokročilé funkce vyhledávání, jako jsou booleovské operátory a regulární výrazy, což usnadňuje vyhledávání konkrétních informací na blockchainu. Ty mohou mít mnoho skutečných implementací, ale indexovaná data jsou často přidávána do relační databáze, což znamená plnou podporu SQL.
  • Škálovatelnost: Indexery třetích stran jsou často navrženy tak, aby zpracovávaly velké objemy dat, což znamená, že mohou být dobrou volbou, pokud potřebujete vyhledávat data z velkého blockchainu nebo k nim přistupovat.
  • Spolehlivost: Indexery třetích stran jsou obvykle provozovány profesionálními organizacemi se zdroji a odbornými znalostmi, které zajistí, že index bude vždy aktuální a přesný. Řešení nejsou vždy decentralizovaná, protože jsou zaměřena na zpracování obrovského množství dat, ale v drtivé většině jde o open source, což zvyšuje důvěru uživatelů ve službu.

Nevýhody:

  • Závislost: Při použití indexátoru třetí strany se spoléháte na to, že tato služba bude udržovat a aktualizovat index. Pokud má indexátor technické problémy nebo přejde do režimu offline, možná nebudete mít přístup k datům blockchainu.
  • Omezené přizpůsobení: Indexery třetích stran jsou obvykle navrženy tak, aby se daly snadno používat, což znamená, že nemusí nabízet mnoho možností přizpůsobení. To může ztížit přizpůsobení indexeru vašim konkrétním potřebám nebo preferencím.
  • Cena: Některé indexátory třetích stran mohou za své služby účtovat poplatek, což může být nevýhoda, pokud pracujete s omezeným rozpočtem.

Stručně řečeno, použití indexeru třetí strany pro práci s daty blockchainu může být pohodlnou a efektivní možností, ale omezenou a někdy postrádající přizpůsobení.

1.4 Shrnutí

Cílem Footprintu je především snížit laťku pro zadávání analytiky a práci s web3 daty. Tento přístup představuje rovnováhu mezi snadností použití a flexibilitou. Proto je jednou z našich služeb DaaS (typ služby Databáze). Než se blíže podíváme na výhody naší služby, podíváme se také na další možnost implementace indexeru, a to self-written solution neboli SDK.

V dalších kapitolách prozkoumáme základní funkci, kterou by měla mít blockchainová API pouze pro čtení. Podíváme se na problém z různých úhlů pohledu a zvážíme alternativní řešení. Některé z nejdůležitějších funkcí blockchain API zahrnují následující:

  • Snadné použití a flexibilita
  • Škálovatelnost
  • Kompatibilita

Snadné použití a flexibilita jsou dvě důležité vlastnosti blockchain API. Blockchain API, které se snadno používá, usnadní vývojářům začít budovat aplikace založené na blockchainu a umožní jim rychle prototypovat a testovat své nápady, aniž by trávili spoustu času učením se, jak API používat.

Flexibilita na druhé straně odkazuje na schopnost blockchain API podporovat širokou škálu případů použití a aplikací. Flexibilní blockchain API umožní vývojářům přistupovat k různým částem blockchainu a vytvářet aplikace, které interagují s různými typy chytrých kontraktů a dalšími aktivy založenými na blockchainu. To může být zvláště důležité pro vývojáře, kteří chtějí vytvářet aplikace, které lze použít v různých odvětvích a kontextech.

Celkově vzato, mít blockchain API, které se snadno používá a je flexibilní, může vývojářům usnadnit vytváření inovativních a užitečných aplikací, které mohou využívat jedinečné vlastnosti a možnosti technologie blockchain.

1.5 Analýza stopy

Snadné použití a flexibilita je zajištěna naší organizací dat, která ovlivňuje všechny aspekty interakcí s ekosystémem Footprint. Footprint má na tomto datovém modelu postavené API, které uživatelům umožňuje vytvářet plnohodnotné datové kanály pro analýzu dat a aplikace strojového učení. Říkáme tomu Data API. Současně podporujeme dva typy API a dva podtypy v rámci jednoho z nich, abychom pokryli většinu případů: Rest API a SQL API.

REST API nám umožňuje rychle integrovat aplikaci, protože každý koncový bod je předem vytvořený, pevně naprogramovaný skript, který jsme označili za jeden z nejoblíbenějších. Všechny koncové body jsou dodávány se snadno použitelnými nástroji pro filtrování, řazení a stránkování.

Díky přizpůsobivějšímu rozhraní SQL API to můžete získat pro specifičtější případy. Jednou z výhod používání stejných SQL dotazů ve webové aplikaci i v API je to, že může zjednodušit vývoj a údržbu. Použitím stejných dotazů v obou rozhraních se vývojáři mohou vyhnout nutnosti psát a udržovat samostatné sady dotazů pro webovou aplikaci a API. To může ušetřit čas a úsilí a snížit riziko chyb nebo nesrovnalostí mezi oběma rozhraními.

Navíc použití stejných SQL dotazů ve webové aplikaci i v API může vývojářům usnadnit vytvoření bezproblémového uživatelského prostředí. Použitím stejných dotazů mohou vývojáři zajistit, že data, ke kterým přistupuje webová aplikace a API a s nimiž se manipuluje, jsou konzistentní, což uživatelům umožňuje přepínat mezi těmito dvěma rozhraními, aniž by se setkávali s jakýmikoli nesrovnalostmi nebo přerušeními.

 1.6 Jiné platformy

Mnoho alternativních analytických řešení umožňuje uživateli analyzovat různé sítě podle různých úrovní požadavků. Alternativní řešení však většinou zacházejí do extrémů a implementují buď velmi flexibilní produkt, který vyžaduje znalost dotazovacích jazyků nebo dokonce programovacích jazyků nebo velmi jednoduché rozhraní s připravenými skripty, a tedy nízkou flexibilitu.

Řešení jako Moralis a Quicknode mají pouze rozhraní REST API. I když existuje mnoho koncových bodů, stále to omezuje vývojáře ve flexibilitě vracených dat.

Dune nedávno představila své API. Toto asynchronní řešení předpokládá předběžnou existenci dotazu na platformě pod určitým id (dune.com/query/{{query id}}), pomocí kterého je možné provádět dotazy ve formě SQL. Klíčovým omezením tohoto řešení je nutnost předem upravit SQL na platformě tak, aby byl následně proveden aktualizovaný dotaz.

Chainbase vydává SQL API stejným způsobem jako Footprint. Na rozdíl od Footprintu však Chainbase nemá tak sofistikované ETL, takže SQL dotazy lze provádět pouze pro nezpracované transakce.

2. Škálovatelnost

Blockchain API by měla být schopna zpracovat velké objemy dat a transakcí, což vývojářům umožní vytvářet aplikace, které může používat mnoho uživatelů současně.

 2.1 Analýza stopy

 2.1.1 Moderní otevřený datový zásobník

Tým Footprint provedl od svého spuštění v srpnu 2021 několik architektonických upgradů, a to díky jeho silné schopnosti zkoumat a opakovat technologie. Za necelý rok a půl se týmu podařilo tyto změny úspěšně zavést. To je důkazem dovedností a odborných znalostí týmu v oblasti technologií a datové vědy.

Prostřednictvím experimentování Footprint iterativně provedl tři globální architektonické aktualizace a nakonec dospěl k architektuře, která splňuje požadavky různých případů použití platformy. Více informací o vývoji implementace naleznete v následujícím článku:

https://www.footprint.network/article/iceberg-spark-trino-a-modern-opensource-data-stack-for-blockchain-fp-HGZpPm3D

 2.1.2 Synchronizace a asynchronní provádění

V rámci Footprintu existují dva režimy pro provádění dotazů na SQL API – synchronní a asynchronní. Volání API do synchronního koncového bodu znamenají, že dotaz SQL bude proveden servery Footprint, jakmile je z aplikace přijat požadavek HTTP, čímž se zachová spojení. To dává smysl při použití odlehčených požadavků, protože v tomto případě aplikace nemusí dlouho čekat na provedení. Podrobnosti najdete na následující stránce:

https://docs.footprint.network/reference/post_native

Pro náročné požadavky se doporučuje použít asynchronní požadavek. Na rozdíl od synchronního nemusí klientská aplikace během provádění udržovat spojení se serverem. Místo toho může okamžitě získat ID požadavku, podle kterého po nějaké době samostatně získat výsledky provedení. V rámci asynchronního rozhraní API by mělo být načtení dat provedeno ve dvou krocích – k odeslání „objednávky“ pro provedení SQL bude použit následující koncový bod:

https://docs.footprint.network/reference/post_native-async

Druhým krokem je odeslání požadavku na obdržení výsledků pomocí identifikátoru získaného při přístupu k předchozímu koncovému bodu. Koncový bod pro tento druhý krok je popsán na následující stránce:

https://docs.footprint.network/reference/get_native-execution-id-results

2.2 Jiná řešení

DuneV2 mění celou architekturu databáze. Dune nyní přechází z databáze PostgreSQL na instanci [[Apache Spark]] hostovanou na [[Databricks]]. Pouze asynchronní API.

3. Kompatibilita

Blockchain API by měla být kompatibilní se širokou škálou programovacích jazyků a vývojových prostředí, aby vývojáři mohli používat nástroje a frameworky, které nejlépe znají.

REST se snadněji integruje, protože každý programovací jazyk má mnoho knihoven, které poskytují pohodlnou práci s tímto typem API. Nakonec však jak SQL API, tak REST fungují přes HTTP, takže vývojová zkušenost je téměř identická, pokud jde o odesílání požadavku ve výchozím nastavení.

4. Shrnutí

Jak jsme analyzovali, ve většině případů stačí, aby aplikace používala hotová řešení DaaS, protože mohou vracet abstrakce (nejen nezpracovaná data) a ušetřit spoustu času a peněz, protože v konečném důsledku umožňují týmům zaměřit se nikoli na infrastrukturu, ale na hodnotu produktu. Procházením různých řešení na trhu DaaS,

Footprint se zdá být nejoptimálnější pro integraci, protože má nejflexibilnější model pro generování požadavků a zároveň se snadno používá a také má pod kapotou moderní open-source datový zásobník, který zajišťuje nepřetržité a hlavně rychlé provádění z nejsložitějších požadavků.

Publikováno v: Analýza, Web3

Přečtěte si naši nejnovější zprávu o trhu

Zdroj: https://cryptoslate.com/how-to-choose-a-data-provider-for-your-web3-project/