discosultan / Krakencore
Licence: mit
💱 .NET client for Kraken Bitcoin & cryptocurrency exchange API
Stars: ✭ 37
Programming Languages
csharp
926 projects
Labels
Projects that are alternatives of or similar to Krakencore
Vs Threading
The Microsoft.VisualStudio.Threading is a xplat library that provides many threading and synchronization primitives used in Visual Studio and other applications.
Stars: ✭ 585 (+1481.08%)
Mutual labels: async, netstandard
Asyncfriendlystacktrace
Async-friendly format for stack traces and exceptions
Stars: ✭ 205 (+454.05%)
Mutual labels: async, netstandard
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+106894.59%)
Mutual labels: async
Handle Path Oz
Android Library to handle multiple Uri's(paths) received through Intents.
Stars: ✭ 36 (-2.7%)
Mutual labels: async
Workcraft
Toolset to capture, simulate, synthesize and verify graph models
Stars: ✭ 27 (-27.03%)
Mutual labels: async
Nodespider
[DEPRECATED] Simple, flexible, delightful web crawler/spider package
Stars: ✭ 33 (-10.81%)
Mutual labels: async
Iguazu Rest
✨ Iguazu REST is a plugin for the Iguazu ecosystem that allows for pre-built async calls for REST with smart caching.
Stars: ✭ 21 (-43.24%)
Mutual labels: async
Computesharp
A .NET 5 library to run C# code in parallel on the GPU through DX12 and dynamically generated HLSL compute shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
Stars: ✭ 982 (+2554.05%)
Mutual labels: netstandard
Fast Socks5
Fast SOCKS5 client/server implementation written in Rust async/.await (with async-std)
Stars: ✭ 33 (-10.81%)
Mutual labels: async
Yii2 Queue
Yii2 Queue Extension. Supports DB, Redis, RabbitMQ, Beanstalk and Gearman
Stars: ✭ 977 (+2540.54%)
Mutual labels: async
Turbulette
😴 Turbulette - A batteries-included framework to build high performance, fully async GraphQL APIs
Stars: ✭ 29 (-21.62%)
Mutual labels: async
Create Request
Apply interceptors to `fetch` and create a custom request function.
Stars: ✭ 34 (-8.11%)
Mutual labels: async
React Hydrate
Generic data fetching, caching, and SSR hydration pattern for React
Stars: ✭ 27 (-27.03%)
Mutual labels: async
Ktx
LibKTX: Kotlin extensions for LibGDX games and applications
Stars: ✭ 913 (+2367.57%)
Mutual labels: async
Modern Async
A modern JavaScript tooling library for asynchronous operations using async/await and promises
Stars: ✭ 31 (-16.22%)
Mutual labels: async
Storage Based Queue
Javascript queue library with persistent storage based queue mechanism for the browsers environments. Specially designed for offline.
Stars: ✭ 33 (-10.81%)
Mutual labels: async
Futures Batch
An adapter for futures, which chunks up elements and flushes them after a timeout, or when the buffer is full. (Formerly known as tokio-batch.)
Stars: ✭ 37 (+0%)
Mutual labels: async
KrakenCore
Kraken bitcoin exchange API
.NET client for⚠ This is an alpha version, meaning the API has not been tested on any production application. USE AT OWN RISK! Also, the API does not include the tentative private user funding API as it is subject to change.
🎉 Features
- ✖ Cross-platform based on .NET Standard 2.0
- 🔁 Asynchronous API using async and await
- 💪 Strongly typed models
- 🛂 Covered with tests
- 🔐 Supports two-factor authentication
📦 Getting Started
using KrakenCore;
var client = new KrakenClient(apiKey, privateKey);
var response = await client.GetAccountBalance();
foreach (var currency in response.Result)
Console.WriteLine($"{currency.Key} : {currency.Value}");
// ZEUR : 1000
// XXBT : 1
// XETH : 3
🔧 Extending Client
The client supports two extensibility points: one right before a request to Kraken is dispatched and one right after a response is received. These points provide additional context specific information (for example, the cost of a particular call) and can be used to implement features such as rate limiting or logging.
Sample extensions implemented in the test suite:
var client = new KrakenClient(ApiKey, PrivateKey)
{
InterceptRequest = async req =>
{
// Log request.
output.WriteLine(req.HttpRequest.ToString());
string content = await req.HttpRequest.Content.ReadAsStringAsync();
if (!string.IsNullOrWhiteSpace(content)) output.WriteLine(content);
// Wait if we have hit the API rate limit.
RateLimiter limiter = req.HttpRequest.RequestUri.OriginalString.Contains("/private/")
? privateApiRateLimiter
: publicApiRateLimiter;
await limiter.WaitAccess(req.ApiCallCost);
}
};
🙏 Related Work
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].