Algorand Günlüğüm(5/10)
Bu yazımızda Algorand blokzincirinde oluşturulan hesaptaki balance bilgisini sorgulayan JavaScript kod yazacağız. Dilerseniz hemen başlayalım.
Daha önceki birinci bölüm, ikinci bölüm, üçüncü bölüm ve dördüncü bölümleri okumadıysanız linklerden erişebilirsiniz.
Balance Okuma
Algorand cüzdanlarındaki tutarı (balance) okumak için balance.js isminde yeni bir dosya oluşturalım. İlk aşama olarak aşağıdaki kodları yazalım:
Burada önce algosdk modülünü programımıza dahil ettik. checkbalance isminde bir fonksiyon oluşturduk. Algorand blokzincirinde işlem yapabilmek için port bilgisi gerekiyor. Değerini string olarak boş belirledik. bağlantı için token objesi oluşturmamız gerekiyor ve bunun x-api-key değerini daha önce .env dosyasında purestake.io sayfasından edindiğimiz API değerine eşitledik. module.exports=checkbalance ifadesiyle de checkbalance fonksiyonunun varsayılan fonksiyon olarak export edileceğini belirttik.
const algosdk=require( ‘algosdk’ ) ;
checkbalance=()=>
const port=””:
const token={
“x-api-key”:process.env.API
}
module.exports=checkbalance
Biz Algorand testnetinde işlem yapacağız. Bu yüzden kodumuzda Purestake.io’nun sayfasında testnete bağlantıyı sağlayan yolu belirteceğiz.
cost Testserver=”https://testnet-algorand.api.purestake.io/ps2",
Şimdi port, network yolu (mainnet, testnet veya betanet biz testnetten devam edeceğiz) ve token bilgisini girerek bağlantı tünelimizi oluşturalım.
let client= new algosdk.Algodv2 (token, Testserver, port) ;
3. Bölümde hesap oluşturmayı görmüştük, o yöntemle yeni bir hesap oluşturalım
Oluşturulan hesabın public adresini alalım:
let account = “Z2JVZBTPSFE6NCWKLIXEEOBAPD3V67OFKP2J226CI5R5K2FXBA2CYAGT3Y”;
Kodumuzun devamında asenkron olarak hesap bilgisini alalım. Hata da varsa hata döndürmesini isteyelim. Bunun için accountInformation özelliğini kullanacağız.
(async () =>{
let account_ info=(await client.accountInformation(account).do());
console.log(“Balance of account :”, JSON.stringify(account_info));
}
)().catch((err) =>{
console.log(err);
})
Şimdi tüm kodumuzu görelim.
const algosdk=require( ‘algosdk’ ) ;
checkbalance=()=>{
const port=””
const token={
“x-api-key”:process.env.API
};
const Testserver=”https://testnet-algorand.api.purestake.io/ps2"
let client= new algosdk.Algodv2 (token, Testserver, port) ;
let account=”Z2JVZBTPSFE6NCWKLIXEEOBAPD3V67OFKP2J226CI5R5K2FXBA2CYAGT3Y”;
(async () =>{
let account_info=(await client.accountInformation(account).do());
console.log(“Balance of account : 1”, JSON.stringify(account_info));
}
)().catch((err) =>{
console.log(err);
})
}
module.exports=checkbalance
Artık index.js sayfamızda bu metodumuzu çağırabiliriz. index.js kodlarını aşağıdaki gibi güncelleyelim.
Burada “require(‘dotenv’).config()” ifadesini balance.js sayfasında .env dosyasına erişimi istediğimizden ekledik.
const algosdk= require(‘algosdk’ ) ;
const createadress= require(‘./address’)
const checkBalance= require(‘./balance’)
require(‘dotenv’).config()
//createadress()
checkBalance()
npm start komutu zamanı:)
Detaylı baktığımızda amount 0 görünüyor. yani hiç balance bulunmuyor. Amount bilgisini doğrudan görebilmek için aşağıdaki balance.js dosyasında güncellemeyi yapalım.
console.log(“Balance of account : 1”, JSON.stringify(account_info));
Balance mı gerekli?
Önümüzde bölümde görüşmek üzere ;)