Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API's #25

Open
kc1116 opened this issue Nov 10, 2016 · 3 comments
Open

API's #25

kc1116 opened this issue Nov 10, 2016 · 3 comments

Comments

@kc1116
Copy link

kc1116 commented Nov 10, 2016

where are the API's to build apps that utilize this thing?

@dhh1128
Copy link
Contributor

dhh1128 commented Nov 10, 2016

There are two basic ways to integrate with the sovrin ecosystem:

  1. talk directly to the ledger
  2. talk to an "agent"--software that works on behalf of an identity owner, and mediates between the sovrin ledger and a more familiar world like mobile app development, RESTful web services, etc.

#1 is possible, but the protocol that's used (RAET; see https://github.com/saltstack/raet) is highly specialized. This is the way the current CLI and Getting Started tutorial talk to the ledger to get things done. I believe it's not the ideal long-term solution because RAET binds sovrin too tightly to python. I prefer a solution that's easily callable in a variety of programming languages. (When I say "I" here, I'm trying not to speak too officially for the Sovrin Foundation, but I am connected with them and think I have some influence.)

#2 is entirely possible, but today it's not yet defined. There is a discussion about both APIs and the communication protocols that they use in the latest agent design doc on the wiki: https://github.com/sovrin-foundation/sovrin/wiki/Perspectives-on-Agent-Design

I expect clarity on this issue to begin to emerge in the next two weeks. This might be an excellent discussion topic for the next user community call on Nov 21.

@kc1116
Copy link
Author

kc1116 commented Nov 11, 2016

Thank you for the swift reply. This technology looks awesome and very promising but as a developer first thing I want to do is write a "hello world" app using it. From your reply I am assuming that it won't be a straightforward thing to do and you guys are still making decisions on API , Protocol , design etc. Is it safe to assume that?

@dhh1128
Copy link
Contributor

dhh1128 commented Nov 11, 2016

@kc1116 that is partly correct. Today the CLI is the easiest way to experiment. It would not be hard as a developer to take the CLI and turn it into a "hello world" app if you felt inclined; as a small python package it's eminently hackable. Underneath, the CLI is turning human-friendly commands into calls over RAET that submit transactions like "NYM" (which creates an identifier for a user on the ledger). Inspecting the CLI's code will uncover the other ledger transaction types.

In the next few weeks, I expect visible progress on more traditional APIs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants