Panduan cepat tentang cara meluncurkan node Chainlink

Oracle adalah umpan data yang membawa data dari sumber data di luar blockchain (off-chain) dan meletakkannya di blockchain (on-chain) untuk digunakan kontrak cerdas. Ini diperlukan karena smart contract yang berjalan di Ethereum tidak dapat mengakses informasi yang disimpan di luar jaringan blockchain.
Oke, oracle macam apa yang ada?
Oracle dapat dipusatkan dan didesentralisasi. Oracle terpusat dikendalikan oleh satu orang dan, paling sering, dapat ditempatkan di satu server. Oracle terdesentralisasi terdiri dari beberapa server yang dikendalikan oleh organisasi yang berbeda, yang pada gilirannya membuat keputusan oracle umum berdasarkan konsensus.
Jaringan oracle yang paling populer adalah Chainlink . Saya akan memberi tahu Anda cara menggunakan oracle Anda. Mari kita mulai dengan menginstal node di artikel ini.
Jaringan oracle terdesentralisasi Chainlink menyediakan input, output, dan perhitungan yang tahan terhadap kerusakan untuk mendukung kontrak pintar tingkat lanjut pada blockchain apa pun.
Untuk menjalankan node, Anda dapat menggunakannya di komputer untuk pengujian lokal atau menjalankan versi produksi di server cloud. Dalam panduan ini, saya akan mempertimbangkan opsi untuk menjalankan node di VPS.
Saya buat di DigitalOcean droplet dan Database Cluster untuk PostgreSQL.

Untuk sebuah node, Chainlink merekomendasikan persyaratan sistem berikut:
- Minimum: Untuk mulai menjalankan node Chainlink, Anda memerlukan mesin dengan minimal 2 inti dan RAM 4 GB.
- Direkomendasikan: Persyaratan untuk menjalankan skala node Chainlink karena jumlah pekerjaan yang juga diskalakan oleh layanan node Anda. Untuk node dengan lebih dari 100 pekerjaan, Anda memerlukan setidaknya 4 inti dan RAM 8 GB.
- Minimal: Minimal 2 inti, RAM 4 GB, dan penyimpanan 100 GB.
- Direkomendasikan: Untuk mendukung lebih dari 100 pekerjaan, server basis data Anda memerlukan setidaknya 4 inti, RAM 16 GB, dan penyimpanan 100 GB.
curl -sSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo usermod -aG docker $USER
exit
# log in again
mkdir ~/.chainlink
Saya akan menjalankan node untuk Ethereum Mainnet. Oleh karena itu, saya akan menentukan parameter ETH_CHAIN_ID=1 . Untuk mengetahui ID siapa yang ada dalam kasus Anda, Anda perlu menemukannya di situs web chainlist.org

Mari buat file lingkungan dan tentukan semua variabel yang diperlukan:
echo "ROOT=/chainlink
LOG_LEVEL=debug
ETH_CHAIN_ID=1
CHAINLINK_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*" > ~/.chainlink/.env
Selain itu, kami membutuhkan klien Ethereum, kami dapat menjalankannya secara lokal atau menggunakan layanan pihak ketiga seperti Alchemy , Infura , QuikNode , Chainstack , Moralis .
Saya lebih suka menggunakan Alchemy karena biaya tarifnya yang nyaman dengan batas tinggi, respons node yang cepat, dan dasbor yang informatif.

Untuk bekerja dengan Alchemy, Anda perlu membuat aplikasi baru dengan memilih rantai dan jaringan.

Saat aplikasi dibuat, analitik akan tersedia di dasbor. Untuk berinteraksi dengan node, kita perlu mengekspor tautan untuk terhubung melalui WebSockets.

Dalam pengaturan Anda perlu menemukan tautan: wss://<URL>
Mari tambahkan koneksi ke node Ethereum ke konfigurasi Chainlink:
echo "ETH_URL=wss://<URL>" >> ~/.chainlink/.env
Jika Anda sedang menguji, Anda dapat menambahkan ?sslmode=disable
ke akhir URL. Namun Anda tidak boleh melakukan ini pada simpul produksi.
Templat string koneksi:
postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE
echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE" >> ~/.chainlink/.env
Versi saat ini pada saat penulisan adalah 1.10.0. Lihat versi terbaru saat ini tersedia di tautan .
Jika node dimulai dari bawah pengguna root, Anda harus memilih hanya versi root dari gambar.
Untuk mengubah versi, ganti parameter dengan versi yang diinginkan:
smartcontract/chainlink:<versi>
Dalam kasus saya, misalnya, saya akan menjalankan versi root. Untuk melakukan ini, saya akan menggunakan perintah berikut:
cd ~/.chainlink && docker run -p 6688:6688 -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink:1.10.0-root local n
Selanjutnya, node akan meminta Anda memasukkan email dan kata sandi untuk operator. Jika semuanya berhasil, node akan mulai dan kita akan melihat banyak pesan di terminal.
Untuk meluncurkan node nanti, kita perlu menyimpan kuncinya, untuk ini, kita akan menghentikan node dan melakukan tindakan berikut:
Simpan Email operator:
echo "[email protected]" > ~/.chainlink/.api
echo "password" >> ~/.chainlink/.api
echo "my_wallet_password" > ~/.chainlink/.password
cd ~/.chainlink && docker run --restart=always -p 6688:6688 -d --name chainlink -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink:1.10.0-root local n -p /chainlink/.password
Hebat, node sedang berjalan, sekarang kami ingin menghubungkannya dari perangkat lokal. Untuk melakukan ini, Anda perlu membuat terowongan SSH ke server dengan node tersebut.
ssh <USERNAME>@<IP> -L 6688:localhost:6688 -N
Biarkan tab terminal terbuka dan buka dan klik tautan di browser:http://localhost:6688/
Masukkan email operator dan kata sandi yang ditentukan di atas.

Hebat, semuanya sudah diatur dengan sukses!

Sekarang Anda dapat membuat oracle dan pekerjaan untuk mereka.
Di artikel selanjutnya , saya membuat panduan untuk menerapkan oracle dan menghubungkannya ke node.
Untuk pengaturan yang lebih spesifik dengan akses aman ke antarmuka operator dan kinerja pekerjaan oracle, saya sarankan membaca tautan berikut: