Arkadaşlar daha önceki kurulumlarda yedekleme işlemlerini anlatmadığımız için şu an en son sürüm olan 0.8.4 sürümü ile kurulum yapıp adım adım node kurulumu ve yedekleme işlemlerini uygulamalı anlatmaya çalışacağım.
Şu anda en güncel sürümümüz 0.8.4 olduğundan,buna göre anlatım yapılmıştır.
İlk önce github dan en son avalanchego sürümünü indirelim.Bu arada gecko artık avalanchego olarak değiştirildi.
wget https://github.com/ava-labs/avalanchego/releases/download/v0.8.4/avalanchego-linux-0.8.4.tar
İndirdiğimiz sıkıştırılmış dosyayı açalım
tar -xvf avalanchego-linux-0.8.4.tar
şimdi klasörün içine girip avalanche ı çalıştıralım
cd avalanche-0.8.4
./avalanchego (bu komutla çalıştırdığımızda açık olan konsol penceresinde çalışır arkaplanda çalıştırmak için nohup ./avalanchego & kullanabilirsiniz)
Node umuz çalışmaya başladı şimdi bootstrap olmasını bekleyelim.
Bu yazıyı gördüğümüzde bootstrap bitmiştir.
Bootstrap işlemi bitip node muz senkronize olduktan sonra bir kullanıcı oluşturalım ve daha önceki makalelerde yapmadığımız yedekleme işlemlerini de yapalım.
Öncelikle bir kullanıcı oluşturalım
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.createUser",
"params" :{
"username":"mahof",
"password":"password"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore
cevap olarak şöyle bir cevap alacağız
{"jsonrpc":"2.0","result":{"success":true},"id":1}
kullanıcımızı oluşturduk şimdi de bunu yedekleyelim.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"keystore.exportUser",
"params" :{
"username" :"mahof",
"password" :"password"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore
şöyle bir cevap alacağız bunu güvenli bir yere yedekleyelim
{"jsonrpc":"2.0","result":{"user":"111K5ar9sFpGA9xtUyRQRPFerWQxb6KP48RTX8S3HNsDo88NKqRbQ7WPhjy66irPbj6Jdeneme"},"id":1}
Şimdi X adres ve P adreslerimizi oluşturup bunlarında yedeklerini alalım
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.createAddress",
"params" :{
"username": "mahof",
"password": "password"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X
Cevabı bizim X adresimiz
{"jsonrpc":"2.0","result":{"address":"X-everest180lgssvenqhm04a5ppzp5lqclz7sp7p7xls0en"},"id":1}
Şimdi bunun private keyini alıp güvenli bir yerde yedekleyelim.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.exportKey",
"params" :{
"username" :"mahof",
"password":"password",
"address": "X-everest180lgssvenqhm04a5ppzp5lqclz7sp7p7xls0en"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X
cevabı
{"jsonrpc":"2.0","result":{"privateKey":"PrivateKey-2mH6EYmgiYS2jvjaY8aZQVEQNXSRmdaEiKJiiuaj5c4deneme"},"id":1}
Private keyimizi mutlaka güvenli bir yere not edelim ve kimse ile paylaşmayalım.
Şimdi P adresimizi alalım
curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.createAddress",
"params": {
"username": "mahof",
"password": "password"
},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/P
Cevabı:
"jsonrpc":"2.0","result":{"address":"P-everest1eax5xhsus74etjufvkadpv2qyprqx0zec0uauq"},"id":1}
Şimdi P adresimizin de private keyini alıp güvenli bir yerde yedekleyelim.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"platform.exportKey",
"params" :{
"username" :"mahof",
"password":"password",
"address": "P-everest1eax5xhsus74etjufvkadpv2qyprqx0zec0uauq"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/P
Cevabı:
{"jsonrpc":"2.0","result":{"privateKey":"PrivateKey-sYsJjjwxCBsGhzXB5JMp5EMnDnEU5DCZgbUd2T8deneme"},"id":1}
Şimdi faucet.avax.network adresine girip X-adresimizi fundlayalım
Validatör olabilmek için X-adresimizdeki avaxları P-adresimize export edip,daha sonra da P-adresimize import edelim.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.exportAVAX",
"params" :{
"username": "mahof",
"password": "password",
"to":"P-everest1eax5xhsus74etjufvkadpv2qyprqx0zec0uauq",
"amount": 1000000000
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X
Cevabı tx önemli değil
Şimdi p-adrese import edelim
curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.importAVAX",
"params": {
"username": "mahof",
"password": "password",
"to":"P-everest1eax5xhsus74etjufvkadpv2qyprqx0zec0uauq",
"sourceChain": "X"
},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/P
Cevabı tx olacak önemli değil.
Şimdi validatör olmak için gereken komutu girelim
curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.addValidator",
"params": {
"nodeID":"NodeID-BoGWQ7zjTsBpXNfekoZjBm7MsJR8RknmL",
"startTime":'$(date --date="10 minutes" +%s)',
"endTime":'$(date --date="30 days" +%s)',
"stakeAmount":1000000000,
"rewardAddress":"P-everest1eax5xhsus74etjufvkadpv2qyprqx0zec0uauq",
"delegationFeeRate":10,
"username":"mahof",
"password":"password"
},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/P
Cevabı tx olacak şimdi nodumuzu avax.explorer.network adresindeki explorer ın pending validator listesinde görebiliriz kısa bir süre sonra da validatör listesine eklenecektir.
İşimizi sağlama almak adına son olarak ta home klasöründe oluşan ./avalanchego isimli klasörün yedeğini alalım.Mandatory bir update gelmediği sürece nodeumuzun id si,stake leri bu klasörde saklanmaktadır.
tar -zcvf nodeyedek.tar.gz .avalanchego
Bu yedeği de mutlaka farklı bir ortama kopyalayalım.
— — — — — — — — — — — Update — — — — — — — — — — — — — —
Şimdi Yedekten geri dönelim
.avalanchego klasörünün yedeğini almıştık,ben nodumdaki .avalanchego klasörünü silip tekrar yedekten dönme işlemini yapıyorum nodeidm BoGWQ7zjTsBpXNfekoZjBm7MsJR8RknmL buydu,bakalım doğru yapmışmıyız.
Sildikten sonra çalıştırdığımda farklı bir node id verdi.Şimdi de yedeği yerine atıyorum ve tekrar çalıştırıyorum.
ve benim node id m geri geldi.