Libra Nedir? Libra Testnet İncelemesi

Bülent Bedir
Hitarge
Published in
4 min readJul 8, 2019

Libra, Facebook önderliğinde geliştirilen, blokzincir teknolojisi üzerine kurulmuş, küresel, dijital ve reel rezerv destekli kriptopara birimidir. Libra ile, insanlar küresel finans sistemi üzerine para gönderebilir, alabilir, farklı platformlarda harcayabilir ve varlıklarını güvenli bir altyapıda saklayabilir.

Proje, Facebook’un bağlı kuruluşu Calibra ile birlikte teknoloji, telekomünikasyon, sermaye kuruluşları ve kar amacı gütmeyen kuruluşların bir araya gelerek, toplamda 27 şirketin oluşturduğu Libra Derneği tarafından yönetilecektir.

Libra Association’da Yer Alan Partnerler

Blokzincir endüstrisi için oldukça önemli bir gelişme olan Libra’nın, partnerlerinin geniş kullanıcı kitlelerine ulaşabilme gücü sayesinde gelecekte blokzincir teknolojisinin hayatımızdaki kullanım alanını oldukça arttıracağı öngörülmektedir. Sunulacak altyapı ve geliştirme ortamı sayesinde, birçok geliştiricinin Libra üzerinde uygulamalar tasarlayabilmesine olanak sağlayabilecektir.

18 Haziran 2019'da resmi olarak duyurulan ve testneti yayınlanan projeyi yakından takip edip geç kalmadan teknolojik devrimleri yakalayabilmek adına, testnetteyken Libra üzerinde uygulama geliştirmenin yollarını araştırmaktayız. Geliştirdiğimiz uygulamayı ve geliştirilme aşamalarını bir rehber şeklinde sizlerle paylaşarak, hem topluluğun bundan faydalanmasını hem de değerli yorum ve önerilerinizi almayı hedefliyoruz.

Yazının sonraki bölümünde, Libra Testnet’e bağlanarak, Testnet’te bazı basit işlemleri yapmanızı sağlayacak komutları çalıştırmayı anlatacağız.

Libra Testnet’te Geliştirmeye Başlangıç

Libra Testnet üzerinde uygulama geliştirmek için attığımız ilk adım, Libra CLI kurulumunu yapmak ve çalıştırmak.

Libra CLI, Libra Testnet networküne bağlanıp çeşitli sorgular çalıştırmamızı sağlayan komut satırı arayüzüdür. CLI sayesinde, testnet üzerinde hesap oluşturma, transfer yapma, hesapların güncel bakiye ve state bilgilerini sorgulama, testnette libra mint edip(yeni libra oluşturmak), başka hesaplara yollama ve transaction detaylarını sorgulama gibi işlemleri gerçekleştirebilirsiniz. CLI’yı kendi bilgisayarını kurmak için takip etmeniz gereken adımlar:

CLI şu an sadece linux ve macos işletim sistemleri, üzerine çalışıyor fakat docker imageleri sayesinde windows tabanlı bilgisayarlarınızda da çalıştırabilirsiniz.

Kurulum

  1. Adım: Libra reposunu klonlamak,
git clone https://github.com/libra/libra.git

2. Adım: Libra’nın klonlandığı dosya içerisinde aşağıdaki komut satırını çalıştırmak,

cd libra ./scripts/dev_setup.sh

bu komut, Libra CLI’nın çalışması için gerekli olan paketleri yüklenmesini sağlayacaktır,

3. Adım: Libra CLI’yı çalıştırmak için, aşağıdaki komut satırını proje satırında çalıştırmak,

./scripts/cli/start_cli_testnet.sh

bu komut sayesinde, CLI testnette çalışan bir node’a bağlanacak ve istediğimiz komutları Libra ağında çalıştıracak.

Transaction Gerçekleştirme

Şu an için, kendi geliştirdiğimiz modülleri testnet üzerinde çalıştıramadığımız için sadece hesap yaratma ve libra transferi işlemleri gerçekleştiriliyor.

Testnet’te transfer gerçekleştirmek için izlememiz gereken adımlar aşağıdaki şekildedir:

  1. Adım: Libra Testnet’te hesapların yaratılması:
libra% account create
>> Creating/retrieving next account from wallet Created/retrieved account #0 address 8337aac709a41fe6be03cad8878a0d4209740b1608f8a81566c9a7d4b95a2ec7
>> Creating/retrieving next account from wallet Created/retrieved account #1 address
e945eec0f64069d4f171d394aa27881fabcbd3bb6bcc893162e60ad3d6c9feec

bu komutlar sayesinde, Libra Testnet’te kullanmak üzere iki adet hesap yaratmış olduk. Bu komut hakkında bilinmesi gereken önemli bir nokta, bu hesaba para yatırılana kadar, hesap kaydının blokzincir üzerinde var olmayacağıdır.

2. Adım: Oluşturulan hesapların listelenmesi:

libra% account listUser account index: 0, address: 8337aac709a41fe6be03cad8878a0d4209740b1608f8a81566c9a7d4b95a2ec7, sequence number: 0
User account index: 1, address: e945eec0f64069d4f171d394aa27881fabcbd3bb6bcc893162e60ad3d6c9feec, sequence number: 0

‘list’ komutu sayesinde, kendi oluşturduğumuz adresleri görüntüleyebiliriz. Çıktıda görünen sequence number, o hesaptan yapılan gönderim işlemi sayısını ifade etmektedir.

3. Adım: Hesaplara para ekleme:

Şimdi oluşturduğumuz hesaplardan birine, libra mint edip yollama işlemini göreceğiz.

libra% account mint 0 110

Komutta geçen, 0 ifadesi 2. adımda yaptığımız listeleme işleminde görünen indeksi ifade etmektedir. Yani oluşturduğumuz ilk hesaba, bastığımız 110 libra yollamış olduk. Eğer mint ettiğiniz libraları farklı bir adrese yollamak isterseniz, 0 yerine o adresi girmeniz yeterli.

4. Adım: Hesaplar arası libra transferi:

Sıra, oluşturduğumuz hesaplar arasında libra transferi gerçekleştirmeye geldi:

libra% transfer 0 1 10

Bu komut sayesinde, 2. adımda gördüğümüz 0 indeksli hesaptan 1 indeksli hesaba 10 libra transfer etmiş olduk. Bu komutun çıktısı:

>> Transferring Transaction submitted to validator To query for transaction status, run: query txn_acc_seq 0 0 <fetch_events=true|false>

şeklinde olacaktır.

5. Adım: Transferin durumunu kontrol etme:

Bir önceki adımda networke submit ettiğimiz transfer işleminin durumunu sorgulamak için, 4. adımda aldığımız çıktıdaki komutu kullanmamız yeterli olacaktır:

libra% query txn_acc_seq 0 0
Getting committed transaction by account and sequence numberCommitted transaction: SignedTransaction {
raw_txn: RawTransaction {
sender: 8337aac709a41fe6be03cad8878a0d4209740b1608f8a81566c9a7d4b95a2ec7,
sequence_number: 0,
payload: {,
transaction: peer_to_peer_transaction,
args: [
{ADDRESS: e945eec0f64069d4f171d394aa27881fabcbd3bb6bcc893162e60ad3d6c9feec},
{U64: 10000000},
]
},
max_gas_amount: 10000,
gas_unit_price: 0,
expiration_time: 1562333843s,
},
.
.
.
}

komuttaki ilk 0, hesabın indeksini gösterirken; ikinci 0 ise sequence numberı göstermektedir.

6. Adım: Bakiyeleri kontrol etme:

Transfer işlemini gerçekleştirdikten sonra, bakiyeleri kontrol etmek için:

libra% query balance 0
Balance is: 90
libra% query balance 1
Balance is: 10

komutlarını girebiliriz. İstediğimiz adresin bakiyesini sorgulamak içinse, indeks verdiğimiz yerlere, istediğimiz adresi girebiliriz.

Bu yazımızda da sizlere, Libra CLI’yı ayarlamayı ve Libra Testnet üzerinde gerçekleştirebeleceğiniz işlemleri anlatmaya çalıştık.

İlerleyen yazılarımızda librayı uygulamalarınıza nasıl dahil edebileceğinizi ve örnek uygulamaları da sizlerle paylaşmayı planlıyoruz.

Son olarak Libra hakkında yararlanabileceğiniz kaynaklar ve Libra Testnet üzerinde geliştirilmiş örnek uygulamaları şu şekilde listeleyebiliriz:

Libra resmi websitesi: https://libra.org/en-US/

Libra resmi dokümantasyonu: https://developers.libra.org/docs/welcome-to-libra

Libra geliştirici topluluğu: https://community.libra.org

Libra Move sözleşme editörü: https://github.com/learndapp/awesome-libra

Libra Testnet örnek wallet: https://dev.kulap.io/libra/#/

Libra Testnet örnek explorer: https://librabrowser.io

Yazarlar: İrfan AKARSU, Berkay GÜRSOY, Şafak KAYRAN ve Bülent BEDİR

Sonraki yazılarda görüşmek dileğiyle..

--

--