Panduan cepat tentang cara meluncurkan node Chainlink

Nov 28 2022
Apa itu oracle di blockchain?
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.
Gambar asli dari Shubham Dhage

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.

Dasbor DigitalOcean

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

Contoh untuk Ethereum Mainnet

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.

Harga alkimia

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

Jendela pembuatan aplikasi di Alchemy

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

Dasbor alkimia

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=disableke 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.

UI masuk Operator Chainlink

Hebat, semuanya sudah diatur dengan sukses!

Antarmuka Operator Tautan Rantai

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: