Penjelasan Hello World
Penjelasan Hello World
Dalam panduan memulai cepat Hello World, kami menjalankan beberapa perintah sederhana dan dengan sangat cepat mendapatkan contoh dan menjalankannya. Ini memungkinkan Anda untuk memastikan bahwa Anda memiliki semua prasyarat dan dapat menggunakan taman bermain lokal untuk membuat kueri sederhana guna mendapatkan data pertama Anda dari SubQuery. Di sini, kita melihat lebih dekat apa arti semua perintah itu.
subql init
Perintah pertama yang kami jalankan adalah subql init subqlHelloWorld
.
Ini melakukan pekerjaan berat dan membuat banyak file untuk Anda. Sebagaimana dicatat dalam dokumentasi resmi, Anda terutama akan mengerjakan file-file berikut:
- Manifes di
project.yaml
- Skema GraphQL di
schema.graphql
- Fungsi Pemetaan di direktori
src/mappings/
File-file ini adalah inti dari semua yang kami lakukan. Karena itu, kami akan mendedikasikan lebih banyak waktu untuk file-file ini di artikel lain. Untuk saat ini, ketahuilah bahwa skema berisi deskripsi data yang dapat diminta pengguna dari SubQuery API, file yaml proyek yang berisi parameter tipe "konfigurasi" dan tentu saja mappingHandlers yang berisi TypeScript yang berisi fungsi yang mengubah data.
pemasangan yarn
Hal berikutnya yang kami lakukan adalah pemasangan benang
. npm install
dapat digunakan juga.
Pelajaran sejarah singkat. Node Package Manager atau npm awalnya dirilis pada tahun 2010 dan merupakan pengelola paket yang sangat populer di kalangan pengembang JavaScript. Ini adalah paket default yang diinstal secara otomatis setiap kali Anda menginstal Node.js di sistem Anda. Benang awalnya dirilis oleh Facebook pada tahun 2016 dengan maksud untuk mengatasi beberapa kekurangan kinerja dan keamanan bekerja dengan npm (pada waktu itu).
Apa yang dilakukan yarn adalah melihat file package.json
dan mengunduh berbagai dependensi lainnya. Melihat file package.json
, sepertinya tidak ada banyak dependensi, tetapi ketika Anda menjalankan perintah, Anda akan melihat bahwa 18.983 file ditambahkan. Ini karena setiap dependensi juga akan memiliki dependensinya sendiri.
kodegen yarn
Kemudian kita menjalankan codegen benang
atau npm run-script codegen
. Apa yang dilakukan adalah mengambil skema GraphQL (dalam schema.graphql
) dan menghasilkan file model TypeScript terkait (Oleh karena itu file output akan memiliki ekstensi .ts). Anda tidak boleh mengubah file yang dihasilkan ini, cukup ubah file schema.graphql
sumber.
Pembuatan yarn
bangun benang
atau npm run-script build
kemudian dieksekusi. Ini harus akrab bagi programmer berpengalaman. Itu membuat folder distribusi yang melakukan hal-hal seperti pengoptimalan kode yang mempersiapkan penyebaran.
docker-compose
Langkah terakhir adalah perintah docker gabungan docker-compose pull && docker-compose up
(dapat dijalankan secara terpisah juga). Perintah pull
mengambil semua gambar yang diperlukan dari Docker Hub dan perintah naik
memulai container.
> docker-compose pull
Menarik postgres ... Selesai
Menarik subquery-node ... Selesai
Menarik graphql-engine ... Selesai
Saat kontainer dimulai, Anda akan melihat terminal mengeluarkan banyak teks yang menunjukkan status node dan mesin GraphQL. Saat itulah Anda melihat:
subquery-node_1 | 2021-06-06T02:04:25.490Z <fetch> INFO fetch block [1, 100]
anda tahu bahwa node SubQuery telah disinkronkan.
Ringkasan
Sekarang setelah Anda memiliki wawasan tentang apa yang terjadi di balik selimut, pertanyaannya adalah dari mana dari sini? Jika Anda merasa percaya diri, Anda dapat langsung mempelajari cara membuat proyek dan mempelajari lebih lanjut tentang tiga file utama. File manifes, skema GraphQL, dan file pemetaan.
Jika tidak, lanjutkan ke bagian tutorial kami di mana kami dapat menjalankan contoh Halo Dunia ini pada infrastruktur yang dihosting SubQuery, kami akan memodifikasi blok awal, dan kami akan menyelam lebih dalam di dalam menjalankan proyek SubQuery dengan menjalankan dan proyek sumber terbuka yang tersedia.