İlk yazımızda ( Projelerde IOTA’yı kullanmak – 1 ) IOTA’yı, IOTA js kütüphanesini nasıl kullanacağımızı, node.js üzerinde nasıl çalıştıracağımızı aktarmıştık. Bu yazıda ise IOTA js kütüphanesinin bir uygulamasını anlatacağım.
Bir işlemin ( transaction ) yapısını parçalara ayırabilmek yazacağınız bir IOTA kullanan uygulama için önemlidir. Bu yüzden bir işlemin yapısını anlamak önemlidir. Bu linkten bir işlemin anatomisini inceleyebilirsiniz.
IOTA.js kütüphanesinden getTransactionObjects fonksiyonu aracılığıyla bir işlemin yapısını tamamıyla çekebilir ve işleme yazılan mesajı ekrana getirebiliriz. Bu fonksiyon parametre olarak bir değişken olarak objects ve callback alıyor. Mantık olarak bir receive address üzerinden işlem öğelerini çekebiliyor.
var objects = []; var transactionObjects = []; var things = iota.api.getTransactionsObjects = function (objects,callback) { // objects is variable (important) this.getTrytes(objects,function(error,trytes){// convert your object to trytes if(error) returncallback(error); trytes.forEach(function(thisTrytes){ if(!thisTrytes){transactionObjects.push(null);} else{ transactionObjects.push(iota.utils.transactionObject(thisTrytes));// push trytes to an array of objects varmessage=thisTrytes.slice(0,50);// slice(0,2187) is message but I prefer to put 50 for max length of try's constfromTrytes=iota.utils.fromTrytes(message);// convert your message from trytes to text console.log(fromTrytes);// put your message in screen } }) }) returncallback(null,transactionObjects); }
Bir işlemin anatomisinde gördüğümüz üzere signatureMessageFragment katmanı 2187 karakterden oluşuyor ve ek olarak bir işlemin obje yapısı içerisinde (0,2187) aralığında yer alıyor. Slice fonksiyonu ile bu kısmları özellikle çekebilirsiniz.
Yukarıdaki kodu daha önceki yazıda oluşturduğumuz kodun altına yapıştırırsanız daha önce receive adresinize yaptığınız bütün işlemleri görüntüleyebilirsiniz. Bir sonraki yazımıza kadar takipte kalınız! 🙂