kristjank / ark-net Goto Github PK
View Code? Open in Web Editor NEWArk Client for .NET
License: MIT License
Ark Client for .NET
License: MIT License
Add the following methods...
This is so we don't return errors in existing fields like Address for 'GetByAddress'.
Add fields
typos and code formatting
ArkModel
ArkBlock
ArkPeer
DelegateVoters
PeerHeader
Make a class called ArkTransactionReponse with properties returned from /peer/transactions
This will ensure developers using this library are able to override the default config settings with a settings.conf file in the root dir.
Add the following methods...
This can be done - after #36 is completed
Class name is misleading and also the ones that inherit it... it' looks...
Maybe a rename from ArkError - ArkResponseStatus? or something... as you also have success variable...
Then you have to align with ArkTransactionResponse - I think thouse two classes server same purpuose?
@sharkdev-j @dnovacik
Currently the blockservice is not in the solution. Just need to add it as a reference.
Update the info on the Read-me, do some re-up to make it current with the API.
Hi @sharkdev-j @sharkdev-a ,
only one seed peer is usually not a good idea. I know there has been lately an issue with a lot of them. Please take a look at the clean healthy SEED peer list - and include them from here:
https://github.com/kristjank/ark-go/blob/master/core/arkenv.go#L206
After you randomly select one SEED peer... you must build up the ACTIVE healthy peer list to work with, meaning:
connect to randomly selected SEED peer from the SEED list
call peer/list from that peer
clean the received peer/list by (version= 1.0.1 - mainnet, status=OK, and find the max height peer, and then select just the ones (let's say 10 blocks smaller than max height peer)
save filtered the peer list globaly so it can be used on the API for later on (multi broadcasts and switch peer, etc)...
--I use this in arkgo now - and I usually clean the list from 150 to 70/60 healthy peers to work with...
Add methods...
Inside create class called ArkApiPaths and put in all the string path api calls in there. This will make the path api calls exposed to devs and not hard coded strings within the lib. A path example is '/peer/status'.
Replace all hard coded paths with static string variables.
Add the following methods...
Comment the code, give more information about the different functions.
I am already on that.
get network seettings (hash, byte prefix, version) from peer and set them
the call is to a seed peer (either devnet or mainnet) -
http://5.39.9.240:4001/api/loader/autoconfigure
Rename DelegateVoter -> ArkDelegateVoter
Rename PeerStatus -> ArkPeerStatus
This is for consistency with the other models
Create task async methods. This is necessary for mobile developement and a popular pattern within newly created apps.
When building from VS on both win10 and macOS platform I receive build error related to the main ark-net solution. Here is the console output:
Target PostBuildEvent:
REM Create a NuGet package for this project and place the .nupkg file in the project's output directory.
REM If you see this in Visual Studio's Error List window, check the Output window's Build tab for the actual error.
ECHO Creating NuGet package in Post-Build event...
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/_CreateNewNuGetPackage/DoNotModify/CreateNuGetPackage.ps1' -ProjectFilePath '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/ark-net.csproj' -OutputDirectory '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/bin/Debug/' -BuildConfiguration 'Debug' -BuildPlatform 'AnyCPU'"
/var/folders/6r/wkww53sj6gbf1cpmj2lq7ygr0000gn/T/tmp69086b90510749819e89e1ac125a4306.exec.cmd: line 5: unexpected EOF while looking for matching `''
/var/folders/6r/wkww53sj6gbf1cpmj2lq7ygr0000gn/T/tmp69086b90510749819e89e1ac125a4306.exec.cmd: line 6: syntax error: unexpected end of file
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: The command "REM Create a NuGet package for this project and place the .nupkg file in the project's output directory.
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: REM If you see this in Visual Studio's Error List window, check the Output window's Build tab for the actual error.
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: ECHO Creating NuGet package in Post-Build event...
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/_CreateNewNuGetPackage/DoNotModify/CreateNuGetPackage.ps1' -ProjectFilePath '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/ark-net.csproj' -OutputDirectory '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/bin/Debug/' -BuildConfiguration 'Debug' -BuildPlatform 'AnyCPU'"" exited with code 1.
Done building target "PostBuildEvent" in project "ark-net.csproj" -- FAILED.
Done building project "ark-net.csproj" -- FAILED.
Build FAILED.
Core/PeerApi.cs(101,21,101,26): warning CS0162: Unreachable code detected
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: The command "REM Create a NuGet package for this project and place the .nupkg file in the project's output directory.
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: REM If you see this in Visual Studio's Error List window, check the Output window's Build tab for the actual error.
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: ECHO Creating NuGet package in Post-Build event...
/Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5036,5): error MSB3073: PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/_CreateNewNuGetPackage/DoNotModify/CreateNuGetPackage.ps1' -ProjectFilePath '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/ark-net.csproj' -OutputDirectory '/Users/doob/Desktop/UnityBlock/ark-net/ark-net/bin/Debug/' -BuildConfiguration 'Debug' -BuildPlatform 'AnyCPU'"" exited with code 1.
1 Warning(s)
1 Error(s)
When connection to seed peer and receiving a list of peers, filter them according to:
-status OK
-version 1.1.0
-find the max height peer (and remove peers more than 10 blocks behind)
Store this filtered list and use it as clean peer list.
The dead link leads to nowhere, and the reference thus is a dead link.
Could you either update the link or add the file?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.