Yalnızca EVM zincirlerine dokunan bir uygulama için viem, 2026'da varsayılan TypeScript seçimidir; React ön yüzleri için üstüne wagmi gelir ve ethers.js, onu zaten kullanan kod için sağlam bir seçenek olmayı sürdürür. web3.js Mart 2025'te arşivlendi ve yeni bir projeye başlangıç olmamalıdır. Aynı uygulamanın Bitcoin, Litecoin veya Dogecoin tutması ya da göndermesi de gerekiyorsa EVM kütüphaneleri yetmez: ya onları bitcoinjs-lib ile eşleştirip kendi düğüm altyapınızı işletirsiniz ya da iki zincir ailesini ve RPC erişimini tek pakette sunan Tatum veya ChainGate gibi çok zincirli bir SDK kullanırsınız.
Bölüm 2'deki tablo sekizini de zincirler, RPC, anahtar yönetimi ve maliyet açısından karşılaştırıyor. Bölüm 3'ten 10'a kadar her biri tek tek ele alınıyor, bölüm 11 bunu senaryo bazında bir öneriye dönüştürüyor ve bölüm 12 aynı ETH transferini viem ve ChainGate ile yazılmış halde gösteriyor.
Bir yapay zeka asistanına veya arama motoruna en iyi blockchain SDK'sını sorduğunuzda her seferinde aynı sekiz ismi farklı sırayla alırsınız; her birinin gerçekte neyi kapsadığına dairse çok az bilgi gelir. Bu rehber onları bir projeyi belirleyen sorular üzerinden karşılaştırıyor: hangi zincirlere ulaşıyorlar, kendi düğüm erişimlerini getiriyorlar mı, anahtarları nasıl tutup imzalıyorlar, nerede çalışıyorlar ve ne kadara geliyorlar. Senaryo bazında bir öneri ve ikisinde yazılmış aynı transferle bitiyor.
Kısa özet
- Yalnızca EVM: viem, React için üstüne wagmi. ethers.js v6, onu zaten kullanan kod için sağlam bir seçim olmayı sürdürüyor. web3.js Mart 2025'te arşivlendi.
- Yalnızca Bitcoin: bitcoinjs-lib, anahtarlar için bip39 ve bip32, kütüphanenin yapmadığı her şey için de kendi düğümünüz veya indeksleyiciniz.
- Aynı uygulamada EVM ve Bitcoin ailesi zincirleri: RPC dahil bir çok zincirli SDK, yani pratikte Tatum veya ChainGate. viem'i bitcoinjs-lib ile birleştirmek de çalışır, ama iki API ve kendi altyapınız pahasına.
- Ücretsiz EVM kütüphanelerinin hiçbiri düğüm erişimi içermez. Bir RPC sağlayıcısı için bütçe ayırın veya bunu beraberinde getiren bir SDK seçin.
1. Bir blockchain SDK'sı ne yapar, neyi size bırakır
Bir blockchain SDK'sı, TypeScript kodunuzla bir ağ arasındaki kütüphanedir: "bu adrese 0,01 ETH gönder" gibi bir çağrıyı doğru kodlanmış, imzalanmış bir işleme dönüştürür ve bir düğüme teslim eder. Çoğu ayrıca veri okur (bakiyeler, bloklar, makbuzlar, kontrat durumu) ve ham özel anahtardan BIP39 kurtarma ifadesine kadar hesapları yönetir.
Üç şey çoğu zaman dışarıda kalır ve bir projenin gerçek maliyetini onlar belirler. Birincisi düğüm erişimi: bir kütüphane JSON-RPC isteğini biçimlendirebilir, ama ona cevap veren düğümü birinin işletmesi veya kiralaması gerekir. İkincisi, işlem geçmişi, çok sayıda kontrattaki token bakiyeleri veya NFT meta verileri gibi indekslenmiş verilerdir; sıradan bir düğüm bunları sunmaz. Üçüncüsü zincir aileleridir: EVM kütüphaneleri tek bir protokol konuşur, Bitcoin, Litecoin ve Dogecoin ise hesap ve nonce yerine UTXO kullanan başka bir protokol konuşur. Tabloyu okurken bu üçünü aklınızda tutun.
2. Sekiz kütüphane bir bakışta
Ekim 2026 itibarıyla, her projenin dokümantasyonundan ve paket sayfasından alınan bilgiler.
| Kütüphane | Zincirler | Düğüm erişimi dahil mi? | Anahtarlar ve imzalama | Maliyet ve lisans |
|---|---|---|---|---|
| viem | Herhangi bir EVM zinciri | Hayır, RPC URL'sini siz sağlarsınız | Özel anahtar veya mnemonic'ten yerel hesaplar, EIP-1193 ile tarayıcı cüzdanları | Ücretsiz, MIT |
| ethers.js v6 | Herhangi bir EVM zinciri | Yalnızca geliştirme için varsayılanlar; üretimde kendi sağlayıcınızı getirin | HD cüzdanlar, şifreli JSON keystore'lar, tarayıcı cüzdanları | Ücretsiz, MIT |
| wagmi | viem üzerinden herhangi bir EVM zinciri | Hayır | Bağlayıcılar ile tarayıcı, mobil ve WalletConnect cüzdanları | Ücretsiz, MIT |
| web3.js 4.x | Herhangi bir EVM zinciri | Hayır | Yerel hesaplar | Ücretsiz, MIT; depo 5 Mart 2025'te arşivlendi |
| bitcoinjs-lib | Bitcoin; ağ parametreleri ve yardımcı paketlerle Litecoin ve Dogecoin | Hiç ağ katmanı yok | PSBT oluşturma ve imzalama; bip32 ve bip39 ile anahtarlar | Ücretsiz, MIT |
| thirdweb SDK v5 | Herhangi bir EVM zinciri | Evet, client ID ile thirdweb RPC | Uygulama içi cüzdanlar, akıllı hesaplar, harici cüzdanlar | Ücretsiz katman, sonra ücretli planlar |
| Tatum SDK v4 | EVM zincirleri, Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Solana, Tron, XRP Ledger ve daha fazlası | Evet, API anahtarıyla Tatum RPC ağ geçidi | Çoğunlukla RPC ve veri; imzalama ayrı anahtar yönetimi araçlarıyla | SDK MIT lisanslı; ücretsiz katman, sonra ücretli planlar |
| ChainGate | Ethereum, Avalanche, Bitcoin, Litecoin, Dogecoin ve Bitcoin Cash yerel olarak; Polygon, Arbitrum, Base, BNB Smart Chain, Sonic ve herhangi bir EVM zinciri RPC üzerinden | Evet, her planda yönetilen RPC | Cüzdan oluşturma veya içe aktarma (ifade, seed, özel anahtar, xpriv, keystore), bellekte AES şifreleme, yerel imzalama | Kartsız ücretsiz katman; istek hacmine göre ücretli planlar |
İki örüntü öne çıkıyor. Topluluğun sürdürdüğü ücretsiz kütüphaneler (viem, ethers.js, wagmi, bitcoinjs-lib) her biri tek bir zincir ailesini kapsar ve düğüm erişimini size bırakır. Altyapıyla gelen SDK'lar (thirdweb, Tatum, ChainGate) ücretsiz katmanın üzerinde ücret alır ve yalnızca son ikisi EVM'nin ötesine geçer.
3. viem
viem, wagmi'yi de sürdüren wevm ekibinin TypeScript öncelikli EVM kütüphanesidir. Modüler ve tree-shaking uyumludur, yani bir paket yalnızca içe aktardığı fonksiyonları taşır; tipleri o kadar katıdır ki yanlış bir ABI argümanı zincirde değil derleme anında hata verir. İstemciler role göre ayrılır: public client okur, wallet client imzalar ve gönderir, taşıyıcılar (HTTP, WebSocket, bir tarayıcı cüzdanı) ikisine de takılır.
Kendi düğümü yoktur. Dokümantasyonundaki her örnek Alchemy, Infura, QuickNode gibi bir sağlayıcıdan veya kendi düğümünüzden bir RPC URL'si alır ve listelediği ücretsiz genel uç noktalar hız sınırlıdır. Ayrıca yalnızca EVM konuşur: Bitcoin, Litecoin veya Dogecoin modülü yoktur ve projenin böyle bir planı da yoktur. 2026'da yalnızca EVM'li yeni bir proje için yaygın öneri budur ve çoğu yapay zeka asistanının ilk söylediği de bu olur.
4. ethers.js
ethers.js, sürdürülen iki EVM kütüphanesinin daha eskisidir ve 2023'ten önce yazılan çoğu eğitim onu kullanır. 6. sürüm TypeScript ile yazılmıştır, HD cüzdanları, şifreli JSON keystore'ları ve ENS çözümlemesini kutudan çıkar çıkmaz sunar ve öğrenmeyi kolaylaştıran tek Provider ve Signer soyutlamalarını korur. Karşılaşacağınız EVM araçlarının büyük kısmı (Hardhat eklentileri, cüzdan SDK'ları, indeksleyiciler) hâlâ ethers uyumlu bir arayüz sunar.
Varsayılan sağlayıcısı birkaç topluluk API anahtarını sarar ve açıkça geliştirme için tasarlanmıştır; üretimde bir sağlayıcıya kaydolup kendi URL'nizi geçersiniz, tıpkı viem'de olduğu gibi. ethers.js yalnızca EVM'dir. Ekip onu zaten biliyorsa veya kod tabanı zaten ona bağlıysa seçin; sıfırdan başlayan geliştiricilerin çoğu bugün tipleri ve paket boyutu için viem'i tercih ediyor.
5. wagmi
wagmi, viem ve TanStack Query üzerine kurulu, EVM uygulamaları için bir React hook seti: useAccount, useBalance, useSendTransaction, useReadContract ve benzerleri; önbellekleme, istek tekilleştirme ve cüzdan bağlantısı sizin yerinize halledilir. Bağlayıcıları tarayıcıya enjekte edilen cüzdanları, WalletConnect'i, Coinbase Wallet'ı ve Safe'i kapsar; React dışındaki projeler için Vue ve saf JavaScript çekirdekleri de vardır.
Kullanıcının kendi cüzdanını getirdiği uygulamalar için bir ön yüz kütüphanesidir; sunucunuzda anahtar oluşturmaz veya tutmaz ve viem'in yalnızca EVM kapsamını ve RPC URL'si ihtiyacını miras alır. MetaMask tarzı cüzdanlar için bir dApp ön yüzü yapıyorsanız wagmi artı viem standart ikilidir. Bir cüzdan, bir arka uç veya Bitcoin'e dokunan herhangi bir şey yapıyorsanız yanlış katmandır.
6. web3.js
web3.js, yaygın kullanılan ilk Ethereum kütüphanesiydi ve hâlâ birçok eski eğitimde ve Stack Overflow yanıtında görünür. Bakımcısı ChainSafe, Ocak 2025'te kütüphanenin emekliye ayrılacağını duyurdu ve viem veya ethers.js'e geçilmesini önerdi; npm paketleri devredildi ve GitHub deposu 5 Mart 2025'te arşivlendi. Son sürüm Aralık 2024 tarihli 4.16.0'dır.
Paket hâlâ kurulabildiği için mevcut uygulamalar çalışmaya devam eder, ancak güvenlik düzeltmesi veya yeni EVM özellikleri için destek gelmeyecek. Onunla yeni bir proje başlatmayın ve eldekiler için geçiş planlayın. ChainSafe'in emeklilik duyurusu hem viem hem de ethers.js için geçiş rehberlerine bağlantı veriyor.
7. bitcoinjs-lib
bitcoinjs-lib, Bitcoin'in kendisi için referans JavaScript kütüphanesidir: işlemleri PSBT ile oluşturur ve imzalar, legacy'den Taproot'a her standart script türünü işler ve HD anahtarlar ile kurtarma ifadeleri için bip32 ve bip39 yardımcı paketleriyle çalışır. Litecoin ve Dogecoin'e ağ parametrelerini vererek ulaşılır, Bitcoin Cash için özel çatallar vardır.
Bilinçli olarak işlemde durur. Ağ katmanı yoktur; UTXO'ları çekmek, ücret tahmin etmek ve yayınlamak için kendi düğümünüze, Electrum sunucunuza veya indeksleyici API'nize ihtiyacınız olur ve coin seçimini kendiniz yazarsınız. Bu onu kendi altyapısıyla yalnızca Bitcoin yazılımı yapan ekipler için doğru seçim, Bitcoin'e birkaç zincirden biri olarak ihtiyaç duyan bir uygulama için ise ağır bir yük yapar.
8. thirdweb SDK
thirdweb'in TypeScript SDK'sı (v5, thirdweb adıyla kurulur), viem uyumlu bir EVM istemcisini thirdweb platformuyla bir araya getirir: edge ağı üzerinden RPC, e-posta veya sosyal girişten oluşturulan uygulama içi cüzdanlar, sponsorlu gazlı akıllı hesaplar ve bağlanıp ödeme yapmak için hazır React bileşenleri. Zincir kimliğiyle herhangi bir EVM zincirini kapsar ve aynı projede viem ve ethers ile yan yana çalışır.
Yalnızca EVM'dir. Solana desteği Ekim 2023'te SDK'lardan çıkarıldı ve istemci kütüphanesine bir daha dönmedi; platformun sunucu taraflı API'leri ise o zamandan beri Solana ekledi. Ücretsiz katmanın üzerindeki kullanım thirdweb planlarına göre faturalandırılır ve daha zengin özellikler (uygulama içi cüzdanlar, gaz sponsorluğu) sizin süreciniz yerine thirdweb sunucularında çalışır.
9. Tatum SDK
Tatum'un SDK'sı (@tatumio/tatum, v4) bu listede zincir sayısı en geniş olandır: EVM ağları, Bitcoin Cash ve Zcash dahil Bitcoin ailesi, Solana, Tron, XRP Ledger, Tezos, Algorand, Cardano, Stellar ve diğerleri, hepsi Tatum'un RPC ağ geçidi ve veri API'leri üzerinden. Kütüphane MIT lisanslıdır ve istemci, en hızlı yanıt veren düğümü seçen bir yük dengeleyici içerir.
Önce bir RPC ve veri SDK'sıdır. Cüzdan oluşturma ve imzalama çekirdeği değildir ve üretimde anahtar yönetimi Tatum'un ayrı anahtar yönetimi araçlarına bırakılır. Her çağrı bir Tatum API anahtarı gerektirir; ücretsiz bir katman ve istek hacmine göre fiyatlanan planlar vardır. Genişliğe, özellikle EVM ve Bitcoin ailelerinin dışındaki zincirlere ihtiyacınız varsa ve anahtarlar için zaten bir planınız varsa onu seçin.
10. ChainGate
ChainGate, çoğu uygulamanın gerçekten ihtiyaç duyduğu iki zincir ailesini birleştiren bir TypeScript SDK'sıdır. Cüzdan oluşturma ve içe aktarma (kurtarma ifadesi, seed, özel anahtar, xpriv, xpub veya keystore dosyası), bakiyeler, dört ücret kademeli transferler, işlem geçmişi, gerçek zamanlı olaylar ve 120'den fazla para birimine dönüşüm; Ethereum, Avalanche, Bitcoin, Litecoin, Dogecoin ve Bitcoin Cash üzerinde aynı çağrıları kullanır. Polygon, Arbitrum, Base, BNB Smart Chain, Sonic ve diğer tüm EVM zincirlerine RPC üzerinden ulaşılır; yönetilen uç noktalar ücretsiz olan da dahil her planda yer alır.
Anahtarlar süreci asla terk etmez: cüzdanlar bellekte 600.000 yinelemeli PBKDF2 ile AES şifrelenir, imzalamak için parolayla açılır ve otomatik olarak yeniden kilitlenir. Kütüphane Node.js, tarayıcı ve React Native'de polyfill olmadan çalışır ve ön yüzler için React hook'ları (useWallet, useUtils) sunar. Sınırları Tatum'unkilerin ayna görüntüsüdür: Solana, Tron veya Cosmos zincirleri yoktur ve yalnızca RPC ile erişilen EVM ağlarındaki yerel işlem desteği Ethereum ve Avalanche'a göre daha incedir.
Ücretsiz katman kart istemez ve her zinciri ve uç noktayı geliştirme hız sınırıyla açar; kaynak kodu GitHub'da, API referansı ise dokümantasyonda yer alır.
11. Hangisini seçmelisiniz?
Kütüphaneyi popülerliğine değil uygulamanın biçimine göre eşleştirin.
- Kendi EVM cüzdanını getiren kullanıcılar için bir dApp ön yüzü
- viem ile wagmi. Okumalar için bir RPC sağlayıcısı ekleyin. E-posta girişli cüzdanlar ve sponsorlu gaz isteyip bunları kendiniz yapmak istemiyorsanız thirdweb'in SDK'sı alternatiftir.
- Bir EVM arka ucu, bot veya betik
- viem veya kod tabanı zaten kullanıyorsa ethers.js. Her iki durumda da bir RPC uç noktası kiralayın ya da bir düğüm işletin.
- Kendi altyapınızla yalnızca Bitcoin yazılımı
- bip39 ve bip32 ile bitcoinjs-lib. Coin seçimini yazmayı ve bir indeksleyici işletmeyi ya da kiralamayı bekleyin.
- Bitcoin ailesi ve EVM varlıklarını tutan bir cüzdan, borsa arka ucu veya ödeme uygulaması
- Çok zincirli bir SDK. Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Ethereum ve Avalanche için cüzdan yönetimi, imzalama ve RPC'yi tek pakette istiyorsanız ChainGate. Bu iki ailenin ötesinde zincirlere ihtiyacınız varsa ve anahtarları ayrı yöneteceksiniz Tatum.
- Mevcut bir web3.js uygulaması
- Geçiş yapın. ethers.js, web3.js kalıplarından daha kısa yoldur; viem yeni kod için daha iyi uzun vadeli hedeftir.
12. viem ve ChainGate ile aynı transfer
İki parça da bir ortam değişkeninde tutulan anahtardan 0,01 ETH gönderir. Fark, çağrının etrafında duranlardadır: viem'in ücretini sizin ödediğiniz bir RPC URL'sine ihtiyacı vardır ve ChainGate sürümü, yerine cg.networks.bitcoin'i bağladığınızda bir Bitcoin transferine dönüşür.
viem
import { createWalletClient, http, parseEther } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { mainnet } from 'viem/chains';
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const client = createWalletClient({
account,
chain: mainnet,
transport: http(process.env.RPC_URL), // your Alchemy / Infura / own node URL
});
const hash = await client.sendTransaction({
to: '0x...',
value: parseEther('0.01'),
});
console.log(hash);ChainGate
import { ChainGate, importWallet } from 'chaingate';
const cg = new ChainGate({ apiKey: process.env.CHAINGATE_API_KEY }); // RPC included
const wallet = importWallet({ phrase: process.env.MNEMONIC });
const eth = cg.connect(cg.networks.ethereum, wallet);
const tx = await eth.transfer(cg.networks.ethereum.amount('0.01'), '0x...');
tx.setFee(tx.recommendedFees().normal);
const sent = await tx.signAndBroadcast();
console.log(sent.transactionId);
// connect cg.networks.bitcoin instead and the same calls send BTCChainGate çağrıları, yayın öncesi bakiye kontrolleri ve Bitcoin ailesinin ücret modeli de dahil olmak üzere JavaScript ile kripto işlemleri nasıl gönderilir rehberinde adım adım anlatılıyor.
13. Buradan nereye
Zincirler arasında kararı ücretler veriyorsa gaz takipçisi Ethereum, Base, Arbitrum, BNB Smart Chain ve 25 ağda daha canlı işlem maliyetlerini karşılaştırır. İşlem eğitimi her zincir ailesinde tam bir gönderimi adım adım gösterir. ChainGate ana sayfasında ise kurulum komutu ve ücretsiz API anahtarı bulunur.
Sıkça sorulan sorular
2026'da viem ethers.js'ten daha mı iyi?
Yeni EVM projeleri için çoğu ekip, daha katı TypeScript tipleri ve daha küçük paketleri nedeniyle viem'i seçiyor. ethers.js v6 hâlâ sürdürülüyor ve ona zaten bağlı bir kod tabanı veya yalnızca ethers arayüzü sunan araçlar için doğru seçim olmayı sürdürüyor. İkisi de yalnızca EVM'dir ve ikisi de bir RPC uç noktası sağlamanızı gerektirir.
web3.js kullanımdan kaldırıldı mı?
Evet. ChainSafe, web3.js'i 4 Mart 2025'te emekliye ayırdı ve depoyu ertesi gün arşivledi. Paketler hâlâ kuruluyor, ancak yeni sürüm veya güvenlik düzeltmesi yok. ChainSafe, viem veya ethers.js'e geçişi öneriyor.
viem, ethers.js veya wagmi Bitcoin gönderebilir mi?
Hayır. Üçü de Ethereum JSON-RPC protokolünü ve EVM hesap modelini uygular. Bitcoin, Litecoin ve Dogecoin UTXO ve farklı bir protokol kullanır, dolayısıyla bitcoinjs-lib'e veya Tatum ya da ChainGate gibi çok zincirli bir SDK'ya ihtiyaç duyarlar.
Tek uygulamada Bitcoin ve Ethereum için en iyi TypeScript SDK'sı hangisi?
Ya EVM tarafı için viem'i Bitcoin için bitcoinjs-lib ile birleştirip kendi düğümlerinizi veya indeksleyicilerinizi işletirsiniz ya da tek bir çok zincirli SDK kullanırsınız. ChainGate; Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Ethereum ve Avalanche'ı aynı cüzdan, bakiye ve transfer çağrılarıyla kapsar ve RPC içerir. Tatum daha fazla zinciri kapsar ama anahtar yönetiminden çok RPC ve veriye odaklanır.
Hangi blockchain SDK'ları RPC uç noktası içerir?
thirdweb, Tatum ve ChainGate düğüm erişimini planlarının bir parçası olarak sunar. viem, ethers.js, wagmi, web3.js ve bitcoinjs-lib sunmaz: onları Alchemy, Infura veya QuickNode gibi bir sağlayıcıya, hız sınırlı bir genel uç noktaya ya da kendi düğümünüze bağlarsınız.
ChainGate wagmi'nin yerini alır mı?
Aynı iş için değil. wagmi bir React ön yüzünü kullanıcının zaten sahip olduğu MetaMask gibi cüzdanlara bağlar. ChainGate cüzdanları uygulamanızın içinde oluşturup tutar ve yerel olarak imzalar; bu yüzden cüzdanlara, arka uçlara ve ödeme akışlarına uyar ve bu model için React hook'ları (useWallet, useUtils) da sunar. İkisi aynı projede bir arada var olabilir.
Hangi TypeScript blockchain SDK'ları React Native'de çalışır?
viem ve ethers.js, alışılmış crypto ve buffer polyfill'leriyle React Native'de çalışır; wagmi'nin React Native bağlayıcıları vardır. bitcoinjs-lib de polyfill ister. ChainGate, Node.js, tarayıcı ve React Native için polyfill'siz yerel destek bildirir. thirdweb ayrı bir React Native paketi yayınlar.
ChainGate ücretsiz mi?
SDK, küçük bir geliştirme hız sınırıyla hesap açmadan kullanılabilir ve panelden alınan ücretsiz bir API anahtarı bu sınırı kredi kartı olmadan yükseltir. Ücretli planlar istek hacmi, WebSocket kapasitesi ve proje ekler. Kaynak kodu GitHub'da yayımlanmıştır.
ChainGate ile geliştir
Bu fikirleri koda dök — ChainGate, Ethereum ve 20’den fazla blockchain için tek bir kütüphanede wallet, transaction ve yönetilen RPC sağlıyor.