We are nearing completion of our Software Development Kit (SDK) Roadmap, here is our latest and 16th addition — the Rust SDK.
We are attempting to make it as easy as possible for developers to jump into blockchain development by incorporating all of the major programming languages that we can. Allowing the Rust programming language to be able to interact with the ARK Blockchain opens up one more additional tool for developers to work with ARK.
Hundreds of companies, large and small, use Rust in production for a variety of tasks. Those tasks include command line tools, web services, DevOps tooling, embedded devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning, and even major parts of the Firefox web browser.
Rust is proving to be a productive tool for collaborating among large teams of developers with varying levels of systems programming knowledge. Low-level code is prone to a variety of subtle bugs, which in most other languages can be caught only through extensive testing and careful code review by experienced developers. In Rust, the compiler plays a gatekeeper role by refusing to compile code with these elusive bugs, including concurrency bugs. By working alongside the compiler, the team can spend their time focusing on the program’s logic rather than chasing down bugs.
To learn more about Rust visit their site at: https://www.rust-lang.org/
Features of Rust
- zero-cost abstractions
- move semantics
- guaranteed memory safety
- threads without data races
- trait-based generics
- pattern matching
- type inference
- nominal runtime
- efficient C bindings
Like all our rewritten SDKs Rust follows SoC (Separation of Concerns) design pattern where we separate Client and Crypto code in 2 libraries.
- ARK Rust Client: https://github.com/ArkEcosystem/rust-client
- ARK Rust Crypto: https://github.com/ArkEcosystem/rust-crypto
- ARK Rust Client Docs: https://docs.ark.io/api/sdk/clients/rust.html
- ARK Rust Crypto Docs: https://docs.ark.io/api/sdk/cryptography/rust.html
With this latest addition we are almost done covering all major programming languages. The last ones on the list are C and C++, which will be done in the upcoming weeks.
Here are some of our officially supported SDKs:
- PHP (Client & Crypto)
- Python (Client & Crypto)
- Ruby (Client & Crypto)
- Go (Client & Crypto)
- .NET (Client & Crypto)
- Java (Client & Crypto)
- Elixir (Client & Crypto)
- Swift (Client & Crypto)
- Rust (Client & Crypto)
If you want to dive deeper into Rust and it’s abilities, give the official Rust 2018 book a read at