ARK is all about ease of use – for end users, and for service providers. In our quest to provide simplicity for consumers and exchanges — we are proud to announce the development of ARK RPC, a customized Remote Procedure Call software, designed and developed by ARK with some key innovations that will be used in other ARK projects as well (more on that in section “Key Features”).
Most exchanges and third party services are familiar with BTC RPC when listing or adding a cryptocurrency. Since ARK is a custom blockchain, many services have had difficulty navigating through our GitHub and integrating ARK into their platform. Now, the addition of ARK RPC will give all exchanges and third party service providers a more familiar path to integrate ARK into their platform.
What is RPC?
Remote Procedure Call (RPC) is a protocol that allows one program to request a service from software located on another computer network without having to understand all of the network’s details. A procedure call is also sometimes known as a function call or a subroutine call.
By replacing dedicated protocols and communication methods with a standardized interface, RPC is designed to facilitate communication between client and server processes. The functions contained within RPC are accessible by any program that must communicate using a client/server methodology.
An RPC is initiated by the client, sending a request message to a known remote server to execute a specific operation with provided parameters. The remote server sends a response to the client, and the application continues its process. While the server is processing the call, the client is blocked as it waits for the server to finish processing and to send its response before resuming execution.
The majority of platforms utilizing bitcoin use this RPC procedure. To accommodate these services and make the integration of ARK as user friendly as possible, it was our goal to develop a familiar process for use now, and in the future. The ARK RPC will minimize headaches and streamline the addition process for all.
With development of ARK RPC a few key features have been implemented that will also be used in other ARK projects.
- BIP38 encryption — we implemented BIP38 encryption which is a method for encrypting and encoding a passphrase-protected ARK private key record in the form of a Base58Check-encoded string.
Each record string contains all the information needed to reconstitute the private key except for a passphrase, and the methodology uses salting to resist brute-force attacks.
- Backend in LevelDB — backend of ARK-RPC is using LevelDB (Level Database), which was developed by Google.
By default, LevelDB stores entries lexicographically, sorted by keys. The sorting is one of the main distinguishing features of LevelDB amongst similar embedded data storage libraries and comes in very useful for querying.
LevelDB is designed to compress data and use the least possible space while providing a highly transparent, light-weight foundation.
- Network layer — the server is automatically syncing with ARK blockchain looking for good peers to connect with, reducing the risk of disconnection.
Are you an exchange, service provider, developer, or someone who wants to setup your own ARK RPC instance?
Head over to ARK RPC GitHub repository for more info : https://github.com/ArkEcosystem/ark-rpc
ARK RPC : Making it Easier to Interact With ARK for Exchanges and Service Providers was originally published in Ark.io on Medium, where people are continuing the conversation by highlighting and responding to this story.