RPC Client Libraries [Community Bounty]

The C# implementation is available here, I haven published the packages because I think it’s better to submit each package after each library (the C# and Swift implementation) are available on their respective final repositories if they are approved.

3 Likes

I changed the name for the repository for the Swift implementation from NimiqClient to NimiqClientSwift

1 Like

I just finished adding support for watchOS to the Swift library and documentation to the C# library

Here is the Python implementation.

1 Like

After pulling my hair for two days almost with no sleep while battling against the three package managers and the CI system, finally the three implementations I was working on are ready to try out. I’m posting them again here in a single post… and with nice little badges :blush:

Swift (macOS, iOS, tvOS and watchOS)
build Swift PM Cocoapods version Carthage compatible
C# (.Net)
build Nuget version
Python
build PyPI version
Feel free to make any suggestions or to post any issues you may encoder.

7 Likes

The fact that it can compile to C, C++ and Javascript proves it can hit three stones with one bird. Since it’s a relatively untouched language, it deserves a bounty so does Haxe.

Thank you @emile for your effort on the Ruby implementation! The final repo is https://github.com/nimiq-community/ruby-client - together with all the other community contributions. Right now I’m in the process of reviewing the PR. For that, I would be super glad if somebody here could take a moment and comment on the PR as we don’t have Ruby coders in the team. The effort would be very much appreciated and I’d suggest it to the Community Funding Board for a small reward.

1 Like

Cool stuff @rraallvv! I just created the repos and linked them in the starting post of this thread. Please send you code as PRs to the respective repo so that we can start the review process.

Also please consider helping with reviewing repos. Right now the Ruby RPC needs a review from a Ruby coder before it can be merged. I had a look together with @emile and it seems nice, but I can not judge as I’ve hardly used Ruby myself.

2 Likes

Thank you very much @svub. I’m playing a bit with Github Actions to run all the tests for Python from version 2.4, since I backported the library to run on older versions of Python with the help of enum34. I’ll make the PRs and will check the Ruby version too.

3 Likes

The Nimiq RPC client for Ruby has been released thanks to the work of @emile! Go check it out:

The code has been reviewed and merged and the reward of 400k NIM has been send. Thank you @emile!

1 Like

@rraallvv did the hat-trick! He indeed managed to deliver three RPC clients: in Python, Swift, and C#, supported the code review and testing! Big thank you going out to Ralv, together with the NIM reward.

Please checkout the new RPC clients:



With this hat-trick, the initial set of RPC clients is completed now, opening the space to develop Nimiq-enabled apps on any kind of platform!

5 Likes

@svub I was wondering if the bounty is now satisfied, or if it is still possible to propose client libraries for other languages that haven’t been listed yet?

Hi @redmaner - we’ve been thinking about closing this, but we’d be glad to hear your proposal to decide on it.

I would like to propose an RPC library for Elixir. I’ll admit it’s not the most popular language out there. Have been forced to learn it for work, and gotta say it’s actually a really fun and productive language. Let me know what you guys think!

2 Likes