↖ back to jolocom.io

Developing the Jolocom SDK

Tech dive  •  
Oct 17, 2017
 • logged_by: Vincent den Boer

Now we’re working on an SDK that enables developers to easily build decentralized applications so they can actually begin to show users how easy it can be to use alternative platforms that do respect your data. Until now, it has been quite hard to build decentralized applications, with various pieces of technology providing solutions to different problems in the development applications, but there’s no easy-to-use solution that unifies the various technologies into one solution providing clear paths to solve these different problems. With this SDK, we hope to start to change that.

The first part of the SDK provides access to our SmartLogin solution, allowing users to log in to different services with their own identity, controlling exactly how much data they want to share, with the ability to revoke access to data even after this access has been initially granted (upon which these connecting services will be notified).

The second part is the Ethereum integration, which allows services the user has logged into with their identity, to interact with Ethereum on the user’s behalf using the user’s own geth node with which the user is automatically provided. The user is shown a detailed confirmation screen every time the service wants to execute a transaction on the user’s behalf. The nice part is that we require the service to supply a human readable description of the contract and all methods in it, so we can inform the user exactly what will happen.

Also, through the same mechanism we use to sign e-mails, phone numbers and passport details, we allow third parties to give different types of verification about the contract in question. So far, we’ve identified three different types of verifications:

  1. Ownership: the party asking you to interact with the contract is indeed the owner of the the contract
  2. Audit: this contract has been security audited (can be done by multiple parties)
  3. Functionality: the contract description indeed matches the actual functionality as implemented on this contract.

With this, we hope to make interaction with Ethereum safer, more understable and easier to access for everyone.

Then finally we have the Data Storage part. The Data Storage allows decentralized applications to store your data in your own private space. The data is stored in a way that’s interoperable with other decentralized applications. Imagine Google Suite type applications that would save your documents in your private space, shareable with friends and collaborators, who may be using different tools to edit these documents that might for example be more focused on unifying the corporate graphical identity throughout all documents. This is one of the crucial parts of owning and being able to use your own data, and we want it to be as easy or even easier than building centralized applications.

There’s much work to be done in truly bringing the decentralized web to the masses. One problem to be solved is how to enable the building of decentralised platforms like Airbnb or Upwork, which require searchable indivices of data exposed by users (ie: all apartments for rent in Berlin). We have some thoughts about that, but it’s one step at a time. We’d love to invite you soon to take our SDK for a spin so we can see your initial reactions, so feel free to reach out to us to join in more closely on what’s happening!