This project allows developers to flawalessly access the functionailty of Monero applications through the Core assemblies' RPC services. As the software is open-source, everyone can contribute, achieving the best performance and reliability for end-users.
Why is this API necessary?It makes the implementation of Monero extremely easy for merchants, wallet builders, and all the other developers who are interested in working with (or accepting) Monero. Also, the core developers can concentrate more on the internals
(instead of spending time on the official GUI client), which means that the currency should advance faster.
Is it cross-platform?The first 3 releases of the API were only made for desktop PCs running Microsoft .NET Framework 4.5 or higher, thus, resulting in a smaller userbase than wanted. Since v3, the project has been split into 2 subprojects, one which is responsible for communicating with the daemon and the account manager's RPC channel, and one which can manage the required processes on PC.
What kind of platforms can utilize the power of Monero API .NET, then?Basically every device which has support for running the Microsoft .NET Portable Framework v4, and more: Microsoft is planning to provide native (C++) compilation of C# assemblies very soon, and this process can be even faster since .NET Core has been made open-source.
The project can run on PCs (Windows; Mac and Linux with Mono .NET), mobile phones (Windows Phone; Android and iOS with Xamarin), and even on video game consoles like Xbox.
How does it work?As I have already mentioned above, the project consists of 2 parts: MoneroAPI, and MoneroAPI.Extensions. The first one is built as a PCL
(portable class library) and is multiplatform, while the extensions are desktop-only and contain functions for hosting a full node. Basically, MoneroAPI is preferable for lightweight, client-only applications, and MoneroAPI.Extensions adds support for hosting the Monero Core processes with ease.
There is a demo project included in the GitHub repository for a more technical explanation.
Please consider donating to one of the addresses in my signature if you like this project or want to support its development.