Chainlink düğümünün nasıl başlatılacağına dair hızlı bir kılavuz
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 .
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.
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.
Alchemy ile çalışmak için zincir ve ağ seçerek yeni bir uygulama oluşturmanız gerekiyor.
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.
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.
Harika, her şey başarıyla kuruldu!
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: