Hadi Başlayalım!
Bu adımları takip ederek ilk Agoric dapp'inizi kurup çalıştıracaksınız!
::: tip Video Anlatım
Bu eğitimi takip ederken, her bir adımı ve istenen sonucu gösteren bu video anlatımı izlemeniz faydalı olabilir.
:::
İlk Agoric Dapp'iniz - Teklif Ver
Teklif Ver Dapp'i kullanıcıların bir pazarda satılığa çıkarılmış tüm ürünleri görüntülemesine olanak tanır. Dapp varsayılan olarak 3 ürün gösterir (haritalar, iksirler ve parşömenler). Kullanıcı olarak toplamda 3 ürünü (herhangi bir kombinasyonla) seçebilirsiniz. Daha sonra en az 0.25 IST tutarında bir teklif oluşturabilirsiniz. İşlemi imzaladığınızda, cüzdanınızda 3 ürünü görecek ve cüzdan bakiyeniz teklif tutarından azalacaktır.
Yardım Alma Yöntemleri
Başlamadan önce, takıldığınızda, sorularınız olduğunda veya bileşenlere dair merak ettiğiniz konularla ilgili bazı kaynakları elinizin altında bulundurmanız faydalı olabilir. Bizimle iletişim kurmak son derece kolay!
- Haftalık katılın
- Resmi sunucusunda bizimle ve diğer geliştiricilerle sohbet edin
- içerisinde arayın ve paylaşın
- üzerinden bize bir mesaj gönderin
- ile iletişime geçin
Platform Gereksinimleri
Agoric şu an için macOS ve Linux'u (Windows için dahil) desteklemektedir. Bu eğitim, üzerinde bir yükleme ile ilişkilendirilmiştir. Farklı bir işletim sistemi kullanıyorsanız, bazı farklılıklar gerekebilir.
Ön Gereksinimleri Yükleme
Bu bölümde, ortamınıza ön gereksinim bileşenlerini yükleyeceksiniz. Eğer yeni bir Ubuntu yüklemesi yerine kendi ortamınızda çalışıyorsanız, bu bileşenlerden bazılarının zaten yüklenmiş olabileceğini unutmayın.
Node.js Yükleme
Node.js Yüklemek
Bu eğitim, özel bir sürümünü gerektirir.
(Node Version Manager) aracı doğru sürümü seçmeyi kolaylaştırır.
Öncelikle, takip edin ve nvm.sh
dosyasını kabuğunuza dahil edin.
Ubuntu'da nvm Yüklemek
Aşağıdaki komutu kabuğunuzda kopyalayarak çalıştırabilirsiniz.
# Örneğin:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Bu nvm'i yükler
MacOS'da nvm Yüklemek
nvm, Mac'in varsayılan paket yöneticisinde mevcut değildir, bu nedenle önce Homebrew yüklemeniz gerekecek. Bunu yapmak için bir terminal penceresi açın ve şu komutu çalıştırın:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Ardından, Brew kullanarak nvm'i yükleyebilirsiniz:
brew install nvm
Her yeni terminal penceresi açıldığında nvm'i kullanılabilir hale getirmek için, shell profilinize (örn. ~/.bash_profile veya ~/.zshrc) aşağıdaki satırı eklemeniz gerekecek:
source $(brew --prefix nvm)/nvm.sh
Ardından, Node.js'i yükleyin.
nvm install v18.18.0
Son olarak, Node.js sürümünü doğrulayın.
node --version
Yarn Yükleme
Yarn'ı yüklemek için npm install --global yarn
komutunu çalıştırabileceğiniz gibi, daha fazla bilgi için https://classic.yarnpkg.com/en/docs/install adresini ziyaret edebilirsiniz. Aşağıda, corepack enable
komutu Corepack shim'lerini yükleme dizinlerine ekleyecek ve yarn --version
komutu, yarn'ın doğru şekilde yüklendiğini doğrulayacaktır.
corepack enable
yarn --version # doğrulama için
Bu uygulama Yarn 1 kullanmaktadır, bu nedenle yukarıdaki komut 1.x.x
formatında bir sürüm göstermelidir. Eğer farklı bir yarn sürümü kullanıyorsanız, yarn set version
komutuyla geçiş yapabilirsiniz, örneğin:
yarn set version 1.22.5
Docker Yükleme
Docker Yükleme
Docker'ı, veya adımlarını takip ederek indirebilirsiniz.
CLI üzerinden yüklemek için, aşağıdaki adımları kontrol edebilirsiniz.
Ubuntu'da Docker Yükleme
Docker'ı iki adımda yükleyeceksiniz. İlk olarak, Docker GPG anahtarlarını sisteminize ekleyecek komut bloğunu çalıştırın ve ardından Apt için kurulum deposunu ekleyin.
# Docker'ın resmi GPG anahtarını ekleyin:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Depoyu Apt kaynaklarına ekleyin:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Artık Docker'ı yükleyebilirsiniz!
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker yüklendikten sonra, kullanıcı hesabınızı Docker grubuna eklemeniz gerekecek.
sudo usermod -aG docker $USER
Kullanıcı hesabınız yeni Docker grubuna eklendiğinden, grup üyeliklerinizi yeniden değerlendirmek için aşağıdaki komutu çalıştırın.
exec su -l $USER
MacOS'da Docker Yükleme
Docker'ı resmi belgeleri veya Homebrew kullanarak yükleyebilirsiniz.
Docker Web Sitesini Kullanarak:
izleyin.
Docker Desktop'ı yükledikten sonra, docker'ı başlatmak için:
open -a Docker
Homebrew Kullanarak:
Önceden brew yüklediniz. Docker'ı yüklemek için aynı komutu kullanabilirsiniz.
brew cask install docker
veya
brew install docker --cask
Docker'ın çalıştığını test etmek için hello-world
örneğini çalıştırın.
docker run hello-world
hello-world
örneğinin çıktısı şu şekilde olmalıdır:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Şablondan Dapp Oluşturma
Şimdi, yarn kullanarak örnek dapp'i indireceksiniz. Örnek dapp, demo
adında bir alt klasöre yerleştirilecektir.
yarn create @agoric/dapp demo
Dapp Bağımlılıklarını Yükleme
Şimdi demo
dizinine gidin ve yarn install
komutunu çalıştırarak herhangi bir çözüm bağımlılıklarını yükleyin.
Gerekli tüm bağımlılıkların indirilmesi birkaç dakika sürebilir. UI, React çerçevesine dayanır ve sözleşme Agoric çerçevesine dayanır. Bu projedeki paketler ayrıca testler, kod formatlama ve statik analiz için geliştirme bağımlılıklarına sahiptir.
cd demo
yarn install
Yarn install hatalarını giderme
yarn install
sırasında hatalarla karşılaşırsanız, arasında olduğunuzu ve yerel Windows kullanmadığınızı kontrol edin.
Ardından, ilgili geliştirici araçlarının yüklü olduğundan emin olun. Örneğin, Debian veya Ubuntu Linux'ta şu komutu çalıştırın: sudo apt get install build-essential
.
MacOS üzerinde, yüklediğinizden emin olun.
Yerel Agoric Blockchain'i Başlatma
Artık yarn start:docker
komutunu kullanarak yerel bir Agoric blockchain başlatabilirsiniz. Not: Bu konteynerin boyutu birkaç gigabayttır ve indirilmesi birkaç dakika sürebilir.
yarn start:docker
Ağ başlatıldıktan sonra, günlükleri kontrol edebilirsiniz. commit
durumunda bloklar gösteren mesajlar gördüğünüzde, ağın düzgün çalıştığından emin olabilirsiniz.
yarn docker:logs
Çıktınız şu şekilde olmalıdır:
demo-agd-1 | 2023-12-27T04:08:06.384Z block-manager: block 1003 begin
demo-agd-1 | 2023-12-27T04:08:06.386Z block-manager: block 1003 commit
demo-agd-1 | 2023-12-27T04:08:07.396Z block-manager: block 1004 begin
demo-agd-1 | 2023-12-27T04:08:07.398Z block-manager: block 1004 commit
demo-agd-1 | 2023-12-27T04:08:08.405Z block-manager: block 1005 begin
demo-agd-1 | 2023-12-27T04:08:08.407Z block-manager: block 1005 commit
::: details Not: günlükler benign hata mesajları içerir
Şu gibi mesajları göz ardı edebilirsiniz:
v5: TypeError: target has no method "getDisplayInfo"
Bu mesajlar, geçmiş olayların yeniden oynatılmasının kalıntılarıdır.
:::
Dapp Akıllı Sözleşmesini Başlatma
Günlüklerden çıkmak için control-C tuşlarına basın, ardından akıllı sözleşmeyi başlatın. Sözleşme başlaması bir veya iki dakika sürebilir, bu nedenle bu komutu çalıştırdıktan sonra bir sonraki adıma geçin.
yarn start:contract
Sahne Arkası
Bu start:contract
scripti birçok şeyi gerçekleştirecektir ve daha sonra daha ayrıntılı olarak ele alınacaktır (, ):
- Sözleşmeyi
agoric run ...
ile paketleyin. agd tx bank send ...
ile biraz ATOM toplayın. ATOM, Cosmos Ağı'nın yerel kripto para birimidir.- Yeterli IST basmak için bir kasa açmak için ATOM kullanın,
agops vaults open ...
. - Zincir üzerinde paketleri yüklemek için
agd tx swingset install-bundle ...
komutunu kullanın. - Yönetim mevduatı için yeterli BLD toplayın
agd tx bank send ...
- Sözleşmeyi başlatmak için bir yönetim teklifi oluşturun
agd tx gov submit-proposal swingset-core-eval ...
. - Teklif için oy kullanın; geçmesini bekleyin.
Keplr Cüzdan Demo Hesabı Kurma
Sonraki adımda, yüklediğinizden emin olun.
Keplr Cüzdanını Yüklemek
Tarayıcınızda adresine gidin. Tarayıcınıza uygun olan sürümü seçin.
::: warning
Unutmayın, bu sadece bir demo. Gerçek dünya senaryolarında, mnemonik ifadelerin etrafında uygun güvenliği sağlamak kritik öneme sahiptir!
- Kendi varlıklarınızı güvence altına almak için kullandığınız herhangi bir mnemonik ifade için, tamamen gizli tutulmasına dikkat edin! Burada kullanılan mnemonik sadece test amaçlıdır.
- Ayrı bir tarayıcı profili kullanmak, test ederken yanlış hesap kullanma olasılığınızı azaltmanın iyi bir yoludur.
:::
Eklenti yüklendikten sonra, Keplr'yi açın ve Mevcut bir cüzdanı takip et seçeneğini seçin. Ardından, kurtarma ifadesini veya özel anahtarı kullan seçeneğini belirleyin.
Cüzdanınızı içe aktarmak için, aşağıdaki mnemonik ifadeyi Keplr'ye kopyalamanız gerekecek.
spike siege world rather ordinary upper napkin voice brush oppose junior route trim crush expire angry seminar anchor panther piano image pepper chest alone
Yeni cüzdanınıza bir isim ve şifre verin. Sonraki adımda tıklayın.
Sonraki adımda, yalnızca Cosmos Hub dışındaki hiçbir ağ seçeneğini işaretlemeyin. Kaydet'e tıklayın.
Dapp'i Başlatma
Örnek dapp'in kullanıcı arayüzünü başlatın.
yarn start:ui
Terminal penceresinde görünen localhost bağlantısını not edin. Bu bağlantıyı tarayıcınızda açın.
Tarayıcı kullanıcı arayüzünden Cüzdanı Bağla butonuna tıklayarak Keplr cüzdanınızı bağlayın.
Keplr'a yerel Agoric ekleme
Herhangi bir gibi, yerel Agoric blockchain'ini ilk kez kullanıyorsanız, Keplr sizden onay isteyecektir:
Teklif Yapma
Cüzdanınız bağlandığında, 3 mülk satın almak için Teklif Yap butonuna tıklayın. Keplr cüzdanınızdaki işlemi onaylayın.
İşlem tamamlandığında cüzdanınızdan bazı IST'lerin alındığını göreceksiniz ve artık üç yeni mülkün sahibi olacaksınız. Gerekli 0.25 IST'den daha az teklif vermek veya üçten fazla ürün satın almayı denemekten çekinmeyin. Bu tekliflerin kabul edilmeyeceğini göreceksiniz. Bu tür koşullu teklifler, Agoric platformunun önemli bir parçasıdır!
Tebrikler! İlk Agoric dapp'inizi kurup çalıştırmayı başardınız! Artık ilk Agoric dapp'inizi çalıştırdığınıza göre, bu alıştırmadan bazı önemli derslere odaklanalım:
Agoric Zinciri Başlatma: Yerel bir Agoric blockchain başlatma deneyimi kazandınız.
Sözleşme Dağıtımı: Agoric platformuna bir akıllı sözleşme dağıttınız! Not: daha sonra ele alınacaktır.
Teklif Yapma: Nihayet, bir teklif vermeyi öğrendiniz ve teklif kısıtlamalarının Agoric platformu tarafından uygulandığını gördünüz. Bu, kullanıcı arayüzünün, gerçek ücretleri çok daha yüksek bir miktar (örneğin 500 IST) göstermeye çalışarak kullanıcıyı yanıltamayacağı anlamına gelir. Ayrıca, sözleşmenin 0.25 IST'yi almak için isteği yerine getirmeden veya 'verme' kısıtlaması içinde 0.25 IST'den fazlasını almasına izin verilmediğini unutmamak önemlidir.
Bu eğitim, Agoric platformunda merkeziyetsiz uygulama geliştirmek isteyen geliştiriciler için temel bir adım taşını temsil eder. Agoric dapp'leri oluşturmayı daha fazla öğrenmek için bu sitedeki diğer belgelere göz atmayı unutmayın!