
Ark.net เป็นห้องสมุดระบบนิเวศของ ARK สำหรับแพลตฟอร์ม. NET มันใช้ฟังก์ชัน ARK ที่เกี่ยวข้องมากที่สุดทั้งหมดเพื่อช่วยให้คุณ พัฒนาแอปพลิเคชัน. NET ที่มีประสิทธิภาพที่สร้างขึ้นบนแพลตฟอร์ม ARK นอกจากนี้ยังให้การเข้าถึง ARK ระดับต่ำเพื่อให้คุณสามารถสร้างแอปพลิเคชันของคุณได้อย่างง่ายดาย
แพ็คเกจรองรับ:
ติดตั้ง Package Ark.net ไปที่เว็บไซต์ NUGET สำหรับข้อมูลเพิ่มเติม
ในการรวบรวมด้วยตัวเองคุณสามารถ git clone เปิดโครงการและกดปุ่มคอมไพล์บน Visual Studio ในคำสั่งพรอมต์:
git clone https://github.com/ArkEcosystem/ark-net
cd ark-net
การตอบสนองบริการ ARK-Node ทั้งหมดมีการแสดงวัตถุ คุณสามารถใช้คลาสบริการภายใต้โฟลเดอร์บริการ การตอบกลับสามารถใช้งานได้สำหรับรายการหรือวัตถุสำหรับรายการเดียว ทุกวิธีมีวิธี async ที่สอดคล้องกัน
เป็นการดีที่สุดที่จะให้รหัสพูด สำหรับตัวอย่างเพิ่มเติมดูที่การทดสอบ ARK.NET ซึ่งการทดสอบทั้งหมดถูกเขียนและคุณสามารถเห็นการใช้ API ตัวอย่างโค้ดบางส่วนอยู่ด้านล่าง
การโทรครั้งแรกจะต้องเริ่มต้นดังนั้นการตั้งค่าทั้งหมดภายในไลบรารีสามารถเริ่มต้นก่อนที่จะดำเนินการ สามารถใช้ arknetapi หลายอินสแตนซ์ในเวลาเดียวกัน (Devnet & Mainnet ในแอปพลิเคชันเดียวกัน)
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 ( ) ) ;สำหรับรายการการโทร API ที่มีอยู่ทั้งหมดโปรดดูที่โครงการทดสอบ 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 ( ) ;
.. .เลเยอร์ใช้สำหรับการสื่อสาร Core Ark Blockchain (ธุรกรรม, crypto ... ) มันถูกห่อหุ้มโดยไลบรารี API ที่เรียกจากบริการและเลเยอร์บัญชี
//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 ) ; เฟรมเวิร์กการบันทึกใด ๆ สามารถใช้ในการจับบันทึกจากภายใน Arknet มันขึ้นอยู่กับผู้ใช้ของไลบรารีที่จะใช้ iarklogger และส่งผ่านไปยัง arknetapi.start () ด้านล่างเป็นตัวอย่างการใช้งานโดยใช้ 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 ) ; กรุณาใช้ปัญหา GitHub สำหรับคำถามหรือข้อเสนอแนะ สำหรับคำขอที่เป็นความลับหรือความต้องการเฉพาะโปรดติดต่อเราในช่องทางสาธารณะของเรา
หากคุณค้นพบช่องโหว่ด้านความปลอดภัยภายในแพ็คเกจนี้โปรดส่งอีเมลไปที่ [email protected] ช่องโหว่ด้านความปลอดภัยทั้งหมดจะได้รับการแก้ไขทันที
© Arkecosystem