ark.net 0.8.0

dotnet add package ark.net --version 0.8.0
NuGet\Install-Package ark.net -Version 0.8.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ark.net" Version="0.8.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ark.net --version 0.8.0
#r "nuget: ark.net, 0.8.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ark.net as a Cake Addin
#addin nuget:?package=ark.net&version=0.8.0

// Install ark.net as a Cake Tool
#tool nuget:?package=ark.net&version=0.8.0

GitHub issuesGitHub forksGitHub starsGitHub license

Why Ark.NET

Ark.NET is the ARK Ecosystem library for the .NET platform. It implements all most relevant ARK functionalities to help you develop efficient .NET applications built upon ARK platform. It provides also low level access to ARK so you can easily build your application on top of it.

The package supports:

  • With full features, Windows Desktop applications, Mono Desktop applications, and platform supported at .NET Standard Library. Should work will all .NET solutions with framework > 4.5.2.
  • It's a work in progress so mobile platform testing are still to follow.

Source Browser

How to install?

With nuget:

nuget

Install-Package ark.net Go on the nuget website for more information.

From source:

To compile it by yourself, you can git clone, open the project and hit the compile button on visual studio. In command prompt:

git clone https://github.com/kristjank/ark-net
cd ark-net

How to get started?

All ark-node services have available reponses have their object representations in the form of ValueObjects. You can use service classes under service folder. Responses are IEnumerable or IQueryable (depends if the class and functionality).

It's best to let the code do the speaking. For more examples look at the ARK.NET Tests, where all tests are written and you can see the api usage. Some code snippets are below.

Ark.Net Client init

First call should be network selection, so all settings can initialize before going into action.

  ArkNetApi.Instance.Start(NetworkType.MainNet); //Other types are TestNet and DevNet

For additional settings please see settings file. To modify settings, just add settings.conf file to root folder. File can only include changed settings (not all).

Account/Wallet layer

var accCtnrl = new AccountController("top secret pass");
//Send ARK
var result = accCtnrl.SendArk(100, "AUgTuukcKeE4XFdzaK6rEHMD5FLmVBSmHk", "Akr.Net test trans from Account",
                "pass phrase");
//Vote 4 Delegate                
var result = accCtnrl.VoteForDelegate( votes, "top secret pass");

Service layer

For a full list of available api calls please look at the ARK.NET Test project

//PeerService
var peers = PeerService.GetAll();
var peersOK = peers.Where(x => x.Status.Equals("OK"));

//TransactionService
var trans = TransactionService.GetAll();
...

Core Layer

Layer is used for core Ark blockchain communication (transaction, crypto...). It is wrapped by api libraries that are called from the service and Account layer.

TransactionApi tx = TransactionApi.CreateTransaction(recepient, amount, description, passphrase);
Peer peer = Network.Mainnet.GetRandomPeer();
var result = peer.PostTransaction(tx);          

More information about ARK Ecosystem and etc

Please, use github issues for questions or feedback. For confidential requests or specific demands, contact us on our public channels.

Visual Studio Community Edition : https://www.visualstudio.com/products/visual-studio-community-vs

Authors

Chris (kristjan.kosic@gmail.com), with a lot of help from FX Thoorens fx@ark.io and ARK Community

Support this project

alt text Ark address:AUgTuukcKeE4XFdzaK6rEHMD5FLmVBSmHk

License

License: MIT

Copyright (c) 2017 ARK

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 is compatible.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.8.0 1,959 10/30/2017
0.7.7 2,079 5/7/2017
0.7.6 1,806 5/6/2017
0.7.5 1,775 5/5/2017
0.7.2 1,953 5/1/2017
0.7.0 1,655 4/30/2017
0.6.3 2,139 4/28/2017
0.6.2 1,730 4/28/2017
0.6.1 1,724 4/27/2017

As ARK is part of the community - the community growth and contribution can be seen in many ways. ARK-NET's latest release is a major refactor and update from community members (thank you all @sharkdev-j and @dnovacik).

Changes in short:

Added builds for multiple frameworks Net Standard 2.0, Net 471 #56
Added generic request structure for easier querying #62
AutoLoader configuration from peers #4
NuGet Package creation for both frameworks #59
MultipleBroadCast fixes #6
DEVNET support and FULL implementation of all tests #48, #39, #46
Did I mention that we have ALL unit tests implemented !!! :-)
Added async methods for non blocking API communication #27 #45
Peer filtering and selection improvement #3
Core services improvement
Full BlockService api implementation
... code restructure and reorganization... and many more...

Get the new version, while it is still hot:)

-delegate chris