Chainlink düğümünün nasıl başlatılacağına dair hızlı bir kılavuz

Nov 28 2022
Blockchain'de kahin nedir?
Oracle'lar, blok zincir dışı (zincir dışı) veri kaynaklarından veri getiren ve akıllı sözleşmelerin kullanması için blok zincirine (zincir üstü) koyan veri akışlarıdır. Bu gereklidir çünkü Ethereum üzerinde çalışan akıllı sözleşmeler, blockchain ağının dışında saklanan bilgilere erişemez.
Shubham Dhage'den orijinal görüntü

Oracle'lar, blok zincir dışı (zincir dışı) veri kaynaklarından veri getiren ve akıllı sözleşmelerin kullanması için blok zincirine (zincir üstü) koyan veri akışlarıdır. Bu gereklidir çünkü Ethereum üzerinde çalışan akıllı sözleşmeler, blockchain ağının dışında saklanan bilgilere erişemez.

Tamam, ne tür kehanetler var?

Oracle'lar merkezileştirilebilir ve dağıtılabilir. Merkezi oracle'lar bir kişi tarafından kontrol edilir ve çoğunlukla tek bir sunucuda bulunabilir. Merkezi olmayan oracle'lar, farklı organizasyonlar tarafından kontrol edilen birkaç sunucudan oluşur ve bunlar da mutabakata dayalı genel bir oracle kararı verir.

En popüler oracle ağı Chainlink'tir . Size kehaneti nasıl konuşlandıracağınızı anlatacağım. Bu yazıda düğümü kurarak başlayalım.

Chainlink merkezi olmayan kehanet ağları, herhangi bir blok zincirinde gelişmiş akıllı sözleşmeleri desteklemek için kurcalamaya dayanıklı girdiler, çıktılar ve hesaplamalar sağlar.

Bir düğümü çalıştırmak için, yerel test amacıyla bilgisayarınızda kullanabilir veya bir bulut sunucusunda bir üretim sürümünü çalıştırabilirsiniz. Bu kılavuzda, bir VPS üzerinde bir düğüm çalıştırma seçeneğini değerlendireceğim.

PostgreSQL için DigitalOcean droplet ve Database Cluster üzerinde oluşturdum .

DigitalOcean panosu

Chainlink, bir düğüm için aşağıdaki sistem gereksinimlerini önerir:

  • Minimum: Bir Chainlink düğümünü çalıştırmaya başlamak için en az 2 çekirdeğe ve 4 GB RAM'e sahip bir makineye ihtiyacınız olacak.
  • Önerilen: Düğüm hizmetlerinizin ölçeklendirdiği iş sayısı olarak bir Chainlink düğümü ölçeği çalıştırma gereksinimleri. 100'den fazla işi olan düğümler için en az 4 çekirdeğe ve 8 GB RAM'e ihtiyacınız olacak.
  • Minimum: En az 2 çekirdek, 4 GB RAM ve 100 GB depolama.
  • Önerilen: 100'den fazla işi desteklemek için veritabanı sunucunuzun en az 4 çekirdeğe, 16 GB RAM'e ve 100 GB depolamaya ihtiyacı olacaktır.

curl -sSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo usermod -aG docker $USER
exit
# log in again

mkdir ~/.chainlink

Ethereum Mainnet için bir düğüm çalıştıracağım. Bu nedenle, ETH_CHAIN_ID=1 parametresini belirteceğim . Sizin durumunuzda kimin kimliğinin olduğunu öğrenmek için, onu chainlist.org web sitesinde bulmanız gerekir.

Ethereum Ana Ağı Örneği

Bir ortam dosyası oluşturalım ve gerekli tüm değişkenleri belirtelim:

echo "ROOT=/chainlink
LOG_LEVEL=debug
ETH_CHAIN_ID=1
CHAINLINK_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*" > ~/.chainlink/.env

Ek olarak, bir Ethereum istemcisine ihtiyacımız var, bunu yerel olarak çalıştırabilir veya Alchemy , Infura , QuikNode , Chainstack , Moralis gibi üçüncü taraf hizmetleri kullanabiliriz .

Alchemy'yi yüksek limitli uygun tarife ücretleri, düğümün hızlı yanıt vermesi ve bilgilendirici gösterge paneli nedeniyle kullanmayı tercih ediyorum.

simya fiyatlandırması

Alchemy ile çalışmak için zincir ve ağ seçerek yeni bir uygulama oluşturmanız gerekiyor.

Alchemy'de uygulama oluşturma penceresi

Uygulama oluşturulduğunda, analitik panoda mevcut olacaktır. Düğümle etkileşime geçmek için, WebSockets aracılığıyla bağlanmak üzere bir bağlantıyı dışa aktarmamız gerekecek.

Alchemy kontrol paneli

Ayarlarda şu bağlantıyı bulmanız gerekir: wss://<URL>

Chainlink yapılandırmasına Ethereum düğümüne bir bağlantı ekleyelim:

echo "ETH_URL=wss://<URL>" >> ~/.chainlink/.env

Test ediyorsanız ?sslmode=disable, URL'nin sonuna ekleyebilirsiniz. Ancak bunu asla bir üretim düğümünde yapmamalısınız.

Bağlantı dizesi şablonu:

postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE

echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE" >> ~/.chainlink/.env

Yazma sırasında geçerli sürüm 1.10.0'dır. En son güncel sürümü görüntüle bağlantıda mevcuttur .

Düğüm kök kullanıcı altında başlatılırsa, görüntülerin yalnızca kök sürümlerini seçmelisiniz.

Sürümü değiştirmek için parametreyi istediğiniz sürümle değiştirin:

akıllı sözleşme/chainlink:<sürüm>

Örneğin benim durumumda, kök sürümünü çalıştıracağım. Bunu yapmak için aşağıdaki komutu kullanacağım:

cd ~/.chainlink && docker run -p 6688:6688 -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink:1.10.0-root local n

      
                

Ardından, düğüm sizden operatör için bir e-posta ve şifre girmenizi isteyecektir. Her şey başarılıysa, düğüm başlayacak ve terminalde çok sayıda mesaj göreceğiz.

Düğümü daha sonra başlatmak için anahtarları kaydetmemiz gerekiyor, bunun için düğümü durduracağız ve aşağıdaki eylemleri gerçekleştireceğiz:

Operatörün E-postasını kaydedin:

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

Harika, düğüm çalışıyor, şimdi ona yerel bir cihazdan bağlanmak istiyoruz. Bunu yapmak için, düğüm ile sunucuya bir SSH tüneli oluşturmanız gerekir.

ssh <USERNAME>@<IP> -L 6688:localhost:6688 -N

Terminal sekmesini açık bırakalım ve açalım ve tarayıcıdaki linke tıklayalım:http://localhost:6688/

Yukarıda belirtilen operatörün e-postasını ve şifresini girin.

Chainlink Operatör oturum açma arayüzü

Harika, her şey başarıyla kuruldu!

Chainlink Operatör Kullanıcı Arayüzü

Artık onlar için kehanetlerinizi ve işlerinizi oluşturabilirsiniz.

Bir sonraki makalede , Oracle'ı dağıtmak ve onu düğüme bağlamak için bir kılavuz oluşturdum.

Operatör arayüzüne güvenli erişim ve kehanet çalışmasının performansı ile daha spesifik bir kurulum için aşağıdaki bağlantıları okumanızı tavsiye ederim: