hyperledger-archives / indy-sdk

indy-sdk
https://wiki.hyperledger.org/display/indy
Apache License 2.0
668 stars 735 forks source link

How to get started with Indy? #33

Closed Rupertredding closed 6 years ago

Rupertredding commented 7 years ago

Super excited to see Sovrin joining Hyperledger project. However, I'm completely lost (1) how to deploy an Indy blockchain locally ? (2) where are the smart contract details - will chaincode run on Indy? (3) where are the source codes for the plenum blockchain? (4) Is there a doc anywhere with these details?

dhh1128 commented 7 years ago

Deploy an Indy blockchain locally: see https://github.com/evernym/sovrin-environments/blob/master/vagrant/training/vb-multi-vm/TestSovrinClusterSetup.md. (Note that at the moment the stable build used by these instructions has a dependency inconsistency in its .deb files that could cause install problems. It should be fixed in a couple hours.)

Indy wouldn't host smart contracts; rather, indy would provide identities that could be referenced in smart contracts from the native home of those smart contracts (e.g., Ethereum).

Source for plenum: https://github.com/evernym/plenum. It is being moved over to https://github.com/hyperledger/indy-plenum and should be there in a week or two.

For these questions, best source right now is forum.sovrin.org or Indy's RocketChat. We have a tech writer who is actively working on docs.

Rupertredding commented 7 years ago

Thanks Daniel - it's super helpful. (I will move to the forum. Just want to complete my thought here). If Indy does not have its own smart contracts concept, what's the purpose of plenum blockchain? What do you run on plenum blockchain?

dhh1128 commented 7 years ago

Plenum is Indy's distributed ledger. It is not a blockchain, but a close cousin (thus the more generic cover term, "distributed ledger"). It is not smart-contract based, because it's not updated with a proof-of-work protocol. Instead, it depends on a Byzantine Fault Tolerant consensus algorithm. This allows plenum to provide identity transactions for free (no monetary cost), with no significant CPU overhead, and at higher performance than more familiar blockchains.

Rupertredding commented 7 years ago

So Indy is more like Hyperledger-Fabric (and less like Ethereum). In Fabric we have 'chaincode' for transaction processing. Do you have anything like that in Indy for identity transactions? (i.e. how do you define identity transactions?)

dhh1128 commented 7 years ago

Plenum is more like Fabric--and indeed could be replaced by Fabric at some point in the future. Indy is not like Fabric very much, I think.

Identity transactions are submitted by composing and signing a JSON message and then submitting it over an encrypted CurveCP or RAET connection. The details are mostly hidden and uninteresting if you are using libsovrin (soon to be renamed libindy); see https://github.com/hyperledger/indy-sdk/blob/master/src/api/ledger.rs for details.

Rupertredding commented 7 years ago

Thanks Daniel. You convinced me. So I've started with Sovrin :)

I'm following the steps here (https://github.com/evernym/sovrin-environments/blob/master/vagrant/training/vb-multi-vm/TestSovrinClusterSetup.md) to setup test sovrin network (MacOS, VirtualBox, vagrant). I'm able to successfully ssh to an agent but then it's not able to understand 'sovrin' command. Anyone else hitting the same issue?

$ vagrant ssh agent04 vagrant@agent04:~$ sovrin sovrin: command not found

FarooqKhan commented 7 years ago

We had a problem around that time that sovrin client was not installing on the vagrant agent. If you try again this might work now.

notOccupanther commented 6 years ago

Hi .. that TestSovrinClusterSetup.md page gives me a 404 error. Is there anywhere I might be able to obtain the details?

Harmannz commented 6 years ago

@notOccupanther due to the recent re-branding of Sovrin to Indy some of the links are now outdated. You are better off reading https://github.com/hyperledger/indy-node and following the installation guide from the README or if you want to you can follow the original everynym link from here

vimmerru commented 6 years ago

Seems question were answered. We are working constantly on improving of a new developers experience. I suggest to close this ticket for now.