Algorand Günlüğüm(9/10)

Enes POLAT
Turk Telekom Bulut Teknolojileri
4 min readOct 4, 2022

10 bölümden oluşan Algorand günlüğüm serisinde JavaScript diliyle Algorand blokzincirinde uygulama geliştirmeye öğrenmeye devam ediyoruz.

Daha önceki birinci bölüm, ikinci bölüm, üçüncü bölüm, dördüncü bölüm, beşinci bölüm, altıncı bölüm, yedinci bölüm ve sekizinci bölümü okumadıysanız linklerden erişebilirsiniz.

Kaynak: https://yoyodex.io/algorand-yukselis-trendini-surdurmek-icin-temel-destegin-uzerinde-kalmali/?amp=1

ASA Oluşturma

Bu yazımızda kendimize ait token oluşturacağız. Dilerseniz hemen başlayalım. Öncelikle ASACreate.js isminde bir dosya oluşturalım. aşağıdaki kodu yapıştıralım:

const algosdk = require('algosdk');

const server="https://testnet-algorand.api.purestake.io/ps2";
const port="";
const token={
"x-api-key": "" // fill in yours
};

var alice_mnemonic = ""; // fill in yours
var aliceAccount = algosdk.mnemonicToSecretKey(alice_mnemonic);

let client = new algosdk.Algodv2(token, server, port);

(async () => {
let params = await client.getTransactionParams().do();
let note = undefined;
let addr = aliceAccount.addr;
let defaultFrozen = false;
let decimals = 0;
let totalIssuance = 1000000;
let unitName = "NSCOIN";
let assetName = "NS Coin";
let assetURL = "https://enespolat.surge.sh/";
let assetMetadataHash = "01234567890123456789012345678901";
let manager = aliceAccount.addr;
let reserve = aliceAccount.addr;
let freeze = aliceAccount.addr;
let clawback = aliceAccount.addr;
let txn = algosdk.makeAssetCreateTxnWithSuggestedParams(addr, note,
totalIssuance, decimals, defaultFrozen, manager, reserve, freeze,
clawback, unitName, assetName, assetURL, assetMetadataHash, params);
let rawSignedTxn = txn.signTxn(aliceAccount.sk);
let tx = (await client.sendRawTransaction(rawSignedTxn).do());
console.log("Transaction : " + tx.txId);
})().catch(e => {
console.log(e);
});

Açıklayacak olursak x-api-key kısmında https://developer.purestake.io/login sayfasından aldığımız API Key’i yapıştırıyoruz. alice_mnemonic kısmına hesabımızın mnemonic bilgisini giriyoruz. let totalIssuance kısmına kaç tane token oluşturacağımızı giriyoruz. let decimals gireceğimiz sayı totalIssuance kısmında soldan kaç hanenin virgülden sonraki değer olacağı bilgisini veriyor. let unitName kısmı token kısaltmamız, let assetName token ismimiz, let assetURL token web url sayfası, let assetMetadataHash kısmı eğer IPFS gibi blokzincir tabanlı depolama sayfalarında metadata’mız varsa onun adresi girilecek. Bu değerleri girdikten sonra terminalden node ASACreate.js komutunu çalıştırıyoruz.

Komut Çıktısı:

node ASACreate.js
Transaction : CHVCWQAKBOB3SKRB7ZFHFX4CGY6AILDA7QXQ4EBY77CRTO2CDHOA

İlgili transaction ID’sini Algo Explorer sayfasında aradımızda aşağıdaki gibi bir sonuç çıkıyor.

ASA Transaction Detayları

ASA oluşturduğumuz hesabı AlgoSigner üzerinde kontrol ettiğimizde 1 ASA sahibi olduğunu artık görebiliyoruz.

hesap 2 ASA Bilgisi

Şimdi Hesap 1 i bu ASA’ya üye edelim bunun için ASA kodunu alalım.

ASA Bilgisi

Hesap 2'yi tıkladığımızda NS Coin’in kodunun 114482118 olduğunu ve 1.000.000 adet oluşturulduğunu görüyoruz. Şimdi 114482118 kodunu alıp hesap 1'i tıklayarak opt-in to an asset i tıklıyoruz. 114482118 ASA nosunu yapıştıraral all tıklayıp sonuçlara bakıyoruz.

ASA Kodunun aranması
ASA Sonucunun bulunması

Gelen sonuçta NS Coin isminin üzerine tıklıyoruz.

ASA’ya üye olma

Açılan sayfada Opt-in to asset’i tıklıyoruz.

ASA’ya üye olma

ASA’ya üye olduk fakat hiç ASA’mız yok. Şimdi diğer hesaptan bu hesaba ASA gönderelim.

Gönderilecek hesabın public adresini alıyoruz ve ASA olan hesabımıza tıklayarak send tıklıyoruz.

ASA seçip gönderilecek adresi, miktarı ve mesajı yazma

Sağ üstte ASA ismimizi seçip gönderilecek miktarı, gönderilecek adresi ve notumuzu yazıyoruz.

Gerekli bilgilerin girilmesi

Send butonuna bastığımızda AlgoSigner şifremizi istiyor. Bunu da girdiğimizde transaction ID ekranda görünüyor.

Transaction ID

Bu ID’yi Algo Explorer’de aradığımızda gönderi detayımız orta çıkıyor.

ASA Gönderme Transaction özeti

İşlem sonunda AlgoSigner’da hesap 1 son durumu:

ASA’nın gönderilmesi

Sonuç

Bu yazımızda kendi tokenimizi oluşturma ve göndermeyi öğrendik. Bir sonraki yazımızda görüşmek üzere.

--

--