rjones (Wed, 18 Sep 2019 14:36:21 GMT):
troyronda

rjones (Wed, 18 Sep 2019 14:36:29 GMT):
@all all yours!

troyronda (Wed, 18 Sep 2019 14:36:51 GMT):
Thanks @rjones :)

Baha-sk (Wed, 18 Sep 2019 14:38:01 GMT):
Has joined the channel.

filip.burlacu (Wed, 18 Sep 2019 14:39:08 GMT):
Has joined the channel.

firas.qutishat (Wed, 18 Sep 2019 14:39:23 GMT):
Has joined the channel.

rolsonquadras (Wed, 18 Sep 2019 14:40:18 GMT):
Has joined the channel.

Baha-sk (Wed, 18 Sep 2019 14:40:35 GMT):
:thumbsup: ]

Baha-sk (Wed, 18 Sep 2019 14:40:35 GMT):
:thumbsup:

filip.burlacu (Wed, 18 Sep 2019 14:41:10 GMT):
:thumbsup:

sandrav (Wed, 18 Sep 2019 14:41:14 GMT):
Has joined the channel.

bstasyszyn (Wed, 18 Sep 2019 14:41:30 GMT):
Has joined the channel.

rolsonquadras (Wed, 18 Sep 2019 14:41:40 GMT):
:clap:

firas.qutishat (Wed, 18 Sep 2019 14:41:42 GMT):
:thumbsup:

rjones (Wed, 18 Sep 2019 14:41:55 GMT):
Has left the channel.

sandrav (Wed, 18 Sep 2019 14:42:42 GMT):
:thumbsup:

smithbk (Wed, 18 Sep 2019 14:50:32 GMT):
Has joined the channel.

soluchok (Wed, 18 Sep 2019 14:53:29 GMT):
Has joined the channel.

soluchok (Wed, 18 Sep 2019 14:54:11 GMT):
:thumbsup:

rolsonquadras (Wed, 18 Sep 2019 15:24:28 GMT):
@troyronda @firas.qutishat https://github.com/hyperledger/aries-framework-go/issues/276 -- can you please assign this to me and move to in-progress in the dev board?

troyronda (Wed, 18 Sep 2019 15:57:22 GMT):
@rolsonquadras done

george.aristy (Wed, 18 Sep 2019 16:05:07 GMT):
Has joined the channel.

sudeshrshetty (Thu, 19 Sep 2019 03:24:32 GMT):
Has joined the channel.

sudeshrshetty (Thu, 19 Sep 2019 03:24:32 GMT):
@troyronda @firas.qutishat created https://github.com/hyperledger/aries-framework-go/issues/283 please assign it to me, add it to milestone and to framework dev board (in progress)

kdimak (Thu, 19 Sep 2019 13:23:37 GMT):
Has joined the channel.

george.aristy (Thu, 19 Sep 2019 13:38:53 GMT):
@soluchok epics such as #269 need to be broken into smaller tasks, a github issue per task

george.aristy (Thu, 19 Sep 2019 13:39:26 GMT):
Those tasks are then added to the Framework Development board where everyone can then see their progress

soluchok (Thu, 19 Sep 2019 13:39:59 GMT):
ok

soluchok (Thu, 19 Sep 2019 13:41:59 GMT):
https://github.com/hyperledger/aries-framework-go/pull/286

jonathanreynolds (Thu, 19 Sep 2019 17:19:11 GMT):
Has joined the channel.

jadhavajay (Thu, 19 Sep 2019 18:44:07 GMT):
Has joined the channel.

troyronda (Tue, 24 Sep 2019 13:50:01 GMT):
Reminder - weekly planning meeting starts in 40 mins. https://wiki.hyperledger.org/display/ARIES/Framework+Go+Meetings

troyronda (Tue, 24 Sep 2019 13:51:25 GMT):
Today's agenda: https://wiki.hyperledger.org/display/ARIES/2019-09-24+Framework+Go+Weekly+Planning

ajayjadhav (Tue, 24 Sep 2019 18:01:02 GMT):
Has joined the channel.

george.aristy (Wed, 25 Sep 2019 17:38:34 GMT):
@channel need one more review on https://github.com/hyperledger/aries-framework-go/pull/335

KellyCooper (Sun, 29 Sep 2019 18:11:33 GMT):
Has joined the channel.

troyronda (Mon, 30 Sep 2019 15:33:30 GMT):
Reminder weekly planning meeting tomorrow. Please update the agenda at https://wiki.hyperledger.org/display/ARIES/2019-10-01+Framework+Go+Weekly+Planning

troyronda (Tue, 01 Oct 2019 13:38:13 GMT):
Reminder: weekly planning meeting starts in ~50 mins.

RodrigoMedeiros (Tue, 01 Oct 2019 16:22:36 GMT):
Has joined the channel.

vsadriano (Mon, 07 Oct 2019 18:16:40 GMT):
Has joined the channel.

troyronda (Tue, 08 Oct 2019 14:31:44 GMT):
Reminder: weekly planning starting now.

troyronda (Tue, 08 Oct 2019 14:31:44 GMT):
Reminder: weekly planning starting now (https://wiki.hyperledger.org/display/ARIES/Framework+Go+Meetings).

troyronda (Tue, 08 Oct 2019 14:31:53 GMT):
https://wiki.hyperledger.org/display/ARIES/2019-10-08+Framework+Go+Weekly+Planning

troyronda (Wed, 09 Oct 2019 14:15:40 GMT):
FYI design diagrams for introduce protocol in go framework: https://wiki.hyperledger.org/display/ARIES/Introduce+Protocol+Flow+-+Framework+Go

yerlibilgin (Fri, 11 Oct 2019 12:31:53 GMT):
Has joined the channel.

troyronda (Tue, 22 Oct 2019 13:59:57 GMT):
Reminder: weekly planning starting in ~30mins. https://wiki.hyperledger.org/display/ARIES/2019-10-22+Framework+Go+Weekly+Planning

Audrius (Thu, 24 Oct 2019 10:41:25 GMT):
Has joined the channel.

ankita.p (Fri, 01 Nov 2019 06:20:46 GMT):
Has joined the channel.

cstoecker (Fri, 01 Nov 2019 15:06:11 GMT):
Has joined the channel.

troyronda (Fri, 01 Nov 2019 15:38:43 GMT):
Web Assembly epic has been posted: https://github.com/hyperledger/aries-framework-go/issues/661

rolsonquadras (Fri, 01 Nov 2019 15:39:10 GMT):
@troyronda @firas.qutishat @george.aristy PR for review - https://github.com/hyperledger/aries-framework-go/pull/662

ajayjadhav (Sat, 02 Nov 2019 11:32:22 GMT):
Hi team, I am trying to run `make run-openapi-demo` on the latest cloned code.. however, I am getting following error. Any guess what could be the issue? `Successfully built dbc82911664e Successfully tagged aries-framework-go/agent:latest Generate demo agent controller API specifications using Open API 2019/11/02 11:25:52 args[0] = build/rest/openapi/spec/openAPI.yml 2019/11/02 11:25:52 args[1:] = [test/bdd/fixtures/demo/openapi/specs/localhost:8082.yml] 2019/11/02 11:25:56 args[0] = build/rest/openapi/spec/openAPI.yml 2019/11/02 11:25:56 args[1:] = [test/bdd/fixtures/demo/openapi/specs/localhost:9082.yml] Starting demo agent containers Starting agent demo containers Pulling alice.webhook.example.com (aries-framework-go/sample-webhook:latest)... ERROR: pull access denied for aries-framework-go/sample-webhook, repository does not exist or may require 'docker login' Makefile:82: recipe for target 'run-openapi-demo' failed make: *** [run-openapi-demo] Error 1 `

ajayjadhav (Sat, 02 Nov 2019 11:32:22 GMT):
Hi team, I am trying to run `make run-openapi-demo` on the latest cloned code.. however, I am getting following error. Any guess what could be the issue? `Successfully built dbc82911664e Successfully tagged aries-framework-go/agent:latest Generate demo agent controller API specifications using Open API 2019/11/02 11:25:52 args[0] = build/rest/openapi/spec/openAPI.yml 2019/11/02 11:25:52 args[1:] = [test/bdd/fixtures/demo/openapi/specs/localhost:8082.yml] 2019/11/02 11:25:56 args[0] = build/rest/openapi/spec/openAPI.yml 2019/11/02 11:25:56 args[1:] = [test/bdd/fixtures/demo/openapi/specs/localhost:9082.yml] Starting demo agent containers Starting agent demo containers Pulling alice.webhook.example.com (aries-framework-go/sample-webhook:latest)... ERROR: pull access denied for aries-framework-go/sample-webhook, repository does not exist or may require 'docker login' Makefile:82: recipe for target 'run-openapi-demo' failed make: *** [run-openapi-demo] Error 1`

troyronda (Sat, 02 Nov 2019 12:55:18 GMT):
@ajayjadhav @sudeshrshetty it looks like building the web hook demo docker image wasn’t included as a dependency of that make target.

troyronda (Sat, 02 Nov 2019 12:55:52 GMT):
make sample-webhook-docker

troyronda (Sat, 02 Nov 2019 18:31:01 GMT):
@ajayjadhav I pushed a fix to the Makefile to include this dependency.

ajayjadhav (Sat, 02 Nov 2019 18:31:32 GMT):
okay, @troyronda , I will pull the latest and test

ashlinSajan (Mon, 04 Nov 2019 05:28:15 GMT):
Has joined the channel.

ashlinSajan (Tue, 05 Nov 2019 05:12:55 GMT):
Hi team while running the command "make all" I got the following error "pkg/didcomm/protocol/didexchange/service_test.go:1196:3: shadow: declaration of "state" shadows declaration at line 48 (govet) state, errState := svc.nextState(RequestMsgType, generateRandomID())"

troyronda (Tue, 05 Nov 2019 12:10:18 GMT):
@ashlinSajan thanks for letting us know - pushed a fix.

troyronda (Tue, 05 Nov 2019 15:22:07 GMT):
Weekly planning meeting for aries-framework-go starts in ~10 mins.

troyronda (Tue, 05 Nov 2019 15:22:07 GMT):
Weekly planning meeting for aries-framework-go starts in ~10 mins (https://wiki.hyperledger.org/display/ARIES/Framework+Go+Meetings).

troyronda (Tue, 05 Nov 2019 15:23:50 GMT):
https://wiki.hyperledger.org/display/ARIES/2019-11-05+Framework+Go+Weekly+Planning

troyronda (Tue, 05 Nov 2019 15:28:00 GMT):
Main topics: Closing down 0.1.0 and planning for 0.1.1

HLFPOC (Tue, 05 Nov 2019 18:15:03 GMT):
Has joined the channel.

troyronda (Thu, 07 Nov 2019 17:56:24 GMT):
aries-framework-go 0.1.0 draft release notes are posted: https://github.com/hyperledger/aries-framework-go/issues/720

troyronda (Fri, 08 Nov 2019 17:31:39 GMT):
Issues remaining in the 0.1.0 release: https://github.com/hyperledger/aries-framework-go/milestone/1

troyronda (Thu, 14 Nov 2019 15:17:14 GMT):
(cross-post) We are now getting started on 0.1.1 of aries-framework-go. It would be wonderful if there are new people who are interested in participating in this next cycle.

troyronda (Thu, 14 Nov 2019 15:17:29 GMT):
https://chat.hyperledger.org/channel/aries?msg=omaecq7oNWLqzwHQ8

wip-abramson (Thu, 14 Nov 2019 15:32:42 GMT):
Has joined the channel.

entidad_jorge (Fri, 15 Nov 2019 06:30:36 GMT):
Has joined the channel.

Identitywoman (Mon, 25 Nov 2019 05:54:13 GMT):
Has joined the channel.

AvikHazra-klizos (Tue, 26 Nov 2019 06:51:49 GMT):
Has joined the channel.

AvikHazra-klizos (Tue, 26 Nov 2019 06:52:04 GMT):
Hello... I create two client, bob and alice. then use CreateInvitation, HandleInvitation and GetConnection for create invitation from bob, handle invitation from alice and get connection from alice. After that I want to check the connection record from client alice. I'm using didexchangeAlice.QueryConnections() that showing the following, can anyone help me out ? what parameter is required, and how to use that not enough arguments in call to didexchangeAlice.QueryConnections have () want (*"github.com/hyperledger/aries-framework-go/pkg/client/didexchange".QueryConnectionsParams)

anchit (Tue, 26 Nov 2019 07:26:40 GMT):
Has joined the channel.

huxd (Tue, 26 Nov 2019 08:59:55 GMT):
Has joined the channel.

sudeshrshetty (Tue, 26 Nov 2019 15:32:24 GMT):
@AvikHazra-klizos try calling `didexchangeAlice.QueryConnections(&didexchangeAlice.QueryConnectionsParams{})`

sudeshrshetty (Tue, 26 Nov 2019 15:33:48 GMT):
You need to pass search parameters, right now we support filtering based on `state`, other search criteria will be available soon.

priyashankar (Wed, 27 Nov 2019 09:59:09 GMT):
Has joined the channel.

priyashankar (Wed, 27 Nov 2019 09:59:56 GMT):
What is the difference between introduce and didexchange packages?

priyashankar (Wed, 27 Nov 2019 09:59:56 GMT):
What is the difference between *introduce *and *didexchange *packages?

priyashankar (Wed, 27 Nov 2019 10:30:07 GMT):
On creating a connection between two Aries clients, I get *"null"* on querying *connection.ConnectionRecord.State*. Can anybody tell me why?

priyashankar (Wed, 27 Nov 2019 10:30:07 GMT):
@sudeshrshetty On creating a connection between two Aries clients, I get *"null"* on querying *connection.ConnectionRecord.State*. Can you help me out on this one?

rolsonquadras (Wed, 27 Nov 2019 14:51:52 GMT):
@priyashankar Those packages implement 2 separate Aries RFCs : didexchange - https://github.com/hyperledger/aries-rfcs/tree/master/features/0023-did-exchange; introduce - https://github.com/hyperledger/aries-rfcs/tree/master/features/0028-introduce

george.aristy (Wed, 27 Nov 2019 20:39:28 GMT):
@priyashankar also worth notice: the `introduce` package is a work in progress and is not quite ready for use yet. It's in scope for our current milestone.

priyashankar (Thu, 28 Nov 2019 05:34:01 GMT):
@rolsonquadras @george.aristy Thank you.

priyashankar (Thu, 28 Nov 2019 07:08:57 GMT):
I know it's a lot to ask for, but when can we expect a getting-started developer guide for Aries just like Indy?

priyashankar (Thu, 28 Nov 2019 07:08:57 GMT):
I know it's a lot to ask for, but when can we expect a getting-started developer guide for Aries just like Indy? Although, I must say that the Go Docs are so far impressive, but it requires a lot of time to decode and build a prototype on top of that.

priyashankar (Thu, 28 Nov 2019 11:56:12 GMT):
*"Bob"* sends an *invitation* to *"Alice"* using *"CreateInvitation"*. *"Alice"* sends *"HandleConnection"* & *"GetConnection"* requests. Upon querying **(connection).ConnectionRecord.State*, I get *"Invited"*. How can *Alice* accept this inviation using *"AcceptInvitation"*?

priyashankar (Fri, 29 Nov 2019 08:47:40 GMT):
What is the difference between creating two clients using the same context and using different contexts for both?

Baha-sk (Fri, 29 Nov 2019 20:53:48 GMT):
@priyashankar using same context for two clients means sharing the context between the two clients.. for instance if your context has a storage reference, the underlying storage will be used by both clients... it also depends on what kind of info you have in the context... but as a rule of thumb, don't use the same context for two clients representing two agents and they should not share contexts

priyashankar (Mon, 02 Dec 2019 03:58:37 GMT):
@Baha-sk Thank you.

abhishekKumar1 (Thu, 05 Dec 2019 07:52:49 GMT):
Has joined the channel.

troyronda (Wed, 11 Dec 2019 17:09:15 GMT):
Sequence diagram for mediated DID Exchange: https://wiki.hyperledger.org/pages/viewpage.action?pageId=24778726

jethrojones (Thu, 12 Dec 2019 23:12:04 GMT):
Has joined the channel.

redongjun (Wed, 18 Dec 2019 13:30:29 GMT):
Has joined the channel.

harrywright (Wed, 18 Dec 2019 17:47:47 GMT):
Has joined the channel.

akshay.sood (Thu, 19 Dec 2019 17:32:36 GMT):
Has joined the channel.

akshay.sood (Thu, 19 Dec 2019 17:33:59 GMT):
Hey Experts, Can anyone share the samples of Aries that can be used to learn the implementation of Aries for a POC? I am a newbie in Indy and Aries

tommyjay (Sat, 21 Dec 2019 15:17:23 GMT):
Has joined the channel.

troyronda (Mon, 23 Dec 2019 17:21:47 GMT):
Introduce protocol now running in BDD tests: https://github.com/hyperledger/aries-framework-go/runs/361293102#step:4:684

daisuke1983 (Mon, 06 Jan 2020 05:09:53 GMT):
Has joined the channel.

troyronda (Tue, 14 Jan 2020 15:32:26 GMT):
Aries Framework Go weekly planning starting: https://wiki.hyperledger.org/display/ARIES/Framework+Go+Meetings

troyronda (Tue, 14 Jan 2020 15:35:20 GMT):
https://wiki.hyperledger.org/display/ARIES/2020-01-14+Framework+Go+Weekly+Planning

troyronda (Tue, 21 Jan 2020 17:58:26 GMT):
Weekly planning notes: https://wiki.hyperledger.org/display/ARIES/2020-01-21+Framework+Go+Weekly+Planning

domwoe (Wed, 22 Jan 2020 20:08:26 GMT):
Has joined the channel.

SuperSeiyan (Fri, 24 Jan 2020 05:30:28 GMT):
Has joined the channel.

troyronda (Wed, 29 Jan 2020 16:56:57 GMT):
Draft release notes (planning to release 0.1.1 today): https://github.com/hyperledger/aries-framework-go/issues/1136

troyronda (Wed, 29 Jan 2020 20:12:41 GMT):
aries-framework-go v0.1.1 released (https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.1)

gnarula (Mon, 03 Feb 2020 12:53:40 GMT):
Has joined the channel.

sheldon.regular (Mon, 03 Feb 2020 18:03:23 GMT):
Has joined the channel.

sheldon.regular (Thu, 06 Feb 2020 20:37:55 GMT):
Hi Everyone. Was made aware today of some BDD definitions in aries-framework-go, https://github.com/hyperledger/aries-framework-go/tree/master/test/bdd/features Good stuff, pleased to see it. I am in the initial stages of expanding the test harness with BDD/Gherkin for the aries-cloudagent-python AIP 1.0.0 protocols implemented. It may be a good idea for us to collaborate a little. It would be nice to have a common standard set of tests for the protocols between projects. Maybe even standards on tags used, references, feature definitions, etc in the Feature files. Question: I notice some of the Gherkin is not complete, ie. doesn't include When or Then or both. Is there a reason for this or was it just a quick way to use BDD to drive the tests not caring about format? Thanks and nice to meet you guys.

sudeshrshetty (Thu, 06 Feb 2020 21:39:53 GMT):
@sheldon.regular nice to meet you too, looks we didn't follow BDD/Gherkin format strictly in some feature files. We are in the process of correcting it. Thanks for noticing it and bringing it to our attention.

sheldon.regular (Thu, 06 Feb 2020 21:56:03 GMT):
@sudeshrshetty no problem. My primary reason to connect here was not to point out any lacking Gherkin, but more to make you aware that I'm here, doing similar things, and would like to collaborate in some way, if only at the feature file level. I'll be checking back and referencing your BDD when I get further along.

troyronda (Thu, 06 Feb 2020 23:36:12 GMT):
@sheldon.regular awesome, sound great!

troyronda (Thu, 06 Feb 2020 23:36:55 GMT):
@sudeshrshetty updated the BDD files and it's merged: https://github.com/hyperledger/aries-framework-go/pull/1199

troyronda (Thu, 06 Feb 2020 23:36:55 GMT):
also FYI: @sudeshrshetty updated the BDD files and it's merged: https://github.com/hyperledger/aries-framework-go/pull/1199

Vritra (Tue, 11 Feb 2020 08:35:27 GMT):
Has joined the channel.

NikhilPrakash (Wed, 12 Feb 2020 00:45:57 GMT):
Has joined the channel.

troyronda (Wed, 12 Feb 2020 13:34:08 GMT):
Hi all - just a reminder that we will be presenting and demoing aries framework go in the morning call.

scottz (Wed, 12 Feb 2020 16:02:18 GMT):
Has joined the channel.

CyrilLeung (Tue, 18 Feb 2020 07:37:55 GMT):
Has joined the channel.

CyrilLeung (Tue, 18 Feb 2020 07:37:58 GMT):
Hi everyone, I tried aca-py with von-network, play around with aries-framework-dotnet example.I would like to understand more how aries-framework-go run as a DIDComm Router/Mediator. Since I am not understand how to setup them. Any runnable sample I can go for a further study ? Thank you.

troyronda (Wed, 19 Feb 2020 21:23:40 GMT):
@CyrilLeung Awesome. @rolsonquadras has now posted instructions on how to perform DID Exchange via Routers using the REST API: https://github.com/hyperledger/aries-framework-go/blob/master/docs/rest/openapi_demo.md#steps-for-didexchange-through-didcomm-routers

troyronda (Wed, 19 Feb 2020 21:25:26 GMT):
(you can use the OpenAPI/Swagger docker-compose environment: https://github.com/hyperledger/aries-framework-go/blob/master/docs/rest/openapi_demo.md#setup)

troyronda (Wed, 19 Feb 2020 21:25:26 GMT):
(using the OpenAPI/Swagger docker-compose environment: https://github.com/hyperledger/aries-framework-go/blob/master/docs/rest/openapi_demo.md#setup)

CyrilLeung (Thu, 20 Feb 2020 03:43:22 GMT):
Thank you very much @troyronda I will give a try on it right now :pray:

CyrilLeung (Thu, 20 Feb 2020 04:04:32 GMT):
But I come across building error in sidetree during "make run-openapi-demo" Pulling sidetree (docker.pkg.github.com/trustbloc/sidetree-mock/sidetree:amd64-0.1.2-snapshot-e7626cd)... ERROR: Get https://docker.pkg.github.com/v2/trustbloc/sidetree-mock/sidetree/manifests/amd64-0.1.2-snapshot-e7626cd: no basic auth credentials make: *** [Makefile:84: run-openapi-demo] Error 1

CyrilLeung (Thu, 20 Feb 2020 09:05:26 GMT):
Finally, solved by generated api token with read write access and use it in "docker login" command Anyone has same issue can refer to this https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages

troyronda (Thu, 20 Feb 2020 15:10:57 GMT):
Thanks @CyrilLeung - we should update the instructions with that information.

troyronda (Thu, 20 Feb 2020 15:10:57 GMT):
Thanks @CyrilLeung - we should update the instructions with that information. Note that you can use a read API token if you are only fetching docker images.

rolsonquadras (Thu, 20 Feb 2020 18:32:26 GMT):
Thank you @CyrilLeung for pointing out the issue with pulling docker images from GitHub registry. We have added this to the pre-requisites for running the demo - https://github.com/hyperledger/aries-framework-go/blob/master/docs/test/build.md#prerequisites-for-running-tests-and-demos.

CyrilLeung (Fri, 21 Feb 2020 02:47:38 GMT):
I had go through "Run OpenAPI demo", I can run the steps in "Steps for DIDExchange" and "Steps for DIDExchange through DIDComm Routers" successfully and make my concept in using router agent much clear. But in "Steps for custom message handling" after register-service in a alice agent, and I move on to bob agent to send message in raise error {"code":3003,"message":"failed to send msg using outbound transport: received unsuccessful POST HTTP status from agent [http://alice.aries.example.com:8081, 500 Internal Server Error]"} s Is anything I setup incorrectly ?

sudeshrshetty (Fri, 21 Feb 2020 21:24:18 GMT):
@CyrilLeung there was a typo in sample register service request, fixed in --> https://github.com/hyperledger/aries-framework-go/pull/1318

CyrilLeung (Mon, 24 Feb 2020 03:29:19 GMT):
Thank you very much for the update, I can test "register service request" successfully. But I have a question, when I check out the "checktopics" in webhook, the return record like the following, that is no content sent by BOB, is it normal ? or feature is under development ? { "connection_id": "a6bc4870-dc5e-42f6-933e-8554d53447c7", "state": "responded", "myDid": "did:peer:1zQmV1PjfWXCYh8392mGEskWeLcbpc3ErNVuVhyonEQTZo64", "theirDid": "did:peer:1zQmXR5z18qT4EPgja1BzU1Uex8F7kmVgAKki2JmmqrUBqsG", "theirLabel": "bob-agent", "theirRole": "bob-agent", "inbound_connection_id": "", "initiator": "", "invitation_key": "", "request_id": "", "routing_state": "", "accept": "", "error_msg": "", "invitation_mode": "", "alias": "" }

CyrilLeung (Mon, 24 Feb 2020 04:01:21 GMT):
Sorry my mistake, I run the "checktopics" again and I found the correct message { "message": { "@id": "2d071d1c-a47d-40e5-a0b7-f8234231ba9e", "@type": "https://didcomm.org/generic/1.0/message", "_internal_metadata": {}, "message": "Hey, meet me today at 4PM", "sender": "Bob", "~purpose": [ "meeting" ] }, "mydid": "did:peer:1zQmNvgJym6z3rfrnya6ZMy6JKKTmT8YmS4KsjajtT9KG3jf", "theirdid": "did:peer:1zQmXvGNCt7RTwnyLTZjGayd3EfdG8sT3rhi6m1HSTbcZaD7" }

troyronda (Wed, 26 Feb 2020 23:21:59 GMT):
Aries Framework Go 0.1.2 released. Notes: https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.2

scottz (Mon, 02 Mar 2020 18:17:53 GMT):
I also found the problem pulling sidetree, like @CyrilLeung . Funny that the open-api demo worked fine 3 weeks ago, but not after pulling latest code today. It is not clear to me how to get past this by using the Actions and theGITHUB_TOKEN instead. @rolsonquadras Is there a way we can do that? Or would that require a change in the Makefile or other framework setup? Is it recommended just to create a personal token?

scottz (Mon, 02 Mar 2020 20:04:06 GMT):
Any ideas what am I missing? I created a new personal token with basic permissions of only: dockerimagesgithub — read:packages and successfully executed: docker login -u scottz64 -p dockerimagesgithub docker.pkg.github.com However, "make run-openapi-demo" still fails. I edited and updated the token to add write:packages and all repo permissions too, did another docker login and tried the demo again, but no luck. I did not regenerate the token; just updated it. ```Pulling sidetree (docker.pkg.github.com/trustbloc/sidetree-mock/sidetree:amd64-0.1.2)... ERROR: unauthorized: Your request could not be authenticated by the GitHub Packages service. Please ensure your access token is valid and has the appropriate scopes configured.```

rolsonquadras (Mon, 02 Mar 2020 20:20:01 GMT):
Hi @scottz . Using personal token would work for me locally. The error says not able to read from the github packages due to authentication issues. Can you try to pull the docker image directly just to rule out issue with aries-framework-go? "docker pull docker.pkg.github.com/trustbloc/sidetree-mock/sidetree:amd64-0.1.2"

rolsonquadras (Mon, 02 Mar 2020 20:22:16 GMT):
"docker login -u scottz64 -p dockerimagesgithub docker.pkg.github.com" --> looks like you used token name rather than the token value.

rolsonquadras (Mon, 02 Mar 2020 20:22:56 GMT):
https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#authenticating-to-github-packages --> docker login -u USERNAME -p TOKEN docker.pkg.github.com

scottz (Mon, 02 Mar 2020 20:27:17 GMT):
hmmm. docker pull on command line gave same error. OK, I tried login again with token value; yes I had used the tokenname instead! That was the problem. It works now. Just needed another pair of eyes on it. Thanks!

rolsonquadras (Mon, 02 Mar 2020 20:41:39 GMT):
@scottz no worries.

jayapalreddy (Tue, 03 Mar 2020 02:06:55 GMT):
Has joined the channel.

vladyslavmunin (Wed, 04 Mar 2020 10:59:14 GMT):
Has joined the channel.

vladyslavmunin (Wed, 04 Mar 2020 10:59:16 GMT):
Hello everyone! I want to use hypeledger-aries-go framework to connect to the von-network and be able to register and resolve DID of users there. Where I can find a real examples of this. I've already tried to "play with code", but don't have a right understanding of process. Can someone help?

troyronda (Wed, 04 Mar 2020 14:50:35 GMT):
@vladyslavmunin aries-framework-go has not yet been integrated to indy / von-network, so unfortunately this will not currently work.

vladyslavmunin (Wed, 04 Mar 2020 14:51:18 GMT):
@troyronda thanks for the answer.

vladyslavmunin (Wed, 04 Mar 2020 14:54:00 GMT):
@troyronda but if I'm not mistaken Indy doesn't have golang sdk for interactions with node. What could be a best approach to resolve Indy Identity in existing golang backed that is run in production. Use separate microservice for this?

vladyslavmunin (Wed, 04 Mar 2020 14:54:00 GMT):
@troyronda but if I'm not mistaken Indy currenly doesn't have golang sdk for interactions with node. What could be a best approach to resolve Indy Identity in existing golang backed that is run in production. Use separate microservice for this?

vladyslavmunin (Wed, 04 Mar 2020 14:54:00 GMT):
@troyronda but if I'm not mistaken Indy currently doesn't have golang sdk for interactions with node. What could be a best approach to resolve Indy Identity in existing golang backed that is run in production. Use separate microservice for this?

troyronda (Wed, 04 Mar 2020 14:56:00 GMT):
I'm not aware of the current status of Indy/Golang SDK wrappers.

doomguy (Fri, 13 Mar 2020 09:55:11 GMT):
Has joined the channel.

artyom (Fri, 13 Mar 2020 10:59:45 GMT):
Has joined the channel.

artyom (Fri, 13 Mar 2020 10:59:46 GMT):
Hi everybody, do anyone use aries-framework-go with gomobile?

kukgini (Sun, 15 Mar 2020 09:58:18 GMT):
Has joined the channel.

troyronda (Tue, 17 Mar 2020 12:16:30 GMT):
@artyom I'm not aware that anyone has tried it. Please let us know if you do and your results :).

troyronda (Tue, 17 Mar 2020 12:16:56 GMT):
FYI: we have now added issue credential protocol. https://github.com/hyperledger/aries-framework-go/blob/master/test/bdd/features/issue-credential.feature

troyronda (Tue, 17 Mar 2020 12:16:56 GMT):
FYI: we have now added issue credential protocol. https://github.com/hyperledger/aries-framework-go/blob/master/test/bdd/features/issue_credential.feature

scottz (Thu, 19 Mar 2020 02:29:36 GMT):
Is the "POST /verifiable/credential" API working on the open-api demo? Maybe my format is wrong, but I cannot get anything to work. It expects a string for a name, and a string for the VC. But the VC is a complex structure. How should this work? { "name": "examplecredentialname", "vc": {"@context":["https://www.w3.org/2018/credentials/v1"],"id":"http://chainyard.com","type":"VerifiableCredential","credentialSubject":{"id":"did:example:iuajk1f712ebc6f1c276e12ec21"},"issuer":{"id":"did:example:09s12ec712ebc6f1c671ebfeb1f","name":"ExampleUniversity"},"issuanceDate":"2020-01-01T10:54:01Z","credentialStatus":{"id":"https://example.gov/status/65","type":"CredentialStatusList2017"},"credentialSchema":[],"customfields":{"_id":"customfields_default__id","member":"customfields_default_member"}} } {"code":6000,"message":"request decode : json: cannot unmarshal object into Go struct field CredentialExt.vc of type string"}

scottz (Thu, 19 Mar 2020 02:29:36 GMT):
Is the "POST /verifiable/credential" API working on the open-api demo? Maybe my format is wrong, but I cannot get anything to work. It expects a string for a name, and a string for the VC. But the VC is a complex structure. How should this work? { "name": "examplecredentialname", "vc": {"@context":["https://www.w3.org/2018/credentials/v1"],"id":"http://chainyard.com","type":"VerifiableCredential","credentialSubject":{"id":"did:example:iuajk1f712ebc6f1c276e12ec21"},"issuer":{"id":"did:example:09s12ec712ebc6f1c671ebfeb1f","name":"ExampleUniversity"},"issuanceDate":"2020-01-01T10:54:01Z","credentialStatus":{"id":"https://example.gov/status/65","type":"CredentialStatusList2017"},"credentialSchema":[]} } {"code":6000,"message":"request decode : json: cannot unmarshal object into Go struct field CredentialExt.vc of type string"}

scottz (Wed, 01 Apr 2020 14:43:31 GMT):
I do not see any code that encrypts the data (e.g. verifiable credentials) as is exhibited by ctx.Crypto().Encrypt() in the framework_test.go, before calling store.Put() to save it. Maybe I missed something? Is there a design reason for that omission?

nikolas (Tue, 14 Apr 2020 07:34:22 GMT):
Has joined the channel.

ItsOmerShafiq (Wed, 15 Apr 2020 12:29:16 GMT):
Has joined the channel.

ayushmanss (Wed, 15 Apr 2020 19:15:53 GMT):
Has joined the channel.

hynese (Fri, 17 Apr 2020 09:31:31 GMT):
Has joined the channel.

TimoGlastra (Sat, 18 Apr 2020 12:56:57 GMT):
Has joined the channel.

CabMorris14 (Mon, 20 Apr 2020 21:12:12 GMT):
Has joined the channel.

SUSHOBHAN (Wed, 29 Apr 2020 06:28:43 GMT):
Has joined the channel.

pfeairheller (Tue, 05 May 2020 13:45:26 GMT):
Has joined the channel.

pfeairheller (Tue, 05 May 2020 13:45:27 GMT):
Hi Folks... I'm trying to respond to an Offer Proposal action event but I need to find out who the Issuer is. This seems pretty fundamental but I can't figure out where that info is. Any help would be greatly appreciated!

pfeairheller (Tue, 05 May 2020 15:01:27 GMT):
I have the same question for the Request Credential action event. My business logic needs to know who is on the other end of these messages. With Issue Credential, I can decode the raw credential from the attachment and get the issuer, but I don't know what the expectation is with these earlier messages.

pfeairheller (Tue, 05 May 2020 16:30:22 GMT):
Looking thru the route protocol service I see the use of the ActionEvent Properties field to add a protocol specific property which contains TheirDID().

pfeairheller (Tue, 05 May 2020 16:30:28 GMT):
Seems like the same is needed here?

pfeairheller (Tue, 05 May 2020 16:35:30 GMT):
I can create an issue and submit a PR to fix this if that is appropriate.

soluchok (Thu, 07 May 2020 12:44:19 GMT):
@pfeairheller // ProposeCredential is an optional message sent by the potential Holder to the Issuer // to initiate the protocol or in response to a offer-credential message when the Holder // wants some adjustments made to the credential data offered by Issuer.

troyronda (Thu, 07 May 2020 12:45:50 GMT):
@all https://chat.hyperledger.org/channel/aries?msg=g5AstsuFZCqnXFNxn

soluchok (Thu, 07 May 2020 12:48:44 GMT):
@pfeairheller RequestCredential is a message sent by the potential Holder to the Issuer, to request the issuance of a credential. Where circumstances do not require a preceding Offer Credential message (e.g., there is no cost to issuance that the Issuer needs to explain in advance, and there is no need for cryptographic negotiation), this message initiates the protocol. To find out more see this RFCs https://github.com/hyperledger/aries-rfcs/tree/master/features/0036-issue-credential

george.aristy (Thu, 07 May 2020 13:07:53 GMT):
@pfeairheller would having `myDID` and `theirDID` in the `service.DIDCommAction` satisfy your use case?

george.aristy (Thu, 07 May 2020 13:10:43 GMT):
ie. they can be added direction to the DIDCommAction, no need for properties.

george.aristy (Thu, 07 May 2020 13:11:03 GMT):
please create an issue

pfeairheller (Thu, 07 May 2020 22:02:59 GMT):
@george.aristy Yes that would be perfect. And I imagine helpful for other protocols as well. Seems that message correlation is often needed when applying business logic to these protocols.

pfeairheller (Thu, 07 May 2020 22:03:03 GMT):
Thanks!

pfeairheller (Thu, 07 May 2020 22:04:52 GMT):
@soluchok I have read the spec (several times) and I understand the meaning of these messages. I'm trying to correlate the occurrences and issuance of these early stage messages so I can understand who is responding to one I've sent.

nileshv (Tue, 12 May 2020 15:57:39 GMT):
Has joined the channel.

dl2017 (Sat, 16 May 2020 05:13:38 GMT):
Has joined the channel.

dl2017 (Sat, 16 May 2020 05:13:41 GMT):
Hi I read this in the Aries developer course in edx.org regarding the go framework. "What’s unique about this framework is that it is written entirely in golang without any non-golang dependencies. That means that the framework can take advantage of the rich golang ecosystem and distribution mechanisms. That also means the framework does not embed the indy-sdk (libindy) and as such does not support connections to Indy ledgers or the Indy verifiable credentials exchange model. Instead, the team is building support for other ledgers and other verifiable credential models. " Is this a true statement i.e. go cannot connect to Indy ledger? What other ledger does it connect to now and what other verifiable credential exchange model will it support?

Moshe7 (Mon, 18 May 2020 18:55:50 GMT):
Has joined the channel.

troyronda (Tue, 19 May 2020 18:53:26 GMT):
@dl2017 this is correct. the go framework supports a pluggable interface for DID ledgers and has implemented the W3C verifiable credential data model.

troyronda (Tue, 19 May 2020 18:53:50 GMT):
out-of-the-box, you can configure the https binding for DID resolution (e.g., https://uniresolver.io).

troyronda (Tue, 19 May 2020 18:54:47 GMT):
for example, our team uses a Hyperledger Fabric implementation of the Sidetree protocol as a DID ledger.

troyronda (Tue, 19 May 2020 18:54:47 GMT):
for example, our team uses a Hyperledger Fabric implementation of the DIF Sidetree protocol as a DID ledger.

Vid201 (Fri, 22 May 2020 13:41:35 GMT):
Has joined the channel.

ker13530018 (Wed, 27 May 2020 09:53:48 GMT):
Has joined the channel.

domwoe (Thu, 28 May 2020 15:08:58 GMT):
Concerning that. I'm just playing around with that. I started the rest agent with flag --http-resolver-url web@https://uniresolver.io/1.0/identifiers (and with just https://uniresolver.io) and tried to GET: http://localhost:8080/vdri/did/resolve/did:web:... with a valid did:web. However, I get ` { "code": 4000, "message": "invalid id" } `

aholovko (Thu, 28 May 2020 17:47:08 GMT):
Has joined the channel.

aholovko (Thu, 28 May 2020 17:47:09 GMT):
Hi @domwoe, you need to encode id to base64, can you plz try again with the following one: "did:web:vc.transmute.world#z6MksHh7qHWvybLg5QTPPdG2DgEjjduBDArV9EF9mRiRzMBN", after encoding to base64 the whole URL should be http://localhost:8080/vdri/did/resolve/ZGlkOndlYjp2Yy50cmFuc211dGUud29ybGQjejZNa3NIaDdxSFd2eWJMZzVRVFBQZEcyRGdFampkdUJEQXJWOUVGOW1SaVJ6TUJO

aholovko (Thu, 28 May 2020 17:49:19 GMT):
Plz let me know if it works for you and if there is anything else that I can help with. Thanks

domwoe (Thu, 28 May 2020 18:07:55 GMT):
ah, thx. Works :thumbsup:

domwoe (Thu, 28 May 2020 18:08:57 GMT):
and makes sense :)

troyronda (Thu, 28 May 2020 18:16:45 GMT):
btw - we should probably get rid of the extra base64 encoding.

domwoe (Thu, 28 May 2020 18:25:16 GMT):
Another question. I've a JWT VC (not created with Aries Go) and I frankly tried to post it to the /verifiable/credential/validate endpoint. I'm getting `{"code":6001,"message":"validate vc : decode new credential: public key fetcher is not defined"}` What does that mean?

domwoe (Thu, 28 May 2020 18:29:43 GMT):
It's actually not a fully compliant VC (credentialSubject) missing, but I don't think thats the issue here JWT: eyJraWQiOiJkaWQ6d2ViOmFjbWUuaWlsLm5ldHdvcmsja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJzdWIiOiJkaWQ6d2ViOmFjbWUuaWlsLm5ldHdvcmsiLCJpc3MiOiJkaWQ6d2ViOmFjbWUuaWlsLm5ldHdvcmsiLCJ2YyI6eyJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiTWFzdGVyRGF0YUNyZWRlbnRpYWwiXSwiQGNvbnRleHQiOlsiaHR0cHM6XC9cL3d3dy53My5vcmdcLzIwMThcL2NyZWRlbnRpYWxzXC92MSIsImh0dHBzOlwvXC9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tXC9paWwtbmV0d29ya1wvY29udGV4dHNcL21hc3RlclwvbWFzdGVyZGF0YS5qc29uIl19LCJpYXQiOjE1OTA2Nzc4MzF9.ADdIP6lyPm0-NgM1Jupp83o9M4CC0mHfO6bycWkSfaG7lMlyWjUUmbdjsf_CA-mA-NxLBvQIyVODu5NVDj0yDw

kdimak (Thu, 28 May 2020 19:36:19 GMT):
@domwoe this is a bug we need to fix. Also please be aware that currently only `EdDSA` and `RS256` signature algorithms are supported, but we have plans to add elliptic curve ones soon. I will update you when the fix will be applied. Thank you!

CyrilLeung (Thu, 04 Jun 2020 04:49:14 GMT):
Hi everyone, I am testing openapi-demo with guideline writing on "Steps for DIDExchange through DIDComm Routers" 1. Create an invitation from carl router 2. Run receive inviation in carl agent 3. Register router in carl agent, but I get an error {"code":5002,"message":"router registration : send route request: wrong format did input: "} So I would like to know did I test in a incorrect way , and what should I do to register the router. Thank you

rh7 (Sat, 06 Jun 2020 13:32:49 GMT):
Has joined the channel.

Dubh3124 (Sat, 06 Jun 2020 15:53:38 GMT):
Has joined the channel.

Dubh3124 (Sun, 07 Jun 2020 18:48:46 GMT):
Hi! I am new to the Aries Go framework and have been hacking around with it. Do we have to implement our own event queue logic to in order to listen for Action Events then use RegisterActionEvent and AutoExecuteActionEvent to process events or is there an abstraction that takes care of this?

george.aristy (Sun, 07 Jun 2020 18:50:30 GMT):
We've recently started adding "middleware" to the issue-credential and present-proof protocols, take a look at tose

george.aristy (Sun, 07 Jun 2020 18:50:30 GMT):
We've recently started adding "middleware" to the issue-credential and present-proof protocols, take a look at those

shonjs (Sun, 28 Jun 2020 12:02:25 GMT):
Has joined the channel.

CyrilLeung (Mon, 29 Jun 2020 09:32:02 GMT):
In latest update, every time I try to register mediator router will raise this error [aries-framework/command/route] 2020/06/29 09:27:34 UTC - n/a -> ERROR command=[mediator] action=[Register] [connectionID=[fbcf4120-85bc-4315-8229-0f838c0de526]] errMsg=[router registration : timeout waiting for grant from the router] Is anyone also come across this issue ?

soluchok (Mon, 29 Jun 2020 09:44:06 GMT):
@CyrilLeung are you using startNotifier function? If yes there is no more connections topic

CyrilLeung (Mon, 29 Jun 2020 09:48:06 GMT):
yes I understand there is no more connections topic and I switch to listen "didexchange_states" but how does it affect registering a router ?

soluchok (Mon, 29 Jun 2020 09:51:59 GMT):
It should not, but probably you are trying to acceptInvitation make sure you are checking post event

CyrilLeung (Mon, 29 Jun 2020 09:53:12 GMT):
OK thanks, I just wondering anything I need to setup on the router agent to make the registration working

thomas_kim (Tue, 30 Jun 2020 00:32:18 GMT):
Has joined the channel.

thomas_kim (Tue, 30 Jun 2020 00:32:19 GMT):
Hi~ everyone. I can't find APIs related to creating a schema or a credential definition in the aries-go project. Are they APIs need to be implemented sometime later?

george.aristy (Tue, 30 Jun 2020 01:21:56 GMT):
Are you trying to use the framework with Indy by any chance?

george.aristy (Tue, 30 Jun 2020 01:22:30 GMT):
If yes: the framework does not support Indy yet

george.aristy (Tue, 30 Jun 2020 01:22:57 GMT):
If no: what is it you're trying to do? a schema should be just like any other JSON Schema/JSON-LD context

thomas_kim (Tue, 30 Jun 2020 01:23:14 GMT):
Oh... I didn't know that the concept of schema / credential definition is related to only indy!

thomas_kim (Tue, 30 Jun 2020 01:24:40 GMT):
Thanks.

george.aristy (Tue, 30 Jun 2020 01:25:07 GMT):
np

c2bo (Tue, 30 Jun 2020 09:01:14 GMT):
Has joined the channel.

troyronda (Tue, 14 Jul 2020 16:58:38 GMT):
FYI: aries-framework-go verifiable credential controller builds for Android/IOS: https://github.com/hyperledger/aries-framework-go/pull/2012/

HLFPOC (Mon, 20 Jul 2020 11:10:45 GMT):
Hi @george.aristy , Just getting started with this project and wanted to understand few things. For issuing a VC in Indy based solution, we first have to define schema and a cred-def. How the process of credential issuance works in aries go framework? Hope it supports exchange of VCs between two agents. Basically I am looking to build a simple Alice/Faber like solution in which credentials and proofs can be exchanges and verified using Hyperledger Fabric as the blockchain ledger.

HLFPOC (Mon, 20 Jul 2020 11:10:45 GMT):
Hi @george.aristy , Just getting started with this project and wanted to understand few things. For issuing a VC in Indy based solution, we first have to define schema and a cred-def. How the process of credential issuance works in aries go framework? Hope it supports exchange of VCs between two agents. Basically I am looking to build a simple Alice/Faber like solution in which credentials and proofs can be exchanged and verified using Hyperledger Fabric as the blockchain ledger.

HLFPOC (Mon, 20 Jul 2020 11:10:45 GMT):
Hi @george.aristy , Just getting started with this project and wanted to understand few things. For issuing a VC in Indy based solution, we first have to define schema and a cred-def. How the process of credential issuance works in aries go framework? Hope it supports exchange of VCs between two agents. Basically I am looking to build a simple Alice/Faber like solution in which credentials and proofs can be exchanged and verified using Hyperledger Fabric instead of Indy as the blockchain ledger.

kukgini (Thu, 23 Jul 2020 02:56:57 GMT):
Has left the channel.

CyrilLeung (Tue, 28 Jul 2020 04:33:38 GMT):
I am testing on build for Android/iOS, can anyone know why there is "getDIDExchangeController" in "Command" namespace, but not in "Api" namespec ?

CyrilLeung (Tue, 28 Jul 2020 04:34:15 GMT):
Or is it just a missing function?

anchit (Tue, 28 Jul 2020 14:51:13 GMT):
Hello Team, I am following the Open API demo and was able to bring up the agents by running `make run-openapi-demo` command however getting below error in the server response while calling `POST /connections/create-invitation` from Alice agent Error: `TypeError: Failed to fetch` Not able to debug this as there is no error message logged in the containers running for Alice agent. Same is the case with Bob's agent also.

soluchok (Fri, 31 Jul 2020 12:00:28 GMT):
I assume it is resolved:)

anchit (Fri, 31 Jul 2020 12:01:26 GMT):
yes thanks

CyrilLeung (Fri, 07 Aug 2020 03:03:26 GMT):
Can anyone explain a little bit more on how "Notifier" or "Hook" working in the mobile bindings of aries-framework-go? Since current example only mentioned about normal command request and respond, Thank you.

tommyjay (Fri, 07 Aug 2020 14:45:00 GMT):
Hey @CyrilLeung , the mobile bindings now cover all Aries-Framework-Go controllers. The Notifier is yet to be included in the mobile bindings, however there is an issue tracking this: https://github.com/hyperledger/aries-framework-go/issues/1925

CyrilLeung (Sat, 08 Aug 2020 14:19:28 GMT):
I am looking forward on it. And it is nice to see you here, I have a few questions on mobile binding and I can ask you directly next week.

lauravuo-techlab (Tue, 11 Aug 2020 06:01:17 GMT):
Has joined the channel.

o.terbu (Wed, 12 Aug 2020 15:44:29 GMT):
Has joined the channel.

o.terbu (Wed, 12 Aug 2020 15:44:29 GMT):
Hey, we are interested in adding support for Ethereum/HL Besu. But I want to first clarify what information does Aries-Go store on the ledger: - Afaiu, Aries-Go uses W3C JSON-LD proof VCs, so I don't assume credential schemas, definitions and the revocation registry is stored on the ledger. Is this correct? - Afaiu, did:trustbloc is the primary public DID method. Are these DIDs used per default for the issuer of the Verifiable Credentials? - Does Aries-Go support linked secrets, or do you use public DIDs as the subject of Verifiable Credentials? - Does every ledger interaction go through VDRI? - Should we move this conversation to Github instead ;) ?

o.terbu (Wed, 12 Aug 2020 15:44:29 GMT):
Hey, we are interested in adding support for Ethereum/HL Besu. But I want to first clarify what information does Aries-Go store on the ledger: 1. Afaiu, Aries-Go uses W3C JSON-LD proof VCs, so I don't assume credential schemas, definitions and the revocation registry is stored on the ledger. Is this correct? 2. Afaiu, did:trustbloc is the primary public DID method. Are these DIDs used per default for the issuer of the Verifiable Credentials? 3. Does Aries-Go support linked secrets, or do you use public DIDs as the subject of Verifiable Credentials? 4. Does every ledger interaction go through VDRI? 5. Should we move this conversation to Github instead ;) ?

george.aristy (Wed, 12 Aug 2020 17:33:32 GMT):
@o.terbu 1. Correct - no shemas nor revocations on the ledger... yet 2. We recently started issuing credentials with `did:peer` as well 3. The framework does not support indy linked secrets yet. The framework has produced VCs with did:key, did:trustbloc, and did:peer as the subject. 4. Yes 5. probably :)

pfeairheller (Thu, 13 Aug 2020 19:40:37 GMT):
We have submitted PR to indy-vdr for a go wrapper for libindy-vdr as a shared C library. We have build a VDRI for aries-go using that wrapper to resolve DIDs against any indy network. Is this something aries-go would accept as a PR or is the desire for this framework to remain written entirely in golang without any external dependencies?

george.aristy (Thu, 13 Aug 2020 20:45:29 GMT):
@pfeairheller I see you already commented on this a while back :) https://github.com/hyperledger/aries-framework-go/issues/569#issuecomment-657636722

george.aristy (Thu, 13 Aug 2020 20:45:59 GMT):
We'd welcome a PR with the build constraints

o.terbu (Fri, 14 Aug 2020 15:06:25 GMT):
thanks for the feedback. just out of curiosity what is the use case to use did:peer as the subject for VCs?

o.terbu (Fri, 14 Aug 2020 15:07:08 GMT):
wouldn't verification be limited to people in the peer-relationship?

o.terbu (Fri, 14 Aug 2020 15:08:34 GMT):
but i guess they have been n-wise?

o.terbu (Fri, 14 Aug 2020 15:08:34 GMT):
but i guess they have been n-wise/anywise?

troyronda (Fri, 14 Aug 2020 15:39:35 GMT):
@george.aristy @pfeairheller I am thinking that these VDR packages should be treated as sub-modules with their own go.mod.

troyronda (Fri, 14 Aug 2020 15:39:51 GMT):
(still

troyronda (Fri, 14 Aug 2020 15:40:05 GMT):
(Still

pfeairheller (Fri, 14 Aug 2020 15:41:03 GMT):
@troyronda I like that idea

george.aristy (Fri, 14 Aug 2020 19:53:44 GMT):
Correct - you set up a "trusted context" between a group of peers and reference the identifiers known in that group

jcourt (Thu, 20 Aug 2020 04:16:30 GMT):
Has joined the channel.

jceb (Fri, 21 Aug 2020 07:46:01 GMT):
Has joined the channel.

o.terbu (Wed, 26 Aug 2020 09:42:53 GMT):
Can anyone point me to a spec for how RFC 0036 (Issue Credential) and RFC 0037 (Present Proof) are implemented with W3C LD-Proof-based Verifiable Credentials and Presentations in Aries Go? My expectation is that they will deviate a bit from the aforementioned RFCs.

george.aristy (Wed, 26 Aug 2020 11:46:15 GMT):
@o.terbu our upcoming release will implement present-proof v2 and issue-credential v2. Godocs aren't up yet so I'm pointing you to examples in code: * present-proof v2: https://github.com/hyperledger/aries-framework-go/blob/master/pkg/client/presentproof/example_test.go#L108 * issue-credential v2: https://github.com/hyperledger/aries-framework-go/blob/master/pkg/client/issuecredential/example_test.go#L107 Those packages are designed to be agnostic to the contents in the attachments. We're using them extensively with our `verifiable` package that has extensive support for JSONLD and JWT formats of VCs: https://github.com/hyperledger/aries-framework-go/tree/master/pkg/doc/verifiable

o.terbu (Wed, 26 Aug 2020 11:52:02 GMT):
awesome, thanks!

pfeairheller (Wed, 26 Aug 2020 21:30:11 GMT):
Hi folks. I think I've hit a bug, but I wanted to check before opening an issue. I'm working with the latest from master. I have 2 agents running and connected and agent1 begins a the issue-credential protocol by calling SendOffer to send an offer for a credential to agent2. In agent2, I receive the following error: `doHandle err: invalid state transition: offer-sent -> offer-received`. Looking at the code I see that the issuecredential Service `nextState` method offers up `offerReceived` as the next state instance for the offer-credential message type but the `CanTransitionTo` method of `offerSent` does not allow the transition. At first I thought it was a bug and that the transition had to be added, but then I got similar errors on `credential-issued -> credential-received` and `request-sent -> request-received`. Adding the appropriate names to the `CanTransitionTo` methods fixed everything and the agent can now successfully exchange a credential. It looks like `proposal-sent -> proposal-received` will also be an issue but I have verified that yet. Am I doing something really stupid or is this an issue I should create and submit a PR for?

soluchok (Wed, 26 Aug 2020 21:42:00 GMT):
@pfeairheller offer-sent is an issuer's a state, offer-received is a holder's state. Make sure you are sending a message to another agent.

soluchok (Wed, 26 Aug 2020 21:42:00 GMT):
@pfeairheller offer-sent is an issuer's state, offer-received is a holder's state. Make sure you are sending a message to another agent.

pfeairheller (Wed, 26 Aug 2020 21:45:42 GMT):
I am sure. Different processes.

soluchok (Wed, 26 Aug 2020 21:47:37 GMT):
Does each process has its own DB?

soluchok (Wed, 26 Aug 2020 21:48:15 GMT):
Bc, it seems like a race condition.

soluchok (Wed, 26 Aug 2020 21:49:03 GMT):
probably you are using the same DB for both agents

soluchok (Wed, 26 Aug 2020 21:49:03 GMT):
probably you are using the same DB for both agents (process )

soluchok (Wed, 26 Aug 2020 21:49:03 GMT):
probably you are using the same DB for both agents (processes )

pfeairheller (Wed, 26 Aug 2020 21:58:38 GMT):
Very interesting question. I'm using our own experimental mongodb data store and each agent is supposed to have their own database. Let me run with some more debugging and verify.

soluchok (Wed, 26 Aug 2020 21:59:29 GMT):
Sure

pfeairheller (Wed, 26 Aug 2020 22:55:39 GMT):
Bingo! I switched to the memory provider (after grilling chicken for dinner) and reverted the changes to Aries and it worked fine. @soluchok Thanks for the help, I'll debug my mongo datastore and see what's wrong there.

jceb (Fri, 28 Aug 2020 07:10:00 GMT):
Hi, I'm trying to work out how DIDs are managed by the framework but couldn't wrap my head around it yet. I saw in the demo that keys were generated for different personas and that communication can happen between them using the APIs. However, I haven't found yet the entry point for creating, updating and retrieving DIDs. Could someone point me in the right direction?

troyronda (Mon, 31 Aug 2020 22:39:50 GMT):
We have pushed a new release for aries-framework-go (v0.1.4). Release notes: https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.4

tommyjay (Tue, 01 Sep 2020 14:08:00 GMT):
Hi @jceb , the library supports this through the use of its Verifiable Data Registry Interface (VDRI) controller.

tommyjay (Tue, 01 Sep 2020 14:08:16 GMT):
it is described here https://github.com/hyperledger/aries-framework-go/blob/master/docs/concepts/00_what_is_hl_aries.md#9-vdri

tommyjay (Tue, 01 Sep 2020 14:08:22 GMT):
and here https://github.com/hyperledger/aries-framework-go/blob/master/docs/concepts/01_terminologies.md#vdri

tommyjay (Tue, 01 Sep 2020 14:09:41 GMT):
this is the implementation https://github.com/hyperledger/aries-framework-go/tree/master/pkg/vdri

jceb (Tue, 01 Sep 2020 16:28:22 GMT):
thanks, I'll have a look

chakshujain (Sun, 06 Sep 2020 14:34:38 GMT):
Has joined the channel.

pfeairheller (Tue, 08 Sep 2020 11:54:43 GMT):
I was finally getting my act together to submit the indy vdri implementation this weekend and a question occurred to me. Besides this vdri, we also have a MongoDB datastore implementation as well as an inbound transport for AMQP. Has any thought been put into maintaining these types of add-ons in separate repos? The thought being that the core maintainers of the framework would not have to carry the added baggage forward but these add-ons would still be available to the community. I'm happy to submit them to aries-framework-go if there is interest but wanted to raise this question first.

sj1 4 (Tue, 15 Sep 2020 01:57:33 GMT):
Has joined the channel.

sj1 4 (Tue, 15 Sep 2020 01:57:34 GMT):
agent uri

pfeairheller (Tue, 15 Sep 2020 13:15:52 GMT):
In the V2 issue-credential rfc, the request-credential message has a couple of options for the `requests~attach` listed, specifically the result from`indy_prover_create_credential_req` call for Indy credentials. However there is no `WithRequestCredential` option for continuing the DIDComm action with a custom request-credential message. Indeed in `states.go` the framework generates a request-credential message with the attachments from the incoming offer by default. Again, I wanted to check here to make sure I'm not missing anything obvious before reporting a bug.

m00sey (Tue, 15 Sep 2020 13:20:13 GMT):
Has joined the channel.

soluchok (Tue, 15 Sep 2020 13:24:51 GMT):
@pfeairheller we have middleware support. You can inject custom logic. But the message should be generic. You can play with attachments.

soluchok (Tue, 15 Sep 2020 13:24:51 GMT):
@pfeairheller we have middleware support. You can inject custom logic. But the message should be generic. You can play with attachments. https://github.com/hyperledger/aries-framework-go/blob/master/pkg/didcomm/protocol/middleware/issuecredential/middlewares.go

pfeairheller (Tue, 15 Sep 2020 14:07:20 GMT):
Thanks for the reply @soluchok. I do not understand how I could use middleware to accomplish this. The `Metadata` interface does not provide access to a `RequestCredential` message as it does for offer, propose and issue. So I'm not sure how I could change a request-credential in middleware. As a matter of fact, the comment for each of the funcs states "...is pointer to the message provided by the user through the Continue function" which is what I wanted to accomplish with the `WithRequestCredential` in the first place.

Vid201 (Wed, 16 Sep 2020 07:59:48 GMT):
Hi. I was trying the OpenAPI demo and found that that sidetree-mock is used for ledger. Is there any example available using sidetree-fabric (https://github.com/trustbloc/sidetree-fabric)?

Vid201 (Wed, 16 Sep 2020 07:59:48 GMT):
Hi. I was trying the OpenAPI demo and found that sidetree-mock is used for ledger. Is there any example available using sidetree-fabric (https://github.com/trustbloc/sidetree-fabric)?

Vid201 (Wed, 16 Sep 2020 08:16:24 GMT):
Or I can just run sidetree-fabric instead of sidetree-mock?

AngelPalomares (Fri, 18 Sep 2020 09:48:56 GMT):
Has joined the channel.

AngelPalomares (Fri, 18 Sep 2020 10:29:30 GMT):
Hello there. I am trying to perform a did_exhange connection between a aries-go and and aries-python agents.

AngelPalomares (Fri, 18 Sep 2020 10:31:33 GMT):
``` In order to do I tried 2 different ways: aries-go->aries-python and aries-python-aries-go ```

AngelPalomares (Fri, 18 Sep 2020 11:40:08 GMT):
``` ```

AngelPalomares (Fri, 18 Sep 2020 11:40:08 GMT):
``` ```

AngelPalomares (Fri, 18 Sep 2020 11:40:08 GMT):
Hello there, I am doing a did_exchange using a web agent with a mobile but when I am using the local agent in the mobile development, when the web agent tries to connect with the mobile agent (e.g. accept_request), I have the following error: ``` ERROR command=[didexchange] action=[AcceptExchangeRequest] [connectionID=[b1cc9ac7-e2bd-4940-a73a-45bb3fc0b7aa]] errMsg=[did exchange client - accept exchange request: failed to execute state action 'responded': outboundDispatcher.Send: no transport found for serviceEndpoint: didcomm:transport/queue] ``` . I guess that this is because when creating the local agent on the mobile I haven't defined the serviceEnpoint correctly. I have tried with different options (defining websockectURL, addHttpResolver, etc) but not succesfully. COuld you please help me with this issue? Thx in advance

AngelPalomares (Fri, 18 Sep 2020 11:40:08 GMT):
Hello there, I am doing a did_exchange using a web agent with a mobile but when I am using the local agent in the mobile development, when the web agent tries to connect with the mobile agent (e.g. accept_request), I have the following error: ``` ERROR command=[didexchange] action=[AcceptExchangeRequest] [connectionID=[b1cc9ac7-e2bd-4940-a73a-45bb3fc0b7aa]] errMsg=[did exchange client - accept exchange request: failed to execute state action 'responded': outboundDispatcher.Send: no transport found for serviceEndpoint: didcomm:transport/queue] ``` I guess that this is because when creating the local agent on the mobile I haven't defined the serviceEnpoint correctly. I have tried with different options (defining websockectURL, addHttpResolver, etc) but not succesfully. COuld you please help me with this issue? Thx in advance

AngelPalomares (Fri, 18 Sep 2020 11:40:08 GMT):
Hello there, I am doing a did_exchange using a web agent with a mobile but when I am using the local agent in the mobile development, when the web agent tries to connect with the mobile agent (e.g. accept_request), I have the following error: ``` ERROR command=[didexchange] action=[AcceptExchangeRequest] [connectionID=[b1cc9ac7-e2bd-4940-a73a-45bb3fc0b7aa]] errMsg=[did exchange client - accept exchange request: failed to execute state action 'responded': outboundDispatcher.Send: no transport found for serviceEndpoint: didcomm:transport/queue] ``` I guess that this is because when creating the local agent on the mobile I haven't defined the serviceEnpoint correctly. I have tried with different options (defining websockectURL, addHttpResolver, etc) but not succesfully. Could you please help me with this issue? Thx in advance

AngelPalomares (Fri, 18 Sep 2020 12:01:12 GMT):
Hello I am testing a did_exchange using on one hand a agent developed in go and other developed in python and I have the following error:``` Faber | 2020-09-18 09:30:50,478 aries_cloudagent.transport.outbound.manager ERROR >>> Error when posting to: http://192.168.1.35:8082; Error: (, OutboundTransportError('Unexpected response status 404, caused by: Not Found',), ); Re-queue failed message ... ``` Is it feasible to do so?, am I doing something wrong?. Thank you in advance

troyronda (Mon, 21 Sep 2020 22:18:58 GMT):
The mobile bindings for notifier have now been added. You can read more here: https://github.com/hyperledger/aries-framework-go/tree/master/cmd/aries-agent-mobile

troyronda (Mon, 21 Sep 2020 22:19:16 GMT):
@CyrilLeung ^^

AngelPalomares (Tue, 22 Sep 2020 10:26:47 GMT):
Hello, firstly thank you very much for new version. I have tried and I am able to integrate the new notifier future and it works very well. However after acepting a did_exchange invitation, when the server side tries to connect with the mobile I have the following error:`[aries-framework/controller/did-exchange] 2020/09/22 10:07:49 UTC - n/a -> ERROR command=[didexchange] action=[AcceptExchangeRequest] [connectionID=[1802efbf-ab7e-4275-95c0-0fae7b74421d]] errMsg=[did exchange client - accept exchange request: failed to execute state action 'responded': outboundDispatcher.Send: no transport found for serviceEndpoint: didcomm:transport/queue] couchdb.kraken.eu | [notice] 2020-09-22T10:07:49.291406Z nonode@nohost <0.19348.0> d8e6a9f45f couchdb.kraken.eu:5984 172.21.0.8 admin PUT /government_didconnection/3rm87una9ktL3BrmBzjZmcbXgyYw67bNBwgTgnThfnYW 201 ok 4 ` I think that the problem is when defining the serviceEnpoint ( serviceEndpoint: didcomm:transport/queue) o the mobile. How can I fix it?, Am I doing something wrong?

troyronda (Tue, 22 Sep 2020 13:04:07 GMT):
There isn't an example in aries-framework-go for setting up sidetree-fabric. In the TrustBloc sandbox repo, there is a BDD feature defined that sets up sidetree-fabric: https://github.com/trustbloc/edge-sandbox/blob/master/test/bdd/features/setupfabric.feature

troyronda (Tue, 22 Sep 2020 13:13:49 GMT):
I haven't given a lot of thought to separate aries-*-go repos. There is always a balance to be achieved when discussing a repo strategy.

troyronda (Tue, 22 Sep 2020 13:32:11 GMT):
I would think an aries-framework-go VDR for Indy should be available to the community (thanks for these efforts). It's also true that the framework maintainers would find it difficult to maintain a VDR for each ledger or storage that comes about.

troyronda (Tue, 22 Sep 2020 13:35:40 GMT):
btw - on the storage-side, we are working on an approach to enable a generic REST interface to the (remote) storage tier via the DIF SDS/EDV spec. This would enable plugging in remote storage without requiring direct framework integration ... similar to the capability we have for DIDs via the HTTP resolver.

troyronda (Tue, 22 Sep 2020 13:36:58 GMT):
Of course, like with DIDs, both direct framework integration and the REST interface would both be available for storage.

pfeairheller (Tue, 22 Sep 2020 13:38:22 GMT):
That makes sense... for our use case, it makes sense to use the direct integration but I see the value of the REST interface.

troyronda (Tue, 22 Sep 2020 13:39:09 GMT):
yup - we have cases for direct integration as well. (and also for REST via EDV).

pfeairheller (Tue, 22 Sep 2020 13:47:27 GMT):
would it make sense to add this to the agenda for the next contributors call? I am planning on attending it.

troyronda (Tue, 22 Sep 2020 15:46:41 GMT):
Guessing you need to connect the agent to a mediator. cc: @soluchok

o.terbu (Tue, 22 Sep 2020 19:12:10 GMT):
I guess I have two questions re issue-credential v2 (RFC 0453) 1. Do you intend to use the preview-credential with LDS/LD-Proof-based VCs as well? In that case there is a lot of room for interpretation. 2. How do you provide the W3C Verifiable Presentation in the request-credential message in case a presentation_definition was included in the credential-offer (if format = dif/credential-manifest@v1.0)? The current issue-credential v2 spec uses the DIF Credential Manifest to allow the issuer to tell the holder what information is required. I don't see how one could use the Credential Manifest for including the Verifiable Presentation. Is this a typo in the issue-credential v2 spec?

o.terbu (Tue, 22 Sep 2020 19:12:10 GMT):
Hi, I have two questions re issue-credential v2 (RFC 0453) 1. Do you intend to use the preview-credential with LDS/LD-Proof-based VCs as well? In that case there is a lot of room for interpretation. 2. How do you provide the W3C Verifiable Presentation in the request-credential message in case a presentation_definition was included in the credential-offer (if format = dif/credential-manifest@v1.0)? The current issue-credential v2 spec uses the DIF Credential Manifest to allow the issuer to tell the holder what information is required. I don't see how one could use the Credential Manifest for including the Verifiable Presentation. Is this a typo in the issue-credential v2 spec?

o.terbu (Wed, 23 Sep 2020 09:31:14 GMT):
^^I created a github issue here: https://github.com/hyperledger/aries-rfcs/issues/537

troyronda (Wed, 23 Sep 2020 18:45:23 GMT):
I think the request can be summarized as to create a curated aries-framework-go add-ons repository that contains code as such as additional VDRs, storage, etc. that is pluggable into the aries-framework-go interfaces. The framework would not have a dependency on that new repo.

DerekTrider (Wed, 23 Sep 2020 19:15:24 GMT):
Has joined the channel.

troyronda (Wed, 23 Sep 2020 19:34:30 GMT):
I think this add-ons repo would be effectively styled as a mono repo - where we have a go.mod for each add-on

pfeairheller (Wed, 23 Sep 2020 19:36:38 GMT):
That all sounds right to me.

ldej (Fri, 25 Sep 2020 12:28:05 GMT):
Has joined the channel.

AngelPalomares (Sun, 27 Sep 2020 08:07:06 GMT):
How can I do it?, I couldn't find any example or documentation regarding this issue :-(

AngelPalomares (Sun, 27 Sep 2020 08:13:30 GMT):
In any case Won't I will have the same problem but now from the mediator to the mobile instead from the agent server to the mobile? :-/

troyronda (Mon, 28 Sep 2020 18:59:55 GMT):
There isn't much documentation but you can start here: https://github.com/hyperledger/aries-framework-go/blob/master/docs/didcomm_mediator.md

troyronda (Mon, 28 Sep 2020 19:00:27 GMT):
The connection between agent and mediator is over WebSockets so duplex communication is enabled.

troyronda (Mon, 28 Sep 2020 19:00:27 GMT):
The connection between agent and mediator is over WebSockets which enables the agent to receive the messages via the mediator endpoint.

troyronda (Mon, 28 Sep 2020 19:00:27 GMT):
The connection between agent and mediator is over WebSockets which enables the agent to receive the messages sent to the mediator endpoint.

AngelPalomares (Tue, 29 Sep 2020 12:52:40 GMT):
Thank you Troy ;-) , I will give it a try

troyronda (Wed, 30 Sep 2020 20:08:39 GMT):
We discussed the addon/extension repository on the Aries WG Call B today. The outcome was that it is okay to create a repo. Let the name bikeshedding begin.

rolsonquadras (Wed, 30 Sep 2020 20:16:03 GMT):
aries-framework-go-extension or aries-framework-go-ext -> as we are building extension to the orginal repo. Also, this lines up nicely with aries-framework-go (closer alphabetically - which is the default(most of the cases) sort result).

troyronda (Wed, 30 Sep 2020 20:17:11 GMT):
Also if we decide to split out the core/common packages (like DIDs, Verifiable Credentials, ...), what would be a good repo name for that?

Baha-sk (Wed, 30 Sep 2020 20:20:04 GMT):
`aries-framework-go-core` I guess makes sense

Baha-sk (Wed, 30 Sep 2020 20:21:38 GMT):
`aries-framework-go-ext` is shorter than extension suffix... I'd vote for it

Baha-sk (Wed, 30 Sep 2020 20:21:38 GMT):
`aries-framework-go-ext` suggested by @rolsonquadras is shorter than with extension suffix... I'd vote for it

sudeshrshetty (Wed, 30 Sep 2020 20:21:59 GMT):
aries-framework-go-extension / aries-framework-go-addon --> I agree with @rolsonquadras regarding naming convention

troyronda (Wed, 30 Sep 2020 20:23:21 GMT):
Beyond the name, we should also discuss the folder hierarchy of the extension repo.

sudeshrshetty (Wed, 30 Sep 2020 20:23:47 GMT):
I would go for 'hyperledger/aries-framework-go-extension' glueing together all the components (one repo - many go.mod files).

troyronda (Wed, 30 Sep 2020 20:24:16 GMT):
E.g., where would an Indy VDR and a Mongo store provider sit in the folder hierarchy. Assume that each of those is its own go.mod in the extension monorepo.

troyronda (Wed, 30 Sep 2020 20:25:54 GMT):
I think we might also consider moving other non-default packages over there too (that aren't need for out-of-the-box hyperledger docker images, wasm, and gomobile builds).

Baha-sk (Wed, 30 Sep 2020 20:26:13 GMT):
for VDRIs, aries-framework-go has them in pkg/vdri/.... so Indy VDR would follow the same path, ie `pkg/vdri/indy`

rolsonquadras (Wed, 30 Sep 2020 20:27:12 GMT):
aries-framework-go-extension/store, aries-framework-go-extension/vdri, etc.

Baha-sk (Wed, 30 Sep 2020 20:27:13 GMT):
and likewise for MongoDB.. it would go in `pkg/storage/mongodb`

troyronda (Wed, 30 Sep 2020 20:27:17 GMT):
The repo should be considered a monorepo.

troyronda (Wed, 30 Sep 2020 20:27:34 GMT):
no top-level go.mod

pfeairheller (Wed, 30 Sep 2020 20:27:41 GMT):
yep, that sounds right.

Baha-sk (Wed, 30 Sep 2020 20:27:45 GMT):
ok, Thant that won't work

Baha-sk (Wed, 30 Sep 2020 20:27:45 GMT):
ok, then that won't work

rolsonquadras (Wed, 30 Sep 2020 20:27:45 GMT):
aries-framework-go-extension/store/mongodb, aries-framework-go-extension/vdri/indy

rolsonquadras (Wed, 30 Sep 2020 20:27:45 GMT):
actual code base can go in - aries-framework-go-extension/store/mongodb, aries-framework-go-extension/vdri/indy

troyronda (Wed, 30 Sep 2020 20:28:04 GMT):
something/storage/mongodb/go.mod

Baha-sk (Wed, 30 Sep 2020 20:28:11 GMT):
because we lose the package path in the name

troyronda (Wed, 30 Sep 2020 20:28:25 GMT):
something/vdri/indy/go.mod

troyronda (Wed, 30 Sep 2020 20:28:25 GMT):
and presumably something/vdri/indy/go.mod

troyronda (Wed, 30 Sep 2020 20:28:25 GMT):
I.e., something/vdri/indy/go.mod

troyronda (Wed, 30 Sep 2020 20:28:25 GMT):
something/vdri/indy/go.mod

troyronda (Wed, 30 Sep 2020 20:28:41 GMT):
I would also imagine something/vdri/indy/pkg/foo

troyronda (Wed, 30 Sep 2020 20:28:41 GMT):
and presumably something/vdri/indy/pkg/foo

sudeshrshetty (Wed, 30 Sep 2020 20:28:48 GMT):
sounds good to me

troyronda (Wed, 30 Sep 2020 20:29:43 GMT):
What would the parent folder be of all the modules?

troyronda (Wed, 30 Sep 2020 20:29:43 GMT):
What would be the parent folder of all the modules?

troyronda (Wed, 30 Sep 2020 20:30:08 GMT):
i.e., what is "something"

sudeshrshetty (Wed, 30 Sep 2020 20:30:14 GMT):
addons, extensions, providers, components

rolsonquadras (Wed, 30 Sep 2020 20:31:21 GMT):
@sudeshrshetty I like "providers" as well along with "extensions".

Baha-sk (Wed, 30 Sep 2020 20:31:25 GMT):
httpbinding, key and peer VDRIs are single end packages (no children), I wonder if Indy VDR would have children packages

troyronda (Wed, 30 Sep 2020 20:32:03 GMT):
View each of these folders like its own repo that happens to be in the larger mono-repo.

Baha-sk (Wed, 30 Sep 2020 20:32:21 GMT):
yeah, ok

Baha-sk (Wed, 30 Sep 2020 20:33:38 GMT):
I think "providers" is a generic word for a service provider ... we're talking about framework `addons` more specifically

pfeairheller (Wed, 30 Sep 2020 20:36:05 GMT):
I'd lean towards `addons` or `extensions`

tarkochevamik (Wed, 30 Sep 2020 20:37:59 GMT):
Has joined the channel.

troyronda (Wed, 30 Sep 2020 20:38:04 GMT):
So repo name suggestions so far: aries-framework-go-ext, aries-framework-go-extension, aries-framework-go-addon

Baha-sk (Wed, 30 Sep 2020 20:38:50 GMT):
I think `addons` was the top level package in the new repo

troyronda (Wed, 30 Sep 2020 20:39:29 GMT):
that would be a folder not a package.

Baha-sk (Wed, 30 Sep 2020 20:39:35 GMT):
oh @sudeshrshetty suggested

Baha-sk (Wed, 30 Sep 2020 20:39:35 GMT):
oh @sudeshrshetty suggested `aries-framework-go-addon`

Baha-sk (Wed, 30 Sep 2020 20:39:45 GMT):
yeah, a top level folder

DerekTrider (Wed, 30 Sep 2020 21:06:12 GMT):
I also agree with @rolsonquadras regarding the "extension/addon" part being after "go"... e.g. aries-framework-go-extension

sudeshrshetty (Wed, 30 Sep 2020 21:16:30 GMT):
example: aries-framework-go-ext/extensions/storage/mongodb/go.mod or aries-framework-go-ext/addons/storage/mongodb/go.mod

troyronda (Thu, 01 Oct 2020 14:24:31 GMT):
So far the main suggestion for the repo name is aries-framework-go-ext unless someone has a catchy abbreviation for framework-go :).

troyronda (Thu, 01 Oct 2020 14:25:43 GMT):
(the acapy abbreviation enabled aries-acapy-controllers and aries-acapy-plugin-toolbox repo names)

pfeairheller (Mon, 05 Oct 2020 11:11:42 GMT):
If we could rename it framework-aries-go then we could abbreviate to `fargo` :-)

sj1 4 (Tue, 06 Oct 2020 07:50:41 GMT):
Can Alice and Bob connect without Faber?

sj1 4 (Tue, 06 Oct 2020 08:10:48 GMT):
db path

troyronda (Wed, 07 Oct 2020 13:37:54 GMT):
ha.

troyronda (Wed, 07 Oct 2020 13:38:12 GMT):
When Ry comes online, I'll ask him to create the repo.

m00sey (Wed, 07 Oct 2020 13:54:12 GMT):
Great, we'll look at moving `scoir/aries-storage-mongo` over and update Canis on our side

troyronda (Wed, 07 Oct 2020 15:52:32 GMT):
The current thinking is that the core framework repo will focus on supporting extension integration AND have a limited out-of-the-box for REST services (KMS, EDV, DID resolution) along with support for "local" databases (currently the native build with levelDB and the WASM build with indexDB) and for the "core" DID methods (currently did:peer, did:key) and the "local" KMS.

troyronda (Wed, 07 Oct 2020 15:52:32 GMT):
The current thinking is that the core framework repo will focus on supporting extension integration AND have a limited out-of-the-box for REST services (KMS, EDV, DID resolution) along with support for "local" databases (currently the native build with levelDB; the WASM build with indexDB; and the memory store) and for the "core" DID methods (currently did:peer, did:key) and the "local" KMS.

troyronda (Wed, 07 Oct 2020 15:52:32 GMT):
The current thinking is that the core framework repo will focus on supporting extension integration AND have out-of-the-box support for REST services (KMS, EDV, DID resolution) along with support for "local" databases (currently the native build with levelDB; the WASM build with indexDB; and the memory store) and for the "core" DID methods (currently did:peer, did:key) and the "local" KMS.

troyronda (Wed, 07 Oct 2020 15:55:48 GMT):
@m00sey @pfeairheller the repo is created: https://github.com/hyperledger/aries-framework-go-ext/

m00sey (Wed, 07 Oct 2020 15:59:13 GMT):
so for things existing like `storage/couchdb`, is the plan to add those to `go-ext` then "at some point" switch to using those vs the internal ones in the framework? Do we want/need to create github issues to extract them?

troyronda (Wed, 07 Oct 2020 16:03:51 GMT):
@m00sey yup. https://github.com/hyperledger/aries-framework-go-ext/issues/2

troyronda (Wed, 07 Oct 2020 16:04:23 GMT):
But it would be removed from aries-framework-go rather than switched.

troyronda (Wed, 07 Oct 2020 16:04:41 GMT):
External projects can import them from aries-framework-go-ext

troyronda (Wed, 07 Oct 2020 16:04:41 GMT):
External projects can import them from aries-framework-go-ext.

m00sey (Wed, 07 Oct 2020 16:05:25 GMT):
sounds good

troyronda (Wed, 07 Oct 2020 16:06:17 GMT):
Basically the concept is that you have two options for extended storage - use an EDV that has that storage and configure the REST API OR have your own build that includes the framework and injects the extended storage of your choice.

troyronda (Wed, 07 Oct 2020 16:06:17 GMT):
Basically the concept is that you have two options for extended storage - use a Secure Data Store (EDV) that has that storage and configure the REST API OR have your own build that includes the framework and injects the extended storage of your choice.

troyronda (Wed, 07 Oct 2020 16:06:17 GMT):
Basically the concept is that you have two options for extended storage - use a Secure Data Store (EDV) that has that storage and configure the REST endpoint OR have your own build that includes the framework and injects the extended storage of your choice.

CyrilLeung (Thu, 08 Oct 2020 09:07:39 GMT):
Hi everyone, I have a question about the open api demo. In "accept-request-presentation", there is a payload required to encode before made the reqest.

CyrilLeung (Thu, 08 Oct 2020 09:07:39 GMT):
Hi everyone, I have a question about the open api demo. In "accept-request-presentation", there is a payload required to encode before made the request. What encoding method is used in that part of payload ? Thank you

troyronda (Thu, 08 Oct 2020 17:44:08 GMT):
@kdimak

kdimak (Fri, 09 Oct 2020 13:01:53 GMT):
FYI: aries-framework-go will get soon get a support of *BBS+ signature suite* (https://w3c-ccg.github.io/ldp-bbs2020) what includes support of Zero-Knowledge Proofs. The implementation will be compliant with https://github.com/mattrglobal/jsonld-signatures-bbs (my Mattr). The estimation of the first release is the end of October.

troyronda (Fri, 09 Oct 2020 13:33:28 GMT):
@kdimak : @pfeairheller & team are also working on BBS+ features. Perhaps you folks could compare notes? All of us would like BBS+ in as soon as we can (and tested for interop).

pfeairheller (Fri, 09 Oct 2020 13:38:46 GMT):
Hi @kdimak. We would love to set up a conversation about how we can work together on this. We have one full time engineer dedicated to this effort.

kdimak (Fri, 09 Oct 2020 13:49:33 GMT):
Hi @pfeairheller . Nice to hear, let's move things forward together! In brief, we are using https://github.com/kilic/bls12-381 as a base library, but also use https://github.com/phoreproject/bls for ~FR~ calculations which are not implemented in bls12-381. We consider https://github.com/hyperledger/ursa/tree/master/libzmix/bbs as a reference of BLS+BLS12-381 implementation, and https://github.com/mattrglobal/jsonld-signatures-bbs (Mattr) as a reference of BBS+ signature one. I am gonna make soon a first PR in aries-framework-go which will support VC/VP signature verification (BbsBlsSignature2020) generated by Mattr. I will post the link to this PR later on (as it's still WIP). Further plans: - VC/VP BBS+ signature signing - BSS+ signature suite interop tests (with Mattr) - BSS+ selective disclosure

kdimak (Fri, 09 Oct 2020 13:49:33 GMT):
Hi @pfeairheller . Nice to hear, let's move things forward together! In brief, we are using https://github.com/kilic/bls12-381 as a base library, but also use https://github.com/phoreproject/bls for `FR` calculations which are not implemented in bls12-381. We consider https://github.com/hyperledger/ursa/tree/master/libzmix/bbs as a reference of BLS+BLS12-381 implementation, and https://github.com/mattrglobal/jsonld-signatures-bbs (Mattr) as a reference of BBS+ signature one. I am gonna make soon a first PR in aries-framework-go which will support VC/VP signature verification (BbsBlsSignature2020) generated by Mattr. I will post the link to this PR later on (as it's still WIP). Further plans: - VC/VP BBS+ signature signing - BSS+ signature suite interop tests (with Mattr) - BSS+ selective disclosure

MALodder (Fri, 09 Oct 2020 13:54:59 GMT):
Has joined the channel.

MALodder (Fri, 09 Oct 2020 13:56:11 GMT):
You’ll have to modify the kilic library to accept the Blake2b hash function instead of hard coded to Sha256

MALodder (Fri, 09 Oct 2020 13:56:23 GMT):
Happy to help on this

kdimak (Fri, 09 Oct 2020 13:57:52 GMT):
Hi @MALodder ! I am really happy to meet you! I recently looked a lot through your Rust code at `libursa`! :)

pfeairheller (Fri, 09 Oct 2020 13:58:44 GMT):
We are also using the `ursa` Rust code as the reference implementation

kdimak (Fri, 09 Oct 2020 14:00:54 GMT):
@MALodder I saw your PR https://github.com/kilic/bls12-381/pull/15, we make use of it here: https://github.com/trustbloc/bls12-381/pull/1

MALodder (Fri, 09 Oct 2020 14:01:00 GMT):
What `Fr` calculations are not in kilic

MALodder (Fri, 09 Oct 2020 14:01:35 GMT):
You can use `math.big` mod Q

MALodder (Fri, 09 Oct 2020 14:01:58 GMT):
We can get Q from G1.Q

kdimak (Fri, 09 Oct 2020 14:03:37 GMT):
I will try that, thanks @MALodder !

kdimak (Fri, 09 Oct 2020 14:04:30 GMT):
What's your plan regarding https://github.com/mikelodder7/go-bbs-signatures?

kdimak (Fri, 09 Oct 2020 14:04:30 GMT):
What's your plan regarding https://github.com/mikelodder7/go-bbs-signatures? @MALodder

kdimak (Fri, 09 Oct 2020 14:06:16 GMT):
I think we can contribute to this repo, so that it could be the common point of contribution together with @pfeairheller (just guessing...)

pfeairheller (Fri, 09 Oct 2020 14:06:35 GMT):
Yes it would!

tarkochevamik (Fri, 09 Oct 2020 14:12:34 GMT):
Hello! I'm the engineer @pfeairheller was referring to. I've been using https://github.com/mikelodder7/go-bbs-signatures and would love to help!

kdimak (Fri, 09 Oct 2020 14:15:50 GMT):
Hello @tarkochevamik ! I believe you forked it and did some enhancements. What's available there for now? Can you share it with us?

tarkochevamik (Fri, 09 Oct 2020 14:19:43 GMT):
I updated `proofChallenge.go` to fix a compile error but it looks like we'll need to make the fields in the structs public. Based on what I was doing I though it would be best to keep all core operations outlined in the Mattr doc in go-bbs-signatures but am curious on your thoughts of where they should live?

kdimak (Fri, 09 Oct 2020 14:25:52 GMT):
yeah, makes sense I would also add API for signing and verification, as well as for the generation of selective disclosure. Maybe this could be deemed as the reference for the API: https://github.com/mattrglobal/node-bbs-signatures/blob/master/native/src/lib.rs

kdimak (Fri, 09 Oct 2020 14:27:29 GMT):
I can make more detailed input on this on Monday next week.

MALodder (Fri, 09 Oct 2020 14:35:33 GMT):
I'm happy to donate it as the starting point

MALodder (Fri, 09 Oct 2020 14:35:46 GMT):
and offer coaching and reviews to make sure it works as the ursa impl

kdimak (Fri, 09 Oct 2020 14:40:48 GMT):
wow, nice! I bye it :) let me prepare a bit to build a list of questions and action items...

MALodder (Fri, 09 Oct 2020 14:47:19 GMT):
+1

kdimak (Fri, 09 Oct 2020 14:52:42 GMT):
btw could you @MALodder share with us the links to the specs / articles you used when developing `bbs`/`bls` which can be useful for us as well?

MALodder (Fri, 09 Oct 2020 14:56:16 GMT):
all the references are here https://github.com/hyperledger/ursa/tree/master/libzmix/bbs

pfeairheller (Fri, 09 Oct 2020 14:56:27 GMT):
Great, thanks for the offer.

MALodder (Fri, 09 Oct 2020 14:56:31 GMT):
the README.md contains all the papers

kdimak (Fri, 09 Oct 2020 14:56:50 GMT):
thank you!

MALodder (Fri, 09 Oct 2020 15:01:57 GMT):
https://github.com/hyperledger/ursa/tree/master/libzmix/bbs

MALodder (Fri, 09 Oct 2020 15:02:13 GMT):
I put all my reference papers in That README.md

MALodder (Fri, 09 Oct 2020 15:04:27 GMT):
The direct math used is found https://eprint.iacr.org/2016/663.pdf

MALodder (Fri, 09 Oct 2020 15:04:31 GMT):
Section 4.3

MALodder (Fri, 09 Oct 2020 15:05:12 GMT):
otherwise feel free to ask about the math or the rust code

kdimak (Fri, 09 Oct 2020 16:06:52 GMT):
Thank you @MALodder !

swcurran (Fri, 09 Oct 2020 17:37:26 GMT):
Has joined the channel.

troyronda (Sun, 11 Oct 2020 20:53:07 GMT):
https://github.com/hyperledger/aries-framework-go/pull/2225

troyronda (Sun, 11 Oct 2020 20:53:44 GMT):
feat: BBS+ signature verification

tplooker (Sun, 11 Oct 2020 21:32:23 GMT):
Has joined the channel.

CyrilLeung (Mon, 12 Oct 2020 03:46:24 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=3xzKMgioZsPyAAhMK) Sorry, Can anyone give some more hints on how the base64 data encode from JSON in "accept-request-presentation" of open API Demo ? Since I try to use the data provided and encode to base64, that is not the same with the hash mention in the document. Thank you very much.

ankita.p17 (Mon, 12 Oct 2020 08:35:57 GMT):
Has joined the channel.

troyronda (Tue, 13 Oct 2020 14:05:02 GMT):
@kdimak Do you have a list of features that are needed in @MALodder BBS+ implementation (but aren't there yet)? It would be nice to remove these forked dependencies once things are working.

troyronda (Tue, 13 Oct 2020 14:06:05 GMT):
(forked dependencies being github.com/kilic/bls12-381 and github.com/phoreproject/bls)

MALodder (Tue, 13 Oct 2020 14:06:51 GMT):
the main dependency is a bls12-381 library

troyronda (Tue, 13 Oct 2020 14:07:23 GMT):
(forked at https://github.com/trustbloc/bls12-381 and https://github.com/trustbloc/bls)

MALodder (Tue, 13 Oct 2020 14:07:39 GMT):
the kilic library is the one I prefer

MALodder (Tue, 13 Oct 2020 14:08:20 GMT):
that's the only dependecy

MALodder (Tue, 13 Oct 2020 14:08:40 GMT):
no others

troyronda (Tue, 13 Oct 2020 14:09:39 GMT):
@kdimak made these changes in bls12-381 (fork): https://github.com/trustbloc/bls12-381/pull/1 and https://github.com/trustbloc/bls12-381/pull/2

troyronda (Tue, 13 Oct 2020 14:11:13 GMT):
@kdimak made these changes in bls (fork): https://github.com/trustbloc/bls/pull/1

MALodder (Tue, 13 Oct 2020 14:11:22 GMT):
right, that's it

MALodder (Tue, 13 Oct 2020 14:11:43 GMT):
BBS+ uses Blakeb instead of SHA256

troyronda (Tue, 13 Oct 2020 14:12:01 GMT):
@MALodder Would aspects of the above would we replace with your code?

MALodder (Tue, 13 Oct 2020 14:13:01 GMT):
not sure what you mean

troyronda (Tue, 13 Oct 2020 14:14:30 GMT):
Oh - I thought you had some code to use as a starting point. I wasn't sure which aspects you had.

MALodder (Tue, 13 Oct 2020 14:14:38 GMT):
for the BBS+ yes

MALodder (Tue, 13 Oct 2020 14:15:06 GMT):
https://github.com/mikelodder7/go-bbs-signatures

troyronda (Tue, 13 Oct 2020 14:17:45 GMT):
Ah ok. So you had a fork of bls12-381 that isn't available anymore (i assume difference was https://github.com/kilic/bls12-381/pull/15).

troyronda (Tue, 13 Oct 2020 14:17:45 GMT):
Ah ok. So you had a fork of bls12-381 that isn't available anymore (i assume the difference was https://github.com/kilic/bls12-381/pull/15).

MALodder (Tue, 13 Oct 2020 14:18:13 GMT):
ah yes I had but it looks like https://github.com/trustbloc/bls12-381/pull/1 does the same thing

troyronda (Tue, 13 Oct 2020 14:18:31 GMT):
cool.

troyronda (Tue, 13 Oct 2020 14:18:47 GMT):
@kdimak

troyronda (Tue, 13 Oct 2020 14:18:47 GMT):
@kdimak ^^^^

troyronda (Tue, 13 Oct 2020 14:22:06 GMT):
So if I understand properly: - we should continue with kilic/bls12-381. - try to get the PRs into that upstream (or otherwise figure out the fork strategy). - what about the other bls dependency (from phoreproject)? do we need both? - see if there is code from go-bbs-signatures that can be incorporated.

troyronda (Tue, 13 Oct 2020 14:22:06 GMT):
So if I understand properly: - we should continue with kilic/bls12-381. - try to get the PRs into that upstream (or otherwise figure out the fork strategy). - what about the other bls dependency (from phoreproject)? do we need both? - see if there is code from go-bbs-signatures that can be incorporated into aries-framework-go.

troyronda (Tue, 13 Oct 2020 14:24:39 GMT):
(and see about merging the efforts of go-bbs-sigantures, @kdimak, @tarkochevamik )

troyronda (Tue, 13 Oct 2020 14:24:39 GMT):
(and see about merging the efforts of go-bbs-sigantures, @kdimak, and @tarkochevamik )

m00sey (Tue, 13 Oct 2020 14:24:56 GMT):
my two cents, I was expecting `go-bbs-signatures` to be what`aries-framework-go` used for BBS+ related operations, and that any work done would ultimately come back to that repo under the stewardship of @MALodder ?

MALodder (Tue, 13 Oct 2020 14:25:18 GMT):
I'm fine either way

MALodder (Tue, 13 Oct 2020 14:25:34 GMT):
I haven't had much time to develop go-bbs-signatures lately

m00sey (Tue, 13 Oct 2020 14:25:58 GMT):
But most likely you will be the point of reference/guidance for folks implementing it

m00sey (Tue, 13 Oct 2020 14:26:03 GMT):
that was my main rational

troyronda (Tue, 13 Oct 2020 14:26:12 GMT):
I think it would be nice to push the code into aries-framework-go (if we can) to reduce dependencies.

m00sey (Tue, 13 Oct 2020 14:26:48 GMT):
Yeah, I think it's a balance, there may be use for `go-bbs-signatures` outside of aries (I appreciate aries is our main concern though)

troyronda (Tue, 13 Oct 2020 14:27:49 GMT):
Similar with the Verifiable Credential, DIDs, JSON-LD signatures libraries that are already in the framework codebase :).

troyronda (Tue, 13 Oct 2020 14:29:26 GMT):
https://github.com/hyperledger/aries-framework-go/tree/master/pkg/doc

m00sey (Tue, 13 Oct 2020 14:30:07 GMT):
yeah, very true.

troyronda (Tue, 13 Oct 2020 14:30:28 GMT):
This is basically happening since it is nice to have this code under hyperledger.

m00sey (Tue, 13 Oct 2020 14:38:26 GMT):
To clarify, I think if `kilic/bls12-381` is a dependency for `go-bbs-signatures` then that should be managed inside of `go-bbs-signatures`, not `aries-framework-go` that way if `go-bbs-signatures` decides to switch from `kilic/bls12-381` to `trustbloc/bls12-381` it doesn't impact aries, but is work done inside of `go-bbs` that's my only thought

m00sey (Tue, 13 Oct 2020 14:39:00 GMT):
we're ( @tarkochevamik ) happy to support the efforts anyway we can

troyronda (Tue, 13 Oct 2020 14:40:25 GMT):
We would probably consider bringing that fork into an internal folder of this repo (if we cannot get PRs into the upstream).

troyronda (Tue, 13 Oct 2020 14:43:17 GMT):
I am concerned that @MALodder PR didn't make progress there: https://github.com/kilic/bls12-381/pull/15

MALodder (Tue, 13 Oct 2020 14:43:45 GMT):
it didn't it sat there for a long time

m00sey (Tue, 13 Oct 2020 14:45:10 GMT):
fork bls12-381 under hyper ledger? last changes were four months ago, and I think we all agree things will be moving fairly fast?

m00sey (Tue, 13 Oct 2020 14:45:23 GMT):
or is that what the trustbloc fork is?

m00sey (Tue, 13 Oct 2020 14:46:15 GMT):
ah ok it is.

troyronda (Tue, 13 Oct 2020 14:47:55 GMT):
"fork bls12-381" - this would be an internal folder like aries-framework-go/internal/github.com/kilic/bls12-381

troyronda (Tue, 13 Oct 2020 14:47:55 GMT):
"fork bls12-381" - this would be an internal folder in the form of aries-framework-go/internal/github.com/kilic/bls12-381

troyronda (Tue, 13 Oct 2020 14:50:53 GMT):
and hopefully @kdimak can discuss if he thinks it is possible to remove the other dependency on phoreproject/bls

kdimak (Tue, 13 Oct 2020 16:15:07 GMT):
yeah, I think we can remove dependency on phoreproject/bls, the only important thing we use from this lib is FR type ()

kdimak (Tue, 13 Oct 2020 16:15:07 GMT):
yeah, I think we can remove dependency on phoreproject/bls, the only important thing we use from this lib is FR type

kdimak (Tue, 13 Oct 2020 16:16:22 GMT):
@MALodder already explained that we can use math.big mod Q and get Q from G1.Q I have not checked this yet though, but I saw smth in `go-bbs-signatures`

kdimak (Tue, 13 Oct 2020 16:17:49 GMT):
I checked BBS+ signature verification path so far, and I found one discrepancy between `kilic/bls12-381` and `URSA` algorithms.

kdimak (Tue, 13 Oct 2020 16:18:55 GMT):
It's in `HashToCurve()` function. I think we will need help from @MALodder in this matter.

MALodder (Tue, 13 Oct 2020 16:19:20 GMT):
kliic library supports this

kdimak (Tue, 13 Oct 2020 16:19:35 GMT):
yeah, bjt

kdimak (Tue, 13 Oct 2020 16:19:35 GMT):
yeah, but it generates G1 points which do not pass the signature check later on

kdimak (Tue, 13 Oct 2020 16:20:10 GMT):
https://github.com/trustbloc/bls12-381/pull/2/files

kdimak (Tue, 13 Oct 2020 16:20:21 GMT):
^^^ here is a PR which fixes that

kdimak (Tue, 13 Oct 2020 16:20:31 GMT):
to be honest I just re-wrote Rust code

kdimak (Tue, 13 Oct 2020 16:20:55 GMT):
the kilic algorithm does not do this really complex `chain_pm3div4()`

MALodder (Tue, 13 Oct 2020 16:20:56 GMT):
what is needed?

MALodder (Tue, 13 Oct 2020 16:21:12 GMT):
implementing the hash2cuve?

kdimak (Tue, 13 Oct 2020 16:22:35 GMT):
to compare the code of Rust-based impl of `osswu map` ( https://github.com/trustbloc/bls12-381/blob/ba2e87ef05efdd119a162c62f32c98a491587847/g1.go#L562)

kdimak (Tue, 13 Oct 2020 16:22:39 GMT):
with kilic impl

kdimak (Tue, 13 Oct 2020 16:23:07 GMT):
https://github.com/kilic/bls12-381/blob/6b2c1999639149c75485c0519940cbf82a2a7a90/swu.go#L5

kdimak (Tue, 13 Oct 2020 16:25:14 GMT):
if we use `swuMapG1()` from kilic, different G1 point is returned and later the signature verification fails (on 2 pair comparison)

MALodder (Tue, 13 Oct 2020 16:25:29 GMT):
I see

kdimak (Tue, 13 Oct 2020 16:25:41 GMT):
to recall, HashToCurve is used to generate h0, hi

MALodder (Tue, 13 Oct 2020 16:26:07 GMT):
that's interesting because I've used the kilic library to hash to curve for other crypto signatures like BLS and it works just fine

kdimak (Tue, 13 Oct 2020 16:27:22 GMT):
yeah I don't know the internals of these algorithms so your help @MALodder should save the world :)

MALodder (Tue, 13 Oct 2020 16:28:24 GMT):
I suspect what is going on is that https://github.com/kilic/bls12-381/blob/master/hash_to_field.go#L9 is wrong

MALodder (Tue, 13 Oct 2020 16:28:42 GMT):
outLen should be dependent on the curve

MALodder (Tue, 13 Oct 2020 16:29:02 GMT):
double checking

kdimak (Tue, 13 Oct 2020 16:37:30 GMT):
in your PR (), you are using ``` h := f() lenPerElm := h.Size() * 2 lenInBytes := count * lenPerElm randBytes := expandMsgXMD(f, msg, domain, lenInBytes) ``` but `lenInBytes` differs from the value we get in `URSA` (two times bigger value)...

kdimak (Tue, 13 Oct 2020 16:39:39 GMT):
we should probably use `lenPerElm := h.Size()` here...

kdimak (Tue, 13 Oct 2020 16:40:46 GMT):
but this change breaks existent kilic tests where default `sha256` hash is used

MALodder (Tue, 13 Oct 2020 18:12:34 GMT):
my PR is incorrect. If you look at the hash to curve spec lenPerElm is supposed to be based on the curve, not the hash size

MALodder (Tue, 13 Oct 2020 18:13:13 GMT):
so hard coding it to 64 is just fine

kdimak (Tue, 13 Oct 2020 21:13:52 GMT):
OK! it's what we have now here: https://github.com/trustbloc/bls12-381/blob/ba2e87ef05efdd119a162c62f32c98a491587847/hash_to_field.go#L8

kdimak (Tue, 13 Oct 2020 21:15:03 GMT):
(this is the only difference between your PR and what we have in `trustbloc`)

troyronda (Thu, 15 Oct 2020 13:28:09 GMT):
Any comments on https://github.com/hyperledger/aries-framework-go-ext/issues/4 (extension repo structure)?

troyronda (Thu, 15 Oct 2020 13:28:46 GMT):
@pfeairheller @m00sey @soluchok @rolsonquadras @sudeshrshetty @firas.qutishat @george.aristy

pfeairheller (Thu, 15 Oct 2020 13:29:18 GMT):
reviewing now...

troyronda (Thu, 15 Oct 2020 13:46:13 GMT):
@soluchok is currently working on creating the initial structure and moving the couchdb and mysql code.

m00sey (Thu, 15 Oct 2020 14:25:57 GMT):
@troyronda reading the issue on proposed structure, I think the global check around license/DCO is appropriate I was imagining the rest of the checks would be a per `component` basis, just like codecov / release versioning etc will probably be easiest to handle on a per component basis? Does it make sense for each component to have it's own "job" in the github action work flow and allow them to be more or less independently built/tested/release?

troyronda (Thu, 15 Oct 2020 14:44:16 GMT):
@soluchok ^^^

troyronda (Thu, 15 Oct 2020 14:57:28 GMT):
@m00sey From my PoV, the principle is that component modules must have tests that are required to pass when files in that module directory are changed. We should not run tests for unchanged modules.

troyronda (Thu, 15 Oct 2020 14:57:53 GMT):
I think module tests should be as self-contained as possible.

troyronda (Thu, 15 Oct 2020 14:58:05 GMT):
I think there is an interesting question about testing the common interface for a component.

troyronda (Thu, 15 Oct 2020 15:01:15 GMT):
I'm not entirely sure if codecov supports the monorepo style or not - certainly it supports patch level checks regardless.

troyronda (Thu, 15 Oct 2020 15:01:15 GMT):
I'm not sure if codecov supports the monorepo style or not - certainly it supports patch level checks regardless. This is one of the open questions.

troyronda (Thu, 15 Oct 2020 15:03:08 GMT):
Versioning strategy is another open question as technically tags are at the repo level.

troyronda (Thu, 15 Oct 2020 15:08:51 GMT):
Re: Does it make sense for each component to have it's own "job"... This is one of two ways to handle.

troyronda (Thu, 15 Oct 2020 15:09:18 GMT):
(the other possibility being a global workflow that runs well-known targets for each changed module directory).

troyronda (Thu, 15 Oct 2020 15:09:18 GMT):
(the other possibility being a global workflow that runs well-known make targets for each changed module directory).

m00sey (Thu, 15 Oct 2020 15:14:49 GMT):
I might actually be a fan of the common interface for running, and just use a build matrix containing each component

rolsonquadras (Thu, 15 Oct 2020 15:19:42 GMT):
@troyronda Here are my thoughts - If don't have any common code between modules, then job for each module makes more sense. Also, I prefer if it can be run for all the codebase in that module, sometime code changes affect unchanged code as well. If we have common code (like top level /pkg/), then I feel its better to run globally. Changes in common code might affect unchanged code in each module. In short, if we have common code then run global checks/test, else have module specific jobs.

troyronda (Thu, 15 Oct 2020 15:21:14 GMT):
@rolsonquadras I meant run tests for the entire module but not for other unchanged modules.

troyronda (Thu, 15 Oct 2020 15:21:14 GMT):
@rolsonquadras I meant run tests for the entire changed module but not for other unchanged modules.

troyronda (Thu, 15 Oct 2020 15:21:43 GMT):
Broken tests in another module shouldn't affect a PR :).

troyronda (Thu, 15 Oct 2020 15:22:41 GMT):
We don't yet have top-level common code (at /pkg/) - that would have its own considerations.

rolsonquadras (Thu, 15 Oct 2020 15:22:50 GMT):
@troyronda oh ok, that makes sense. I guess, then the question is whether we gonna have common code for modules.

rolsonquadras (Thu, 15 Oct 2020 15:23:07 GMT):
ok, if we dont have it now, then job per module makes sense.

firas.qutishat (Thu, 15 Oct 2020 15:25:37 GMT):
It's better it have one global workflow to manage modules

firas.qutishat (Thu, 15 Oct 2020 15:25:37 GMT):
It's better have one global workflow to manage modules

m00sey (Thu, 15 Oct 2020 15:27:13 GMT):
(my opinion) anything in this repo shouldn't have shared code. My mental model is that this repo is an umbrella, under which reside components I can pick and choose which to use. So versioning/building/testing all happens at the component level. So while I may clone `aries-framework-go-ext` I would use it via `go get github.com/hyperledger/aries-framework-go/storage/mongo@v0.1.0` However I've never tried to build a repo in such a way so it may not be feasible to structure it that way? :)

m00sey (Thu, 15 Oct 2020 15:27:30 GMT):
Also, my mental model may be incorrect :)

troyronda (Thu, 15 Oct 2020 15:28:11 GMT):
You would use that command, but the tag is global to the repo.

m00sey (Thu, 15 Oct 2020 15:35:54 GMT):
The problem with that is if bump mongo to 0.1.0, someone else bumps vdr-indy to 0.2.0, I bump mongo to 0.3.0 but I want to keep vdr-indy at 0.1.0 code, I can't. That was my point about versioning at the component level, which should be viable with a go.mod at each component

troyronda (Thu, 15 Oct 2020 15:36:15 GMT):
@m00sey go module versions are from the the repo tag.

m00sey (Thu, 15 Oct 2020 15:39:13 GMT):
I seem to have overlooked that glaringly obvious fact

troyronda (Thu, 15 Oct 2020 15:47:58 GMT):
we might need to consider a regular cadence of tags.

troyronda (Thu, 15 Oct 2020 15:53:46 GMT):
(and also where the tags might be aligned with the common interface changes).

braduf (Thu, 15 Oct 2020 22:43:03 GMT):
Has joined the channel.

vladyslavmunin (Fri, 16 Oct 2020 08:47:31 GMT):
Hi, what is the current state of vdri-indy package? can't find this functionality in latest version.

vladyslavmunin (Fri, 16 Oct 2020 08:47:31 GMT):
Hi, what is the current state of vdri-indy package? can't find this functionality in the latest version.

pfeairheller (Fri, 16 Oct 2020 10:00:52 GMT):
I will be pushing a PR to the new ext repo this weekend, hopefully.

pfeairheller (Fri, 16 Oct 2020 10:00:52 GMT):
I will be pushing a PR with the indy VDRI to the new ext repo this weekend, hopefully.

troyronda (Fri, 16 Oct 2020 18:43:15 GMT):
@pfeairheller @m00sey https://github.com/hyperledger/aries-framework-go-ext/pull/5

MALodder (Mon, 19 Oct 2020 14:19:26 GMT):
yah this PR is fin

MALodder (Mon, 19 Oct 2020 14:19:26 GMT):
yah this PR is fine

pfeairheller (Mon, 19 Oct 2020 19:39:06 GMT):
A little late to the conversation, but I think I stumbled on the answer to the ext repo module version question while solving my own problem accessing the go wrapper for indy-vdr. For module roots nested in a repo you have to add the relative path to the tag name. So for me it became `git tag wrappers/golang/v0.0.0 ` with the go.mod file residing under `wrappers/golang`. Using this approach is seems each module could have its own independent version if that is what we desire. (We'll likely need module specific tags either way).

soluchok (Mon, 19 Oct 2020 19:58:06 GMT):
@pfeairheller I have already tested it. You can check it here

soluchok (Mon, 19 Oct 2020 19:58:11 GMT):
https://github.com/soluchok/module

pfeairheller (Mon, 19 Oct 2020 20:20:05 GMT):
Great, thanks @soluchok

gnarula (Mon, 19 Oct 2020 23:48:51 GMT):
quick question about the aries-framework-go-ext repo - I wrote some code a while back that can help importing keys from indy wallets to aries-framework-go. Is that something appropriate for the repo? I'd be happy to send a PR

darkchylde (Tue, 20 Oct 2020 13:35:47 GMT):
Has joined the channel.

darkchylde (Tue, 20 Oct 2020 13:35:47 GMT):
Hi guys,

AdrienViolet (Tue, 20 Oct 2020 14:12:40 GMT):
Has joined the channel.

troyronda (Tue, 20 Oct 2020 14:20:13 GMT):
@gnarula @Baha-sk ^^

troyronda (Tue, 20 Oct 2020 14:20:44 GMT):
@gnarula I noticed you have a couple open PRs on aries-framework-go ... did you have some questions on moving them forward?

troyronda (Tue, 20 Oct 2020 14:21:19 GMT):
@pfeairheller @m00sey FYI: the latest commit to aries-framework-go has moved levelDB and jsIndexDB into modules in the aries-framework-go repo.

troyronda (Tue, 20 Oct 2020 14:21:53 GMT):
https://github.com/hyperledger/aries-framework-go/commit/94a81010560a1558c0d50126c78a07e26ee54e13

AdrienViolet (Tue, 20 Oct 2020 14:31:59 GMT):
Hi all, Android developer here, I have started looking at the aries-framework-go repo and the mobile bindings. I have looked at the demo app. I am not sure I get the full scope of the mobile SDK and I am curious to here more. Is it capable to run a full aries agent on a mobile? How does the inbound communication work? Is it managed with a mediator node? How are the credential stored? I tried to ingest a connection invite of type `"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation"` but it is apparently not supported in local agent mode. Sorry it is a lot of different questions at the same time, you can otherwise point me to some doc for me to look at, thanks in advance!

troyronda (Tue, 20 Oct 2020 14:32:48 GMT):
"How does the inbound communication work? Is it managed with a mediator node?" Yes - you would use a mediator node. aries-framework-go supports mediation.

troyronda (Tue, 20 Oct 2020 14:33:32 GMT):
"I tried to ingest a connection invite of type" aries-framework-go has, so far, only implemented the DID Exchange protocol (not the original connections protocol).

troyronda (Tue, 20 Oct 2020 14:33:32 GMT):
"I tried to ingest a connection invite of type" aries-framework-go has only implemented the DID Exchange protocol (not the original connections protocol).

troyronda (Tue, 20 Oct 2020 14:34:28 GMT):
"How are the credential stored?" We are working on enabling injectable storage for the mobile binding.

troyronda (Tue, 20 Oct 2020 14:34:42 GMT):
@soluchok

AdrienViolet (Tue, 20 Oct 2020 14:35:38 GMT):
That bring an other question for me then, where can I see the current protocol implemented in the aries-framework-go used as a Go Server SDK and used as a mobile SDK

pfeairheller (Tue, 20 Oct 2020 14:36:48 GMT):
@AdrienViolet I recently through together a quick implementation of an Android app using a-f-g bindings. It is uses agent mode.

pfeairheller (Tue, 20 Oct 2020 14:36:48 GMT):
@AdrienViolet I recently threw together a quick implementation of an Android app using a-f-g bindings. It is uses agent mode.

pfeairheller (Tue, 20 Oct 2020 14:36:50 GMT):
https://github.com/scoir/aludra

troyronda (Tue, 20 Oct 2020 14:37:03 GMT):
@AdrienViolet https://pkg.go.dev/github.com/hyperledger/aries-framework-go/pkg/client

pfeairheller (Tue, 20 Oct 2020 14:37:12 GMT):
Please ignore the code, I was learning Android and relearning Java while I wrote it

AdrienViolet (Tue, 20 Oct 2020 14:38:07 GMT):
thanks @pfeairheller I appreciate that

pfeairheller (Tue, 20 Oct 2020 14:38:49 GMT):
It relies on the `aries-agent-rest` running.

troyronda (Tue, 20 Oct 2020 14:39:06 GMT):
@AdrienViolet The above directory is the go binding for protocols. You can see the controllers here: https://github.com/hyperledger/aries-framework-go/tree/master/pkg/controller/command

troyronda (Tue, 20 Oct 2020 14:39:28 GMT):
The controllers are what are exposed to the various bindings (mobile, REST, WASM).

AdrienViolet (Tue, 20 Oct 2020 14:40:07 GMT):
Gotcha, thanks @troyronda appreciate all the info

AdrienViolet (Tue, 20 Oct 2020 14:40:07 GMT):
Gotcha, thanks @troyronda I appreciate all the info

pfeairheller (Tue, 20 Oct 2020 14:40:37 GMT):
@troyronda the bindings only work in "remote" mode for mobile right now, correct? And the mediator you are referring to is the rest agent?

pfeairheller (Tue, 20 Oct 2020 14:40:55 GMT):
Or can it run on its own? I was unable to get the settings right.

troyronda (Tue, 20 Oct 2020 14:41:10 GMT):
@pfeairheller the bindings also work locally for mobile... but I am not the mobile guy :).

pfeairheller (Tue, 20 Oct 2020 14:41:36 GMT):
Hmm... I'd love to get that working!

troyronda (Tue, 20 Oct 2020 14:42:24 GMT):
yes. getting the injectable storage working is an important aspect. @soluchok plans to work on it.

Baha-sk (Tue, 20 Oct 2020 16:16:08 GMT):
@gnarula can you describe what `importing keys` does more precisely in aries-framework-go?

gnarula (Wed, 21 Oct 2020 09:34:56 GMT):
say you have a bunch of keys that were created using indy-cli and for some reason you want to use/import them on to an aries-framework-go KMS. The library would allow you to extract the private key from the indy wallet for a given DID and import it to the KMS

gnarula (Wed, 21 Oct 2020 09:36:34 GMT):
There was a question about peer DIDs which I could use some input on https://github.com/hyperledger/aries-framework-go/pull/2159

gnarula (Wed, 21 Oct 2020 09:36:51 GMT):
https://github.com/hyperledger/aries-framework-go/pull/2163 is fine AFAIK

Baha-sk (Wed, 21 Oct 2020 13:19:51 GMT):
correct, using the Import function in the kms allows importing ecdsa/ed25519 keys created outside of Aries-framework-go. Your can push a PR for Indy key import library to the Aries-framework-go-ext repo. We just need to know to see where to add it, either in a separate module or one of the existing ones.. @troyronda ?

Baha-sk (Wed, 21 Oct 2020 13:19:51 GMT):
correct, using the Import function in the kms allows importing ecdsa/ed25519 keys created outside of aries-framework-go. Your can push a PR for Indy key import library to the aries-framework-go-ext repo. We just need to agree where to add it, either in a separate module or one of the existing ones.. @troyronda ?

Baha-sk (Wed, 21 Oct 2020 13:19:51 GMT):
correct, using the Import function in the kms allows importing ecdsa/ed25519 keys created outside of aries-framework-go. Your can push a PR for Indy key import library to the aries-framework-go-ext repo. We just need to agree where to add it, either in a separate module or in one of the existing ones.. @troyronda ?

troyronda (Wed, 21 Oct 2020 14:11:03 GMT):
@gnarula merged 2163

gnarula (Wed, 21 Oct 2020 14:11:26 GMT):
I've another question about the credential exchange - AFAIK the current implementation implements the state machine. I wonder if actual verification and revocation checks is a planned feature?

MALodder (Wed, 21 Oct 2020 14:17:04 GMT):
Verification is already a part of BBS+ in Ursa

MALodder (Wed, 21 Oct 2020 14:17:11 GMT):
Revocation is something I’m working on

gnarula (Wed, 21 Oct 2020 14:17:39 GMT):
awesome! thank you so much!

gnarula (Wed, 21 Oct 2020 14:22:29 GMT):
Is this the Go wrapper? https://github.com/hyperledger/ursa-wrapper-go

MALodder (Wed, 21 Oct 2020 14:28:31 GMT):
Doesn’t look like they added it that repo yet

troyronda (Wed, 21 Oct 2020 18:44:43 GMT):
https://github.com/hyperledger/aries-framework-go/pull/2261

troyronda (Wed, 21 Oct 2020 18:44:43 GMT):
https://github.com/hyperledger/aries-framework-go/pull/2261 (feat: BbsBlsSignature2020 LDP suite for VC)

troyronda (Wed, 21 Oct 2020 18:44:56 GMT):
feat: BbsBlsSignature2020 LDP suite for VC

jceb (Fri, 23 Oct 2020 06:02:04 GMT):
I just noticed that the storage options couchdb and mysql have been removed in commit 51ab57d3e48b739d90b1887000c28cc29be02bf6 in favor of just mem and leveldb. Will other alternatives be provided in the future?

soluchok (Fri, 23 Oct 2020 06:23:14 GMT):
@jceb we moved couchdb and MySQL to the extension repo. See https://github.com/hyperledger/aries-framework-go-ext . We are going to add Postgres implementation.

jceb (Fri, 23 Oct 2020 06:23:49 GMT):
ah, great, thank you for the information

jceb (Fri, 23 Oct 2020 06:25:46 GMT):
is there a simple way of integrating it again with the current implement or would I have to patch the aries-rest-agent manually?

soluchok (Fri, 23 Oct 2020 06:27:12 GMT):
You need to patch it manually.

jceb (Fri, 23 Oct 2020 06:31:23 GMT):
:thumbsup:

lmtriet (Mon, 26 Oct 2020 20:23:02 GMT):
Has joined the channel.

troyronda (Wed, 28 Oct 2020 14:11:04 GMT):
BBS+ signer: https://github.com/hyperledger/aries-framework-go/pull/2278

gnarula (Wed, 28 Oct 2020 14:12:04 GMT):
@troyronda what's your take?

tplooker (Wed, 28 Oct 2020 14:12:27 GMT):
Awesome thats fantastic!

tplooker (Wed, 28 Oct 2020 14:13:02 GMT):
Looking forward to testing interop with it

kdimak (Wed, 28 Oct 2020 14:19:19 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=qe6ycKPYxoP35cTMS) yeah, this is a next task for me

tplooker (Wed, 28 Oct 2020 14:20:45 GMT):
Let me know if you have any questions, very keen to get some solid test vectors across our implementations

MALodder (Wed, 28 Oct 2020 14:21:06 GMT):
@tplooker what are you doing awake at your hour?

tplooker (Wed, 28 Oct 2020 14:22:24 GMT):
Haha I have a meeting :upside_down:

george.aristy (Wed, 28 Oct 2020 14:23:37 GMT):
... such an appropriate smiley face for you @tplooker

tplooker (Wed, 28 Oct 2020 14:24:41 GMT):
Haha yeap upside down at the bottom of the world!

ajayjadhav (Wed, 28 Oct 2020 14:36:44 GMT):
Hello @troyronda, @george.aristy - do you think one can plug-in an external KMS like Hashicorp Vault in the AF-go KMS ?

ajayjadhav (Wed, 28 Oct 2020 14:37:25 GMT):
If there is a way we can achieve, would love to work on a PR

george.aristy (Wed, 28 Oct 2020 14:37:44 GMT):
yes @ajayjadhav . The PR would go into hyperledger/aries-framework-go-ext

george.aristy (Wed, 28 Oct 2020 14:38:21 GMT):
We're currently working on a downstream remote KMS based on WebKMS that will be plugged into the framework. Will share details once it's available

george.aristy (Wed, 28 Oct 2020 14:38:47 GMT):
Do you have specific questions?

ajayjadhav (Wed, 28 Oct 2020 14:39:01 GMT):
Excellent

ajayjadhav (Wed, 28 Oct 2020 14:39:27 GMT):
I will explore the KMS api & -ext repo first and may have some questions later..

ajayjadhav (Wed, 28 Oct 2020 14:39:51 GMT):
Are there any guidelines for -ext contribution ?

Baha-sk (Wed, 28 Oct 2020 15:02:31 GMT):
@ajayjadhav , LocalKMS in aries-framework-go uses Google Tink to store keys locally, you can add a Hashicorp implementation of the kms api(https://github.com/hyperledger/aries-framework-go/blob/master/pkg/kms/api.go) and even use Google Tink integration's Hashicorp client https://github.com/google/tink/tree/master/go/integration/hcvault directly

ajayjadhav (Wed, 28 Oct 2020 15:03:33 GMT):
oh that's awesome

ajayjadhav (Wed, 28 Oct 2020 15:03:33 GMT):
oh that's awesome, Thanks @Baha-sk

Baha-sk (Wed, 28 Oct 2020 15:06:07 GMT):
Tink has a nice integration client with AWS KMS, Google GCP and Hashicorp vault that allows you to execute Tink primitives directly on the cloud, I haven't explored their integration in the framework yet

troyronda (Wed, 28 Oct 2020 15:06:19 GMT):
BBS+ verifiable credential signing example: https://github.com/hyperledger/aries-framework-go/pull/2282

Baha-sk (Wed, 28 Oct 2020 15:32:11 GMT):
also @ajayjadhav, I noticed the Tink integration clients apparently only implement AEAD Encrypt/Decrypt, there's no Sign/Verify/Wrap key/Unwrap Key... these need to be added to the clients

Baha-sk (Wed, 28 Oct 2020 15:32:11 GMT):
also @ajayjadhav, I noticed the Tink integration clients apparently only implement AEAD Encrypt/Decrypt, there's no Sign/Verify/Wrap key/Unwrap Key... these need to be added on top of the Tink integraiton (AWS KMS/GCP KMS/HashiCorp Vault) clients

Baha-sk (Wed, 28 Oct 2020 15:32:11 GMT):
also @ajayjadhav, I noticed the Tink integration clients apparently only implement AEAD Encrypt/Decrypt, there's no Sign/Verify/Wrap key/Unwrap Key... these need to be added on top of the Tink integration (AWS KMS/GCP KMS/HashiCorp Vault) clients

troyronda (Wed, 28 Oct 2020 19:52:41 GMT):
Confidential / encrypted storage capability (based on DIF EDV format): https://github.com/hyperledger/aries-framework-go/pull/2279

troyronda (Wed, 28 Oct 2020 19:54:00 GMT):
This is a generic capability on top of an underlying store. We will also be adding support for storing encrypted documents to an EDV server.

troyronda (Wed, 28 Oct 2020 20:01:48 GMT):
Example: https://github.com/hyperledger/aries-framework-go/blob/96f9a85/pkg/storage/formattedstore_test.go#L148-L162

m00sey (Wed, 28 Oct 2020 20:03:31 GMT):
Whatever you guys have in your coffee, I'll take some

m00sey (Wed, 28 Oct 2020 20:03:45 GMT):
Hard to keep up :)

troyronda (Fri, 30 Oct 2020 14:07:19 GMT):
Scoir has kindly submitted two PRs to the extension repo: MongoDB: https://github.com/hyperledger/aries-framework-go-ext/pull/17 AMQP Inbound Transport: https://github.com/hyperledger/aries-framework-go-ext/pull/16 any volunteers to review?

pfeairheller (Fri, 30 Oct 2020 14:15:44 GMT):
I promise the Indy VDRI is also on its way. I got stuck needing to get a couple PRs thru the indy-vdr repo before I can proceed.

troyronda (Fri, 30 Oct 2020 14:20:22 GMT):
Looking forward to seeing the Indy VDR

troyronda (Fri, 30 Oct 2020 14:20:49 GMT):
@pfeairheller btw - we dropped the "i" from the folder hierarchy.

pfeairheller (Fri, 30 Oct 2020 14:21:14 GMT):
ah, good to know, thanks!

o.terbu (Fri, 30 Oct 2020 14:29:02 GMT):
@troyronda @george.aristy this question is more for the trustbloc folks but it also touches my understanding of the VDRI. the trustbloc VDRI does not implement store/build methods, so i am assuming that the VDRI cannot be used for DID registration? if this is the case, i am wondering if the VDRI is involved in any VC use case such issuance and verification, or this is handled completely outside of the agent?

o.terbu (Fri, 30 Oct 2020 14:29:02 GMT):
@troyronda @george.aristy this question is more for the trustbloc folks but it also touches my understanding of the VDRI. the trustbloc VDRI does not implement store/build methods, so i am assuming that the VDRI cannot be used for DID registration? if this is the case, i am wondering if the VDRI is involved in any VC use case such issuance and verification, or is this handled completely outside of the agent?

george.aristy (Fri, 30 Oct 2020 14:31:04 GMT):
@o.terbu the trustbloc VDR is currently being used by higher layers to sign presentations. It's on our TODO list to integrate it properly into the framework.

george.aristy (Fri, 30 Oct 2020 14:31:11 GMT):
What do you mean by "DID registration"?

pfeairheller (Fri, 30 Oct 2020 14:31:17 GMT):
I'm not Troy or George, but I would say that a Verifier would need to resolve the DID of the issuer using a VDR, right?

o.terbu (Fri, 30 Oct 2020 14:32:03 GMT):
@george.aristy DID registration -> DID creation as in registering / anchoring on the trustbloc sidetree network

jceb (Fri, 30 Oct 2020 14:33:52 GMT):
@o.terbu yes, I had that very same question before. @troyronda mentioned to me that DID creation is outside the agent to keep it small and universal

pfeairheller (Fri, 30 Oct 2020 14:34:45 GMT):
@jceb that is exactly what we are doing in Canis

jceb (Fri, 30 Oct 2020 14:35:29 GMT):
@pfeairheller what is Canis?

george.aristy (Fri, 30 Oct 2020 14:35:34 GMT):
correct

george.aristy (Fri, 30 Oct 2020 14:36:55 GMT):
CreateTrustBlocDID: https://github.com/trustbloc/agent-sdk/blob/0af2a4dcf1d8125cf2e46acefe78f775c283dd5d/pkg/controller/command/didclient/command.go#L125

george.aristy (Fri, 30 Oct 2020 14:39:57 GMT):
Ends up being used in edge-agent: https://github.com/trustbloc/edge-agent/blob/3875d5f1de51a379c94d4cc8f870fea552ed9119/cmd/user-agent/src/pages/chapi/wallet/register/register.js#L36-L73

george.aristy (Fri, 30 Oct 2020 14:41:08 GMT):
Then, if the user selects the trustbloc DID on screen, it may get used to generate a presentation: https://github.com/trustbloc/edge-agent/blob/2184c263b880bd2781eb85b9b642f40b5f1c5407/cmd/user-agent/src/pages/chapi/wallet/get/didAuth.js#L44-L79

george.aristy (Fri, 30 Oct 2020 14:41:08 GMT):
Then, if the user selects the trustbloc DID on screen, it will be used to generate a presentation: https://github.com/trustbloc/edge-agent/blob/2184c263b880bd2781eb85b9b642f40b5f1c5407/cmd/user-agent/src/pages/chapi/wallet/get/didAuth.js#L44-L79

troyronda (Fri, 30 Oct 2020 14:43:22 GMT):
@o.terbu I guess we can parse this as two questions. What is the framework doing and what is the trustbloc DID method doing.

troyronda (Fri, 30 Oct 2020 14:44:16 GMT):
The framework currently focuses on DID resolution and also providing a KMS interface such that the framework can hold keypairs and make the public keys available for DID registration.

troyronda (Fri, 30 Oct 2020 14:45:20 GMT):
This is mainly due to the resolver side having a fairly clear interface: resolve a DID and return back a DID document.

troyronda (Fri, 30 Oct 2020 14:46:22 GMT):
On the DID registration side, you effectively need a DID document mutation interface and also need to make decisions on how the KMS should interface with it.

troyronda (Fri, 30 Oct 2020 14:47:09 GMT):
(see, for example, universal resolver vs universal registrar).

troyronda (Fri, 30 Oct 2020 14:48:18 GMT):
So for simplicity, we have so far, have enabled external code to perform registrar tasks by exposing the KMS interface from the framework.

troyronda (Fri, 30 Oct 2020 14:53:33 GMT):
@o.terbu On the TrustBloc DID method. The TrustBloc DID method exposes the Sidetree protocol API. We have an additional layer defined in the method to discover the endpoints for a particular network and to supply network policy.

troyronda (Fri, 30 Oct 2020 14:53:33 GMT):
@o.terbu On the TrustBloc DID method. The TrustBloc DID method exposes the Sidetree API. We have an additional layer defined in the method to discover the endpoints for a particular network and to supply network policy.

troyronda (Fri, 30 Oct 2020 14:57:12 GMT):
The policy defines the consortium membership, enables validation of changes in membership (including hash-linked history), and policies about how many members should be queried when doing DID resolution.

george.aristy (Fri, 30 Oct 2020 15:01:44 GMT):
Here's a CLI for the `did:trustbloc` method: https://github.com/trustbloc/trustbloc-did-method/blob/8f1f39e94a1e23ebe4abd213c5e6da3f2c205e29/cmd/did-method-cli/main.go#L17

george.aristy (Fri, 30 Oct 2020 15:02:15 GMT):
In case where a user wants to bootstrap trustbloc DIDs outside agents

troyronda (Fri, 30 Oct 2020 15:27:42 GMT):
https://github.com/scoir/canis

o.terbu (Mon, 02 Nov 2020 13:24:36 GMT):
thank you @troyronda and @troyronda . your answers are very helpful. could you maybe point me also to the code that issues the W3C VC using the trustbloc DID?

o.terbu (Mon, 02 Nov 2020 13:24:36 GMT):
thank you @troyronda and @george.aristy . your answers are very helpful. could you maybe point me also to the code that issues the W3C VC using the trustbloc DID?

o.terbu (Mon, 02 Nov 2020 13:24:36 GMT):
thank you @troyronda and @george.aristy . your answers are very helpful. could you maybe point me also to the code that issues the W3C VC using the trustbloc DID and where that code gets called in your trustbloc demo?

george.aristy (Mon, 02 Nov 2020 13:31:19 GMT):
@o.terbu are you looking to learn how to sign credentials using aries-framework-go?

george.aristy (Mon, 02 Nov 2020 13:31:28 GMT):
the framework is sufficiently generic to do so

o.terbu (Mon, 02 Nov 2020 13:33:32 GMT):
i am trying to learn how to use other DIDs than did:trustbloc to issue VCs and come up with a demo (for evaluation purposes). ideally, i want to reuse existing code base and just replace it with a did:elem for example.

o.terbu (Mon, 02 Nov 2020 13:34:54 GMT):
i now have a good idea how this is done from a wallet (end-user) perspective, but i have not entirely figured out where the issuer codebase is that uses the verifiable package + their DID.

george.aristy (Mon, 02 Nov 2020 13:35:03 GMT):
but, here are some pointers: * `dataProfile.Creator` is the DID: https://github.com/trustbloc/edge-service/blob/96f3294b035f3c1afd892e65b409e74b86a160bd/pkg/doc/vc/crypto/crypto.go#L173-L198 * the DID is resolved here and validated: https://github.com/trustbloc/edge-service/blob/96f3294b035f3c1afd892e65b409e74b86a160bd/pkg/doc/vc/crypto/crypto.go#L249 * after all that you build an LD Proof Context and pass it to the framework's `verifiable.Credential.AddLinkedDataProof()`https://github.com/hyperledger/aries-framework-go/blob/13c12e662e0f98a1095360b58219df280a23e8ce/pkg/doc/verifiable/credential_ldp.go#L14-L29

george.aristy (Mon, 02 Nov 2020 13:37:53 GMT):
here's another example from a different project: https://github.com/trustbloc/edge-adapter/blob/6587a7111ada6bd16386bbcd9d97806d6cfb373a/pkg/crypto/crypto.go#L52-L65

george.aristy (Mon, 02 Nov 2020 13:38:03 GMT):
`signingKeyID` is a DID URL - the verification method

george.aristy (Mon, 02 Nov 2020 13:38:37 GMT):
Pattern is always the same - you resolve that DID and validate it, then build the LD Proof Context required by the framework's `verifiable.Credential.AddLinkedDataProof()`

george.aristy (Mon, 02 Nov 2020 13:40:57 GMT):
You have to configure the framework's VDR to resolve `did:trustbloc`. Here's an example where we use a universal resolver: https://github.com/trustbloc/edge-adapter/blob/4c14603e7d5e7cf3322d024ab4f7191d24e0118f/cmd/adapter-rest/startcmd/start.go#L928-L936

o.terbu (Mon, 02 Nov 2020 13:41:55 GMT):
thanks for all these references. again very helpful and it helps me to better understand how the framework is being used.

o.terbu (Mon, 02 Nov 2020 13:42:54 GMT):
why is it needed to resolve the DID before generating the proof?

george.aristy (Mon, 02 Nov 2020 13:45:51 GMT):
It's not strictly required. It's done to ensure the DID is resolvable and correctly formed. Just a defensive measure.

o.terbu (Mon, 02 Nov 2020 13:47:06 GMT):
alright, makes sense. thanks.

jceb (Tue, 03 Nov 2020 08:55:10 GMT):
thx

ianco (Tue, 17 Nov 2020 22:08:52 GMT):
Has joined the channel.

ianco (Tue, 17 Nov 2020 22:29:54 GMT):
Hi folks, just wondering if there is an example somewhere of the type of proof request restrictions that are supported by aries-framework-go (like restrict credentials by schema, issuer did, etc)? I've done a quick review of the code and this is the only example I could find: https://github.com/hyperledger/aries-framework-go/blob/5cb023bf9a72f61e078a9c0c58fc1bf37f85001e/pkg/doc/presexch/example_test.go#L20 Thanks!

george.aristy (Tue, 17 Nov 2020 22:35:59 GMT):
@ianco correct, the framework supports presentation-exchange format.

ianco (Tue, 17 Nov 2020 23:49:44 GMT):
@george.aristy thanks for confirming! I was wondering though if there are any examples available?

troyronda (Wed, 18 Nov 2020 02:26:03 GMT):
Initial interop tests with Mattr on BBS+: https://github.com/hyperledger/aries-framework-go/pull/2326

rado0x54 (Fri, 20 Nov 2020 17:06:28 GMT):
Has joined the channel.

rado0x54 (Fri, 20 Nov 2020 17:20:35 GMT):
Hey @troyronda maybe you are already aware of this, but as a heads up `docker pull` from the github package registry (docker.pkg.github.com) is not working anymore on the latest Edge version (20.10) (I was using that and it was almost driving me mad). It works fine on the latest stable Docker Desktop (19.03). Also see https://github.com/moby/moby/issues/41687. I think the source reason is that Github Package Repository does not support pulling by SHA and the updated and error message of the edge version clearly indicates that it's trying to do that in 20.10. (https://docs.github.com/en/free-pro-team@latest/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#downloading-an-image)

rado0x54 (Fri, 20 Nov 2020 17:20:35 GMT):
Hey @troyronda maybe you are already aware of this, but as a heads up `docker pull` from the github package registry (docker.pkg.github.com) is not working anymore on the latest Edge version (20.10) (I was using that and it was almost driving me mad). It works fine on the latest stable Docker Desktop (19.03). Also see https://github.com/moby/moby/issues/41687. I think the source reason is that Github Package Repository does not support pulling by SHA and the error message of the edge version clearly indicates that it's trying to do that in 20.10. (https://docs.github.com/en/free-pro-team@latest/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#downloading-an-image)

pfeairheller (Tue, 24 Nov 2020 20:43:32 GMT):
Anyone familiar with the set up for the `ext` repo... Is the intent of the common build to NOT build any of the components' code? Right now, the common build doesn't trigger on changes to the components' code, but when it is triggered, it tries to build and test all the components too.

troyronda (Wed, 25 Nov 2020 15:09:29 GMT):
@soluchok

soluchok (Wed, 25 Nov 2020 15:18:46 GMT):
@pfeairheller if you changed only component then CI should run the tests for component. If there is at least one change out of component folder then all checks will be executed.

soluchok (Wed, 25 Nov 2020 15:20:50 GMT):
For now i don’t know how to ignore components tests when global one was executed

pfeairheller (Wed, 25 Nov 2020 15:24:12 GMT):
Thanks @soluchok , I don't think we want to use a special container for all the component builds but we need one for indy-vdr to make the shared library available. I've added some logic to the `check_unit.sh` script to allow for an exclusion used in common.yml. I'm not entirely happy with the solution so I look forward to review comments.

pfeairheller (Wed, 25 Nov 2020 15:24:53 GMT):
I'll merge my local changes over to my PR branch for `vdr/indy` and push later this afternoon

troyronda (Wed, 25 Nov 2020 17:01:42 GMT):
Thanks for the heads up. Looks like we will need to migrate to the new GitHub container registry. @firas.qutishat @george.aristy

troyronda (Wed, 25 Nov 2020 17:01:42 GMT):
Thanks for the heads up. Looks like we will need to migrate to the new GitHub container registry. @firas.qutishat @george.aristy @soluchok @rolsonquadras

troyronda (Wed, 25 Nov 2020 17:02:48 GMT):
Thanks for the heads up. Looks like we will need to migrate to the new GitHub container registry. @firas.qutishat @george.aristy @rolsonquadras @soluchok

DucaDellaForcoletta (Thu, 26 Nov 2020 08:20:05 GMT):
Has joined the channel.

lbartekl (Fri, 27 Nov 2020 09:35:11 GMT):
Has joined the channel.

Vid201 (Fri, 27 Nov 2020 10:35:05 GMT):
Hey, is /vdr/did correct endpoint for creating public did (checking on Swagger, in OpenAPI demo docs it says /vdr/create-public-did)? I also get the error {"code":4000,"message":"invalid id"}, when trying to fetch the records on /vdr/did/records.

Vid201 (Fri, 27 Nov 2020 10:54:40 GMT):
And another question: is it possible at the moment to use sideetree.js (https://github.com/transmute-industries/sidetree.js) instead of sideetree-mock? I am not quite sure how loosely coupled is Aries go. Thank you so much! :slight_smile:

Vid201 (Fri, 27 Nov 2020 10:54:40 GMT):
And another question: is it possible at the moment to use sideetree.js (https://github.com/transmute-industries/sidetree.js) instead of sideetree-mock? Or is it maybe possible only to resolve DID documents from different sideetree - e.g., sideetree on ethereum ledger? I am not quite sure how loosely coupled is Aries go. Thank you so much! :slight_smile:

Vid201 (Fri, 27 Nov 2020 10:54:40 GMT):
And another question: is it possible at the moment to use sideetree.js (https://github.com/transmute-industries/sidetree.js) instead of sideetree-mock? Or is it maybe possible only to resolve DID documents from different sideetree - e.g., sideetree on ethereum ledger (e.g., did:elem:...)? I am not quite sure how loosely coupled is Aries go. Thank you so much! :slight_smile:

troyronda (Fri, 27 Nov 2020 19:12:12 GMT):
The go framework is not coupled to any DID method.

Vid201 (Fri, 27 Nov 2020 19:18:21 GMT):
Ok, great! So what are the steps to use Aries go with different DID method? Is this done with --http-resolver-url when running aries-agent-rest?

marc0olo (Mon, 30 Nov 2020 04:51:47 GMT):
Has joined the channel.

troyronda (Mon, 30 Nov 2020 14:10:11 GMT):
Yes you can use the http-resolver-url option.

Vid201 (Mon, 30 Nov 2020 14:11:39 GMT):
Great, thanks!

troyronda (Mon, 30 Nov 2020 14:12:49 GMT):
btw - we resolved an issue on master branch for DID documents that contain the base property (like did:elem). This fix isn't yet in the docker image tags.

troyronda (Mon, 30 Nov 2020 14:12:49 GMT):
btw - we resolved an issue on master branch for DID documents that contain the base property (some of the Sidetree-based methods are including this property). This fix isn't yet in the docker image tags.

troyronda (Mon, 30 Nov 2020 14:12:49 GMT):
btw - we resolved an issue on master branch for DID documents that contain the JSON-LD `@base` property (some of the Sidetree-based methods are including this property). This fix isn't yet in the docker image tags.

troyronda (Mon, 30 Nov 2020 14:13:59 GMT):
We currently push snapshot images here: https://github.com/trustbloc-cicd/aries-framework-go

ianco (Mon, 30 Nov 2020 19:58:02 GMT):
FYI when I run the bdd tests `make bdd-test` I get teh following error: ``` --- Failed steps: Scenario: Decentralized Identifier(DID) Exchange between two Edge Agents(without Inbound) through Routers(HTTP/WS) # features/aries_mediator_e2e_sdk.feature:135 Given "Bob-Router" agent is running on "localhost,localhost" port "random,random" with "http,websocket" as the transport provider # features/aries_mediator_e2e_sdk.feature:175 Error: failed to create new agent: failed to create new agent: create packer failed: authcrypt: fcntl: too many open files 6 scenarios (5 passed, 1 failed) 238 steps (189 passed, 1 failed, 48 skipped) 45.895259348s ``` Running on a Mac sync'ed to the latest `master` branch

ianco (Mon, 30 Nov 2020 19:58:02 GMT):
FYI when I run the bdd tests `make bdd-test` I get the following error: ``` --- Failed steps: Scenario: Decentralized Identifier(DID) Exchange between two Edge Agents(without Inbound) through Routers(HTTP/WS) # features/aries_mediator_e2e_sdk.feature:135 Given "Bob-Router" agent is running on "localhost,localhost" port "random,random" with "http,websocket" as the transport provider # features/aries_mediator_e2e_sdk.feature:175 Error: failed to create new agent: failed to create new agent: create packer failed: authcrypt: fcntl: too many open files 6 scenarios (5 passed, 1 failed) 238 steps (189 passed, 1 failed, 48 skipped) 45.895259348s ``` Running on a Mac sync'ed to the latest `master` branch

ianco (Mon, 30 Nov 2020 22:33:59 GMT):
Also - question on the openapi demo (https://github.com/hyperledger/aries-framework-go/blob/master/docs/rest/openapi_demo.md) - there are links to the openapi interface for each agent (e.g. alice at http://localhost:8089/openapi/) however the swagger page displays the "Swagger Petstore" api

ianco (Mon, 30 Nov 2020 22:34:23 GMT):
Is there a swagger page for the aries go REST interface? Or a document that lists all the api calls available?

MajdT51 (Tue, 01 Dec 2020 09:56:46 GMT):
Has joined the channel.

Vid201 (Tue, 01 Dec 2020 13:22:13 GMT):
I am still getting the error invalid id when trying to resolve DID documents (on latest master). Started agent with:

Vid201 (Tue, 01 Dec 2020 13:22:13 GMT):
I am still getting the error invalid id when trying to resolve DID documents (on latest master). Started agent with:`./aries-agent-rest start --api-host localhost:8080 -q mem --http-resolver-url elem@https://element-did.com/api/v1/sidetree --inbound-host http@localhost:8081,ws@localhost:8082 --inbound-host-external http@https://example.com:8081,ws@ws://localhost:8082 --webhook-url localhost:8082 --agent-default-label MyAgent`

Vid201 (Tue, 01 Dec 2020 13:23:22 GMT):
Getting response: `{"code":4000,"message":"invalid id"}`, when sending request: `curl -X GET "http://localhost:8080/vdr/did/resolve/did:elem:EiC1Tgosui5O6ikTFQWrIMeDa2SQdxJZjGSZCjNu-AArVA" -H "accept: application/json"`

Vid201 (Tue, 01 Dec 2020 13:23:22 GMT):
Getting response: `{"code":4000,"message":"invalid id"}`, when sending request: `curl -X GET "http://localhost:8080/vdr/did/resolve/did:elem:ropsten:EiD-qV6sZTld6O0s-AHF32_btuAzcTJn7-YJBGyjMnucdQ" -H "accept: application/json"`

Vid201 (Tue, 01 Dec 2020 13:55:36 GMT):
Hi, just run: `generate-openapi-spec` in root directory and Swagger page will be generated.

Vid201 (Tue, 01 Dec 2020 13:55:36 GMT):
Hi, just run: `make generate-openapi-spec` in root directory and Swagger page will be generated.

ianco (Tue, 01 Dec 2020 14:14:00 GMT):
That worked, thanks!

ianco (Tue, 01 Dec 2020 14:54:51 GMT):
For the openapi demo I'm stuck on this step: ```Note: Since this open api demo makes API calls in https make sure you import tls certs generated while running above target. Generated certs can be found in test/bdd/fixtures/keys/tls. ```

ianco (Tue, 01 Dec 2020 14:55:18 GMT):
I've started up all the services as per: https://github.com/hyperledger/aries-framework-go/blob/master/docs/test/bdd_tests.md#run-tests-in-detached-mode ...

ianco (Tue, 01 Dec 2020 14:55:57 GMT):
I'm able to call the service using curl by specifying `--insecure`, like: ``` curl --insecure -X POST "https://localhost:8082/connections/create-invitation?alias=test1" -H "accept: application/json" -d "" ```

ianco (Tue, 01 Dec 2020 14:56:21 GMT):
... but not sure how to import the certs (I/m running on a Mac)

ianco (Tue, 01 Dec 2020 14:56:21 GMT):
... but not sure how to import the certs (I'm running on a Mac)

ianco (Tue, 01 Dec 2020 16:43:09 GMT):
(... or is it possible to run the agents in `http` mode rather than `https`?)

ianco (Tue, 01 Dec 2020 17:05:06 GMT):
... never mind figured it out :-D

troyronda (Wed, 02 Dec 2020 14:05:24 GMT):
@ianco cool!

tschulshuh (Wed, 02 Dec 2020 15:14:48 GMT):
Has joined the channel.

tschulshuh (Wed, 02 Dec 2020 15:14:49 GMT):
Hi there, i was wondering why i could not find anything related to anoncreds. Can someone ealborate on why indy anoncreds are used in the .NET framework but seemlingly not in the go framework?

tschulshuh (Wed, 02 Dec 2020 15:14:49 GMT):
Hi there, i was wondering why i could not find anything related to anoncreds. Can someone elaborate on why indy anoncreds are used in the .NET framework but seemlingly not in the go framework?

troyronda (Wed, 02 Dec 2020 15:53:30 GMT):
@tschulshuh Our efforts into the go framework have focused on ledger-agnostic features. As such, we have contributed the W3C verifiable credential JSON-LD data model, JSON-LD linked signatures, and are now working on BBS+-based selective disclosure.

troyronda (Wed, 02 Dec 2020 15:53:30 GMT):
@tschulshuh Our efforts into the go framework have focused on ledger-agnostic features. As such, we have contributed (into the go framework) the W3C verifiable credential JSON-LD data model, JSON-LD linked signatures, and are now working on BBS+-based selective disclosure.

troyronda (Wed, 02 Dec 2020 15:54:19 GMT):
The benefit is that you can use the Go framework across DID methods / registries.

troyronda (Wed, 02 Dec 2020 15:54:19 GMT):
Note: you can use the Go framework across DID methods / registries.

marc0olo (Wed, 02 Dec 2020 16:28:35 GMT):
@troyronda can the go framework currently be used with indy?

troyronda (Wed, 02 Dec 2020 17:23:29 GMT):
@marc0olo @pfeairheller is working on that. He would be best to give an update on the status.

troyronda (Wed, 02 Dec 2020 17:23:53 GMT):
https://github.com/hyperledger/aries-framework-go-ext/pull/34

pfeairheller (Wed, 02 Dec 2020 17:25:20 GMT):
@troyronda @marc0olo I am waiting for reviews on that PR. It is ready to go once approved.

pfeairheller (Wed, 02 Dec 2020 17:26:07 GMT):
We have used it internally against both local instances of indy ledgers as well as Sovrin stagenet and buildernet

marc0olo (Wed, 02 Dec 2020 17:29:18 GMT):
ok thanks for that information! :)

marc0olo (Wed, 02 Dec 2020 17:37:38 GMT):
general question about the agents and framework(s) => where do you see the interoperability part on the DID layer being placed as we need to distinguish between lookup/verification & crud operations? will the uniresolver be used for lookup/verification within the agent implementation? will the different frameworks eventually support the crud operations of different DID methods? how is your take on that?

pfeairheller (Wed, 02 Dec 2020 17:40:41 GMT):
In our project, we rely on functionality outside of the aries-go framework for creating DIDs on the ledger. The `vdr` implementation is only for resolving DIDs.

pfeairheller (Wed, 02 Dec 2020 17:41:54 GMT):
The main reason for this is the extra complication associated with registering DIDs with Indy. You need to sign the requests with a DID already on the ledger that has the proper permissions and you need to specify a `role` for the new DID. None of those are concerns of the aries-go framework right now.

pfeairheller (Wed, 02 Dec 2020 17:42:55 GMT):
Besides, our project also has functionality for writing other artifacts to the ledger for schema creation and credential issuance.

marc0olo (Wed, 02 Dec 2020 17:47:26 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=RGd35skGBKTnBwaiN) can you point me to the code? that would be nice

pfeairheller (Wed, 02 Dec 2020 17:50:05 GMT):
The project I am referring to is https://github.com/scoir/canis In particular, we have an Indy credential engine implementation that handles the this using the go wrapper for indy_vdr. Its implementation is here: https://github.com/scoir/canis/blob/main/pkg/credential/engine/indy/engine.go

marc0olo (Wed, 02 Dec 2020 17:52:09 GMT):
ok, I see. thank you! it's hard for newcomers to know how all these projects are related (or even finding them :D)

pfeairheller (Wed, 02 Dec 2020 20:05:27 GMT):
Question about credential formats inside the attachment data of the issue-credential v2 protocol message. If I'm reading the spec correctly, those credentials can be any format listed in the "Credential Attachment Registry" table after each message. So we've done that with the output from our implementation of Indy credentials and aries-go is not saving the credential because it is assuming W3c formatted credentials. Are we expected to implement a different middleware for the different credential formats or am I missing something else?

troyronda (Wed, 02 Dec 2020 20:07:41 GMT):
@soluchok @george.aristy ^^^

troyronda (Wed, 02 Dec 2020 20:37:00 GMT):
My understanding from @soluchok is that a different middleware should be created.

soluchok (Wed, 02 Dec 2020 21:46:57 GMT):
Middleware that stores presentation now is more like a demo, just to show the usage.

lbartekl (Thu, 03 Dec 2020 08:45:27 GMT):
hi guys, could you tell me if aries go mobile is ready enough to use it for PoC?

lbartekl (Thu, 03 Dec 2020 10:43:02 GMT):
I just need to make an app that can establish connection, accept credentials and present them

kapster (Fri, 04 Dec 2020 09:18:52 GMT):
Has joined the channel.

troyronda (Sat, 05 Dec 2020 23:36:31 GMT):
BBS+ selective disclosure PR: https://github.com/hyperledger/aries-framework-go/pull/2375

m00sey (Mon, 07 Dec 2020 22:30:25 GMT):
@tarkochevamik and I are picking up https://github.com/hyperledger/aries-framework-go/issues/626 as this is now blocking interop testing with vendors, we should slate five minutes for discussion/concerns on tomorrows call?

troyronda (Tue, 08 Dec 2020 15:23:20 GMT):
@firas.qutishat @george.aristy ^^^

troyronda (Tue, 08 Dec 2020 18:29:22 GMT):
BBS+ selective disclosure interop test of aries-framework-go against Mattr implementation: https://github.com/hyperledger/aries-framework-go/pull/2389

MajdT51 (Wed, 09 Dec 2020 11:24:06 GMT):
what you figured out :D?

george.aristy (Wed, 09 Dec 2020 15:37:06 GMT):
Do you guys mind if I assign the issue to you?

m00sey (Wed, 09 Dec 2020 15:37:49 GMT):
not at all, I added a note to the meeting notes as well

george.aristy (Wed, 09 Dec 2020 15:37:56 GMT):
Thank you

m00sey (Wed, 09 Dec 2020 15:38:00 GMT):
+1

mupheux (Wed, 09 Dec 2020 17:13:33 GMT):
Has joined the channel.

mupheux (Wed, 09 Dec 2020 17:13:34 GMT):
Hi all, I am new to aries-go and saddled with the responsibility of writing test for it

mupheux (Wed, 09 Dec 2020 17:15:05 GMT):
I am a little confused, I see this in the description for afgo but was told that it does not need a connection protocol. Can anyone help in shedding light on this

mupheux (Wed, 09 Dec 2020 17:15:06 GMT):
HTTP POST /connections/create-invitation

mupheux (Wed, 09 Dec 2020 17:15:34 GMT):
This surely is connection protocol being described.

marc0olo (Wed, 09 Dec 2020 18:12:51 GMT):
I already asked in the main aries channel about this behavior. but I am just wondering about the perspective of the go framework it is planned to tackle that usecase. it's not specific to the go framework - but I guess that we need to tackle this. if I want to prove a verifier something which is part of a verifiable credential (issued by a known, trusted public DID) within my pairwise channel over did:peer without disclosing the my VCs subject DID - how can I achieve that? I see that you merged a PR that includes the BBS+ selective disclosure approach pioneered by Mattr. can this be used to achieve that? I know that in Indy / Sovrin we can make use of blinded link secrets to achieve that. I guess that's currently not possible with the go framework, right?

marc0olo (Wed, 09 Dec 2020 18:12:51 GMT):
I already asked in the main aries channel about this behavior. but I am just wondering about the perspective of the go framework it is planned to tackle that usecase. it's not specific to the go framework - but I guess that we need to tackle this. if I want to prove a verifier something which is part of a verifiable credential (issued by a known, trusted public DID) within my pairwise channel over did:peer without disclosing the VCs subject DID - how can I achieve that? I see that you merged a PR that includes the BBS+ selective disclosure approach pioneered by Mattr. can this be used to achieve that? I know that in Indy / Sovrin we can make use of blinded link secrets to achieve that. I guess that's currently not possible with the go framework, right?

troyronda (Wed, 09 Dec 2020 19:23:46 GMT):
This is DID Exchange protocol.

george.aristy (Wed, 09 Dec 2020 19:26:48 GMT):
@marc0olo this should absolutely be possible with our support for BBS+

george.aristy (Wed, 09 Dec 2020 19:27:15 GMT):
Please give it a spin and let us know if you run into any issues.

troyronda (Wed, 09 Dec 2020 19:29:24 GMT):
Note: many features in the framework don't require a DIDComm connection. Examples: DID management, verifiable credentials, etc.

troyronda (Wed, 09 Dec 2020 19:30:00 GMT):
@soluchok can probably remind me if the lower level DIDComm messenger depends on a connection record existing.

marc0olo (Wed, 09 Dec 2020 19:30:32 GMT):
glad to hear that. need to test this and will come back if I have questions or face any issues. if you know about a demo setup where this is being demonstrated please let me know :)

george.aristy (Wed, 09 Dec 2020 19:31:57 GMT):
We don't have a demo yet I'm afraid. BBS+ selective disclosure barely made it into this release :).

george.aristy (Wed, 09 Dec 2020 19:32:21 GMT):
We will have a demo some time in Q1.

marc0olo (Wed, 09 Dec 2020 19:33:17 GMT):
sounds good. yes I see, it's a new feature :thumbsup:

george.aristy (Wed, 09 Dec 2020 19:37:53 GMT):
@mupheux the protocol used by this endpoint is in fact did-exchange despite "connections" being a path component.

troyronda (Wed, 09 Dec 2020 20:06:23 GMT):
@here v0.1.5 release notes: https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.5

troyronda (Thu, 10 Dec 2020 13:53:54 GMT):
Included with 0.1.5 is an encrypted remote storage feature, you can read more about it here: https://github.com/hyperledger/aries-framework-go/blob/master/docs/encrypted_storage.md

mupheux (Fri, 11 Dec 2020 16:27:28 GMT):
Pls, I have an aries-go instance running, how do I get to it's swagger interface?

mupheux (Fri, 11 Dec 2020 17:07:00 GMT):
?

rolsonquadras (Fri, 11 Dec 2020 18:42:30 GMT):
@mupheux - https://github.com/hyperledger/aries-framework-go/blob/master/docs/rest/openapi_demo.md - you can refer this page for OpenAPI/Swagger details.

mupheux (Fri, 11 Dec 2020 21:09:11 GMT):
Thanks. I get this error on the master branch whenever I run -> make run-openapi-demo Creating bob.aries.example.com ... done Pulling aries.bdd.sidetree.mock (docker.pkg.github.com/trustbloc-cicd/snapshot/sidetree-mock:0.1.5-snapshot-304ec7a)... ERROR: Head https://docker.pkg.github.com/v2/trustbloc-cicd/snapshot/sidetree-mock/manifests/0.1.5-snapshot-304ec7a: no basic auth credentials make: *** [run-openapi-demo] Error 1 Does anyone has an idea what may be wrong or what branch I should run this on other than master. Thanks

mupheux (Fri, 11 Dec 2020 21:18:19 GMT):
Got latest version, same issue happened Digest: sha256:b604d056d8024f10346eab768de7aea06bc0a1b7c55d6087e1b1cd4328c8061c Status: Downloaded newer image for couchdb:3.1.0 Pulling kms.example.com (docker.pkg.github.com/trustbloc/hub-kms/kms-rest:0.1.5)... ERROR: Head https://docker.pkg.github.com/v2/trustbloc/hub-kms/kms-rest/manifests/0.1.5: no basic auth credentials make: *** [run-openapi-demo] Error 1

troyronda (Sat, 12 Dec 2020 00:39:45 GMT):
Unfortunately you need to authenticate to the GitHub registry.

troyronda (Sat, 12 Dec 2020 00:39:45 GMT):
Unfortunately you need to authenticate to the GitHub Docker package registry.

troyronda (Sat, 12 Dec 2020 00:46:45 GMT):
Please see https://github.com/hyperledger/aries-framework-go/blob/master/docs/test/build.md#Prerequisites-(for-running-tests-and-demos)

troyronda (Sat, 12 Dec 2020 00:46:52 GMT):
Configure Docker to use GitHub Packages - Authenticate using GitHub token

troyronda (Sat, 12 Dec 2020 00:47:14 GMT):
@mupheux

mupheux (Sat, 12 Dec 2020 02:13:27 GMT):
Thanks. Got it working. ;)

marc0olo (Mon, 14 Dec 2020 17:44:03 GMT):
do you know of a public example available that showcases didexchange between ACA-Py and aries-framework-go ? just asking before trying to get it working on my own

swcurran (Mon, 14 Dec 2020 17:50:36 GMT):
It's not been done yet. We (ACA-Py team) will also be working on it soon, but haven't started. The DID Exchange/OOB code just landed in ACA-Py.

marc0olo (Mon, 14 Dec 2020 17:51:55 GMT):
ahh cool. but if I am using the code in the master I should be able to run such an example already?

marc0olo (Mon, 14 Dec 2020 17:51:55 GMT):
ahh cool. but if I am using the codebase in the master (ACA-Py) I should be able to run such an example already?

swcurran (Mon, 14 Dec 2020 17:55:07 GMT):
There is an aca-py to aca-py example that is working, but not one that works with aries-framework-go

marc0olo (Mon, 14 Dec 2020 17:56:05 GMT):
I understood. but if I want to try to get such an example working I would already be able to do so, right?

pfeairheller (Wed, 16 Dec 2020 12:12:06 GMT):
@swcurran As it stands right now, the aries-go version of OOB and didexchange are out of date. @m00sey and @tarkochevamik have picked up issues https://github.com/hyperledger/aries-framework-go/issues/2283 and https://github.com/hyperledger/aries-framework-go/issues/626 to bring those protocols up to date with the latest RFCs. You might want to hold off until that work is complete.

marc0olo (Wed, 16 Dec 2020 12:18:30 GMT):
we discovered this yesterday, too. @pfeairheller when do you think will v0.1.6 be released?

pfeairheller (Wed, 16 Dec 2020 13:11:22 GMT):
@george.aristy @troyronda are the ones to answer that question!

george.aristy (Wed, 16 Dec 2020 14:31:23 GMT):
We'll keep the community updated as we go!

m00sey (Wed, 16 Dec 2020 14:43:56 GMT):
Could we use one of the afg planning calls to do a session on long term/short term road map? Maybe at the start of the new year? That way the community can have a view into what afg’s priorities are. It would give each of the contributors a chance to discuss their goals for the framework too.

marc0olo (Fri, 18 Dec 2020 14:56:28 GMT):
Hi, I am currently trying to create an implicit invitation for didexchange by resolving a DID based on `did:web` and I get the error msg `did method web not supported for vdr`. is it possible to configure the go-framework to use the http vdr via uniresolver?

marc0olo (Fri, 18 Dec 2020 14:56:28 GMT):
Hi, I am currently trying to create an implicit invitation for didexchange by resolving a DID based on `did:web` and I get the error msg `did method web not supported for vdr`. is it possible to configure the go-framework to use the httpbinding together with the uniresolver to achieve that?

marc0olo (Fri, 18 Dec 2020 15:24:06 GMT):
it seems like I am not using the httpbinding in my go agent. otherwise "accept" should return `true` for every method, right? https://github.com/hyperledger/aries-framework-go/blob/eebf14a1fae48bad4b7a2fe7a23834ce0aa6e6d9/pkg/vdr/httpbinding/vdr.go#L37

marc0olo (Fri, 18 Dec 2020 15:27:45 GMT):
I need to configure the registry to use the vdr with the httpbinding, right?

marc0olo (Fri, 18 Dec 2020 15:29:59 GMT):
I need to say that I am currently running the go agent with the rest binding

marc0olo (Fri, 18 Dec 2020 15:41:16 GMT):
ok got it. had to set the env param `ARIESD_HTTP_RESOLVER`. now I am facing another issue but the httpresolver is configured :D

troyronda (Fri, 18 Dec 2020 16:11:08 GMT):
@marc0olo - also FYI: there is a go implementation of did:web that the framework instance can be instantiated with.

troyronda (Fri, 18 Dec 2020 16:11:42 GMT):
https://github.com/hyperledger/aries-framework-go/tree/master/pkg/vdr/web

troyronda (Fri, 18 Dec 2020 16:12:14 GMT):
We should probably add an option to the pre-built docker image for that.

troyronda (Fri, 18 Dec 2020 16:14:01 GMT):
See https://pkg.go.dev/github.com/hyperledger/aries-framework-go/pkg/framework/aries#WithVDR for the option to pass Go VDRs into the framework instantiation.

marc0olo (Fri, 18 Dec 2020 16:24:24 GMT):
that would be nice! I think for the moment the httpbinding is sufficient for me. it seems like I have to fix my did document as the go framework tells me `public key is nil`

marc0olo (Fri, 18 Dec 2020 17:07:08 GMT):
just to let you know - I am currently playing around with the `implicit invitation` which is provided by an ACA-Py instance using `did:web`. my go-agent creates and implicit invitation by resolving the `did:web` (which works) and sens a didexchange request to alice (acap-py). on alice's side I get following error: ``` agent-acapy-alice | 2020-12-18 16:41:11,107 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/didexchange/1.0/request', '@id': '78b68daa-d362-4d01-ad61-1c5e0c1d5261', 'connection': {'did': 'did:peer:1zQmZsWQJxGh1UCBazpqkmvUjRkYExiDh76pDHzmRdheoVBo', 'did_doc': {'@context': ['https://w3id.org/did/v1'], 'id': 'did:peer:1zQmZsWQJxGh1UCBazpqkmvUjRkYExiDh76pDHzmRdheoVBo', 'verificationMethod': [{'controller': '', 'id': '#ES1wlPC8xJiT1eDmokYO27G19CnC15YRf9t5w-_8cEE', 'publicKeyBase58': '2uQUakZsX31ZJkqstApa93iQJvFTLU1JxxNsgmpYDejn', 'type': 'Ed25519VerificationKey2018'}], 'service': [{'id': '063902e8-85d7-4cb1-bf51-0302ff8b6abb', 'priority': 0, 'recipientKeys': ['2uQUakZsX31ZJkqstApa93iQJvFTLU1JxxNsgmpYDejn'], 'routingKeys': [], 'serviceEndpoint': 'ws://agent-go-ingrid:8001', 'type': 'did-communication'}], 'authentication': ['#ES1wlPC8xJiT1eDmokYO27G19CnC15YRf9t5w-_8cEE'], 'assertionMethod': ['#ES1wlPC8xJiT1eDmokYO27G19CnC15YRf9t5w-_8cEE'], 'created': '2020-12-18T16:41:11.0991661Z', 'updated': '2020-12-18T16:41:11.0991661Z'}}, '~thread': {'pthid': 'did:web:marc0olo.github.io:did-web-test:organization-alice'}} agent-acapy-alice | 2020-12-18 16:41:11,107 aries_cloudagent.protocols.connections.v1_0.manager WARNING No corresponding DID found for sender verkey: 2uQUakZsX31ZJkqstApa93iQJvFTLU1JxxNsgmpYDejn agent-acapy-alice | 2020-12-18 16:41:11,109 aries_cloudagent.messaging.models.base ERROR DIDXRequest message validation error: agent-acapy-alice | Traceback (most recent call last): agent-acapy-alice | File "/home/indy/aries_cloudagent/messaging/models/base.py", line 127, in deserialize agent-acapy-alice | return schema.loads(obj) if isinstance(obj, str) else schema.load(obj) agent-acapy-alice | File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/marshmallow/schema.py", line 723, in load agent-acapy-alice | data, many=many, partial=partial, unknown=unknown, postprocess=True agent-acapy-alice | File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/marshmallow/schema.py", line 904, in _do_load agent-acapy-alice | raise exc agent-acapy-alice | marshmallow.exceptions.ValidationError: {'label': ['Missing data for required field.']} agent-acapy-alice | 2020-12-18 16:41:11,111 aries_cloudagent.core.dispatcher ERROR Message parsing failed: Error deserializing message: DIDXRequest schema validation failed, sending problem report ```

marc0olo (Fri, 18 Dec 2020 17:07:08 GMT):
just to let you know - I am currently playing around with the `implicit invitation` which is provided by an ACA-Py instance using `did:web`. my go-agent creates and implicit invitation by resolving the `did:web` (which works) and sends a didexchange request to alice (acap-py). on alice's side I get following error: ``` agent-acapy-alice | 2020-12-18 16:41:11,107 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/didexchange/1.0/request', '@id': '78b68daa-d362-4d01-ad61-1c5e0c1d5261', 'connection': {'did': 'did:peer:1zQmZsWQJxGh1UCBazpqkmvUjRkYExiDh76pDHzmRdheoVBo', 'did_doc': {'@context': ['https://w3id.org/did/v1'], 'id': 'did:peer:1zQmZsWQJxGh1UCBazpqkmvUjRkYExiDh76pDHzmRdheoVBo', 'verificationMethod': [{'controller': '', 'id': '#ES1wlPC8xJiT1eDmokYO27G19CnC15YRf9t5w-_8cEE', 'publicKeyBase58': '2uQUakZsX31ZJkqstApa93iQJvFTLU1JxxNsgmpYDejn', 'type': 'Ed25519VerificationKey2018'}], 'service': [{'id': '063902e8-85d7-4cb1-bf51-0302ff8b6abb', 'priority': 0, 'recipientKeys': ['2uQUakZsX31ZJkqstApa93iQJvFTLU1JxxNsgmpYDejn'], 'routingKeys': [], 'serviceEndpoint': 'ws://agent-go-ingrid:8001', 'type': 'did-communication'}], 'authentication': ['#ES1wlPC8xJiT1eDmokYO27G19CnC15YRf9t5w-_8cEE'], 'assertionMethod': ['#ES1wlPC8xJiT1eDmokYO27G19CnC15YRf9t5w-_8cEE'], 'created': '2020-12-18T16:41:11.0991661Z', 'updated': '2020-12-18T16:41:11.0991661Z'}}, '~thread': {'pthid': 'did:web:marc0olo.github.io:did-web-test:organization-alice'}} agent-acapy-alice | 2020-12-18 16:41:11,107 aries_cloudagent.protocols.connections.v1_0.manager WARNING No corresponding DID found for sender verkey: 2uQUakZsX31ZJkqstApa93iQJvFTLU1JxxNsgmpYDejn agent-acapy-alice | 2020-12-18 16:41:11,109 aries_cloudagent.messaging.models.base ERROR DIDXRequest message validation error: agent-acapy-alice | Traceback (most recent call last): agent-acapy-alice | File "/home/indy/aries_cloudagent/messaging/models/base.py", line 127, in deserialize agent-acapy-alice | return schema.loads(obj) if isinstance(obj, str) else schema.load(obj) agent-acapy-alice | File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/marshmallow/schema.py", line 723, in load agent-acapy-alice | data, many=many, partial=partial, unknown=unknown, postprocess=True agent-acapy-alice | File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/marshmallow/schema.py", line 904, in _do_load agent-acapy-alice | raise exc agent-acapy-alice | marshmallow.exceptions.ValidationError: {'label': ['Missing data for required field.']} agent-acapy-alice | 2020-12-18 16:41:11,111 aries_cloudagent.core.dispatcher ERROR Message parsing failed: Error deserializing message: DIDXRequest schema validation failed, sending problem report ```

marc0olo (Tue, 22 Dec 2020 09:23:36 GMT):
I want to test the implicit invitation of didexchange using aries-go. can I just create a keyset using the kms endpoint and publish that public key in the recipientKeys array within the service of the did-document? I am wondering about the format of the public key when creating a keypair with keytype `ED25519`. I got following public key: `GXuoM_hWSIQs1pq3I7CX0Pa_E1-OQgn38dP_twE78o4`

newdev42 (Tue, 29 Dec 2020 02:56:26 GMT):
Has joined the channel.

ghabxph (Sat, 02 Jan 2021 08:18:03 GMT):
Has joined the channel.

kapster (Mon, 04 Jan 2021 09:56:12 GMT):
Is aries go framework able to connect with indy/von-network and use it as a vdr?

pfeairheller (Tue, 05 Jan 2021 17:01:15 GMT):
Yes you can, using the Indy VDR extension found in the `aries-framework-go-ext` repo... we are hoping to get it merged into `main` today!

troyronda (Tue, 05 Jan 2021 17:57:20 GMT):
it's now merged :).

m00sey (Tue, 05 Jan 2021 19:26:02 GMT):
Having issues running the bdd tests `ERROR: Head "https://docker.pkg.github.com/v2/trustbloc-cicd/snapshot/sidetree-mock/manifests/0.1.5-snapshot-304ec7a": no basic auth credentials` - I am `docker login`'d something else I am missing?

troyronda (Tue, 05 Jan 2021 19:28:41 GMT):
@m00sey This is due to the original GitHub docker registry requiring authentication even for anonymous access.

troyronda (Tue, 05 Jan 2021 19:28:52 GMT):
I am working on migrating to the new container registry.

troyronda (Tue, 05 Jan 2021 19:42:20 GMT):
@m00sey https://github.com/hyperledger/aries-framework-go/pull/2428/files

m00sey (Tue, 05 Jan 2021 19:45:52 GMT):
ah great, thank you

m00sey (Wed, 06 Jan 2021 03:01:29 GMT):
Think I am making the bdd stuff harder than it is - trying to run now I get ```failed to get successful response from 'http://localhost:48326/sidetree/0.0.1/operations', unexpected status code [400], and message [bad request: recovery and update commitments cannot be equal, re-using public keys is not allowed]``` @ianco is this something you hit when you were running this recently?

ianco (Wed, 06 Jan 2021 03:38:50 GMT):
Nope this is a new error

troyronda (Wed, 06 Jan 2021 14:49:46 GMT):
@m00sey I just successfully ran bdd tests locally. What step are you having an issue? Perhaps reset your docker containers?

kapster (Thu, 07 Jan 2021 12:30:13 GMT):
great :thumbsup: @pfeairheller @troyronda but is it possible to use that extension with mobile agent as well?

pfeairheller (Thu, 07 Jan 2021 12:38:07 GMT):
since this extension requires `libindy-vdr.so` share lib it will not run on a mobile device. However, you could build the `aries-rest-agent` with this extension enabled and run your mobile agent connected to the rest agent.

kapster (Thu, 07 Jan 2021 13:54:15 GMT):
@pfeairheller are there any plans to make mobile bindings for that extension? or because of `libindy-vdr` dependency it is not likely to happen?

m00sey (Thu, 07 Jan 2021 15:25:12 GMT):
@troyronda thanks, I cleaned up my docker images and I've checked out master and am attempting to run bdd - apologies for not getting back to you, I got distracted yesterdat

m00sey (Thu, 07 Jan 2021 15:25:12 GMT):
@troyronda thanks, I cleaned up my docker images and I've checked out master and am attempting to run bdd - apologies for not getting back to you, I got distracted yesterday

troyronda (Thu, 07 Jan 2021 19:57:44 GMT):
@here we have now re-published the last release docker image to the new GitHub container repository.

troyronda (Thu, 07 Jan 2021 19:57:44 GMT):
@here we have now re-published the last release docker image to the new GitHub container repository (was agent-rest).

troyronda (Thu, 07 Jan 2021 19:57:51 GMT):
docker pull ghcr.io/hyperledger/aries-framework-go:0.1.5

troyronda (Thu, 07 Jan 2021 19:58:31 GMT):
the new GitHub container registry allows for anonymous pulls.

troyronda (Thu, 07 Jan 2021 19:59:13 GMT):
https://github.com/orgs/hyperledger/packages/container/package/aries-framework-go

da3v21 (Sun, 10 Jan 2021 12:28:34 GMT):
Has joined the channel.

sheldon.regular (Mon, 11 Jan 2021 22:01:51 GMT):
Hi Everyone, Question on DIDExchange. The docs day to call `HTTP POST /connections/create-invitation` to initiate the DID Exchange Protocol. Can the `outofband/create-invitation` be used just as well as the connections call? I ask because the DID Exchange RFC 0023 states to do the invitation through OOB. To further that, if it can, is this the proper order of operations for DID Exchange with OOB? ``` outofband/create-invitation outofband/accept-invitation connections/accept-invitation connections/accept-request ``` Thanks.

mupheux (Mon, 11 Jan 2021 23:53:19 GMT):
pls I need a sample request for (POST) introduce​/send-request**

mupheux (Mon, 11 Jan 2021 23:54:15 GMT):
{ "my_did": "string", "please_introduce_to": { "description": "string", "description~l10n": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" }, "img~attach": { "content": { "byte_count": 0, "link": "string", "sha256": "string" }, "description": "string", "filename": "string", "mime-type": "string" }, "name": "string", "proposed": true, "where": "string" }, "their_did": "string" }

mupheux (Mon, 11 Jan 2021 23:54:33 GMT):
with possible values and not string

kapster (Tue, 12 Jan 2021 08:48:35 GMT):
@troyronda maybe you could answer my question, if there are any plans to make it possible to use ``framework-go-ext` on mobile devices or whether it is even possible at all. I cannot use rest agent and for me useing mobile bindings in native code seems much better option than xamarin

troyronda (Tue, 12 Jan 2021 13:40:03 GMT):
I assume you are asking about mobile indy bindings in aries framework go. (since most other components are buildable for mobile). We don't personally have plans for this effort but maybe others do.

troyronda (Tue, 12 Jan 2021 13:40:03 GMT):
I assume you are asking about mobile indy bindings in aries framework go. (since most other components are buildable for mobile). We don't personally have plans for this effort but others are welcome to do so.

troyronda (Tue, 12 Jan 2021 13:40:03 GMT):
I assume you are asking about mobile indy bindings for aries framework go. (since most other components are buildable for mobile). We don't personally have plans for this effort but others are welcome to do so.

troyronda (Tue, 12 Jan 2021 13:40:10 GMT):
@kapster

soluchok (Tue, 12 Jan 2021 13:42:01 GMT):
@mupheux we have BDD tests that cover this logic https://github.com/hyperledger/aries-framework-go/blob/master/test/bdd/pkg/introduce/introduce_controller_steps.go#L241

soluchok (Tue, 12 Jan 2021 13:43:58 GMT):
@mupheux let me know if you have an issues

soluchok (Tue, 12 Jan 2021 13:43:58 GMT):
@mupheux let me know if you have any issues

sudeshrshetty (Tue, 12 Jan 2021 13:52:02 GMT):
@sheldon.regular Yes you can use ` outofband/create-invitation`

mupheux (Tue, 12 Jan 2021 21:08:53 GMT):
I can get this to work {{alice_url}}/connections?state=requested but filtering on invitationid fails {{alice_url}}/connections?invitationid=e486bc66-9faf-47be-8fe6-d8c3a2e766bd. Pls how do I filter based on invitationid? Thanks

soluchok (Wed, 13 Jan 2021 10:11:43 GMT):
@mupheux you can't do that. `/connections` API do not support filtering by `invitationid`.

kapster (Wed, 13 Jan 2021 14:07:31 GMT):
@soluchok as @troyronda mentioned above you have been working on injectable storage for mobile. Has it been done or that issue is still opened? I am experiencing crashes and just wonder whether it is not completed or I don't know how to use it.

soluchok (Wed, 13 Jan 2021 15:03:35 GMT):
@mupheux I have created a PR. Pls, take a look. https://github.com/hyperledger/aries-framework-go/pull/2443

mupheux (Wed, 13 Jan 2021 19:30:44 GMT):
Thanks

troyronda (Fri, 15 Jan 2021 15:07:58 GMT):
We will be renaming master branch of aries-framework-go to main. Once this is done you will need to update your local copy as follows: git branch -m master main git fetch origin git branch -u origin/main main

troyronda (Fri, 15 Jan 2021 15:17:15 GMT):
@here branch has been renamed to main.

m00sey (Fri, 15 Jan 2021 15:50:53 GMT):
:beers:

troyronda (Fri, 15 Jan 2021 21:09:36 GMT):
BBS+ support in Presentation Exchange has been merged: https://github.com/hyperledger/aries-framework-go/pull/2454

mupheux (Sat, 16 Jan 2021 00:23:54 GMT):
make run-openapi-demo gives this error. Anyone know what may be wrong? I use to run this without issues Generate demo agent rest controller API specifications using Open API 2021/01/16 00:19:10 args[0] = build/rest/openapi/spec/openAPI.yml 2021/01/16 00:19:10 args[1:] = [test/bdd/fixtures/demo/openapi/specs/localhost:10081.yml] open build/rest/openapi/spec/openAPI.yml: no such file or directory make: *** [Makefile:97: generate-openapi-demo-specs] Error 1 this is on the master branch

troyronda (Sat, 16 Jan 2021 18:36:39 GMT):
Perhaps it is an OS issue. I just tried the latest from main branch on MacOS without this error.

mupheux (Mon, 18 Jan 2021 14:23:14 GMT):
Ok. I will try on a mac os x

mupheux (Mon, 18 Jan 2021 16:23:51 GMT):
Thanks. You are right. It worked on my mac

mupheux (Mon, 18 Jan 2021 16:24:31 GMT):
Is it right that we have stuff working on Mac OS X's bash and not a linux bash?

troyronda (Mon, 18 Jan 2021 16:29:00 GMT):
Several of the developers are testing using their Macs. The CI tests on Linux for Unit Tests and BDD tests. Unfortunately some demo aspects don't get run in the CI so don't get caught... Of course, we welcome PRs to fix issues as well. @mupheux

daidoji (Tue, 19 Jan 2021 16:30:47 GMT):
Has joined the channel.

daidoji (Tue, 19 Jan 2021 16:30:47 GMT):
question, I remember wondering what the differences were between W3C VCs and the VCs issued by Hyperledger Indy and that at the time someone mentioned that aries-go produced W3C VCs as well as Indy VCs. Is this true? If it is, does there exist documentation for what the similarities and differences are between the two credentials in detail?

daidoji (Tue, 19 Jan 2021 16:31:04 GMT):
I see a few blog posts that gloss over some of the basic differences but at a high level.

daidoji (Tue, 19 Jan 2021 16:43:05 GMT):
(which are obvious, jwt vs jsonld)

sheldon.regular (Tue, 19 Jan 2021 16:52:08 GMT):
Hi, for every running aries go agent running, can I get to the swagger interface for it? If so what is the URL? I tried the same one the demo does but doesn't work.

sheldon.regular (Tue, 19 Jan 2021 16:52:08 GMT):
Hi, for every running aries go agent, can I get to the swagger interface for it? If so what is the URL? I tried the same one the demo does but doesn't work.

mupheux (Tue, 19 Jan 2021 17:40:51 GMT):
I am getting this errors with afgo with webhooks. Can anyone pls explain these errors. What can be the problem? [aries-framework/out-of-band/service] 2021/01/19 17:33:22 UTC - n/a -> ERROR command=[out-of-band] action=[handleDIDEvent] [] errMsg=[ignored] [aries-framework/out-of-band/service] 2021/01/19 17:33:22 UTC - n/a -> ERROR command=[out-of-band] action=[handleDIDEvent] [] errMsg=[ignored] [aries-framework/webnotifier] 2021/01/19 17:33:22 UTC - webnotifier.(*Observer).notify -> ERROR notify: notification was sent to http://10.10.2.42:9023/webhooks, but 404 Not Found was received; [aries-framework/out-of-band/service] 2021/01/19 17:33:22 UTC - n/a -> ERROR command=[out-of-band] action=[handleDIDEvent] [] errMsg=[ignored] [aries-framework/webnotifier] 2021/01/19 17:33:22 UTC - webnotifier.(*Observer).notify -> ERROR notify: notification was sent to http://10.10.2.42:9023/webhooks, but 404 Not Found was received; [aries-framework/out-of-band/service] 2021/01/19 17:33:22 UTC - n/a -> ERROR command=[out-of-band] action=[handleDIDEvent] [] errMsg=[service.handleDIDEvent: ParentThreadID is empty] [aries-framework/webnotifier] 2021/01/19 17:33:22 UTC - webnotifier.(*Observer).notify -> ERROR notify: notification was sent to http://10.10.2.42:9023/webhooks, but 404 Not Found was received; [aries-framework/webnotifier] 2021/01/19 17:33:22 UTC - webnotifier.(*Observer).notify -> ERROR notify: notification was sent to http://10.10.2.42:9023/webhooks, but 404 Not Found was received;

mupheux (Tue, 19 Jan 2021 17:41:04 GMT):
*these errors

sudeshrshetty (Tue, 19 Jan 2021 20:35:08 GMT):
Did you run `make run-openapi-demo`? this one will generate open api spec and also brings up the agent REST instances. or just run `make generate-openapi-spec`, this one will generate open api spec at build/rest/openapi/spec

sudeshrshetty (Tue, 19 Jan 2021 20:42:16 GMT):
Did you configure `ARIESD_WEBHOOK_URL` during startup? If yes, then topic message will be posted to configured URL (http POST). In this URL looks like `http://10.10.2.42:9023/webhooks` is throwing 404

sheldon.regular (Tue, 19 Jan 2021 20:56:10 GMT):
The env var was not used, the --webhook-url option was.

sudeshrshetty (Tue, 19 Jan 2021 21:59:16 GMT):
same thing, it should work, did you

sudeshrshetty (Tue, 19 Jan 2021 21:59:16 GMT):
same thing, it should work, did you pass `http://10.10.2.42:9023/webhooks` ?

sheldon.regular (Tue, 19 Jan 2021 22:01:06 GMT):
yes `--webhook-url http://10.10.2.42:9023/webhooks`

sheldon.regular (Tue, 19 Jan 2021 22:29:33 GMT):
`make generate-openapi-spec` gives this error in my container `make: *** [Makefile:217: clean-fixtures] Error 127` Is there something else I need? I've cloned the aries-framework-go in my container. `make agent-rest` works.

sudeshrshetty (Tue, 19 Jan 2021 22:58:49 GMT):
Check your webhook handler, refer this one from bddtests https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/webhook/main.go#L32-L40

mupheux (Tue, 19 Jan 2021 22:59:34 GMT):
Ok. Thanks. I will check that

sudeshrshetty (Tue, 19 Jan 2021 23:07:30 GMT):
can you post whole error message? looks like make target `clean-fixtures` is causing issues. something related to cleaning up files here https://github.com/hyperledger/aries-framework-go/blob/main/Makefile#L215-L219

sudeshrshetty (Tue, 19 Jan 2021 23:08:05 GMT):
comment out that target and try

troyronda (Wed, 20 Jan 2021 00:15:56 GMT):
aries-go only produces W3C VCs (i.e., https://www.w3.org/TR/vc-data-model/ )

daidoji (Wed, 20 Jan 2021 01:47:24 GMT):
@troyronda thanks. I guess what I was wondering is what are the particular differences in detail? Is there a document or blog post that details that part?

daidoji (Thu, 21 Jan 2021 02:26:57 GMT):
@troyronda hey you're probably busy but I was wondering if you could help me

daidoji (Thu, 21 Jan 2021 02:27:21 GMT):
even just pointing to resources or just "compare the specs side by side" would be helpful because its not clear what the similarities are and what the differences are.

troyronda (Thu, 21 Jan 2021 16:09:59 GMT):
Presentation exchange attachment format implemented in AFG: https://github.com/hyperledger/aries-framework-go/pull/2472

soluchok (Fri, 22 Jan 2021 14:55:58 GMT):
@kapster it was done long time ago, soon we will have a new storage interface

soluchok (Fri, 22 Jan 2021 15:13:03 GMT):
@kapster I can confirm that it works. Let me know if you have issues. You can check our mem implementation in Go(as an example) also make sure that you return message “data not found“ when you have no data.

sheldon.regular (Tue, 02 Feb 2021 16:57:06 GMT):
Hi Everyone. We are attempting to get acapy and afgo to interoperate. There seems to be an issue with non-standard attributes in messages in afgo. For example the invitation created by afgo has `ID` instead of `id`, and `Type` instead of `type`, etc. Thoughts on standardizing on attributes?

troyronda (Tue, 02 Feb 2021 17:48:12 GMT):
Yes -- attributes should be standardized.

ascatox (Wed, 03 Feb 2021 08:59:30 GMT):
Has joined the channel.

swcurran (Wed, 03 Feb 2021 14:35:37 GMT):
So are these going to be fixed? We're trying to get ACA-Py and AF-Go working, and we're stuck on this.

swcurran (Wed, 03 Feb 2021 14:35:50 GMT):
Idea on timing?

troyronda (Wed, 03 Feb 2021 15:07:33 GMT):
I mentioned in today's daily standup. George will take a look. @swcurran

troyronda (Wed, 03 Feb 2021 15:07:33 GMT):
I mentioned in today's daily standup. @george.aristy will take a look. @swcurran

george.aristy (Wed, 03 Feb 2021 15:11:57 GMT):
Hi @sheldon.regular . I'm assuming you're referring to Out-of-Band invitations. AFGO is rendering those fields as `@type` and `@id` on the wire just like the OOB RFC says: https://github.com/hyperledger/aries-framework-go/blob/f1c7f7aa39eca010c0c14cdb8ea7e0287db52368/pkg/didcomm/protocol/outofband/models.go#L22-L31

george.aristy (Wed, 03 Feb 2021 15:12:14 GMT):
Can you be more specific? What is it you are doing? What interface are you getting this invitation from?

sheldon.regular (Wed, 03 Feb 2021 15:29:54 GMT):
Hi @george.aristy the outofband/create-invitation operation returns this as the invitation. We use this on the OOB/receive-invitation in acapy. ``` { "invitation":{ "@id":"a471422f-0529-45c3-be0d-43201a617966", "@type":"https://didcomm.org/oob-invitation/1.0/invitation", "label":"Bob", "service":[ { "ID":"bf606d6e-6e0e-46cd-a5d0-eebdc74cf262", "Type":"did-communication", "Priority":0, "RecipientKeys":[ "CMfUhBRNiWMA4vBkNbQWHrDFsjoGqWmQf8iiLXwhAAV3" ], "RoutingKeys":null, "ServiceEndpoint":"http://192.168.65.3:8031", "Properties":null } ], "protocols":[ "https://didcomm.org/didexchange/1.0" ] }, "state":"invitation-sent", "service":""[\\"did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/didexchange/v1.0\\"]" } ```

sheldon.regular (Wed, 03 Feb 2021 15:32:26 GMT):
We are looking inside the service block.

george.aristy (Wed, 03 Feb 2021 15:52:50 GMT):
Can you post the request you used to create that invitation?

sheldon.regular (Wed, 03 Feb 2021 16:03:24 GMT):
Real simple. We do a POST http://localhost:8032/outofband/create-invitation With this message, {"label": "Bob"}

george.aristy (Wed, 03 Feb 2021 16:13:28 GMT):
Bug identified. Pushing out a fix in a few minutes.

sheldon.regular (Wed, 03 Feb 2021 16:15:17 GMT):
Awesome, thanks!

george.aristy (Wed, 03 Feb 2021 19:58:08 GMT):
@sheldon.regular fix has been merged. Can you try again?

sheldon.regular (Wed, 03 Feb 2021 19:59:07 GMT):
Sure. I'm running something else at the moment, but will check in an hour or so.

sheldon.regular (Wed, 03 Feb 2021 21:46:51 GMT):
@george.aristy That seemed to work, however, acapy is now asking for a proper W3C did:key format. So I think the ``` "RecipientKeys":[ "CMfUhBRNiWMA4vBkNbQWHrDFsjoGqWmQf8iiLXwhAAV3" ] ``` should be ``` "RecipientKeys":[ "did:key:CMfUhBRNiWMA4vBkNbQWHrDFsjoGqWmQf8iiLXwhAAV3" ] ```

sheldon.regular (Wed, 03 Feb 2021 21:46:51 GMT):
@george.aristy That seemed to work, however, acapy is now asking for a proper W3C did:key format. So I think the ``` "recipientKeys":[ "CMfUhBRNiWMA4vBkNbQWHrDFsjoGqWmQf8iiLXwhAAV3" ] ``` should be ``` "recipientKeys":[ "did:key:CMfUhBRNiWMA4vBkNbQWHrDFsjoGqWmQf8iiLXwhAAV3" ] ```

kapster (Mon, 08 Feb 2021 13:45:22 GMT):
resolver

swcurran (Mon, 08 Feb 2021 14:13:31 GMT):
@george.aristy -- any progress on this?

mupheux (Mon, 08 Feb 2021 17:52:42 GMT):
Pls each time I invoke I get this reply { "actions": [] } instead of { "actions": [ { "Msg": { "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} }, "MyDID": "string", "PIID": "string", "TheirDID": "string" } ] } as stipulated in the swagger ui and an OOB connection already exist. Pls what may be wrong?

mupheux (Mon, 08 Feb 2021 17:56:29 GMT):
The question is, how do I get the following values MyDID, PIID and TheirDID with afgo issuecredential

mupheux (Mon, 08 Feb 2021 17:56:31 GMT):
?

george.aristy (Mon, 08 Feb 2021 19:26:23 GMT):
@swcurran @sheldon.regular this is being looked at - will get back to you later on today for an ETA on the fix

george.aristy (Wed, 10 Feb 2021 01:36:51 GMT):
@swcurran @sheldon.regular the fix has been merged - please pull in the latest version and test

etaleo (Wed, 10 Feb 2021 14:27:08 GMT):
Has joined the channel.

etaleo (Wed, 10 Feb 2021 14:40:07 GMT):
What is the current state of the Aries Framework Go regarding the support of Rich Schemas?

enroll7 (Wed, 10 Feb 2021 14:40:28 GMT):
Has joined the channel.

swcurran (Wed, 10 Feb 2021 15:11:33 GMT):
Nice! Thanks.

sheldon.regular (Wed, 10 Feb 2021 15:13:14 GMT):
Awesome. Will retest soon.

sheldon.regular (Wed, 10 Feb 2021 22:26:11 GMT):
@george.aristy One more item seems to have been identified. In the invitation created by afgo the @type is set to `https://didcomm.org/oob-invitation/1.0/invitation`, according to the RFC (and this is also what acapy does) @type should be set to `https://didcomm.org/out-of-band/1.0/invitation`

george.aristy (Thu, 11 Feb 2021 16:14:44 GMT):
@sheldon.regular this just fixed - please test with the latest version

sheldon.regular (Thu, 11 Feb 2021 16:56:34 GMT):
will do

swcurran (Thu, 11 Feb 2021 19:22:44 GMT):
@george.aristy -- another interop problem. The message mime type is different between ACA-Py (and other frameworks AFD, notably) and AF-Go. We're going to need a community update RFC that I'll provide. In the meantime, could AF-Go change to support receiving both mime types (old/current: application/ssi-agent-wire , new: application/didcomm-envelope-enc). We're going to do the same in ACA-Py, but for now continue to use the old one,. so that we still work with AFD. AF-Go can send out what you want. Reasonable?

george.aristy (Fri, 12 Feb 2021 12:49:13 GMT):
@swcurran ok so to be clear we are referring to content-types at the transport level, and that both will continue sending what they are sending today, and both will accept both content-type values

george.aristy (Fri, 12 Feb 2021 12:49:49 GMT):
seems a simple change

george.aristy (Fri, 12 Feb 2021 12:52:02 GMT):
Weird though because RFC0025 is included in AIP 1.0

swcurran (Fri, 12 Feb 2021 16:22:42 GMT):
Yup -- looks like it. Weird -- but reality.

sheldon.regular (Fri, 12 Feb 2021 19:44:30 GMT):
@george.aristy There seems to be another item that may need your attention. It seems, when afgo is acting as the requester and acapy as the responder in did-exchange, when the requester receives the invitation by doing the outofband/accept-invitation operation, acapy throws an error ``` File "/usr/local/lib/python3.7/site-packages/aries_cloudagent/protocols/didexchange/v1_0/manager.py", line 348, in receive_request "DID Doc attachment missing or has no data: " aries_cloudagent.protocols.didexchange.v1_0.manager.DIDXManagerError: DID Doc attachment missing or has no data: cannot connect to public DID ``` Debugging through reveals that it is in deed the case that the request from afgo is missing the DID Doc attachment. This is what the request acapy receive looks like. ``` DIDXManager.receive-request() .. request: {"@type":"https://didcomm.org/didexchange/1.0/request","@id":"ea940d95-46d8-4adf-b192-345aa62e0244","~thread":{"thid":"ea940d95-46d8-4adf-b192-345aa62e0244","pthid":"5e71e386-5f3e-458d-b761-fef3832abf37"},"label":"aca-py"} .. receipt: ```

mupheux (Fri, 12 Feb 2021 20:42:33 GMT):
I get this error when trying to run > make run-openapi-demo and got this error runtime: increase the mlock limit (ulimit -l). Does anyone know how I can fix this. don't get this error before. Thanks

ghabxph (Sat, 13 Feb 2021 15:08:25 GMT):

Clipboard - February 13, 2021 11:07 PM

ghabxph (Sat, 13 Feb 2021 15:09:27 GMT):

Clipboard - February 13, 2021 11:08 PM

ghabxph (Sat, 13 Feb 2021 15:10:40 GMT):
How can we get started with Aries Go Framework?

ghabxph (Sat, 13 Feb 2021 15:37:35 GMT):
I managed to solved it. Steps: ``` // Use main 1. go get github.com/hyperledger/aries-framework-go@main 2. Just guessed that these codes framework, err := New( WithInboundTransport(newMockInTransport()), WithStoreProvider(newMockDBProvider()), WithProtocolStateStoreProvider(newMockDBProvider()), ) belong to aries package. "github.com/hyperledger/aries-framework-go/pkg/framework/aries" ``` It would be really nice if docs are updated. It's so hard to start working with aries. Things doesn't work on the spot :/

daidoji (Sun, 14 Feb 2021 15:28:39 GMT):
Is this test suite still relevant? Does aries-go pass these tests? https://github.com/w3c/vc-test-suite

troyronda (Tue, 16 Feb 2021 14:36:19 GMT):
Yes. It is run using this code: https://github.com/hyperledger/aries-framework-go/tree/main/pkg/doc/verifiable/test-suite

troyronda (Tue, 16 Feb 2021 14:37:14 GMT):
Here are CI results: https://github.com/hyperledger/aries-framework-go/actions?query=workflow%3Atest-suite

troyronda (Tue, 16 Feb 2021 14:42:02 GMT):
It's a good point and PRs are welcome :).

troyronda (Tue, 16 Feb 2021 14:42:02 GMT):
It's a good point and PRs are welcome @ghabxph :).

daidoji (Tue, 16 Feb 2021 15:09:49 GMT):
Cool, thanks!

george.aristy (Tue, 16 Feb 2021 15:18:45 GMT):
Tracking issue: https://github.com/hyperledger/aries-framework-go/issues/2495

chrisconway (Tue, 16 Feb 2021 19:09:59 GMT):
Has joined the channel.

chrisconway (Tue, 16 Feb 2021 19:09:59 GMT):
@daidoji suggested I ask my question about using ethereum with Aries here. Hi, I am curious about how to use Aries with Ethereum. I know it is possible to use Sovrin for this, but prefer open source solutions. How can I connect Aries with Ethereum using only open source tools?

chrisconway (Tue, 16 Feb 2021 19:10:53 GMT):
They specifically mentioned "aries-go uses DIF's Sidetree protocol so it should be possible."

kukgini (Wed, 17 Feb 2021 02:50:21 GMT):
Has joined the channel.

sheldon.regular (Wed, 17 Feb 2021 16:04:41 GMT):
@george.aristy the acapy team has update acapy to give an option to send the DIDcomm MIME Type. ie. `application/didcomm-envelope-enc` This seems to cause a problem for afgo. The scenario setup is, Acapy is the requester, Afgo is the responder. Invitation is accepted and requester sends a request (accept-invitation) to the responder. Acapy throws an error (ServerDisconnectError) posting to the afgo agent. Afgo throws this. ``` http: panic serving 172.17.0.1:59804: runtime error: invalid memory address or nil pointer dereference goroutine 92 [running]: net/http.(*conn).serve.func1(0xc0001dc780) /usr/local/go/src/net/http/server.go:1801 +0x147 panic(0xce4560, 0x149a9f0) /usr/local/go/src/runtime/panic.go:975 +0x47a github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/didexchange.(*Service).requestMsgRecord(0xc000269c70, 0x10126e0, 0xc0003a88d0, 0xc0003f5801, 0xc0003a88d0, 0xdc915f) /go/src/github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/didexchange/service.go:723 +0x1d4 github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/didexchange.(*Service).connectionRecord(0xc000269c70, 0x10126e0, 0xc0003a88d0, 0xc0000c4c90, 0x24, 0x1007a00) /go/src/github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/didexchange/service.go:615 +0x2e8 github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/didexchange.(*Service).HandleInbound(0xc000269c70, 0x10126e0, 0xc0003a88d0, 0x0, 0x0, 0x0, 0x0, 0xbb8fd3, 0xc000080400, 0x0, ...) /go/src/github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/didexchange/service.go:182 +0x295 github.com/hyperledger/aries-framework-go/pkg/framework/context.(*Provider).InboundMessageHandler.func1(0xc0000c0700, 0x6ce, 0x6ce, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /go/src/github.com/hyperledger/aries-framework-go/pkg/framework/context/context.go:171 +0x5e6 github.com/hyperledger/aries-framework-go/pkg/didcomm/transport/http.processPOSTRequest(0x1008ec0, 0xc0001b0000, 0xc00018c200, 0x1007e40, 0xc00013f1e0) /go/src/github.com/hyperledger/aries-framework-go/pkg/didcomm/transport/http/inbound.go:72 +0x398 github.com/hyperledger/aries-framework-go/pkg/didcomm/transport/http.NewInboundHandler.func1(0x1008ec0, 0xc0001b0000, 0xc00018c200) /go/src/github.com/hyperledger/aries-framework-go/pkg/didcomm/transport/http/inbound.go:39 +0x51 net/http.HandlerFunc.ServeHTTP(0xc0003b7780, 0x1008ec0, 0xc0001b0000, 0xc00018c200) /usr/local/go/src/net/http/server.go:2042 +0x44 github.com/rs/cors.(*Cors).Handler.func1(0x1008ec0, 0xc0001b0000, 0xc00018c200) /go/pkg/mod/github.com/rs/cors@v1.7.0/cors.go:219 +0x1b9 net/http.HandlerFunc.ServeHTTP(0xc0003b77a0, 0x1008ec0, 0xc0001b0000, 0xc00018c200) /usr/local/go/src/net/http/server.go:2042 +0x44 net/http.serverHandler.ServeHTTP(0xc000158460, 0x1008ec0, 0xc0001b0000, 0xc00018c200) /usr/local/go/src/net/http/server.go:2843 +0xa3 net/http.(*conn).serve(0xc0001dc780, 0x100af80, 0xc0004d09c0) /usr/local/go/src/net/http/server.go:1925 +0x8ad created by net/http.(*Server).Serve /usr/local/go/src/net/http/server.go:2969 +0x36c ```

troyronda (Wed, 17 Feb 2021 19:06:20 GMT):
@sheldon.regular Sounds like the issue is an older version of DID Exchange in AFGO. Specifically this change needs to be implemented in AFGO: https://github.com/hyperledger/aries-rfcs/commit/30f5e5c3aaeb918f42162c75e8922ba8b8584f52#diff-1db1c2a11b3ff24b00b257fa3f000fd596cc70bcba3e228e22a45c0f0ffaec07

troyronda (Wed, 17 Feb 2021 19:08:46 GMT):
Related: https://github.com/hyperledger/aries-framework-go/issues/2495

sheldon.regular (Wed, 17 Feb 2021 19:15:20 GMT):
Just as an FYI, you can see the test results (not the afgo logs) of acapy with afgo in these reports of the daily runs. https://allure.vonx.io/allure-docker-service-ui/projects/acapy-b-afgo

sheldon.regular (Wed, 17 Feb 2021 19:16:33 GMT):
You can also see afgo by itself under those same tests in these results. https://allure.vonx.io/allure-docker-service-ui/projects/afgo

troyronda (Wed, 17 Feb 2021 19:33:12 GMT):
@sheldon.regular cool - thanks for the pointers!

kukgini (Thu, 18 Feb 2021 02:16:58 GMT):
@daidoji From what I understand, the data model @troyronda talks about doesn't have a clear specification for machine-readable binary formats. Anyway, it is helpful to refer to this article (https://www.lfph.io/2021/02/11/cci-verifiable-credentials-flavors-and-interoperability-paper/) for the differences between the various existing vc formats. Seems to be.

kukgini (Thu, 18 Feb 2021 02:16:58 GMT):
@daidoji From what I understand, the data model @troyronda talks about doesn't have a clear specification for machine-readable binary formats. Anyway, it is helpful to refer to this article (https://www.lfph.io/2021/02/11/cci-verifiable-credentials-flavors-and-interoperability-paper/) for the differences between the various existing vc formats.

daidoji (Thu, 18 Feb 2021 02:18:33 GMT):
thanks @kukgini yeah I ran across that paper the other day. Even this doesn't quite get down to the nitty gritty though. I think I'm figuring it out just struggling through the specs and various implementations that exist

kukgini (Thu, 18 Feb 2021 02:21:53 GMT):
@daidoji Daniel hardman's opinion will also be helpful for vc compatibility caused by the ambiguity of the standard specification. https://www.evernym.com/blog/getting-to-practical-interop-with-verifiable-credentials/

daidoji (Thu, 18 Feb 2021 13:29:23 GMT):
Yeah I saw that one too. These are both great.

troyronda (Fri, 19 Feb 2021 15:09:47 GMT):
Aries Go is agnostic to DID methods, so they can be injected into the framework or used via Universal Resolver.

mupheux (Mon, 22 Feb 2021 16:56:57 GMT):
When I run "make run-openapi-demo I get the following error >test/bdd/fixtures/keys/tls/ec-cakey.pem: Operation not permitted this pem file does not exist though the tls folder has root ownership

mupheux (Mon, 22 Feb 2021 16:56:57 GMT):
When I run "make run-openapi-demo I get the following error >test/bdd/fixtures/keys/tls/ec-cakey.pem: Operation not permitted this pem file does not exist though the tls folder has root ownership. Pls what is wrong?

mupheux (Mon, 22 Feb 2021 22:08:33 GMT):
It's fine now. Thanks all

mupheux (Mon, 22 Feb 2021 23:24:35 GMT):
I have another issue and need help asap. If I call afgo's POST /issuecredential/accept-offer, it kinds of hangs or request takes so long like 20mins with no response. Same issue also noticed when the api interface is manually called with Postman!

mupheux (Mon, 22 Feb 2021 23:24:35 GMT):
I have another issue and need help asap. If I call afgo's POST /issuecredential/accept-offer, it kinds of hangs or request takes so long like 20mins with timeout error. Same issue also noticed when the api interface is manually called with Postman!

JackyYuan (Tue, 23 Feb 2021 05:41:47 GMT):
Has joined the channel.

kukgini (Wed, 24 Feb 2021 05:54:05 GMT):
I can not be sure that this is where it is appropriate. I'm trying to use indy as vdr. The following code failed with following error: ``` 1 package main 2 3 import ( 5 "log" 6 "net/http" ... 13 "github.com/hyperledger/indy-vdr/wrappers/golang/vdr" 14 ) 15 16 func main() { 17 log.Println("load genesis tx from internet") 18 genesisFile, err := http.Get("https://raw.githubusercontent.com/sovrin-foundation/sovrin/master/sovrin/pool_transactions_builder_genesis") 19 if err != nil { 20 log.Fatalln(err) 21 } 22 defer genesisFile.Body.Close() 23 24 log.Println("create indy vdr client") 25 client, err := vdr.New(genesisFile.Body) 26 if err != nil { 27 log.Fatalln(err) 28 } 29 log.Fatalln(client) 30 } ``` error message was: ``` vendor/github.com/hyperledger/indy-vdr/wrappers/golang/vdr/indy_vdr.go:86:34: could not determine kind of name for C.u_long ``` run command was (on MAC OS X): ``` CGO_LDFLAGS="-lindy_vdr -L/usr/local/lib" go run main.go ``` it seems related with `cgo`. But, i don't know much about golang and cgo well. can you help me?

da3v21 (Wed, 24 Feb 2021 12:52:16 GMT):
Hi everyone ,I read that using BBS+ signatures removes the requirement for a credential-definition on the ledger, Can anyone confirm this

troyronda (Wed, 24 Feb 2021 18:18:48 GMT):
Correct: BBS+ signatures does not require credential definition on a ledger.

da3v21 (Thu, 25 Feb 2021 03:51:00 GMT):
Thanks , credential definitions holds the public key of an issuer, where does the verifier get the public key of the issuer from?

troyronda (Thu, 25 Feb 2021 04:55:56 GMT):
The verifiable credential has the DID of the issuer. From the DID, you resolve the public key.

da3v21 (Thu, 25 Feb 2021 05:15:27 GMT):
That's great!

troyronda (Thu, 25 Feb 2021 15:02:05 GMT):
FYI: here is the new storage SPI for those implementing storage components for aries-framework-go: https://github.com/hyperledger/aries-framework-go/blob/main/spi/storage/storage.go

troyronda (Thu, 25 Feb 2021 15:02:05 GMT):
here is the new storage SPI for those implementing storage components for aries-framework-go: https://github.com/hyperledger/aries-framework-go/blob/main/spi/storage/storage.go

kukgini (Sat, 27 Feb 2021 12:40:59 GMT):
If So, what is the role of VDR(Blockchain/DLT) ?

kukgini (Sat, 27 Feb 2021 12:40:59 GMT):
If so, what is the role of VDR(Blockchain/DLT) ?

troyronda (Sat, 27 Feb 2021 13:14:58 GMT):
To resolve DIDs.

da3v21 (Mon, 01 Mar 2021 05:37:32 GMT):
I think blockchain is also essential for revocation of credentials and agents, else one has to be dependent on CRLs for credential revocation, and how do we handle agent revocation without blockchain

kukgini (Tue, 02 Mar 2021 00:46:37 GMT):
@troyronda you mean public DIDs for organizations (eg. issuer) ?

kukgini (Tue, 02 Mar 2021 00:47:41 GMT):
I agree with @da3v21 . can someone please explain how to achieve credential revocation in json-ld/bbs+?

suosuidewenqing (Tue, 02 Mar 2021 08:29:52 GMT):
Has joined the channel.

troyronda (Tue, 02 Mar 2021 15:33:56 GMT):
Generic discussions about BBS+ would probably be best done in #aries-bbs channel.

troyronda (Tue, 02 Mar 2021 15:34:36 GMT):
yes - I meant public DIDs (e.g., issuer). @kukgini

rpobulic (Sun, 07 Mar 2021 05:16:36 GMT):
Has joined the channel.

MALodder (Mon, 08 Mar 2021 16:45:42 GMT):
I used this to wrap the rust version of BBS+ and its much faster than using cgo or implementing in pure go. Thoughts on using this https://github.com/notti/nocgo

MALodder (Mon, 08 Mar 2021 16:48:16 GMT):
also have used github.com/rainycape/dl

troyronda (Mon, 08 Mar 2021 21:38:53 GMT):
@here we have release 0.1.6 of aries-framework-go. release notes: https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.6

troyronda (Mon, 08 Mar 2021 21:38:53 GMT):
@here we have released 0.1.6 of aries-framework-go. release notes: https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.6

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can be loaded via options - this has been our approach so far on including dependencies like this.

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We haven't investigated performance comparisons. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can be loaded via options - this has been our approach so far on including dependencies like this.

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We haven't investigated performance comparisons. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can be loaded via progmatic options - this has been our approach so far on including dependencies like this.

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We haven't investigated performance comparisons. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can be loaded via progmatic options - this has been our approach so far on dependencies/libraries like this.

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We haven't investigated performance comparisons. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can potentially be loaded via progmatic options - this has been our approach so far on dependencies/libraries like this. (this would require effort though.)

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We haven't investigated performance comparisons. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can potentially be loaded via progmatic options - this has been our approach so far on non-go questions like this. (this would require effort though.)

troyronda (Mon, 08 Mar 2021 21:41:35 GMT):
The current implementation has been tested for interoperability and for the ability to compile to our various targets. We haven't investigated performance comparisons. We would tend to stick to pure go for the default implementations. Of course, alternate implementations can potentially be injected via progmatic options - this has been our approach so far on non-go questions like this. (this would require effort though.)

troyronda (Mon, 08 Mar 2021 21:42:38 GMT):
The referenced projects don't look particularly active.

troyronda (Mon, 08 Mar 2021 21:42:38 GMT):
I haven't looked in detail, but the referenced projects don't look particularly active.

swcurran (Mon, 08 Mar 2021 22:05:19 GMT):
Any progress on getting the AF-Go tests in Aries Agent Test Harness working with ACA-Py. We still have 5 failing tests :-(.

etaleo (Tue, 09 Mar 2021 09:11:16 GMT):
What is the current state of the Aries Framework Go regarding the support of Rich Schemas?

etaleo (Tue, 09 Mar 2021 09:11:16 GMT):
Hello there! :wave: What is the current state of the Aries Framework Go regarding the support of Rich Schemas?

lbartekl (Tue, 09 Mar 2021 10:50:31 GMT):
An I right that it is not possible to set `my_label` as an invitee in didExchange connection?

lbartekl (Tue, 09 Mar 2021 10:50:31 GMT):
Am I right that it is not possible to set `my_label` as an invitee in didExchange connection?

swcurran (Tue, 09 Mar 2021 17:56:33 GMT):
AF-Go does not support Indy AnonCreds, and AFAIK does not plan to implement Rich Schemas. The plan of the team for ZKP and Selective Disclosure support is to use BBS+ Signatures with JSON-LD.

troyronda (Tue, 09 Mar 2021 18:37:51 GMT):
We are working on next milestone planning activities next week - this will be one of the topics. @swcurran

swcurran (Tue, 09 Mar 2021 18:50:54 GMT):
Good stuff. Thanks.

george.aristy (Wed, 10 Mar 2021 13:40:27 GMT):
AFGO has not _planned_ for Rich Schemas yet, but it is not off the table. Having the schemas stored in a VDR is a useful feature in many use cases.

george.aristy (Wed, 10 Mar 2021 13:41:40 GMT):
I'm not too familiar with the Indy method so cannot speak to the relation of Indy AnonCreds to Rich Schemas.

Vid201 (Wed, 10 Mar 2021 13:57:18 GMT):
Hi everybody! I am having troubles troubles retrieving DID document from Aries Go. What are the steps to create new DID (e.g., did:peer or did:sidetree) and then retrieve this DID document from Aries Go agent? Can it be done via Swagger interface? I can't find correct endpoint.

swcurran (Wed, 10 Mar 2021 15:18:34 GMT):
Rich Schemas was defined to be an extension to AnonCreds to enable W3C standard VCs with CL Signatures. It introduced several new ledger objects and (IMHO) a complicated set of related data objects.

george.aristy (Wed, 10 Mar 2021 15:21:48 GMT):
The term "anoncred" does not appear in RFCs 0281 nor 0249. The term "indy" appears just once, as a footnote to RFC0281. They seem like generic concepts?

Vid201 (Thu, 11 Mar 2021 12:24:54 GMT):
And another question: why was /vdr/create-public-did removed from API and how can be public did created in the last version?

Vid201 (Thu, 11 Mar 2021 12:24:54 GMT):
And another question: why was /vdr/create-public-did removed from API and how to create public did in the last version?

troyronda (Thu, 11 Mar 2021 17:36:14 GMT):
@firas.qutishat is investigating.

haardikkk (Thu, 11 Mar 2021 22:02:55 GMT):
Has joined the channel.

haardikkk (Thu, 11 Mar 2021 22:02:55 GMT):
Hey everyone! I just joined SecureKey as an independent contractor and will be working on fixing the DIDComm related tests fixed for AF-Go in the Aries Agent Test harness! Still catching up to speed here but excited to get started

haardikkk (Thu, 11 Mar 2021 22:02:55 GMT):
Hey everyone! I just joined SecureKey as an independent contractor and will be working on fixing the DIDComm related tests for AF-Go in the Aries Agent Test harness! Still catching up to speed here but excited to get started

troyronda (Thu, 11 Mar 2021 22:06:57 GMT):
Welcome @haardikkk !

sj1 4 (Sun, 14 Mar 2021 08:42:27 GMT):
Is there a code part that contains Ursa or Indy Module in the aries-framework-go? I wonder how Ursa and Indy are called up and used in go.

sj1 4 (Sun, 14 Mar 2021 08:42:27 GMT):
Is there a code part that contains Ursa or Indy Module in the aries-framework-go? I wonder how Ursa and Indy are called up and used in aries-go.

Vid201 (Sun, 14 Mar 2021 08:44:11 GMT):
Sorry to bother you, but are there any updates on this topic?

troyronda (Mon, 15 Mar 2021 14:41:54 GMT):
Looks like some old code got removed and will now need a new version of it.

troyronda (Mon, 15 Mar 2021 15:31:29 GMT):
aries-framework-go does not have dependencies on indy nor ursa.

troyronda (Mon, 15 Mar 2021 15:31:55 GMT):
there have been efforts to add an indy VDR via an optional component: https://github.com/hyperledger/aries-framework-go-ext/tree/main/component/vdr/indy

Vid201 (Mon, 15 Mar 2021 16:55:21 GMT):
Oh, too bad. Thanks anyways!

kukgini (Tue, 16 Mar 2021 02:23:22 GMT):
When doing issue credential, do I have to create and sign the format of VC myself using the doc/verifiable package? Or is the VC created in the framework by specifying the format (jwt,json-ld) through the framework settings and passing the claims required for issuance?

HighBrow (Tue, 16 Mar 2021 06:16:50 GMT):
Has joined the channel.

AngelPalomares (Wed, 17 Mar 2021 08:25:21 GMT):
Hello there, I was wondering why is not feasible to create a Public DID, in the documentation is mentioned the use of /vdr/create-public-did, but it is not available :-(

troyronda (Wed, 17 Mar 2021 12:58:06 GMT):
https://chat.hyperledger.org/channel/aries-go?msg=8u2yyKRYrXtpefkqf

troyronda (Wed, 17 Mar 2021 12:58:28 GMT):
https://chat.hyperledger.org/channel/aries-go?msg=yMz6TWoqvSxKYcxrZ

AngelPalomares (Wed, 17 Mar 2021 15:06:06 GMT):
thank you very much Troy, Do you know by when it will be available again?

sj1 4 (Thu, 18 Mar 2021 04:13:22 GMT):
thank you!:thumbsup:

troyronda (Sun, 21 Mar 2021 13:03:12 GMT):
@AngelPalomares @Vid201 A replacement create did endpoint has been added in the main branch. https://github.com/hyperledger/aries-framework-go/blob/main/docs/rest/openapi_demo.md#steps-for-creating-did-using-vdr-endpoint

stefan2904 (Mon, 22 Mar 2021 12:30:25 GMT):
Has joined the channel.

stefan2904 (Mon, 22 Mar 2021 12:47:10 GMT):
Hi there, since we have the same problem: I dont think this endpoint is registering a public DID on the ledger. Or did I misunderstand it's purpose?

troyronda (Mon, 22 Mar 2021 13:07:37 GMT):
You need to have a build that includes a VDR for the particular DID method of your interest.

troyronda (Mon, 22 Mar 2021 13:08:06 GMT):
(and several DID methods are backed by ledgers).

troyronda (Mon, 22 Mar 2021 13:12:24 GMT):
As an example, we take the framework and add DID methods in the TrustBloc build. https://github.com/trustbloc/agent-sdk/blob/main/cmd/agent-rest/startcmd/start.go#L827

JovanShandro (Wed, 24 Mar 2021 09:40:30 GMT):
Has joined the channel.

JovanShandro (Wed, 24 Mar 2021 09:40:31 GMT):
Hi Everyone! I am trying to create a service that will act as an agent for many users. So far I have tried doing this by creating one service that creates an agent framework per user, and manually calls the handler functions created by aries, but I am encountering a problem with the fact that each agent must have a different service endpoint (must be on different ports). Is there any other way to achieve this (many agents on one port) without having to make changes to the code that handles the service endpoint creation part? (my idea was to do smth like localhost:8081/name as a service endpoint for the user with given name, but not sure if this would be the way to go) Thank you :)!

swcurran (Wed, 24 Mar 2021 14:14:57 GMT):
FYI -- I don't know how to answer this from an Aries Framework Go perspective, but the Aries Cloud Agent Python has a multi-tenant implementation that seems to have what you are looking for. With ACA-Py, you write the controller in whatever language you want, so the code you write can be in golang if that helps.

pfeairheller (Wed, 24 Mar 2021 18:41:32 GMT):
You could also have a look at Canis (https://github.com/scoir/canis) It is a platform written in Go, using aries-go to provide multi-tenant (agent) capabilities by routing all DIDComm traffic in through one port and out to handlers using RabbitMQ. It provides a SwaggerUI for the REST interface that allows for provision of agents, establishing connections and issuing and verifying credentials. It has deployment artifacts for docker-compose and kubernetes.

ianco (Wed, 24 Mar 2021 20:25:51 GMT):
Looks like af-go is generating an invitation with an attribute called `service` and I think according to the RFC it should be `services` (plural)?

sudeshrshetty (Wed, 24 Mar 2021 21:52:15 GMT):
@JovanShandro current version of AFG rest doesn't support multi-tenancy, you can have a look at (https://github.com/scoir/canis) as @pfeairheller suggested.

sudeshrshetty (Wed, 24 Mar 2021 21:52:15 GMT):
@JovanShandro current version of AFG doesn't support multi-tenancy, you can have a look at (https://github.com/scoir/canis) as @pfeairheller suggested.

sudeshrshetty (Wed, 24 Mar 2021 21:52:15 GMT):
@JovanShandro current version of AFG rest doesn't support multi-tenancy, you can have a look at (https://github.com/scoir/canis) as @pfeairheller suggested.

TimoGlastra (Wed, 24 Mar 2021 22:22:33 GMT):
That change landed in master only 7 days ago: https://github.com/hyperledger/aries-rfcs/pull/616

TimoGlastra (Wed, 24 Mar 2021 22:22:48 GMT):
Give em some time :smile:

JovanShandro (Thu, 25 Mar 2021 07:29:10 GMT):
:thumbsup: Thank you! I will try them out and see how it goes!

ianco (Thu, 25 Mar 2021 15:32:59 GMT):
I opened an issue so it doesn't get forgotten: https://github.com/hyperledger/aries-framework-go/issues/2675

swcurran (Thu, 25 Mar 2021 19:35:34 GMT):
No time to waste!!!

TimoGlastra (Thu, 25 Mar 2021 21:20:46 GMT):
Question. Did you guys already wrote something to transform the data from a presentation definition to a JSON-LD frame for selective disclosure? (I'm assuming yes) If so, could someone point me to the place in the AFGO codebase where this is implemented?

TimoGlastra (Thu, 25 Mar 2021 21:40:09 GMT):
Found it! I should look before asking. https://github.com/hyperledger/aries-framework-go/blob/main/pkg/doc/presexch/definition.go

mupheux (Fri, 26 Mar 2021 15:57:43 GMT):
Hi all, I have this issue whenever I do a POST on /vdr/did/create like this, I kept getting an error

mupheux (Fri, 26 Mar 2021 15:57:43 GMT):
Hi all, I have this issue whenever I do a POST on /vdr/did/create like this, I kept getting an error curl -k -X POST "https://macbookpro:8082/vdr/did/create" -H "accept: application/json" -d "" this is the error I get { "code": 4000, "message": "did method is mandatory" } pls what is wrong. Pls it's urgent. Thanks

mupheux (Fri, 26 Mar 2021 15:57:51 GMT):
curl -k -X POST "https://macbookpro:8082/vdr/did/create" -H "accept: application/json" -d ""

mupheux (Fri, 26 Mar 2021 15:58:30 GMT):
this is the error I get { "code": 4000, "message": "did method is mandatory" } pls what is wrong?

troyronda (Fri, 26 Mar 2021 18:35:47 GMT):
You need to provide parameters to that endpoint. An example is in the openapi_demo: https://github.com/hyperledger/aries-framework-go/blob/345a2cb517d7d69e826b5fc8161e7769243ef188/docs/rest/openapi_demo.md#steps-for-creating-did-using-vdr-endpoint

AngelPalomares (Fri, 26 Mar 2021 18:41:05 GMT):
Hello @troyronda , I have just test it and I have this answer:

AngelPalomares (Fri, 26 Mar 2021 18:41:07 GMT):
curl -v -X 'POST' \ 'http://localhost:8082/vdr/did/create' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "method":"peer", "did":{ "verificationMethod":[ { "controller":"did:peer:21tDAKCERh95uGgKbJNHYp", "id":"e2cbb249-8c25-4e6e-8b92-b1ceee211c8c", "publicKeyBase58":"7qf5xCRSGP3NW6PAUonYLmq1LCz6Ux5ynek9nbzGgCnP", "type":"Ed25519VerificationKey2018" } ] }, "opts":{ "k1":"v1" } }' Note: Unnecessary use of -X or --request, POST is already inferred. * Trying ::1... * TCP_NODELAY set * Connected to localhost (::1) port 8082 (#0) > POST /vdr/did/create HTTP/1.1 > Host: localhost:8082 > User-Agent: curl/7.64.1 > accept: application/json > Content-Type: application/json > Content-Length: 320 > * upload completely sent off: 320 out of 320 bytes < HTTP/1.1 405 Method Not Allowed < Vary: Origin < Date: Fri, 26 Mar 2021 18:39:53 GMT < Content-Length: 0 < * Connection #0 to host localhost left intact * Closing connection 0

AngelPalomares (Fri, 26 Mar 2021 18:41:14 GMT):
:-(

AngelPalomares (Fri, 26 Mar 2021 18:41:47 GMT):
(I am using a image base on the v0.1.6 release)

AngelPalomares (Fri, 26 Mar 2021 18:44:24 GMT):
in fact /vdr/did/create doesn't appear in the swagger either

AngelPalomares (Mon, 29 Mar 2021 08:10:28 GMT):
Hello @troyronda I tried with the last version from git and I cou

AngelPalomares (Mon, 29 Mar 2021 08:10:56 GMT):
could do the call:thumbsup:

AngelPalomares (Mon, 29 Mar 2021 08:11:29 GMT):
But it doesn't look like that is storing the DID created in the ledger (sidetree)

AngelPalomares (Mon, 29 Mar 2021 08:11:38 GMT):
Shall I missing something?

AngelPalomares (Mon, 29 Mar 2021 08:11:38 GMT):
Am I missing something?

firas.qutishat (Mon, 29 Mar 2021 13:41:41 GMT):
@AngelPalomares are you using did peer

AngelPalomares (Mon, 29 Mar 2021 13:42:48 GMT):
Yes I do, because I am following the examples provided

AngelPalomares (Mon, 29 Mar 2021 13:43:17 GMT):
Do I need to specify other type od DID? How?

firas.qutishat (Mon, 29 Mar 2021 13:48:55 GMT):
` { "method":"peer", "did":{ "verificationMethod":[ { "controller":"did:example:123", "id":"e2cbb249-8c25-4e6e-8b92-b1ceee211c8c", "publicKeyBase58":"7qf5xCRSGP3NW6PAUonYLmq1LCz6Ux5ynek9nbzGgCnP", "type":"Ed25519VerificationKey2018" } ] }, "opts":{ "store":"true" } }`

firas.qutishat (Mon, 29 Mar 2021 13:48:55 GMT):
{ "method":"peer", "did":{ "verificationMethod":[ { "controller":"did:example:123", "id":"e2cbb249-8c25-4e6e-8b92-b1ceee211c8c", "publicKeyBase58":"7qf5xCRSGP3NW6PAUonYLmq1LCz6Ux5ynek9nbzGgCnP", "type":"Ed25519VerificationKey2018" } ] }, "opts":{ "store":"true" } }

firas.qutishat (Mon, 29 Mar 2021 13:49:27 GMT):
@AngelPalomares you need to add option for did peer to store

firas.qutishat (Mon, 29 Mar 2021 13:49:35 GMT):
opts":{ "store":"true" }

AngelPalomares (Mon, 29 Mar 2021 13:49:51 GMT):
I see :-/

AngelPalomares (Mon, 29 Mar 2021 13:49:57 GMT):
I will try it asap

AngelPalomares (Mon, 29 Mar 2021 13:50:04 GMT):
thank you so much firas

firas.qutishat (Mon, 29 Mar 2021 13:50:23 GMT):
@AngelPalomares :thumbsup:

firas.qutishat (Mon, 29 Mar 2021 13:50:56 GMT):
@AngelPalomares this is the code in did peer https://github.com/hyperledger/aries-framework-go/blob/main/pkg/vdr/peer/creator.go#L33

AngelPalomares (Mon, 29 Mar 2021 14:49:48 GMT):
Hello @firas.qutishat , I have tried your trick but it doesn't look is working :-(

AngelPalomares (Mon, 29 Mar 2021 14:50:16 GMT):
if I tryied:

AngelPalomares (Mon, 29 Mar 2021 14:50:34 GMT):
curl -k -X POST 'https://localhost:8082/vdr/did/create' \ -H accept = 'application/json' \ -H Content-Type = 'application/json' \ -d '{ "method":"peer", "did":{ "id":"did:example:1zQmanz2svbjxcYd4J3CtP6Jg6kw4nQpnZQioscz4oKhtLHk", "@context":["https://w3id.org/did/v1"], "verificationMethod":[ { "controller":"did:example:123", "id":"e2cbb249-8c25-4e6e-8b92-b1ceee211c8c", "publicKeyBase58":"7qf5xCRSGP3NW6PAUonYLmq1LCz6Ux5ynek9nbzGgCnP", "type":"Ed25519VerificationKey2018" } ] }, "opts":{ *"store":"true"* } }'

AngelPalomares (Mon, 29 Mar 2021 14:51:02 GMT):
it answers with:

AngelPalomares (Mon, 29 Mar 2021 14:51:04 GMT):
[aries-framework/command/vdr] 2021/03/29 14:47:57 UTC - n/a -> ERROR command=[vdr] action=[CreateDID] [] errMsg=[create did doc: store opt not boolean]

AngelPalomares (Mon, 29 Mar 2021 14:51:38 GMT):
and if I use: "store": true

AngelPalomares (Mon, 29 Mar 2021 14:51:58 GMT):
it answers with:

AngelPalomares (Mon, 29 Mar 2021 14:52:00 GMT):
[aries-framework/command/vdr] 2021/03/29 14:48:50 UTC - n/a -> INFO command=[vdr] action=[CreateDID] [] msg=[json: cannot unmarshal bool into Go struct field CreateDIDRequest.opts of type string]

AngelPalomares (Mon, 29 Mar 2021 14:53:07 GMT):
Please notice that the system is asking me a @context and a ID that are not specify in the example you provide me, so I Amy doing something wrong, :-/

AngelPalomares (Mon, 29 Mar 2021 14:53:07 GMT):
Please notice that the system is asking me a @context and a ID that are not specify in the example you provide me, so am I doing something wrong, :-/?

firas.qutishat (Mon, 29 Mar 2021 15:30:05 GMT):
@AngelPalomares we have bug

firas.qutishat (Mon, 29 Mar 2021 15:30:15 GMT):
@AngelPalomares we pushed fix https://github.com/hyperledger/aries-framework-go/pull/2693

firas.qutishat (Mon, 29 Mar 2021 15:30:28 GMT):
should work now after merging this PR

AngelPalomares (Mon, 29 Mar 2021 15:30:54 GMT):
excellent, thank you very much @firas.qutishat

AngelPalomares (Mon, 29 Mar 2021 15:31:10 GMT):
I will test it asap

firas.qutishat (Mon, 29 Mar 2021 16:14:07 GMT):
@AngelPalomares it's merged

AngelPalomares (Mon, 29 Mar 2021 17:08:34 GMT):
I have just tested it and I have:

AngelPalomares (Mon, 29 Mar 2021 17:08:36 GMT):
curl -k -X POST 'https://localhost:8082/vdr/did/create' \ -H accept = 'application/json' \ -H Content-Type = 'application/json' \ -d '{ "method":"peer", "did":{ "id":"did:example:1zQmanz2svbjxcYd4J3CtP6Jg6kw4nQpnZQioscz4oKhtLHk", "@context":["https://w3id.org/did/v1"], "verificationMethod":[ { "controller":"did:example:123", "id":"e2cbb249-8c25-4e6e-8b92-b1ceee211c8c", "publicKeyBase58":"7qf5xCRSGP3NW6PAUonYLmq1LCz6Ux5ynek9nbzGgCnP", "type":"Ed25519VerificationKey2018" } ] }, "opts":{ "store":true } }' {"did":{"@context":["https://w3id.org/did/v1"],"id":"did:example:1zQmanz2svbjxcYd4J3CtP6Jg6kw4nQpnZQioscz4oKhtLHk","verificationMethod":[{"controller":"did:example:123","id":"e2cbb249-8c25-4e6e-8b92-b1ceee211c8c","publicKeyBase58":"7qf5xCRSGP3NW6PAUonYLmq1LCz6Ux5ynek9nbzGgCnP","type":"Ed25519VerificationKey2018"}]}}

AngelPalomares (Mon, 29 Mar 2021 17:09:17 GMT):
but, unfortunately it is not storing the created DID in the ledger (sidetree) :-(

troyronda (Mon, 29 Mar 2021 18:06:52 GMT):
@AngelPalomares did:peer is not stored in a ledger.

troyronda (Mon, 29 Mar 2021 18:07:12 GMT):
("method":"peer")

troyronda (Mon, 29 Mar 2021 18:10:39 GMT):
It should be stored locally though.

AngelPalomares (Tue, 30 Mar 2021 06:45:15 GMT):
Hello @troyronda, sorry for the misunderstanding. I thought that using this call I could store a "public" DID that after which, for instance, I can use it for issuing a credential with a reliable DID for the issuer. If this is not the case, how can I do so?

AngelPalomares (Tue, 30 Mar 2021 06:45:22 GMT):
Thank you very much in advance

Vid201 (Tue, 30 Mar 2021 11:16:41 GMT):
Hi @troyronda. I can successfully call /vdr/did/create endpoint with method peer (I get did field as the response). But after that, if I call /vdr/did/records, empty object is returned. Shouldn't the newly created DID be returned?

Vid201 (Tue, 30 Mar 2021 11:16:41 GMT):
Hi @troyronda . I can successfully call /vdr/did/create endpoint with method peer (I get did field as the response). But after that, if I call /vdr/did/records, empty object is returned. Shouldn't the newly created DID be returned?

Vid201 (Tue, 30 Mar 2021 11:24:45 GMT):
So I get error: {"code":4004,"message":"create did doc: build not supported in http binding vdr"}, when trying to creare DID with method sidetree. I know I probably do not have correct build (I am using OpenAPI demo), but I still do not understand what do I have to do. Do I need to add extra flags when starting agent (currently there is only HTTP_DID_RESOLVER for sidetree? Thanks for your help!

Vid201 (Tue, 30 Mar 2021 11:24:45 GMT):
So I get error: {"code":4004,"message":"create did doc: build not supported in http binding vdr"}, when trying to create DID with method sidetree. I know I probably do not have correct build (I am using OpenAPI demo), but I still do not understand what do I have to do. Do I need to add extra flags when starting agent (currently there is only HTTP_DID_RESOLVER for sidetree? Thanks for your help!

Vid201 (Tue, 30 Mar 2021 11:24:45 GMT):
So I get error: {"code":4004,"message":"create did doc: build not supported in http binding vdr"}, when trying to create DID with method sidetree. I know I probably do not have correct build (I am using OpenAPI demo), but I still do not understand what do I have to do. Do I need to add extra flags when starting agent (currently there is only HTTP_DID_RESOLVER for sidetree)? Thanks for your help!

Vid201 (Tue, 30 Mar 2021 11:24:45 GMT):
So I get error: {"code":4004,"message":"create did doc: build not supported in http binding vdr"}, when trying to create DID with method sidetree. I know I probably do not have correct build (I am using OpenAPI demo), but I still do not understand what I have to do. Do I need to add extra flags when starting agent (currently there is only HTTP_DID_RESOLVER for sidetree)? Thanks for your help!

Vid201 (Tue, 30 Mar 2021 11:24:45 GMT):
@troyronda So I get error: {"code":4004,"message":"create did doc: build not supported in http binding vdr"}, when trying to create DID with method sidetree. I know I probably do not have correct build (I am using OpenAPI demo), but I still do not understand what I have to do. Do I need to add extra flags when starting agent (currently there is only HTTP_DID_RESOLVER for sidetree)? Thanks for your help!

Vid201 (Tue, 30 Mar 2021 11:25:56 GMT):
Or where can I later retrieve this created DID?

Vid201 (Tue, 30 Mar 2021 11:25:56 GMT):
Or where can I later retrieve this created DID document?

sudeshrshetty (Wed, 31 Mar 2021 13:49:07 GMT):
@AngelPalomares You can call this kms import key endpoint to import your private keys with matching `kid`. Later you can use that saved DID with key ID (verification method) to sign the credential. https://github.com/hyperledger/aries-framework-go/blob/main/pkg/controller/command/kms/command.go#L113

sudeshrshetty (Wed, 31 Mar 2021 13:49:07 GMT):
@AngelPalomares You can call this kms import key endpoint to import your private keys with matching `kid`. Later you can use that saved DID with key ID (verification method, DID_ID#KEYID) to sign the credential. https://github.com/hyperledger/aries-framework-go/blob/main/pkg/controller/command/kms/command.go#L113

sudeshrshetty (Wed, 31 Mar 2021 13:55:33 GMT):
@AngelPalomares ``` req := SignCredentialRequest{ Credential: []byte(vc), DID: "did:peer:example", ProofOptions: &ProofOptions{ VerificationMethod: "did:peer:example#keys-1", SignatureType: Ed25519Signature2018, }, } reqBytes, err := json.Marshal(req) require.NoError(t, err) var b bytes.Buffer err = verifiableCmd.SignCredential(&b, bytes.NewBuffer(reqBytes)) require.NoError(t, err) ```

sudeshrshetty (Wed, 31 Mar 2021 13:55:33 GMT):
@AngelPalomares ``` req := SignCredentialRequest{ Credential: []byte(vc), DID: "did:example:1234", ProofOptions: &ProofOptions{ VerificationMethod: "did:example:1234#keys-1", SignatureType: Ed25519Signature2018, }, } reqBytes, err := json.Marshal(req) require.NoError(t, err) var b bytes.Buffer err = verifiableCmd.SignCredential(&b, bytes.NewBuffer(reqBytes)) require.NoError(t, err) ```

sudeshrshetty (Wed, 31 Mar 2021 13:55:33 GMT):
@AngelPalomares ``` req := SignCredentialRequest{ Credential: []byte(vc), DID: "did:example:1234", ProofOptions: &ProofOptions{ VerificationMethod: "did:example:1234#keys-1", SignatureType: Ed25519Signature2018, }, } reqBytes, err := json.Marshal(req) require.NoError(t, err) var b bytes.Buffer err = verifiableCmd.SignCredential(&b, bytes.NewBuffer(reqBytes)) require.NoError(t, err) ``` JavaScript sample for saveDID + importKey can be found here https://github.com/trustbloc/edge-agent/blob/54bd4534f14f51b5590158536d8c9dacd915a8a8/cmd/wallet-web/src/pages/DIDManagement.vue#L266-L316

sudeshrshetty (Wed, 31 Mar 2021 14:06:56 GMT):
@Vid201 You have to use saveDID endpoint in vdr rest controller to show up in records.

troyronda (Thu, 01 Apr 2021 12:45:47 GMT):
@Vid201 The Sidetree VDR component is not currently included within the framework build. You would need to instantiate the framework with a VDR from hyperledger/aries-framework-go-ext

troyronda (Thu, 01 Apr 2021 12:48:29 GMT):
As an example: https://github.com/trustbloc/agent-sdk/blob/dc37666/cmd/agent-rest/startcmd/start.go#L821-L843

AngelPalomares (Mon, 05 Apr 2021 08:01:58 GMT):
Sorry @sudeshrshetty but I don't understand what you mean, if I understood you correctly, you are proposing to create a DID and save it later on. However this method will allow to the creator has access to the information. We still have the problem where the verifier can't verify the issuer DID as it is not "public" (no in sidetree/ledger). Did I understand you correctly? or maybe I have missed something? :-(

JovanShandro (Mon, 05 Apr 2021 12:00:38 GMT):
Hi Everyone! I am currently trying to find out how to issue and verify a credential in aries go, and I managed to follow the 'How to issue credentials through the Issue Credential protocol?' part of the openapi_demo, but am not sure what the next steps would be? How can I sign this credential by the issuer and how would some other user verify it? I noticed that there are some api endpoints that seem to be about verifying and signing, but I can't seem to make it work as every call that I make to the endpoints result in an error. What would be the complete flow (in terms of requests) for issuing and then verifying a credential? Is there some part of the documentation that explains this that I might have missed. Thank you!

sudeshrshetty (Mon, 05 Apr 2021 13:55:21 GMT):
@AngelPalomares if you create public DIDs then resolver will have access to it during signing. What error you are getting while signing using DID

AngelPalomares (Tue, 06 Apr 2021 06:45:12 GMT):
Hello @sudeshrshetty, the problem is that I don't know how to register/create a public DID :persevere:

etaleo (Tue, 06 Apr 2021 15:11:11 GMT):
Is there somewhere a comprehensive guide on how build an Aries agent together with a project structure overview showing which components there are and you can choose from and how they fit together? And some architectural overview in general, and also on how these pluggable dependencies work exactly? What are the first steps in order to write an Aries agent?

etaleo (Tue, 06 Apr 2021 15:11:11 GMT):
Is there somewhere a comprehensive guide on how to build an Aries agent together with a project structure overview showing which components there are and you can choose from and how they fit together? And some architectural overview in general, and also on how these pluggable dependencies work exactly? What are the first steps in order to write an Aries agent?

Vid201 (Wed, 07 Apr 2021 07:14:15 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=mhx3dzbHMeQL2n7Ad) Cool, thank you, I can now see it under /vdrd/did/records. But in order to obtain DID document (records is just array of ids), I have to call /vdr/did/{id} (or /vdr/did/resolve/{id}?). But on both of these methods I get error: {"code":4000,"message":"invalid id"}. I tried using DID itself and friendly name I chose when saving DID document.

Vid201 (Wed, 07 Apr 2021 07:14:15 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=mhx3dzbHMeQL2n7Ad) @sudeshrshetty Cool, thank you, I can now see it under /vdrd/did/records. But in order to obtain DID document (records is just array of ids), I have to call /vdr/did/{id} (or /vdr/did/resolve/{id}?). But on both of these methods I get error: {"code":4000,"message":"invalid id"}. I tried using DID itself and friendly name I chose when saving DID document.

sudeshrshetty (Thu, 08 Apr 2021 02:58:32 GMT):
@Vid201 `/vdr/did/{id}` should work. did ID should be base64 encoded https://github.com/hyperledger/aries-framework-go/blob/34ff560ed041fd9d3255a0c8c7f99c584c1c0a74/pkg/controller/rest/vdr/operation.go#L109

sudeshrshetty (Thu, 08 Apr 2021 02:59:45 GMT):
@AngelPalomares which public DID you are using? And what error you are getting and in which step?

Vid201 (Thu, 08 Apr 2021 12:24:32 GMT):
@sudeshrshetty Great, it works now, did not I have to encode it in base64. Thanks! So this flow works now, but how can I create another DID? Why do I have to provide DID details/document in the call for /vdr/did/create - I want this method to generate new DID and DID peer document for me?

Vid201 (Thu, 08 Apr 2021 12:24:32 GMT):
@sudeshrshetty Great, it works now, did not know I have to encode it in base64. Thanks! So this flow works now, but how can I create another different DID? Why do I have to provide DID details/document in the call /vdr/did/create - I want this method to generate new DID and DID peer document without providing any additional information?

Vid201 (Thu, 08 Apr 2021 12:25:31 GMT):
Why cannot I call this method with just method=peer and store=true?

AngelPalomares (Thu, 08 Apr 2021 14:50:29 GMT):
Hello @sudeshrshetty, sorry but I don't understand your question, maybe I misunderstood it but the idea is to be able to have a "public" DID using the Aries framework. Do I need to create the DID using other means/framework and then import it?

SahilK 6 (Fri, 09 Apr 2021 12:04:46 GMT):
Has joined the channel.

SahilK 6 (Fri, 09 Apr 2021 12:04:47 GMT):
Hi Everyone, Following the instructions at [https://github.com/hyperledger/aries-framework-go/blob/main/cmd/aries-agent-mobile/README.md], can we make an Android and iOS Edge Agent that communicates with any existing Mediator agent?

SahilK 6 (Fri, 09 Apr 2021 12:04:47 GMT):
Hi Everyone, Following the instructions at https://github.com/hyperledger/aries-framework-go/blob/main/cmd/aries-agent-mobile/README.md, can we make an Android and iOS Edge Agent that communicates with any existing Mediator agent?

SahilK 6 (Fri, 09 Apr 2021 12:04:47 GMT):
Hi Everyone, Following the instructions at https://github.com/hyperledger/aries-framework-go/blob/main/cmd/aries-agent-mobile/README.md, can we make an Android and iOS Edge Agent (or mobile agents) that communicates with any existing Mediator agent?

swcurran (Fri, 09 Apr 2021 15:48:48 GMT):
I don't know a lot about Aries Framework Go, but I believe what you need to do is create a client implementation of RFC 0211 within AFGo. Once you have that, you can use a mediator that also talks RFC 0211, such as the public mediator that Indicio stood up. Links: https://github.com/hyperledger/aries-rfcs/tree/master/features/0211-route-coordination https://indicio-tech.github.io/mediator/

SahilK 6 (Sat, 10 Apr 2021 07:19:38 GMT):
Thanks for pointing out to the resources, @swcurran . I already have a working Mediator Agent (developed using Aries Framework .NET). I don't intend to build a new Mediator Agent using the Aries Framework Go. I just want to know if I can build Mobile Edge Agents (that have the wallet created/stored in the smartphone) using the Aries Framework Go. Mobile Edge Agents can be developed using the Aries Framework .NET, however, the requirement is such that I cannot use that. Hence, I am exploring the Aries Framework Go.

YoungjoonLee (Sun, 11 Apr 2021 14:31:50 GMT):
Has joined the channel.

Welbert2019 (Mon, 12 Apr 2021 15:34:39 GMT):
Has joined the channel.

AngelPalomares (Tue, 13 Apr 2021 09:02:21 GMT):
webhook

Welbert2019 (Wed, 14 Apr 2021 17:47:11 GMT):
Hi guys, Actually is possible establish a connection between two android emulators using aries go mobile embbed and local agents ? - I send an invitation from Agent A - I accept the invitation on agent B - Agent B get the connection with status of requested. - Agent A query connections does not return anything.

kukgini (Thu, 15 Apr 2021 08:56:30 GMT):
Hi all. Is it intended? '/verifiable/presentation/generatebyid' is missed from the swagger openapi spec.

troyronda (Thu, 15 Apr 2021 15:19:42 GMT):
@sudeshrshetty ^^^

egidio.casati (Sat, 17 Apr 2021 18:53:09 GMT):
Has joined the channel.

msjeong (Tue, 27 Apr 2021 02:15:01 GMT):
Has joined the channel.

msjeong (Tue, 27 Apr 2021 04:13:07 GMT):
Hello team ~, I'm a researcher interested in this framework. I have a question. When a "BLS12381G2" type key is generated by a REST API "/kms/ketset" post request, the publicKey increases from 96 size to 128 size during the decoding process for response. This becomes a problem when the UnmarshalPublicKey function is called in the bbs12381g2pub package. This function checks whether the length of the publickey is equal to 96. At this time, false is returned and no further progress is made. Is this intended? Or is it a bug that needs to be fixed? Thank you :D

msjeong (Tue, 27 Apr 2021 04:13:56 GMT):
Hello team ~, I'm a researcher interested in this framework. I have a question. When a "BLS12381G2" type key is generated by a REST API "/kms/ketset" post request, the publicKey increases from 96 size to 128 size during the decoding process for response. This becomes a problem when the UnmarshalPublicKey() function is called in the bbs12381g2pub package. This function checks whether the length of the publicKey is equal to 96. At this time, false is returned and no further progress is made. Is this intended? Or is it a bug that needs to be fixed? Thank you :D

MALodder (Tue, 27 Apr 2021 14:19:01 GMT):
my hunch is that its also returning the private key with the public key because the private key is 32 bytes and the public key is 96 bytes. The question is which 32 bytes are the private key? I try to unpack the last 96 bytes to see if that works, if it doesn't then try the first 96 bytes. I'm unfamiliar with how the go framework is doing it so I hope @troyronda or someone who is can help

Baha-sk (Tue, 27 Apr 2021 22:17:57 GMT):
@msjeong the response includes a public key that's raw base64URL encoded, have you tried to decode it prior to unmarshal?

kukgini (Wed, 28 Apr 2021 07:22:49 GMT):
Hello everyone. When I hit the REST API 'POST /verifiable/credential/validate' `pkg/controller/command/verifiable/command.go:ValidateCredential(...)` is trying to `pkg/doc/verifiable/credential.go:validateCredential(...)` in `pkg/doc/verifiable/credential.go:verifiable.ParseCredential(...)` but vcOpts has no publicKeyFetcher yet. So it failed. Is it sould be fixed? or Is there somethig I missed?

kukgini (Wed, 28 Apr 2021 07:22:49 GMT):
Hello everyone. When I hit the REST API 'POST /verifiable/credential/validate' `pkg/controller/command/verifiable/command.go:ValidateCredential(...)` is trying to `pkg/doc/verifiable/credential.go:validateCredential(...)` in `pkg/doc/verifiable/credential.go:verifiable.ParseCredential(...)` but `vcOpts` has no `publicKeyFetcher` yet. So it failed. Is it sould be fixed? or Is there somethig I missed?

kukgini (Wed, 28 Apr 2021 07:22:49 GMT):
Hello everyone. When I hit the REST API 'POST /verifiable/credential/validate' `pkg/controller/command/verifiable/command.go:ValidateCredential(...)` is trying to `pkg/doc/verifiable/credential.go:validateCredential(...)` in `pkg/doc/verifiable/credential.go:verifiable.ParseCredential(...)` but `vcOpts` has no `publicKeyFetcher` yet. So it failed. Is it sould be fixed? or Is there something I missed?

sheldon.regular (Wed, 28 Apr 2021 20:53:26 GMT):
Hi Everyone. Just a minor inquiry. When calling `did-exchange/connections`, either with a query parameter and there are no results matching, or with no parameter and there are no connection records, it always returns 200 with an empty message. Would it not be better to provide a code that better represents no results?

msjeong (Sun, 02 May 2021 11:26:56 GMT):
Oh, I made a mistake :D I decoded it with base64URL and it worked fine. Thank you.

etaleo (Wed, 05 May 2021 11:01:02 GMT):
Hello there :wave: Which information does the aries-framework-go request from external resources (like a VDR) and where/how does it happen in the code? I'm thinking of DID Docs, schemas, credential/presentation definitions, (encodings, mappings for Rich Schemas), some kind of revocation list/registry?

sheldon.regular (Thu, 06 May 2021 18:29:45 GMT):
Hi Everyone. Question: I'm in the middle of issuing a credential. I want to check the state of that process from the issuer or holder perspective. There doesn't seem to be a way to get a state in the admin api, as in `proposal-sent` or `request-received` in this issue credential protocol in afgo. When doing a DID Exchange Connection, one can call the connections protocol with a connection id and get the state of the connection process. Am I missing something in the Issue Credential protocol? Thanks.

sheldon.regular (Thu, 06 May 2021 20:11:11 GMT):
Actually, scratch that, I've found what I need in the webhooks. :thumbsup:

pritam_01 (Sun, 09 May 2021 08:36:05 GMT):
Has joined the channel.

etaleo (Mon, 10 May 2021 12:06:33 GMT):
Or, phrased differently: When operating an own ledger / DID method, what are the interfaces one needs to implement?

etaleo (Mon, 10 May 2021 12:06:33 GMT):
Or, phrased differently: When operating an own ledger / DID method, what are the interfaces one needs to implement in order to be compatible with the Aries Framework Go?

etaleo (Mon, 10 May 2021 12:25:41 GMT):
Or, phrased differently: When operating an own ledger / DID method, what are the interfaces one needs to implement in order to be compatible with the Aries Framework Go?

Vid201 (Tue, 11 May 2021 08:53:19 GMT):
Hi everyone. When calling `curl -k -X 'POST' 'https://localhost:8082/verifiable/signcredential' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"credential": "{\n \"@context\":[\n \"https://www.w3.org/2018/credentials/v1\",\n\t \"https://trustbloc.github.io/context/vc/examples-v1.jsonld\"\n ],\n \"id\":\"http://example.edu/credentials/1989\",\n \"type\":\"VerifiableCredential\",\n \"credentialSubject\":{\n \"id\":\"did:example:iuajk1f712ebc6f1c276e12ec21\"\n },\n \"issuer\":{\n \"id\":\"did:example:09s12ec712ebc6f1c671ebfeb1f\",\n \"name\":\"Example University\"\n },\n \"issuanceDate\":\"2020-01-01T10:54:01Z\",\n \"credentialStatus\":{\n \"id\":\"https://example.gov/status/65\",\n \"type\":\"CredentialStatusList2017\"\n }\n}", "did": "did:key:z6Mkm9nBrNm2FtXQZiU1c5WNJKRgoRVGRdQvCPfiQgJbw7Xj", "kid": "z6Mkm9nBrNm2FtXQZiU1c5WNJKRgoRVGRdQvCPfiQgJbw7Xj", "signatureType": "JsonWebSignature2020"}'`, I am getting `{"code":6011,"message":"parse vc : unmarshal new credential: json: cannot unmarshal string into Go value of type verifiable.Alias"}`. Not sure what is wrong with credential: I am using the same credential as in the following test: https://github.com/hyperledger/aries-framework-go/blob/main/cmd/aries-agent-mobile/pkg/wrappers/rest/verifiable_test.go - this test pass successfully. Thanks.

sheldon.regular (Tue, 11 May 2021 19:50:08 GMT):
Hi Everyone. In the Issue Credential protocol, why to the `accept-` operations need a message body? They are in response to a either a proposal, offer, or request, those there established what the credential looks like, so why wouldn't these work with just the piid sent over? I ask because I'm integrating with the Aries Agent Test Harness, and it assumes once a key is created and can be added to the operation call, the data is no longer needed. So at the point of any of the `accept-` operations I don't have the credential offer etc in the afgo backchannel. I think I can pull it out of a webhook, but just wanted your opinion on this in case I'm missing something. Thanks.

sheldon.regular (Wed, 12 May 2021 20:35:42 GMT):
Hi Again. I'm wondering why a receiver doesn't get a *_states webhook message? I'm doing issue credential and this starts with a proposal. The holder proposed a credential The issuer accepts the proposal. The issuer controller gets an issue credential states webhook that contains the state `offer-sent`. I would expect the holder to also get an issue credential states webhook message containing the state `offer-received`. The Aries Agent Test Harness would like to check the state of the holder after the issuer sends the offer, but there doesn't seem to be a way to do this. The holder does get an issue credential actions webhook message but there is no state in that message. Is there a way I can check the state of the holder?

sheldon.regular (Wed, 19 May 2021 19:26:19 GMT):
Hi, I'm having a new issue after rebuilding aries-framework-go as of yesterday. It was probably a couple of days since I rebuilt afgo. With code that use to work, the `issue-credential/send-proposal` I now get the following error, ``` { "code":8011, "message":"handle outbound: action proposal-sent: outboundDispatcher.SendToDID failed to get didcomm destination for theirDID [did:peer:1H6d33Hnh2yTvZRiUBGNi]: getDestination: failed to resolve did [did:peer:1H6d33Hnh2yTvZRiUBGNi] : fetching data from store failed: delta data fetch from store for did [did:peer:1H6d33Hnh2yTvZRiUBGNi] failed: DID not found" } ``` This is the message data being sent with the send-proposal ``` { "my_did":"did:peer:1zQmW3xoYZxk6iDGH1bHw8jcvFNuxoaZz4JYdiVmenq7RNa9", "their_did":"did:peer:1H6d33Hnh2yTvZRiUBGNi", "propose_credential":{ "credential_proposal":{ "@type":"did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/issue-credential/1.0/credential-preview", "attributes":[ { "name":"attr_1", "value":"value_1" }, { "name":"attr_2", "value":"value_2" }, { "name":"attr_3", "value":"value_3" } ] } } } ``` As mentioned, this worked until I did a rebuild yesterday evening. Could this be a problem with a recent PR in afgo?

filip.burlacu (Wed, 19 May 2021 21:03:49 GMT):
the fact that `their_did` is so short is unusual, are you trying to interop with aca-py? or an interop fix that's supposed to be behind a build flag is leaking out (which would be a bug in a recent PR in afgo)

sheldon.regular (Wed, 19 May 2021 21:12:44 GMT):
Thanks for the response @filip.burlacu. No, all agents are afgo in this scenario. Their_did came from afgo, I pulled it out of a webhook message at the time it was needed.

filip.burlacu (Wed, 19 May 2021 21:17:24 GMT):
I'll investigate, the truncation is a bug for sure

filip.burlacu (Wed, 19 May 2021 21:30:08 GMT):
did you build the agent in acapy-interop mode? that's the only way, as far as I can see, where their_did could be truncated

swcurran (Wed, 19 May 2021 22:37:18 GMT):
@ianco ^^^ we are using acapy-interop mode, right? Perhaps we should ONLY be using that AFGo - ACA-Py. E.g. we need to have two AF-Go test agents, one for when doing AF-Go to AF-Go tests and the other for AF-Go to ACA-Py tests. Easily done -- just have to have two dockerfiles.

ianco (Wed, 19 May 2021 23:03:09 GMT):
Yep that change is here: https://github.com/hyperledger/aries-agent-test-harness/blob/master/aries-backchannels/afgo/Dockerfile.afgo-master#L28

ianco (Wed, 19 May 2021 23:03:38 GMT):
And yes it prob makes sense to have separate Dockerfiles for `afgo-master` and `afgo-interop`

ianco (Wed, 19 May 2021 23:04:34 GMT):
(`afgo-interop` would be temporary until we get the full AIP2.0 interoperability working properly)

sheldon.regular (Thu, 20 May 2021 13:05:54 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=vEzBhq6EWg6Zkkeno) Yes, @filip.burlacu you are right, I had merged with Ian's changes and didn't know afgo-master was afgo-interop. I just reverted back to the unmerged afgo-master docker file that pulls from main. It now works. Thanks.

msjeong (Mon, 24 May 2021 03:24:51 GMT):
Hello team ~, I'm a researcher interested in this framework. I have a question when signing the credential, in the process of loading the document. When calling LoadDocument(), what's wrong with just loading the URL in the list of context in JSON-LD without remoteDocument? Thank you :grinning:

pritam_01 (Mon, 24 May 2021 03:31:15 GMT):
Has left the channel.

sheldon.regular (Wed, 26 May 2021 20:35:05 GMT):
@filip.burlacu I'm having a small issue with connections in afgo. Calls through the api to establish a connection work. I get 200s on all of the calls and the 2 parties have a connection in the end. However, on the /connections/id/accept-request by the responder in the logs for the agent I get the following: Responder: ``` [aries-framework/out-of-band/service] 2021/05/26 20:08:45 UTC - n/a -> ERROR command=[out-of-band] action=[handleDIDEvent] [] errMsg=[handleDIDEvent: ParentThreadID is empty] ``` Requester: ``` [aries-framework/out-of-band/service] 2021/05/26 20:08:45 UTC - n/a -> ERROR command=[out-of-band] action=[handleDIDEvent] [] errMsg=[failed to load attachment handling state : failed to fetch attachment handling state using id=9b99cd85-608f-4e7a-8dd0-cb223c877364 : data not found] ``` These messages happen around successful webhook calls and like I said the main call gets a 200 back and I can continue on. Do you have any hints on why this is happening and what I need to do to solve it? I ask this because I want to make sure the calls are clear because I'm trying to diagnose another issue where, sometimes when I try to get the connection record after this call to check the state of the protocol, I don't get a connection record back, I get 200, and an empty message. Then my test fails because of no status information. This only happens randomly.

sheldon.regular (Thu, 27 May 2021 20:06:59 GMT):
@filip.burlacu any insight on this? Thanks.

filip.burlacu (Thu, 27 May 2021 21:46:32 GMT):
I'm investigating this, as far as I can tell the "attachment handling state" in question should have been saved under the ID in the error message, but I'm digging until I figure out why this error message is happening

filip.burlacu (Thu, 27 May 2021 21:46:32 GMT):
I'm investigating this now, as far as I can tell the "attachment handling state" in question should have been saved under the ID in the error message, but I'm digging until I figure out why this error message is happening

sheldon.regular (Fri, 28 May 2021 16:52:10 GMT):
Thank you @filip.burlacu

swcurran (Thu, 03 Jun 2021 00:00:16 GMT):
@troyronda -- does the AF-Go implementation of BBS+ Credentials support BbsBlsBoundSignature2020 -- e.g. the ability to not expose an ID for the holder to the verifier?

troyronda (Thu, 03 Jun 2021 00:35:25 GMT):
No. I don’t think I’m aware of this. Do you have pointers to where it is documented or some existing implementations? @swcurran

troyronda (Thu, 03 Jun 2021 00:35:25 GMT):
No. I don’t think I’m aware of this. Do you have pointers to where it is documented in a spec or some existing implementations? @swcurran

swcurran (Thu, 03 Jun 2021 16:51:47 GMT):
Here is a PR from Brent Zundel to add it to the BBS+ LDP spec -- https://github.com/w3c-ccg/ldp-bbs2020/pull/57/files Per @brentzundel `The method for submitting a blinded commitment to the issuer is described in section 3.9 of the BBS+ spec linked to in the BBS+ LD-Signatures spec. The implementation in ursa already supports a holder sending the issuer a set of committed values for signing.`

troyronda (Thu, 03 Jun 2021 17:07:18 GMT):
Ok thanks for the pointer @swcurran

TimoGlastra (Mon, 14 Jun 2021 19:34:28 GMT):
I'm working on adding support for DIF PE to AATH. What does AFGO expect as input to the send presentation for DIF PE. ACA-Py has the following options:

TimoGlastra (Mon, 14 Jun 2021 19:38:45 GMT):
I'm adding DIF PE support to AATH. What is the input AFGO expects to create and send the presentation? ACA-Py supports the following options: - Send `{}`. Which means auto construct the presentation - Or you can input a presentation_definition that applies extra restrictions on the credentials to use with the possibility to specify specific record ids of credentials to use for the presentation. I don't want to make the API too ACA-Py specific, so curious to hear what you're using. See https://github.com/ianco/aries-cloudagent-python/blob/85470918d5b60e2fd490567f6776e7a7de12dd7b/demo/AliceWantsAJsonCredential.md#request-presentation-example for a description of the possibilities in ACA-Py

lwyatt (Thu, 24 Jun 2021 19:16:05 GMT):
Has joined the channel.

smithbk (Thu, 24 Jun 2021 20:09:12 GMT):
Hi, I'm curious, what does aries-framework-go use for persistent storage by default?

troyronda (Thu, 24 Jun 2021 20:28:45 GMT):
@smithbk https://github.com/hyperledger/aries-framework-go/tree/main/component/storage and https://github.com/hyperledger/aries-framework-go-ext/tree/main/component/storage

troyronda (Thu, 24 Jun 2021 20:29:26 GMT):
Not every storage component has had equal attention though.

troyronda (Thu, 24 Jun 2021 20:30:33 GMT):
The EDV component is for encrypted storage.

troyronda (Thu, 24 Jun 2021 20:31:14 GMT):
CouchDB and EDV probably had the most attention so far.

smithbk (Thu, 24 Jun 2021 20:32:19 GMT):
thanks

kukgini (Tue, 29 Jun 2021 01:01:40 GMT):
Hello everyone. I wonder if there are any plans to using URSA to support BbsBlsBoundSignature2020 / StatusList2021(for revocation) ?

kukgini (Tue, 29 Jun 2021 01:01:40 GMT):
Hello everyone. I wonder if there are any plans to using `URSA` to support BbsBlsBoundSignature2020 / StatusList2021(for revocation) Or there are another approach (e.g., with `tink`)?

kukgini (Tue, 29 Jun 2021 01:01:40 GMT):
Hello everyone. I wonder if there are any plans to using `URSA` to support `BbsBlsBoundSignature2020` / `StatusList2021` (for revocation) Or there are another approach (e.g., with `tink`)?

troyronda (Mon, 05 Jul 2021 20:36:35 GMT):
There are no plans to use directly URSA since it is not a go-native library. We have build targets such as WASM that are incompatible with a C-loadable library. @kukgini

troyronda (Mon, 05 Jul 2021 20:36:35 GMT):
There are no plans to directly use URSA since it is not a go-native library. We have build targets such as WASM that are incompatible with a C-loadable library. @kukgini

troyronda (Mon, 05 Jul 2021 20:41:25 GMT):
FYI: we implemented RevocationList2020 in TrustBloc here (extending AFG): https://github.com/trustbloc/edge-service/blob/main/pkg/doc/vc/status/csl/csl.go

ArdianAbazi (Tue, 13 Jul 2021 14:27:54 GMT):
Has joined the channel.

ArdianAbazi (Tue, 13 Jul 2021 14:40:40 GMT):
Hi guys I am new to Aries and I have a few questions regarding issuing and veryfing credentials. First of all to my understanding issuing a credential as described in the open api demo, doesn't sign the issued credential. I supposed that is done through the signcredential endpoint. So the issuing agent calls the sign credential endpoint and then calls accept request, right? Is that how it's supposed to be, or am I missing something? Once I have the signed credential on the receiving agent, should I do anything to store that credential locally or is that done automatically for me?

ArdianAbazi (Tue, 13 Jul 2021 14:43:58 GMT):
Also, the JWT token in the proof section of the signcredential response doesn't have a payload. Is that normal? `"proof": { "created": "0001-01-01T00:00:00Z", "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..k4Y35tGIokcj_mLQ_IBiV-sOh6ijQPg_blctL11ztYtbYg2bs5IL1jjAuOkDbhcNLD0fZmv6Pjgph-49uui6Dg", "proofPurpose": "assertionMethod", "type": "Ed25519Signature2018", "verificationMethod": "did:peer:1zQmUReFsBxJhtGMHBMrUX1hubMwPNqwRzFgSny42uNzZjvh#VuZZhGIkeJT5676z-6o4ziWvJi8VHqxtTltWN9-Ra_g" }`

alebaffa (Wed, 14 Jul 2021 05:17:50 GMT):
Has joined the channel.

ArdianAbazi (Thu, 15 Jul 2021 10:53:35 GMT):
For anyone having facing the same question in the future, judging by the tests, the signing part has to be taken care of by the controller.

ArdianAbazi (Thu, 15 Jul 2021 10:55:44 GMT):
I am getting the following response when trying to validate a signed credential: ``` { "code": 6000, "message": "request decode : json: cannot unmarshal object into Go struct field Credential.verifiableCredential of type string" } ```

ArdianAbazi (Thu, 15 Jul 2021 10:56:47 GMT):
Here's what I am sending to the agent (verifiable/credential/validate): ``` { "verifiableCredential": { "@context": [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ], "credentialSubject": "sample-credential-subject-id", "id": "http://example.edu/credentials/1872", "issuanceDate": "2010-01-01T19:23:24Z", "issuer": { "id": "did:example:76e12ec712ebc6f1c221ebfeb1f", "name": "Example University" }, "proof": { "created": "2021-07-15T10:36:44.604841662Z", "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..8Qx_uHrPpTfR7jz1bJCe06tjirdHweDffkAiPpHDl0kJZnRYB2EBzfEm_6pmbQ1tLUSfifLVJXUdDCdfWL-3DQ", "proofPurpose": "assertionMethod", "type": "Ed25519Signature2018", "verificationMethod": "did:peer:1zQmV4UnjWXEZhkNq41eAWcodN88jWSTV4Wndivab12MP8d7#q0B-_t5PE4VHAh0Ki-XGG2dG-21oMFQ8IYlu6-ylFN4" }, "referenceNumber": 83294847, "type": [ "VerifiableCredential", "UniversityDegreeCredential" ] } } ```

ArdianAbazi (Thu, 15 Jul 2021 10:57:35 GMT):
Does anyone have an idea why? I checked the tests for this part, and this is the way they call this endpoint.

aspannag (Mon, 26 Jul 2021 11:52:42 GMT):
Has joined the channel.

aspannag (Tue, 27 Jul 2021 10:23:13 GMT):
Hi aries-go folks. What would I need to spin up a mediator agent with aries-go that works with indy? I've read that aries-go is DLT agnostic. What would I need to run it against indy? Or should I opt into aca-py right away?

kukgini (Wed, 04 Aug 2021 13:28:53 GMT):
At this point I think aca-py is a better choice if you are based on indy.

l-wegner (Thu, 05 Aug 2021 07:27:07 GMT):
Has joined the channel.

ArdianAbazi (Mon, 09 Aug 2021 07:00:04 GMT):
You can integrate indy into aries-go, checkout https://github.com/hyperledger/aries-framework-go-ext. Under components>vdr there's an indy implementation. You might have to do some changes to this implementation to make compatible with vdrapi, but you can make it work. Also have you considered http binding?

aspannag (Mon, 09 Aug 2021 16:15:32 GMT):
Sounds interesting. What's the reason for the repos aries-framework-go and aries-framework-go-ext to be split?

aspannag (Mon, 09 Aug 2021 16:15:49 GMT):
Can you explain `http binding`?

filip.burlacu (Tue, 10 Aug 2021 15:51:27 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=WfnTzpyEYWD6fucqo) -ext is for plugins and other modules that aren't defaults when you build a cloud agent with afgo, for example, you're free to choose the backend DB you use, so afgo itself has some utility stores and defaults, and afgo-ext can have a variety of plugins from which you pick whichever DB suits your needs

filip.burlacu (Tue, 10 Aug 2021 15:58:36 GMT):
[ ](https://chat.hyperledger.org/channel/aries-go?msg=khZHnPcyNs3ZY8HkJ) the http binding VDR uses an external server for resolving DIDs - so if you only need to resolve dids, you can use that with an external did method driver or a universal resolver instance

ffendt (Tue, 24 Aug 2021 12:43:48 GMT):
Has joined the channel.

troyronda (Tue, 14 Sep 2021 20:34:17 GMT):
AFG 0.1.7: https://github.com/hyperledger/aries-framework-go/releases/tag/v0.1.7

vsadriano (Wed, 29 Sep 2021 10:29:40 GMT):
Has left the channel.

action-sj (Tue, 12 Oct 2021 01:28:27 GMT):
Has joined the channel.

adn-misa (Thu, 14 Oct 2021 09:16:56 GMT):
Has joined the channel.

adn-misa (Thu, 14 Oct 2021 09:16:56 GMT):
Hi everyone, I started integrating AF-Go into a mobile application and i have two questions: 1. Does anyone also have issues with the android bindings? I got some weird error the first time i call a method (https://github.com/hyperledger/aries-framework-go/issues/3009)? 2. Is there a possibility to automatically connect a mobile agent with a mediator? I'm am currently doing the outofband invitation manually but the mobile application should automatically connect and register to a mediator.

nbAmit (Wed, 20 Oct 2021 04:55:18 GMT):
Has joined the channel.

jackmacloud (Tue, 26 Oct 2021 07:02:15 GMT):
Has joined the channel.

jackmacloud (Tue, 26 Oct 2021 07:02:15 GMT):
Hi guys How are Aries-go used with sidetree? Are there any relevant code cases?

lyc9702 (Wed, 27 Oct 2021 06:40:51 GMT):
Has joined the channel.

lyc9702 (Wed, 27 Oct 2021 06:40:52 GMT):
How are Aries-go used with sidetree?

lyc9702 (Wed, 27 Oct 2021 06:40:52 GMT):

swcurran (Wed, 27 Oct 2021 15:30:29 GMT):
@troyronda ^^^

kukgini (Thu, 28 Oct 2021 06:10:08 GMT):
In v0.1.7 Release Notes, What do you mean by Present Proof V3? I can't find any Aries RFC related with it.

swcurran (Thu, 28 Oct 2021 22:44:11 GMT):
The WACI-Pex work being done in DIF uses DIDComm 2. Because of how DIDComm 2 works, some of the fields in Present Proof v2 are moved to the header. Hence, there is a Present Proof V2 that accommodates DIDComm2. A number of Aries protocols will be subject to that change.

swcurran (Thu, 28 Oct 2021 22:45:28 GMT):
@TelegramSam -- I think the V3.0 Protocol should go in to the the Aries RFCs to keep them together and perhaps we should start on an AIP 3 that is based on DIDComm 2?

TelegramSam (Thu, 28 Oct 2021 22:45:28 GMT):
Has joined the channel.

kukgini (Fri, 29 Oct 2021 10:49:43 GMT):
Many thanks. @swcurran @TelegramSam :relaxed:

mateokurti (Wed, 03 Nov 2021 10:33:09 GMT):
Has joined the channel.

mateokurti (Wed, 03 Nov 2021 10:33:36 GMT):
Hello all! I have two quick questions. I'm planning on creating an SSI ecosystem and I'm on the phase when I should decide which framework to use for each agent. As I've seen, AFGo has a great interoperability with other frameworks, but the only problem that I can see so far is its relationship with Indy ledgers. The scenario in my head is that the agent might need to communicate with different ledgers, and I saw that it can only read from Indy ledgers. If I decide to run my "Enterprise Agent" using AFGo, what would be your suggestion regarding blockchain?

mateokurti (Wed, 03 Nov 2021 10:34:22 GMT):
The other thing is about the Android Agent. I have a prototype in Kotlin and I wanted to know if the AFGo can be used in a Kotlin environment

adn-misa (Thu, 04 Nov 2021 07:41:44 GMT):
Hi mateokurti, you could use the DIF Universal Resolver and Registrar for your issue with the ledger

adn-misa (Thu, 04 Nov 2021 07:43:34 GMT):
Yes you can use the mobile bindings for that (https://github.com/hyperledger/aries-framework-go/tree/main/cmd/aries-agent-mobile), But you will maybe encounter some weirds errors on your way like i did (https://github.com/hyperledger/aries-framework-go/issues/3009).

kukgini (Tue, 09 Nov 2021 08:26:23 GMT):
Hello @adn-misa It looks like based on gomobile. Is it OK to consider gomobile as production ready?

adn-misa (Wed, 10 Nov 2021 11:49:17 GMT):
@kukgini gomobile is experimental (https://cs.opensource.google/go/x/mobile) but i have seen multiple projects where complete application were made with it. Depends what you consider to be production ready. The repository mention that you don't have any support from Google. My approach is to use an abstraction over the aries framework on mobile. We are very early and other frameworks could come in the future. And if something happen you will only have to change your abstraction implementation (instead of the whole application).

kukgini (Thu, 11 Nov 2021 04:19:37 GMT):
thank you for your shared experence. @adn-misa

adn-misa (Mon, 22 Nov 2021 10:06:53 GMT):
Hi everyone, i'm currently trying to implement an Issuer with AF-Go and i came up with following questions: How do i create a public DID? I'm right that the creation, update and deactivation need to be implemented in the VDR? How do I integrate the implementation from the extension repository? I saw that there are implementation for indy, orb and sidetree(I assume it works with ION?) What is the best way to get started with an issuer with a public DID? Thanks in advance :smiley:

Baha-sk (Mon, 22 Nov 2021 17:51:20 GMT):
Hi @adn-misa and welcome If you want to connect to a public DID registry, you would use the vdr's [HTTPbinding implementation](https://github.com/hyperledger/aries-framework-go/blob/main/pkg/vdr/httpbinding/vdr.go#L36). If you only want to work with 2 agents directly, you would use peer DIDs that can be created using the [peer DID VDR creator](https://github.com/hyperledger/aries-framework-go/blob/main/pkg/vdr/peer/creator.go#L29). The best way to learn about issuing credentials and introducing agents (issuer and holder for example) is to see the BDD tests in action. For example out-of-band introductions are shown [here](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/introduce.feature) with corresponding code in the introduce_xxx_steps.go files found [here](https://github.com/hyperledger/aries-framework-go/tree/main/test/bdd/pkg/introduce). Note that sdk is for direct agent calls (you can use step debugging to view the agent's test run) or controller that runs the agent in a docker container. Note that introduce is based on out-of-band v1 version that requires and initialized DID connections between agents. The new out-of-band v2 implementation does not use connections and therefore only handles triggering attached requests goals. If you want to see how Issue credentials works, the [issue credential sdk feature](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/issue_credential.feature) (SDK) or the [issue credential controller feature](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/issue_credential_controller.feature) (controller) files can be reviewed along with their test implementations [here](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/pkg/issuecredential/issuecredential_sdk_steps.go) and [here](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/pkg/issuecredential/issuecredential_controller_steps.go) respectively. There's also a BDD test example resolving a public DID via a [mock SideTree node](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/didresolver.feature#L10) resolver, this is only a mock resolver, not the real SideTree, but the drill to resolve from a real public resolver is the same. I hope this helps and feel free to post any more questions.

Baha-sk (Mon, 22 Nov 2021 17:51:20 GMT):
Hi @adn-misa and welcome If you want to connect to a public DID registry, you would use the vdr's [HTTPbinding implementation](https://github.com/hyperledger/aries-framework-go/blob/main/pkg/vdr/httpbinding/vdr.go#L36). If you only want to work with 2 agents directly, you would use peer DIDs that can be created using the [peer DID VDR creator](https://github.com/hyperledger/aries-framework-go/blob/main/pkg/vdr/peer/creator.go#L29). The best way to learn about issuing credentials and introducing agents (issuer and holder for example) is to see the BDD tests in action. For example out-of-band introductions are shown [here](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/introduce.feature) with corresponding code in the introduce_xxx_steps.go files found [here](https://github.com/hyperledger/aries-framework-go/tree/main/test/bdd/pkg/introduce). Note that sdk is for direct agent calls (you can use step debugging to view the agent's test run) or controller that runs the agent in a docker container. Also note that introduce is based on out-of-band v1 version that requires and initialized DID connections between agents. The new out-of-band v2 implementation does not use connections and therefore only handles triggering attached requests goals. If you want to see how Issue credentials works, the [issue credential sdk feature](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/issue_credential.feature) (SDK) or the [issue credential controller feature](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/issue_credential_controller.feature) (controller) files can be reviewed along with their test implementations [here](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/pkg/issuecredential/issuecredential_sdk_steps.go) and [here](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/pkg/issuecredential/issuecredential_controller_steps.go) respectively. There's also a BDD test example resolving a public DID via a [mock SideTree node](https://github.com/hyperledger/aries-framework-go/blob/main/test/bdd/features/didresolver.feature#L10) resolver, this is only a mock resolver, not the real SideTree, but the drill to resolve from a real public resolver is the same. I hope this help, feel free to post any more questions.

adn-misa (Wed, 24 Nov 2021 08:36:57 GMT):
Hi @Baha-sk thanks for your response and yes I have some more clarification questions, Yes I can use the HttpBinding to get DID Documents from public DIDs but how can i register a public DID from the framework. I looked at the implementation but HttpBinding does not implement the Write and Deactivate functions. That comes back to my second question, the extension repository (https://github.com/hyperledger/aries-framework-go-ext) seems to have implementation to register public DIDs with a orb or sidetree implementation, could you describe how it can be integrated into the AF-GO?

KurosakiIchigo (Wed, 24 Nov 2021 10:51:14 GMT):
Has joined the channel.

ArdianAbazi (Wed, 24 Nov 2021 13:00:36 GMT):
Hello everyone, any idea whether I could use an AFGO agent as a mediator between an ACA-PY (cloud) and another AFGO agent (edge)?

ArdianAbazi (Wed, 24 Nov 2021 13:02:25 GMT):
I am currently trying to perform didexchange with a setup like that and the mediator cannot decode the envelopes coming from ACA-PY. Both AFGO agents are running on ACAPyInterop mode.

Baha-sk (Wed, 24 Nov 2021 14:10:04 GMT):
@adn-misa , the core Aries-Framework-Go project is not meant to create public DIDs directly, it offers basic DID resolution via the httpbinding VDR.

Baha-sk (Wed, 24 Nov 2021 14:10:04 GMT):
@adn-misa , the core Aries-Framework-Go project is not meant to create public DIDs directly, it offers basic DID resolution via the httpbinding VDR for public DIDs.

Baha-sk (Wed, 24 Nov 2021 14:13:11 GMT):
aries-framework-go-ext offers more functionality to create/resolve DIDs for sidetree, orb, trustbloc and indy under the [vdr](https://github.com/hyperledger/aries-framework-go-ext/tree/main/component/vdr) package so the former project serves as an extension to the latter.

Baha-sk (Wed, 24 Nov 2021 14:36:46 GMT):
you don't need to integrate the -ext logic inside AFGO core project, as a user agent developer, you create the public DID using -ext, then create an agent and use its clients to execute the protocol services available, ie DIDexchange, out-of-band, issue-credential, persent-proof, etc. There's a client and a service for each of these in AFGO, as an agent developer, you would use clients found [here](https://github.com/identinet/aries-framework-go/tree/fix-vcwallet-correct-issue-vc/pkg/client) via the framework instance you create, just as in bdd tests, so the steps are: 1. [create agent](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L469) with all applicable options needed. 2. get the agent's context created in 1 above by calling agent.Context() example from bdd tests is [here](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L474) 3. create the desired client you would like to use, eg didexchange client by passing the context retrieved in step 2 above, bdd example: [didexchangeClient, err := didexchange.New(d.bddContext.AgentCtx[agentID])](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/pkg/didexchange/didexchange_sdk_steps.go#L294) 4. use the above client with the public DID (that public DID could be created using one of the 4 VDRs found in aries-framework-go-ext or any other tool)

Baha-sk (Wed, 24 Nov 2021 14:36:46 GMT):
you don't need to integrate the -ext logic inside AFGO core project, as a user agent developer, you create the public DID using -ext, then create an agent and use its clients to execute the protocol services available, ie DIDexchange, out-of-band, issue-credential, persent-proof, etc. There's a client and a service for each of these in AFGO, as an agent developer, you would use clients found [here](https://github.com/identinet/aries-framework-go/tree/fix-vcwallet-correct-issue-vc/pkg/client) via the framework instance you create, just as in bdd tests, so the steps are: 1. [create agent](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L469) with all applicable options needed. 2. get the agent's context created in 1 above by calling agent.Context() example from bdd tests is [here](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L474) 3. create the desired client you would like to use, eg didexchange client by passing the context retrieved in step 2 above, [bdd example](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/pkg/didexchange/didexchange_sdk_steps.go#L294): ```didexchangeClient, err := didexchange.New(d.bddContext.AgentCtx[agentID]) ``` 4. use the above client with the public DID (that public DID could be created using one of the 4 VDRs found in aries-framework-go-ext or any other tool)e

Baha-sk (Wed, 24 Nov 2021 14:36:46 GMT):
you don't need to integrate the -ext logic inside AFGO core project, as a user agent developer, you create the public DID using -ext, then create an agent and use its clients to execute the protocol services available, ie DIDexchange, out-of-band, issue-credential, persent-proof, etc. There's a client and a service for each of these in AFGO, as an agent developer, you would use clients found [here](https://github.com/identinet/aries-framework-go/tree/fix-vcwallet-correct-issue-vc/pkg/client) via the framework instance you create, just as in bdd tests, so the steps are: 1. [create agent](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L469) with all applicable options needed. 2. get the agent's context created in 1 above by calling agent.Context() example from bdd tests is [here](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L474) 3. create the desired client you would like to use, eg didexchange client by passing the context retrieved in step 2 above, [bdd example](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/pkg/didexchange/didexchange_sdk_steps.go#L294): ```didexchangeClient, err := didexchange.New(d.bddContext.AgentCtx[agentID]) ``` 4. use the above client with the public DID (that public DID could be created using one of the 4 VDRs found in aries-framework-go-ext or any other tool)

Baha-sk (Wed, 24 Nov 2021 14:36:46 GMT):
you don't need to integrate the -ext logic inside AFGO core project, as a user agent developer, you create the public DID using -ext project or any other tool, then create an agent and use its clients to execute the protocol services available, ie DIDexchange, out-of-band, issue-credential, persent-proof, etc. There's a client and a service for each of these in AFGO, as an agent developer, you would use clients found [here](https://github.com/identinet/aries-framework-go/tree/fix-vcwallet-correct-issue-vc/pkg/client) via the framework instance you create, just as in bdd tests, so the steps are: 1. [create agent](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L469) with all applicable options needed. 2. get the agent's context created in 1 above by calling agent.Context() example from bdd tests is [here](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/agent/agent_sdk_steps.go#L474) 3. create the desired client you would like to use, eg didexchange client by passing the context retrieved in step 2 above, [bdd example](https://github.com/identinet/aries-framework-go/blob/main/test/bdd/pkg/didexchange/didexchange_sdk_steps.go#L294): ```didexchangeClient, err := didexchange.New(d.bddContext.AgentCtx[agentID]) ``` 4. use the above client with the public DID (that public DID could be created using one of the 4 VDRs found in aries-framework-go-ext or any other tool)

adn-misa (Wed, 24 Nov 2021 14:41:59 GMT):
Thanks a lot, that really helped!

Baha-sk (Wed, 24 Nov 2021 14:42:15 GMT):
@ArdianAbazi what errors are you getting? and how are you initializing the agent? (more specifically which mediaTypeProfiles are you using? the default are the interop profile that decodes DIDComm v1 used by ACApy)

Baha-sk (Wed, 24 Nov 2021 14:42:15 GMT):
@ArdianAbazi what errors are you getting? and how are you initializing the agent? (more specifically which mediaTypeProfiles are you using? the default are the interop profile that decodes DIDComm v1 envelope format used by ACApy)

Baha-sk (Wed, 24 Nov 2021 14:42:15 GMT):
@ArdianAbazi what errors are you getting? and how are you initializing the agent? (more specifically which mediaTypeProfiles are you using? the default are the interop profile that decodes DIDComm v1 envelop format used by ACApy)

Baha-sk (Wed, 24 Nov 2021 14:42:32 GMT):
you're welcome @adn-misa

ArdianAbazi (Wed, 24 Nov 2021 16:08:45 GMT):
I build the AFGO agents using the make command for ACAPy interop. And run the mediator with http,ws capabilities for both inbound and outbound. I do the same for the edge agent too and I run it with ws for outbound, no inbound obviously. The connection with the mediator and stuff all works, also connecting to another AFGO on the cloud via the mediator works. So I suppose that setup is right. I run ACA-Py 0.7.2, with the two following flags, among others, --emit-new-didcomm-prefix --emit-new-didcomm-mime-type. I am able to perform didexchange with an AFGO agent running on the cloud but when I try to establish a connection with the agent on the edge (via the mediator) I get an error saying that Anoncrypt is not supported. I was able to pinpoint that the error comes from the /legacy/authcrypt Unpack function. The Unpack function checks whether the data being unpacked is using Authcrypt, if it doesnt it throws an error. In my case, the data coming from the ACAPy seems to have typ set as JWM/0.1 and alg as Anoncrypt. ``` {"enc":"xchacha20poly1305_ietf","typ":"JWM/1.0","alg":"Anoncrypt","recipients":[{"encrypted_key":"32AvGbP8AL1L4M5IDHMx3AhDClFJzgnZKun4covFQiM214oBTIZTDL3jQ9EfJoeN37QwxTdKpMfePdvpIG1ua23Hqmxchw2TxSU9yZFOoMg=","header":{"kid":"5re4NG7eYNBgManWrPnZBUSBwyduGWiED3oFLjf7UVAk"}} ``` I tried unpacking the envelope with Anoncrypt, but it wasnt able to decode it either, and I was getting a different error. I tried with both an indy and aries_askar backend, still didnt work. ` `

ArdianAbazi (Wed, 24 Nov 2021 16:09:49 GMT):
@Baha-sk Here's the full payload send to the mediator: ``` {"protected":"eyJlbmMiOiJ4Y2hhY2hhMjBwb2x5MTMwNV9pZXRmIiwidHlwIjoiSldNLzEuMCIsImFsZyI6IkFub25jcnlwdCIsInJlY2lwaWVudHMiOlt7ImVuY3J5cHRlZF9rZXkiOiIzMkF2R2JQOEFMMUw0TTVJREhNeDNBaERDbEZKemduWkt1bjRjb3ZGUWlNMjE0b0JUSVpUREwzalE5RWZKb2VOMzdRd3hUZEtwTWZlUGR2cElHMXVhMjNIcW14Y2h3MlR4U1U5eVpGT29NZz0iLCJoZWFkZXIiOnsia2lkIjoiNXJlNE5HN2VZTkJnTWFuV3JQblpCVVNCd3lkdUdXaUVEM29GTGpmN1VWQWsifX1dfQ==","iv":"tg3_qu6X2mSuD8x4","ciphertext":"wN5xZNTw9cTebZKhoIpmOnbFqGkpa6oyGPMFwqyp8fhbY467-O3k3hgu3L8afnEAkNbvdvXsAPrvmb8WcsnDQ0zSrw4X6JrvIady9APsDdg9I7E7S1aF0O0oEJcAZl8ym46Fd3Ov3CvXKuoroyM74aaB2F2N1oFKZqUOgkzVnnHSVCeHr6Mhl611g_i82v1jNDAIqIx49PuxHA8YBGGmndku0F8jBQzKyso0q7a_NQMqnQw39S3ZW1KD6IHQ9tY7MXt8BkybojFehEEbvf7rk-wa_1pfgv9VD1RyQlbZd72RKdW4_Bx8qoxtXjyT2UsPNl7uFT3GxmxLHUCYN09nRVw2FQK3CMIegC2l8XwRdt2PntwOhEcpvTWL8_w5MlYO2rr-zeXdmH4qTdfpU5K-vNOWxPWJMb27iP0DFzmpmWsVmBR6fh2u66IjIWtiEmFhL2fFA3lU2E0pV4kW-f-4n6sJp9yF3FjcN1fSJtH-lyeMvPeDZihxKPiFmXbKfmWmdO2DZsx5z7eH09Ig4Zgukqst-FQF2JZxbDmF2c6v8HS9-xYKGCc8B5wA0ctQMSFjIOYBpNWTGXdQcpd4xjKNqqhP9cQRXakJnNagtHfkyTyvXjI5rCsV8_QMjZRmpHvLkRXTnDGQxk_kMyn9ZCDlee8EF4_Nw1DX_WnHVeM5crTGBQ2LKpXDsczRpvtBDi8tfth-Ql5oMXUZ8R_I-zpf9hrzFSGWm1QTuvyzJrIrXJGwYmc0IXsAvG0jtjkZ3jNEV0KMo4MYH_G6poD26bZPwqzZ6-mmpNkwyE_SgNe8k3lgVaKNiXM1uEwqpA8XohJ4YQtgza67fWworqvyMvzpxoo6PvJMYLsHItGglqji3g6lflADzhJ_-qAOII_8KLo9x-mjm5reQDZOmZ8-x_3V4Ncib3SzvOsHPdSBlp21r70sRi__3l4EJJLStjIkmtGEk0AvXJMdfoAwWlAfWkj6hBfuyRyIn1rPxvixQGXE2eOUdVCCLEqeFwFo07pZ1vSsq6F4qouTlnrryRnR7vKxZznkmEya4a6hZTkPjgH1c1ap5O7WHzoMnGXZES_ufpnkwiOy9D4koyJ8sbaOimyU43LJX2YfM4QAfcQz16DBQqkis3f6VGwqakZPSQdHZJU5jYKHIgYk5z_Y5N8RhOONJVyO601T9TzoxyEbPfWzXoc5XtWwUmRruYw5IrnjoacaJDw3Cr8INn0351R4sNrWRwluqjZ6cWKJs_CMmeXszTwj9wpAP88EIMTH42mqRGjjwWjEppgXfF8kw0rTr7PDqizgjLcP6wsNwPZkx9icSCdxjuyp4vKq8vTvsJL_GfddRoUsjf-ziWPT42al5TprNKj6RPQSx3ZAmk2NjEGT_5sAAG8BC6hNksHlmbAk8-5El3zOw1Mw6faGCTB02DwsypEoJ-Rg2zQw3MnIoda4-kT6Lrns5FUzEdNtGJ8wQnAiog2LrnIvTsbf5d3XjRarAJ7OBbRw2P1HJ3OkDHTPiAOGmagNwwgzZwKqBiMsfNq0yKHwBWJkDL3XXBmiw9xvc7xIxX5pK-QBe3_OYcgmuoJl9a7qOkFQsNvLAXiF6qgY2iwLMWtE2FfBQcAI8PYK02R0Ih6MZp9-GhuOer2OhnPRCHaoJK8BYy1Wj7h2IbOotKK3ZIscCQTWGppusuQndmx0MVAy3HQRpSx-makY8tpPI0FPv8doQDccZHaMsE_wAtixT42oTZluCo5TSh9oqRVjQlskALjTAkX7w3F77C0VgzkIbr3zasb5_A9iGZgFLcwlaCIyJeZsM3c7MwxB3OpEeJ_GvttpXJh0C1afRRUWHHVxL5wufGB-oMJRAJbbfgvtPjzmqkahdVvygI5Ze22vU76Ru5CxRlBPjOiPkPXyg27K9WVV9VNN4YsEA4Gq-18O1T13JceDa1-q9RudsFQf9Yof3Q7g6g05JiILx0Ac3VsOheWq0LblvbgjjsAPFGgvaUs3RXj47A2OMqWGq6m2OYiTylOmU0dsmo_UJQGzq10A99u0J6CKLYl1ddw3DRvX1NeYMreUkJLixeOiLXsLUdr6EdN2vFmqts8bpzCUmTVxVioZAkW7y0DnTVQXkK_ddfDSgN5euu12GGyyun2QvaqhpQBivuUmIVZIbyOSXeSmhVSr9EalVVBLGOYpJGwuf3j7f6XXCBPAE-OgmGI-y3rv34ZDaucFGxoWp2FxPoQvXgSDMBcPbhsLEQKDPt9s0S5dZwn_fVlcgQEJ8dg5yH4BwdEs4zEDBBpQPEykwnggClxgE56ltmIwXdDqqBX7nAsLadG-WoMikZgZgvY6qOwvz-wTzDigmpFVDRJlppzJvsusodz4n8_kqjLfxZOCE_M-VmIYsAdazd6jKMbD2jwCqZSzLSNjm3TCSKXWhcRrl5SLlfzph_Wg_uMsumcEpDO8n6YDsXP6iUwHJQ38ZcBd4LvqNK_SFRyhalq2FWUrQoUXWHYRhwnrs3HLHxGuKINYjRiDmDbj4NnFioK37TPGM_2rhLh9SNp6RYpXGKCzCkLthWyVCkqWywELtw2GDW66ESHnMWBASVeMxcv0cw-Zs958piDVc-N3_mOVvPAVIaMhs1WKrI3Q2U5-UCSLKKgni0BTUY9QiFXw78hfq1uwVuedZ1peu3zpLBYRblYic4FzVZlz4wGMbPVZh-2xSyQJdEgMshbVnBSFWYUl55E9BnnDAw6bUqVgZ9w6w2w7VcHX40CSIzzBqsAFRLDYM6W_d-y8CtW22ZUMZxRr6DOgjMhZCyTiTwKoIOZ2lhHHx_doXiQGYhkLH74TqGF_4k43nHmE-0mgHRi_E41QFa2ipYia1fOb-2MgsK8telVmpw2J9E45xGuCc5KPqGcB_fvbkaBNcBmCYuZQd-bmBqfFf9oRMD5Sqiaf-_C4NlRp9GO3rx4UQVEcNUD1EddG1wHW20kOoG5mKPqYSqKe9knBL3m4SacX8SiWdd3yshNJwdpEAre5js5qVJH1jxD2VlDMHNc0uDg1xxTFdPMvvVsHCqCbG11dL-CLsEEdgmE-RMmdnr1Jwb6zNNYTgP5PIlC7Rdl1_cHhJhKP98k1nI07HBjOnI5B5sVEjQiRgRXvHbZjmouD-FKxtw860VygX0ngTEB0qapgkeUAK3pZ4hVq8ri34u3OMWzQUcCi7nCvdIlMNJvUkxdfj-4DM-JSwe_dYxrqKUIzNfYUqFAqE_xIMr3fPBAhq6poBV-LM3TMaSemxbELxys3lBeBvspXcQaeqkRunTsZL7h67A2oVIqTLwFJvHLiC7f7jTMk1bwx4F3yLrlAvNWryc8d5khVRf1vTen5Kn5JWKVYGJ3LSlFyUY9lcGuANjHA1g-CxRyIItjWqxI-xdFgRNRXeNPe16ZzWxh4hCK1JZ4PIMqU92kOq6elYF0QX4EGcjEDQNt0jt_m4vss9MWXCAQsh9Kxjg9giFdWxSfaKzV3kxtlFpaKqEo-pHWRzh_xNJvhC5VnWIYQ2USpG4EX2vv6xzZFTSx3ueCZiVcxcSoLlSAPCrsaWjCtMnSOS2wWxNVO7aOtuyFVYkoAa13sJViDHZQ-RAiHSVilXbqHIEoGtOUUC3rxosPM3G8vx4UCfciNtNeOiHAF0jYxexgqUmuUdvs14Kuqm9EvMJoD0GXx263gFQGKPgUoKcm9xliL3YL2ASBrbGdLOUk6jmq-MPrVWEG4vQ9iXX_E-WOv6ou8tnyA5Zve4xn56nk2xZhlJf1J4SD4dOPZsWrDyz81nmCZWNhrPSodEkoy12-zvnBXDOB-rsI65DCvVwAu4OxWMGjEVxY9fKM50mUNsLSOUWnrEwh2fx_wgHVYpRPXWhnVkjSfA7Hr4bKZ8778pDTgykWh9LXLPMHE3GdpSWZDHF43XvScEy3j_wFG5v2Oc0yL9FmsA0XR9wvMO3GN0lVazDDcDGN0quCX3vFONrXsZtlWRDd-VDsGJJcrCU4BBKpZcdlzoAKotXzlQZGPcadhbub8_vgXYeg_S2rreNcqnKgAehBAFPIOzEgQUQW6lSqe4E1xxGWI9tI9C3Vi6BwW-Rsyyr2MOuyTfYTfrlADlp0eV6ONaw2CdOFJ8thyIVwbaoAmvEZnMIZszq7z49AYlw8SuQ==","tag":"NdNUzZvz1xURdKzq6hhnQw=="} ```

ArdianAbazi (Wed, 24 Nov 2021 16:10:36 GMT):
The thing is I am not sure it supports its, thats why i was asking for a sanity check basically :D Thanks in advance

Baha-sk (Wed, 24 Nov 2021 16:12:41 GMT):
to my knowledge, i don't think legacy packer supports `Anoncrypt`, it only supports `Authcrypt` packing since the sender key is always involved

Baha-sk (Wed, 24 Nov 2021 16:16:00 GMT):
the new DIDComm V2 protocol supports both `Anoncrypt` and `Authcrypt` packing using X25519 keys/ NIST P keys found in the `KeyAgreement` verification methods of the DID ( as opposed to DIDComm V1's Ed25519 keys found in the authentication verification method of the DID)

Baha-sk (Wed, 24 Nov 2021 16:18:24 GMT):
> In my case, the data coming from the ACAPy seems to have typ set as JWM/0.1 and alg as Anoncrypt. yeah JWM/0.1 and Anoncrypt is not supported in AFGO, we're aiming to move towards DIDComm V2 instead

filip.burlacu (Wed, 24 Nov 2021 16:36:18 GMT):
> typ set as JWM/0.1 @Baha-sk they made a typo here, it's JWM/1.0 in the example message, which is what AFGO supports. @ArdianAbazi But that doesn't make a difference, because this message uses XChaCha20-Poly1305 and Anoncrypt, and afgo's legacy packer supports only Authcrypt and ChaCha20-Poly1305.

filip.burlacu (Wed, 24 Nov 2021 16:38:00 GMT):
I'm running the test harness interop tests locally right now, to see if I replicate this error - interop can't work if acapy's switched its default ciphers...

filip.burlacu (Wed, 24 Nov 2021 17:12:57 GMT):
ahh nvm I misunderstood; acapy uses anoncrypt with XC20P for the enclosing message sent to the mediator, while using authcrypt otherwise.

ArdianAbazi (Thu, 25 Nov 2021 08:41:07 GMT):
@filip.burlacu I know that you probably know this, but AFGO decides what packer to use based on the typ field, JWM/1.0 is unpacked using the legacy packer. However, I did try to unpack it via the Anoncrypt packer, but still no luck there unfortunately.

ArdianAbazi (Thu, 25 Nov 2021 08:41:31 GMT):
The error I get is ` anoncrypt Unpack: single recipient missing 'KID' in jwe.ProtectHeaders `

ArdianAbazi (Thu, 25 Nov 2021 08:41:31 GMT):
The error I get is `anoncrypt Unpack: single recipient missing 'KID' in jwe.ProtectHeaders `

ArdianAbazi (Thu, 25 Nov 2021 08:41:31 GMT):
The error I get is ``` anoncrypt Unpack: single recipient missing 'KID' in jwe.ProtectHeaders ```

ArdianAbazi (Thu, 25 Nov 2021 08:43:37 GMT):
Furthermore, I checked the test harness, I dont think this case is part of the tests.

ArdianAbazi (Thu, 25 Nov 2021 08:44:59 GMT):
I think it's safe to assume that this case is not supported for now. It doesn't seem like a lot of changes would have to be made to add support, but the codebases, as they are currently, don't have support for this case.

ArdianAbazi (Thu, 25 Nov 2021 08:47:08 GMT):
Do you guys @Baha-sk @filip.burlacu think I should create an issue for this, I also have code that can replicate it through tests :D

ArdianAbazi (Thu, 25 Nov 2021 08:47:08 GMT):
Do you guys @Baha-sk @filip.burlacu think I should create an issue for this, I also have code that can replicate it through tests

Baha-sk (Thu, 25 Nov 2021 14:27:43 GMT):
@ArdianAbazi , legacy packer in AFGO is for DIDcomm v1 (AIP1/2) packing and has only Authcrypt packer. The other two Anoncrypt and Authcrypt packers that are siblings to legacy are for DIDComm V2 packing only. Any V1 envelop cannot be unpacked by these packers. so to sum up, AFGO supports only Legacy.Authcrypt packing for DIDComm V1 (AIP1/AIP2) support, there's no Legacy.Anoncrypt packer in AFGO As for DIDComm V2, AFGO has Anoncrypt and Authcrypt packers

Baha-sk (Thu, 25 Nov 2021 14:27:43 GMT):
@ArdianAbazi , legacy packer in AFGO is for DIDcomm v1 (AIP1/2) packing and has only Authcrypt packer. The other two Anoncrypt and Authcrypt packers that are siblings to Legacy are for DIDComm V2 packing only. Any V1 envelop cannot be unpacked by these packers. so to sum up, AFGO supports only Legacy.Authcrypt packing for DIDComm V1 (AIP1/AIP2) support, there's no Legacy.Anoncrypt packer in AFGO As for DIDComm V2, AFGO has Anoncrypt and Authcrypt packers

jceb 3 (Thu, 25 Nov 2021 16:48:00 GMT):
Has joined the channel.

jje (Mon, 17 Jan 2022 07:11:31 GMT):
Has joined the channel.

TimoGlastra (Wed, 26 Jan 2022 17:11:41 GMT):
I'm currently implementing the did:peer spec in AFJ and want to test for correctness against the peer did implementation in AFGO. I see a document is created [here](https://github.com/hyperledger/aries-framework-go/blob/49e59b074359d344c6c9968e9650e6bc53f811d0/pkg/vdr/peer/did_test.go#L154) and verified against this did: `did:peer:1zQmZdT2jawCX5T1RKUB7ro83gQuiKbuHwuHi8G1NypB8BTr`. I have zero experience with rust, so wondering if you could provide me with the JSON output of the `genesisDoc` method so I can make sure the method produces the same results in AFJ.

TimoGlastra (Wed, 26 Jan 2022 17:11:41 GMT):
I'm currently implementing the did:peer spec in AFJ and want to test for correctness against the peer did implementation in AFGO. I see a document is created [here](https://github.com/hyperledger/aries-framework-go/blob/49e59b074359d344c6c9968e9650e6bc53f811d0/pkg/vdr/peer/did_test.go#L154) and verified against this did: `did:peer:1zQmZdT2jawCX5T1RKUB7ro83gQuiKbuHwuHi8G1NypB8BTr`. I have zero experience with go, so wondering if you could provide me with the JSON output of the `genesisDoc` method so I can make sure the method produces the same results in AFJ.

jje (Mon, 31 Jan 2022 09:51:51 GMT):

jje - Mon Jan 31 2022 10:51:36 GMT+0100 (Central European Standard Time).txt

jje (Mon, 31 Jan 2022 09:51:51 GMT):

jje - Mon Jan 31 2022 10:51:36 GMT+0100 (Central European Standard Time).txt

jje (Mon, 31 Jan 2022 09:54:01 GMT):
@baha: already replied: the verificationMethod.id is not a KMS ID, it's the verification method ID, you can't treat it like a KMS ID

jje (Mon, 31 Jan 2022 09:54:45 GMT):
I understand this, but don't understand how to provide the KMS ID instead.

jje (Tue, 01 Feb 2022 17:11:44 GMT):
Let me rephrase my problem and question: - I do have a credential in place. - I want to create a VC and sign it with a `BbsBlsSignature2020` signature - In order to do so, I need to provide a `controller` and a `verificationMethod` ( I use the `/vcwallet/issue` call) - To prepare this process, I need to provide the key material for the DID - I have tried several things: - create DID doc with method "key" - create DID doc with method "peer" - create key pair in KMS (`/vcwallet/create-key-pair`) - import private key (`/kms/import`) None of the methods allowed me to sign the VC for several reasons. The most promising method seemed to be the private key import, but here I didn't succeed yet in providing the key correctly (decryption error) Can you please advice what is the best method to create/import the DID/key material correctly such that I can sign a VC with BLS (best using HTTP requests). I have seen in the tests that typically you create private keys and import them. Thanks a lot!

jje (Tue, 01 Feb 2022 17:11:44 GMT):
Let me rephrase my problem and question: - I do have a credential in place. - I want to create a VC and sign it with a `BbsBlsSignature2020` signature - In order to do so, I need to provide a `controller` and a `verificationMethod` ( I use the `/vcwallet/issue` call) - To prepare this process, I need to provide the key material for the DID - I have tried several things: - create DID doc with method "key" - create DID doc with method "peer" - create key pair in KMS (`/vcwallet/create-key-pair`) - import private key (`/kms/import`) None of the methods allowed me to sign the VC for several reasons. The most promising method seemed to be the private key import, but here I didn't succeed yet in providing the key correctly (decryption error) Can you please advice what is the best method to create/import the DID/key material correctly such that I can sign a VC with BLS (best using HTTP requests). I have seen in the tests that typically you create private keys and import them. Thanks a lot!

jje (Tue, 01 Feb 2022 17:11:44 GMT):
Let me rephrase my problem and question: - I do have a credential in place. - I want to create a VC and sign it with a `BbsBlsSignature2020` signature - In order to do so, I need to provide a `controller` and a `verificationMethod` ( I use the `/vcwallet/issue` call) - To prepare this process, I need to provide the key material for the DID - I have tried several things: -- create DID doc with method "key" -- create DID doc with method "peer" -- create key pair in KMS (`/vcwallet/create-key-pair`) -- import private key (`/kms/import`) None of the methods allowed me to sign the VC for several reasons. The most promising method seemed to be the private key import, but here I didn't succeed yet in providing the key correctly (decryption error) Can you please advice what is the best method to create/import the DID/key material correctly such that I can sign a VC with BLS (best using HTTP requests). I have seen in the tests that typically you create private keys and import them. Thanks a lot!

Rizary (Sat, 05 Feb 2022 03:25:46 GMT):
Has joined the channel.

brian.richter (Wed, 09 Feb 2022 18:19:42 GMT):
Has joined the channel.

aliyildiz (Mon, 07 Mar 2022 12:07:08 GMT):
Has joined the channel.

FCretton (Fri, 18 Mar 2022 15:58:57 GMT):
Has joined the channel.

rjones (Tue, 22 Mar 2022 19:54:27 GMT):

rjones (Tue, 22 Mar 2022 19:54:27 GMT):

rjones (Tue, 22 Mar 2022 19:54:27 GMT):