JDS philosophy

JDS philosophy

Starting from the core version 1.2.4 SpeedCash has the JDS (Json Data Source) server included in each node release. JDS is designed for the communication between foreign services or third-party applications with data stored on the SpeedCash blockchain in usable and reliable form.

JDS uses JSON data format for all requests and responses. JSON (JavaScript Object Notation) is a lightweight data-interchange format. While being easy for humans to read and write, it is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming LanguageStandard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

Blockchain has proved its reliability and safe data storage abilities, which makes it a perfect solution for storage of any mission-critical public data due to its persistence and impossibility to tamper with any data, however its parsing and communicating is very complex task. Lightweight services cannot just work with blockchain directly, for reasons such as its large size (most real blockchains are the Gigabytes of data size) and sophisticated data formats (the simplest JavaScript blockchain parser is hundreds of thousand of code lines (!)).

This problem is generally resolved by making some kind of integration gateway that converts data from the blockchain to any easy-to-parse form. These gateway solutions are usually created by third party developers, so usage of such services can reduce the trust level to the complete solution. If we have service "A" and are using blockchain from developers "B" as business data storage, the total reliability level of integrated solution is less than levels of "A" and "B" separately. In case that we are using the third-party data conversion gateway "C", the final reliability level is determined by the worst of "A", "B", "C" levels. In case that the gateway developers will abandon the support of their solutions, your integrated project can just be ruined.

That's why we decided to make a reliable data gateway as the core component of our blockchain node service. This removes any extra "C" dependencies from business integration and allowing any of service providers to work directly with solutions than completely based on our code.

Moreover, this does not make the final solution the centralized one, because of ability to quickly setup own gateway node, even a private one. Data on all gateways is synchronized using the same SCS blockchain, so it is the same for all nodes. That's why this solution can easily be migrated to the failsafe (using redundant servers) cloud solution.

Goals achieved

Cheap and simple integration

Almost every cryptocurrency project displays the images similar to one at the beginning of this pos. Yes, these integrations are theoretically possible, and practically they bring the real power of blockchain to another applications. In saying that, without similar to a JDS solution all the communications, displayed as orange arrows on the image, can be implemented by thousands of code lines in different programming languages. That makes the cost of integration, especially for small services, absolutely insane.

With JDS the integration cost is reduced to almost zero. Most modern programming languages have the native support of JSON data format. That's why the simplest Web Widget displaying user data from the SCS blockchain can be implemented just in tens lines of code by every developer without digging into real blockchain specifics.

Data decentralization is not ruined

Usually gateways similar to JDS are not incorporated into main blockchain project code. This leads to running up side servers with gateway support and making all services dependent on the node health. We are providing different approach, incorporating JDS directly into wallet node core, which makes it available literally everywhere in a decentralized manner. Moreover, the private nodes are also possible to create from the same source code base.

Centralized code support

As long as we are supporting the SCS project, we will support a JDS solution as the core part of blockchain services. It means that most of possible issues will be fixed by our team in a planned manner and JDS/SCS users should not pay for it.

In saying that, this does not prohibit the creation of private forks of JDS with modified functions for personal business needs. The sources are open, and the license permits it.

Bringing the blockchain value up

This also makes the real value of SCS blockchain itself, not based only on coins price. The resulting value will also depend on third party services based on SCS blockchain / JDS solution, and we plan to increase the count of these services in future.

Read more: Running JDS node

Leave a Reply

Your email address will not be published. Required fields are marked *