@solana/web3-compat

@solana/web3-compat, uzun ömürlü @solana/web3.js uygulamaları ile daha yeni Kit çalışma zamanı arasındaki köprüdür. İçe aktarmayı değiştirin, uygulamanızın zaten bildiği yüzeyi koruyun ve her yardımcıyı veya talimatı yeniden yazmadan Kit özelliklerini aşamalı olarak benimseyin.

Kit bağımlılıklarıyla yükleme

Terminal
$
npm install @solana/web3-compat @solana/kit @solana/client

Uyumluluk katmanı, klasik Web3 türlerini (Connection, PublicKey, Transaction vb.) yeniden dışa aktarırken dahili olarak Kit ağ iletişimi ve codec'lerine yetki devreder. Mevcut RPC uç noktalarınızı koruyun, ancak Kit'in daha öngörülebilir blockhash işleme ve cüzdan soyutlamalarından yararlanın.

İçe aktarmaları değiştirin (başka kod değişikliği yok)

Çoğu proje, içe aktarma kaynağını değiştirerek dosya dosya geçiş yapabilir. Hem adlandırılmış hem de ad alanı içe aktarmaları eski paketi yansıtır.

Before
import { Connection, PublicKey } from "@solana/web3.js";
After
import { Connection, PublicKey } from "@solana/web3-compat";

CommonJS de çalışır:

const solanaWeb3 = require("@solana/web3-compat");
const connection = new solanaWeb3.Connection("https://api.devnet.solana.com");

Perde arkasında Connection, okuma ve yazma işlemlerini @solana/client üzerinden iletir, böylece sendAndConfirmTransaction, simulateTransaction ve getProgramAccounts gibi yardımcılar, iş mantığınıza dokunmadan daha yeni çalışma zamanından yararlanır.

Kit türlerine ihtiyaç duyduğunuzda köprü yardımcıları

Kit'i doğrudan benimsedikçe (belki @solana/client veya @solana/react-hooks kullanan yeni bileşenlerde), iki ekosistem arasında dönüşüm yapmak için compat paketinde gönderilen köprü yardımcılarını kullanın:

import {
PublicKey,
toAddress,
toPublicKey,
toWeb3Instruction,
toKitSigner
} from "@solana/web3-compat";
const legacyKey = new PublicKey("11111111111111111111111111111111");
const kitAddress = toAddress(legacyKey);
const backToWeb3 = toPublicKey(kitAddress);

Çalışma zamanlarını karıştırmak güvenli hale gelir: daha yeni hook'lar Kit talimatları yayabilir, ardından toWeb3Instruction bunları tüm proje geçene kadar eski akışlar için sarar.

Aşamalı geçiş kalıpları

  • Aşamalı dağıtımlar: Bir seferde bir özellik klasörünü güncelleyin. Bir modül artık compat'a ihtiyaç duymadığında, ağacın geri kalanına dokunmadan doğrudan @solana/client/@solana/react-hooks adresine yönlendirin.
  • Paylaşılan RPC ayarlaması: Compat, Kit bağlantılarına dayandığından, taahhüt seviyelerini, önceliklendirme ücretlerini veya RPC URL'lerini ayarlamak tek bir yapılandırma nesnesi üzerinden akar.
  • SPL + işlem yardımcıları: Eski işlem oluşturucuları şimdilik saklayın, ancak hazır olduğunuzda client.helpers.transaction.prepare kullanın. Compat yine de aynı imzalı yükleri gönderebilir.
  • Test: Genel yüzey aynı kaldığından mevcut Web3 mock'larını yeniden kullanın, ancak test altında daha zengin simülasyonlar için Kit istemcisini stub edebilirsiniz.

Faz 0'da neler sunuluyor

  • Connection ile getLatestBlockhash, getBalance, getAccountInfo, getProgramAccounts, getSignatureStatuses, sendRawTransaction, confirmTransaction ve simulateTransaction.
  • LAMPORTS_PER_SOL, sendAndConfirmTransaction ve compileFromCompat gibi yardımcı araçlar.
  • SystemProgram.transfer artı tüm temel Web3 ilkelleri (Keypair, Transaction, VersionedTransaction, TransactionInstruction).

Kapsam hâlâ genişliyor

Yukarıdaki listenin dışındaki metotlar bugün eski @solana/web3.js kullanımına geri döner. Yüzeyinizin geri kalanı compat'a geçene kadar eski bağımlılığı yanınızda tutun ve abonelik desteği ile daha geniş RPC kapsamı için gelecek sürümleri takip edin.

Aynı Kit çalışma zamanı üzerinde yeni kullanıcı arayüzü oluşturmaya başlamaya hazır olduğunuzda bu kılavuzu @solana/client genel bakış ve @solana/react-hooks kılavuzu ile birlikte kullanın.

Is this page helpful?

İçindekiler

Sayfayı Düzenle

Yönetici

© 2026 Solana Vakfı.
Tüm hakları saklıdır.
Bağlanın