Çoğu blokzincir veri aracı endeksleyicidir. Olayları çıkarır, özel eşlemelerle dönüştürür ve sonucu Postgres veya başka bir genel amaçlı depoya aktarırlar. İndeksleyici darboğazdır, altındaki veritabanı blokzincir verilerinin ne olduğunu bile bilmez ve sonunda birbirine uygun tasarlanmamış iki sistemi korumak zorunda kalırsınız. Amp bir veritabanıdır. Apache DataFusion, Apache Arrow ve Parquet üzerine kurulu, blokzincire özgü bir sistem. Bunlar veri endüstrisindeki modern analitik motorlarını güçlendiren aynı temellerdir. DataFusion sorgu çalıştırma ve optimizasyonu yönetirken, Arrow bellek içi sütunlu formatı sağlarken, Parquet depolamayı yönetir. Amp, blokzincire özgü yetenekler ekliyor: ABI kod çözme, doğrulanabilir çıkarma, akış SQL ve yerleşik yeniden düzenleme işleme için EVM tabanlı UDF'ler. Fark önemlidir çünkü karmaşıklığın nerede yaşadığını değiştirir. İndeksleyici + veritabanı kurulumunda, uygulama kodun veri dönüşümlerini, yeniden düzenleme geri dönüşlerini ve şema yönetimini yönetir. Amp ile bunlar veritabanı seviyesinde ilkellerdir. SQL yazıyorsunuz, veritabanı geri kalanını hallediyor. Örneğin, Ethereum ana ağında ERC-20 Transfer olaylarını çözmek, Amp'in yerleşik evm_decode fonksiyonuna sahip bir SQL sorgusudur: SELECT evm_decode(topic1, topic2, topic3, data, 'Transfer(address indexed from, address indexed to, uint256 value)') as transfer from 'edgeandnode/ethereum_mainnet'.logs "Amaçlı veritabanı" pratikte ne anlama geliyor: veri modeli, sorgu motoru ve depolama katmanı, blokzincir verisinin ne olduğunu ve nasıl davrandığını anlar. Bu Amp.