
Ark.net adalah Perpustakaan Ekosistem Ark untuk platform .net. Ini mengimplementasikan semua fungsionalitas Ark yang paling relevan untuk membantu Anda mengembangkan aplikasi .NET yang efisien yang dibangun di atas platform ARK . Ini juga memberikan akses tingkat rendah ke bahtera sehingga Anda dapat dengan mudah membangun aplikasi Anda di atasnya.
Paket mendukung:
Instal-package ark.net pergi ke situs web Nuget untuk informasi lebih lanjut.
Untuk mengkompilasinya sendiri, Anda dapat git klon, membuka proyek dan menekan tombol kompilasi di Visual Studio. Di Command Prompt:
git clone https://github.com/ArkEcosystem/ark-net
cd ark-net
Semua tanggapan layanan Ark-Node memiliki representasi objek. Anda dapat menggunakan kelas layanan di bawah folder layanan. Tanggapan tidak dapat ditentukan untuk daftar atau objek untuk satu item. Setiap metode memiliki metode async yang sesuai.
Yang terbaik adalah membiarkan kode melakukan pembicaraan. Untuk lebih banyak contoh, lihat tes Ark.net, di mana semua tes ditulis dan Anda dapat melihat penggunaan API. Beberapa cuplikan kode di bawah ini.
Panggilan pertama harus dimulai, sehingga semua pengaturan dalam perpustakaan dapat menginisialisasi sebelum beraksi. Beberapa contoh arknetapi dapat digunakan pada saat yang sama (DevNet & Mainnet dalam aplikasi yang sama)
private ArkNetApi _arkNetApi ;
public ArkNetApi ArkNetApi
{
get { return _arkNetApi ?? ( _arkNetApi = new ArkNetApi ( ) ) ; }
}
await ArkNetApi . Start ( NetworkType . MainNet ) ; //Other type is DevNet
//or
await ArkNetApi . Start ( specificPeerIp , specificPeerPort ) ;
//or (Multiple addresses)
await ArkNetApi . Start ( listArkPeerAddresses ) ; //Existing account
var accCtnrl = new AccountController ( ArkNetApi , "top secret pass" ) ;
//Send ARK
var result = accCtnrl . SendArk ( 100 , "AUgTuukcKeE4XFdzaK6rEHMD5FLmVBSmHk" , "Akr.Net test trans from Account" ) ;
//Vote 4 Delegate
var result = accCtnrl . VoteForDelegate ( delegateName ) ;
//Un-Vote Delegate
var result = accCtnrl . UnVoteDelegate ( delegateName ) ;
//Create and send transaction. Transaction can be saved offine (.ToJson()) and sent later.
var transaction = accCtnrl . CreateTransaction ( 100 , "AUgTuukcKeE4XFdzaK6rEHMD5FLmVBSmHk" , "Akr.Net test trans from Account" ) ;
var result = accCtnrl . SendTransaction ( transaction ) ;
//Get Account
var account = accCtnrl . GetArkAccount ( ) ;
//New Account
new AccountController ( ArkNetApi , ArkNetApi . AccountService . GeneratePassphrase ( ) ) ;Untuk daftar lengkap panggilan API yang tersedia, silakan lihat proyek uji Ark.net
//PeerService
var peers = ArkNetApi . PeerService . GetAll ( ) ;
var peersOK = peers . Where ( x => x . Status . Equals ( "OK" ) ) ;
//TransactionService
var trans = ArkNetApi . TransactionService . GetAll ( ) ;
//BlockService
var blocks = ArkNetApi . BlockService . GetAll ( ) ;
//AccountService - Generate passphrase
var result = ArkNetApi . AccountService . GeneratePassphrase ( ) ;
//DelegateService
var delegates = ArkNetApi . DelegateService . GetAll ( ) ;
//LoaderService
var autoConfigParams = ArkNetApi . LoaderService . GetAutoConfigureParameters ( ) ;
.. .Layer digunakan untuk komunikasi blockchain Core Ark (transaksi, crypto ...). Itu dibungkus oleh perpustakaan API yang dipanggil dari layanan dan lapisan akun.
//Create & send transaction
TransactionApi tx = ArkNetApi . TransactionApi . CreateTransaction ( recepient , amount , description , passphrase ) ;
Peer peer = ArkNetApi . NetworkApi . GetRandomPeer ( ) ;
var result = peer . PostTransaction ( tx ) ;
//Connect to a specific peer to perform requests
var peerApi = new PeerApi ( ArkNetApi , ipAddress , Port )
await peerApi . MakeRequest ( ArkStaticStrings . ArkHttpMethods . GET , ArkStaticStrings . ArkApiPaths . Loader . GET_STATUS ) ;
//Force specific peer. All API calls will flow through this peer. Set back to null to resume decentralized use. Monitoring a specific peer is a use case for this functionality.
ArkNetApi . NetworkApi . ForcedPeer = ArkNetApi . PeerService . GetPeer ( ip , port ) ;
//or
ArkNetApi . NetworkApi . ForcedPeer = new PeerApi ( ArkNetApi , ipAddress , Port ) ;
// Switch network (Can also create new ArkNetApi instance as alternative solution)
await ArkNetApi . SwitchNetwork ( NetworkType . DevNet )
//New network
_arkNetApiDevNet = new ArkNetApi ( ) ;
await _arkNetApiDevNet . Start ( NetworkType . DevNet ) ; Kerangka logging apa pun dapat digunakan untuk menangkap log dari dalam arknet. Terserah pengguna perpustakaan untuk mengimplementasikan iarklogger dan meneruskannya ke arknetapi.start (). Di bawah ini adalah contoh implementasi menggunakan log4net.
public class Log4netAdapter : IArkLogger
{
private readonly ILog _log4NetLog ;
public Log4netAdapter ( ILog log4NetLog )
{
_log4NetLog = log4NetLog ;
}
public void Log ( ArkLogEntry entry )
{
if ( entry . LogLevel == ArkLogLevel . Debug )
_log4NetLog . Debug ( entry . Message , entry . Exception ) ;
else if ( entry . LogLevel == ArkLogLevel . Info )
_log4NetLog . Info ( entry . Message , entry . Exception ) ;
else if ( entry . LogLevel == ArkLogLevel . Warn )
_log4NetLog . Warn ( entry . Message , entry . Exception ) ;
else if ( entry . LogLevel == ArkLogLevel . Error )
_log4NetLog . Error ( entry . Message , entry . Exception ) ;
else
_log4NetLog . Fatal ( entry . Message , entry . Exception ) ;
}
}
ILog log = LogManager . GetLogger ( typeof ( LoggingTests ) ) ;
await ArkNetApi . Start ( NetworkType . MainNet , new Log4netAdapter ( log ) ; Tolong, gunakan masalah github untuk pertanyaan atau umpan balik. Untuk permintaan rahasia atau tuntutan khusus, hubungi kami di saluran publik kami.
Jika Anda menemukan kerentanan keamanan dalam paket ini, silakan kirim email ke [email protected]. Semua kerentanan keamanan akan segera ditangani.
© Arkecosystem