Hello World (localhost + Docker)

... 2022-10-5 About 3 min

# Hello World (localhost + Docker)

Bu SubQuery Hello World hızlı başlangıcına hoş geldiniz. Hızlı başlangıç, docker'da çalışan varsayılan başlangıç projesini birkaç basit adımda nasıl elde edersiniz göstermeyi amaçlamaktadır.

# Öğrenme hedefleri

Bu hızlı başlangıcın sonunda şunları yapmalıyız:

  • gerekli önkoşulları anlamak
  • temel ortak komutları anlamak
  • localhost:3000'e gidebilmek ve oyun alanını görüntüleyebilmek
  • Polkadot mainnet'in blok yüksekliğini almak için basit bir sorgu çalıştırın

# Hedeflenen hedef kitle

Bu kılavuz, bazı geliştirme deneyimine sahip ve SubQuery hakkında daha fazla bilgi edinmek isteyen yeni geliştiricilere yöneliktir.

# Video kılavuzu

# Önkoşullar

İhtiyacınız olacak:

  • yarn veya npm paket yöneticisi
  • SubQuery CLI (@subql/cli)
  • Docker

Bu önkoşullardan herhangi birine sahip olup olmadığınızı görmek için terminalde aşağıdaki komutları çalıştırabilirsiniz.

yarn -v (or npm -v)
subql -v
docker -v
1
2
3

Daha ileri düzey kullanıcılar için aşağıdakileri kopyalayıp yapıştırın:

echo -e "My yarn version is:" `yarn -v` "\nMy subql version is:" `subql -v`  "\nMy docker version is:" `docker -v`
1

Bu döndürülmelidir: (npm kullanıcıları için ipliği npm ile değiştirin) vv

Benim yarn versiyonum: 1.22.10
Benim subql versiyonum: @subql/cli/0.9.3 darwin-x64 node-v16.3.0
Benim docker versiyonum: Docker version 20.10.5, build 55c4c88
1
2
3

Yukarıdakileri alırsanız, gitmeye hazırsınız demektir. Değilse, yüklemek için şu bağlantıları izleyin:

# 1. Projeyi başlat

SubQuery ile başlarken ilk adım subql init komutunu çalıştırmaktır. subqlHelloWorld adıyla bir başlangıç projesi başlatalım. Yalnızca yazarın zorunlu olduğunu unutmayın. Aşağıda diğer her şey boş bırakılmıştır.

> subql init subqlHelloWorld
? Bir ağ seçin Polkadot
? Select a template project subql-starter     Starter project for subquery
Cloning project... done
RPC endpoint: [wss://polkadot.api.onfinality.io/public-ws]:
Git repository [https://github.com/subquery/subql-starter]:
Fetching network genesis hash... done
Author [Ian He & Jay Ji]:
Description [This project can be use as a starting po...]:
Version [0.0.4]:
License [MIT]:
Preparing project... done
subqlHelloWorld is ready

1
2
3
4
5
6
7
8
9
10
11
12
13
14

Bu yeni dizine girmeyi unutmayın.

cd subqlHelloWorld
1

# 2. Bağımlılıkları yükleme

Şimdi çeşitli bağımlılıkları yüklemek için bir iplik veya düğüm yüklemesi yapın.

Bir örnek yarn install

> yarn install
yarn install v1.22.10
bilgi Kilit dosyası bulunamadı.
[1/4] 🔍 Paketleri çözme...
[2/4] 🚚 Paket getiriyor...
[3/4] 🔗 Bağımlılıkları bağlama...
[4/4] 🔨 Yeni paketler oluşturma...
başarı Kilit dosyası kaydedildi.
✨ 31.84'lerde bitti.
1
2
3
4
5
6
7
8
9

# 3. Kod oluşturma

Şimdi GraphQL şemasından Typescript oluşturmak için yarn codegen çalıştırın.

Bir örnekyarn codegen

> yarn codegen
yarn run v1.22.10
$ ./node_modules/.bin/subql codegen
===============================
---------Subql Codegen---------
===============================
* Schema StarterEntity generated !
* Modeller endeksi oluşturuldu!
* Oluşturulan türler dizini !1.02'lerde bitti.
1
2
3
4
5
6
7
8
9
10

Warning Şema dosyasında değişiklikler yapıldığında, türler dizininizi yeniden oluşturmanız için lütfen yarn codegen yeniden çalıştırmayı unutmayın.

# 4. Kod oluşturma

Bir sonraki adım, kodu yarn build ile oluşturmaktır.

Bir örnek yarn build

> iplik yapısı
ip çalıştırma v1.22.10
$ tsc -b
✨ 5.68'lerde bitti.
1
2
3
4

# 5. Docker'ı çalıştırın

Docker'ı kullanmak, gerekli tüm altyapı Docker görüntüsünde sağlanabildiğinden bu örneği çok hızlı bir şekilde çalıştırmanıza olanak tanır. docker-compose pull && liman işçisi-oluşturma.

Bu, sonunda blokların getirildiği hayata her şeyi tekmeleyecek.

> #SNIPPET
subquery-node_1   | 2021-06-05T22:20:31.450Z <subql-node> INFO node started
subquery-node_1   | 2021-06-05T22:20:35.134Z <fetch> INFO fetch block [1, 100]
subqlhelloworld_graphql-engine_1 exited with code 0
subquery-node_1   | 2021-06-05T22:20:38.412Z <fetch> INFO fetch block [101, 200]
graphql-engine_1  | 2021-06-05T22:20:39.353Z <nestjs> INFO Starting Nest application...
graphql-engine_1  | 2021-06-05T22:20:39.382Z <nestjs> INFO AppModule dependencies initialized
graphql-engine_1  | 2021-06-05T22:20:39.382Z <nestjs> INFO ConfigureModule dependencies initialized
graphql-engine_1  | 2021-06-05T22:20:39.383Z <nestjs> INFO GraphqlModule dependencies initialized
graphql-engine_1  | 2021-06-05T22:20:39.809Z <nestjs> INFO Nest application successfully started
subquery-node_1   | 2021-06-05T22:20:41.122Z <fetch> INFO fetch block [201, 300]
graphql-engine_1  | 2021-06-05T22:20:43.244Z <express> INFO request completed

1
2
3
4
5
6
7
8
9
10
11
12
13

# 6. Oyun alanına göz atın

Http://localhost:3000/ gidin ve aşağıdaki sorguyu ekranın sol tarafına yapıştırın ve ardından oynat düğmesine basın.

{
 query{
   starterEntities(last:10, orderBy:FIELD1_ASC ){
     nodes{
       field1
     }
   }
 }
}

1
2
3
4
5
6
7
8
9
10

Yerel ev üzerinde SubQuery oyun alanı.

oyun alanı localhost

Oyun parkındaki blok sayısı, terminaldeki blok sayısıyla (teknik olarak blok yüksekliği) de eşleşmelidir.

# Özet

Bu hızlı başlangıçta, bir Docker ortamında bir başlangıç projesini çalışır durumda almak için temel adımları gösterdik ve ardından localhost:3000'e gittik ve ana ağ Polkadot ağının blok numarasını döndürmek için bir sorgu çalıştırdık.

Last update: October 5, 2022 01:44