Yerel Program Geliştirme
Özet
- Yerel olarak onchain programlar geliştirmek için Solana CLI, Rust ve (isteğe bağlı ama önerilen) Anchor gerekiyor.
- Yeni bir boş Anchor projesi oluşturmak için
anchor init
komutunu kullanabilirsiniz. anchor test
testlerinizi çalıştırır ve kodunuzu da derler.
Ders
Bu ders, onchain programlar geliştirmek için gereken araçların kurulumuna dair bir kılavuzdur. Solana CLI araçlarını, Rust SDK'yı ve Anchor'u kurarak kurulumu test etmek için bir test programı oluşturalım.
Windows Kullanıcıları için Ekstra Adımlar
macOS ve Linux kullanıcıları bu kısmı atlayabilir. Windows'taysanız, bu ekstra adımları takip edebilirsiniz.
Öncelikle, Windows Terminal'inin kurulu olduğundan emin olun; aksi takdirde Windows Terminal'i Microsoft Store üzerinden kurabilirsiniz.
Sonrasında, Windows Subsystem for Linux (WSL)'yi kurun. WSL, bilgisayarınızı yavaşlatmadan gerektiğinde hemen başlatılan bir Linux ortamı sağlar.
Windows Terminal'i açın, 'Ubuntu' oturumu başlatın ve bu adımlara devam edin.
Rust'ı İndirin
Öncelikle, Rust'ı bu talimatları takip ederek kurun:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Solana CLI Araçlarını İndirin
Sonrasında,
Solana CLI araçlarını indirin
:
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
Kurulumdan sonra, solana -V
komutunu çalıştırdığınızda solana-cli 1.18.x
(burada x
herhangi bir sayı olabilir) göstermelidir.
Solana Test Validator'ünü Çalıştırma
Solana Test Validator, Solana blockchain'i için yerel bir emülatördür. Geliştiricilere, bir kamu testnet veya mainnet'e bağlanmadan Solana programlarını inşa edip test edebilecekleri özel ve kontrollü bir ortam sunar.
Solana Test Validator'ü başlatmak için şu komutu çalıştırın:
solana-test-validator
solana-test-validator
çalıştırıldığında, validatorün doğru çalıştığını belirten bir çıktı görmelisiniz. Aşağıda çıkışın nasıl görüneceğine dair bir örnek verilmiştir:
$ solana-test-validator
--faucet-sol argümanı göz ardı edildi, defter zaten mevcut
Defter konumu: test-ledger
Kayıt: test-ledger/validator.log
⠴ Başlatılıyor...
Ücretlerin istikrara kavuşmasını bekliyor 1...
Kimlik: J8yKZJa5NtcmCQqmBRC6Fe8X6AECo8Vc3d7L3dF9JPiM
Genesis Hash: FTPnCMDzTEthZxE6DvHbsWWv83F2hFe1GFvpVFBMUoys
Sürüm: 1.18.22
Shred Sürümü: 49491
Gossip Adresi: 127.0.0.1:1024
TPU Adresi: 127.0.0.1:1027
JSON RPC URL: http://127.0.0.1:8899
WebSocket PubSub URL: ws://127.0.0.1:8900
⠄ 00:00:25 | İşlenen Slot: 114 | Onaylanan Slot: 114 | Nihai Slot: 82 | Tam Anlık Görüntü Slotu: - | Artımlı Anlık Görüntü Slotu: - | İşlemler: 111 | ◎499.999445000
Bu çıktıyı görüyorsanız, Solana test validator'ü düzgün çalışıyor demektir.
anchor test
komutunu çalıştırmanız gerektiğinden süreci CTRL + C tuşları ile iptal etmelisiniz.
Daha ayrıntılı bilgi için, Solana Test Validator kılavuzuna bakabilirsiniz.
Anchor'ı İndirin
Son olarak, Anchor'ı indirin:
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
Linux (ya da WSL) kullanıcıları için ek bağımlılıkları kurmanız gerekebilir:
sudo apt-get update && \
sudo apt-get upgrade && \
sudo apt-get install -y pkg-config build-essential libudev-dev libssl-dev
devam edin...
avm install latest
avm use latest
Kurulumdan sonra, anchor -V
komutunu çalıştırdığınızda anchor-cli 0.30.1
göstermelidir. Anchor hakkında daha fazla bilgi için
Anchor Kitabı'na
başvurabilirsiniz.
Anchor Kurulumu Doğrulayın
Anchor kullanarak varsayılan içerik ile geçici bir proje oluşturun ve derlendiğinden ve çalıştığından emin olun:
anchor init temp-project
cd temp-project
anchor test
anchor test
komutu hatasız ve uyarısız bir şekilde tamamlanmalıdır.
Ancak bazı sorunlarla karşılaşabilirsiniz; bunları aşağıda çözeceğiz:
package 'solana-program' v1.18.12
hatası
solana-program
ve solana-cli
arasında uyumsuz sürümlerden kaynaklanmaktadır.
cargo add solana-program@"=1.18.x"
komutunu çalıştırın, burada x
sizin solana-cli
sürümünüzle eşleşmelidir. Sonrasında anchor test
komutunu tekrar çalıştırın.
Hata: Anahtar dosyası okunamıyor
.config/solana/id.json
dosyasına bir anahtar ekleyin. Anahtar çiftini bir .env
dosyasından (sadece sayı dizisi) bir dosyaya kopyalayabilir ya da yeni bir anahtar dosyası oluşturmak için solana-keygen new --no-bip39-passphrase
komutunu kullanabilirsiniz. Daha sonra anchor test
komutunu tekrar çalıştırın.
Hata: build-sbf
komutu yok
Bu mesajı görüyorsanız, bu hata genellikle ilgili ikili dosyaların shell'inizin PATH değişkeninde olmadığı için ortaya çıkar.
Bu komutu çalıştırarak bu klasörü shell'inize ekleyin ve değişikliği kalıcı hale getirmek için ~/.zshrc
veya ~/.bashrc
dosyanıza ekleyin.
export PATH=~"/.local/share/solana/install/active_release/bin:$PATH"
En son blockhash alınamıyor. Test validator'ü başlamış görünmüyor.
Solana'nın arşivleme için kullandığı 'tar' (tape archiver) komutunun birden fazla sürümü vardır. macOS, BSD tar ile gelir, ancak Solana CLI GNU sürümünün kurulu olmasını istemektedir.
Homebrew kurun ve GNU tar'ı kurmak için kullanın:
# Homebrew'i kur; zaten Homebrew kuruluysa bu adımı atlayabilirsiniz
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# GNU tar'ı kurun
brew install gnu-tarDeğişikliği kalıcı hale getirmek için bunu
~/.zshrc
veya~/.bashrc
dosyanıza ekleyin.export PATH=/opt/homebrew/opt/gnu-tar/libexec/gnubin:$PATH
Hata: Ayrıcalıklı rpc portunuz: 8899 zaten kullanılıyor
solana-test-validator
çalıştırıyorsanız, anchor test
çalıştırıldığında Error: Your configured rpc port: 8899 is already in use
hatasıyla karşılaşabilirsiniz.
Bunu çözmek için, anchor test
çalıştırmadan önce solana-test-validator
'i durdurun.
Tamam mı?
Devam etmeden önce anchor test
'in hatasız ve uyarısız olarak başarıyla tamamlandığından emin olun.
Kodunuzu GitHub'a yükleyin ve bu dersi nasıl bulduğunuzu bize söyleyin!