Announcing Libra Wallet SDK for .NET by Blockcoli

ประกาศเปิดตัว Libra Wallet SDK for .NET ใช้สำหรับทดลองสร้าง Libra Wallet บน Testnet ได้ง่ายๆ ด้วย Blockcoli.Libra.Net

Libra (A simple global currency and financial infrastructure that empowers billions of people) เปิดตัวเมื่อวันที่ 18 มิถุนายน 2019 มันไม่ได้มาเพียงแค่ระบบการเง่ินเท่านั้น แต่มันมาพร้อมกับ Libra Blockchain (The Libra Blockchain is a decentralized, programmable database designed to support a low-volatility cryptocurrency that will have the ability to serve as an efficient medium of exchange for billions of people around the world) ทำให้นักพัฒนาโปรแกรมบล็อคเชนทั้งหลายให้ความสนใจเป็นอย่างมาก ต่อมาไม่นานวันที่ 24 กรกฎาคม 2019 นักพัฒนาไทยได้รวมตัวกันจัดงาน Libra Developer Meeting ครั้งที่ 1 ซึ่งผมก็ได้เข้าไปมีร่วมงานนี้ด้วยในฐานะผู้ฟัง วิทยากรทุกท่านได้ให้ความรู้แนวลึกด้าน Infrastructure และการพัฒนากันลึกมาก

จุดกำเนิด Blockcoli
พอมาถึงช่วงคุณโต๊ด ทีม KULAP ได้นำเสนอเรื่อง Libra Wallet พัฒนาได้ด้วยภาษา JavaScript โดยใช้ Libra Core และคุณสวิตทีม Band Protocol พัฒนา PyLibra ด้วยภาษา Python ทำให้ผมเกิดแรงบัลดาลใจที่อยากจะพัฒนา SDK สำหรับ .NET บ้าง เลยเป็นจุดกำเนิดของ Blockcoli และสร้างโครงการโอเพ่นซอร์สที่ชื่อว่า Blockcoli.Libra.Net

Blockcoli Open-Source Project ประกาศเปิดตัว The 1st .NET SDK for Libra Wallet อยู่บน Github repository และบิ้วแพคเกจเอาไว้บน Nuget package manager คุณสามารถเข้ามาร่วมกัน Contribute และติดตามได้ที่

Blockcoli.Libra.Net v0.1.0 is First Release

This library build from .NET Standard 2.0 and .NET Core 2.2 dependencies package with Google.Protobuf, Grpc and use Elliptic-curve cryptography by PeterWaher

Installation

To install with nuget run:

dotnet add package Blockcoli.Libra.Net

Usage

Using two namespaces

using Blockcoli.Libra.Net.Wallet;
using Blockcoli.Libra.Net.Client;

Creating Account

In order to create a libra account, you would need to instantiate the LibraWallet like:

// Creating a new Wallet
var wallet = new LibraWallet();

// Generate a new Account
var account = wallet.NewAccount();

// you can see your address by:
Console.WriteLine(account.Address);

Minting Account

To mint you need to create a LibraClient and use it to mint

// Currently minting only works for testnet and uses the faucet service.
var client = new LibraClient(LibraNetwork.Testnet);

// Mint amout in Micro-Libra. (1 Libra = 1000000 Micro-Libra)
var sequenceNumber = await client.MintWithFaucetService(account.Address, 1000000);

Checking an address balance

// You can use parameter array for check multiple address.
var accountStates = await client.QueryBalance(account.Address);
Console.WriteLine(accountStates[0].Balance);

Related projects

Official Blog