rjones (Thu, 11 Jun 2020 16:11:58 GMT):
swcurran

rjones (Thu, 11 Jun 2020 16:12:01 GMT):
tomislav

swcurran (Thu, 11 Jun 2020 16:57:56 GMT):
BC Gov has announced a CDN$25k bounty for help with the Aries Agent Test Harness to build a backchannel (integration) with aries-framework-dotnet. Please look at the work and if you are interested, submit an application. The following is a link to the opportunity, which has details on the work to be done. Questions welcome! https://digital.gov.bc.ca/marketplace/opportunities/code-with-us/d359da07-d8e2-48eb-89bc-35f9f04aa09c

rjones (Thu, 11 Jun 2020 17:01:10 GMT):
@RinkalBhojani this is where Xamarin questions might be asked

RinkalBhojani (Thu, 11 Jun 2020 17:01:10 GMT):
Has joined the channel.

rjones (Thu, 11 Jun 2020 17:01:39 GMT):
@lijiachuan this channel is for .NET questions :)

lijiachuan (Thu, 11 Jun 2020 17:01:39 GMT):
Has joined the channel.

lijiachuan (Fri, 12 Jun 2020 00:44:53 GMT):
@rjones great to join hear!

lijiachuan (Fri, 12 Jun 2020 00:47:18 GMT):
Hi All, I have one problem when I tried to response one credential request via await _credentialService.CreateCredentialAsync(context, model.CredentialID);, there is one error returned: ```Hyperledger.Aries.AriesFrameworkException: legalName mime type of not supported at Hyperledger.Aries.Utils.CredentialUtils.FormatCredentialValues(IEnumerable`1 credentialAttributes) ``` Then I found the reason, when I initially create the credential offer use below code: ``` var values = JsonConvert.DeserializeObject>(model.CredentialAttributes); values.Add(new CredentialPreviewAttribute("issuer", issuer.Owner.Name)); ``` The values passed from the form, their MimeType is null, but the issuer's MimeType is CredentialMimeTypes.ApplicationJsonMimeType, I am not sure where this default MimeType is assigned, but when I set the form values MimeType to CredentialMimeTypes.ApplicationJsonMimeType, this issue was resolved. So whether this is something we can change in the sample code? But below error happened: ``` Hyperledger.Indy.InvalidStructureException: A value being processed is not valid. at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.IssueCredentialSafeAsync(IAgentContext agentContext, DefinitionRecord definitionRecord, CredentialRecord credentialRecord) ``` I am not sure whether I am using the correct process for the credential request. Kindly advise. Thanks.

lijiachuan (Fri, 12 Jun 2020 00:47:48 GMT):
@tomislav

kukgini (Fri, 12 Jun 2020 01:38:04 GMT):
Has joined the channel.

Audrius (Fri, 12 Jun 2020 08:09:15 GMT):
Has joined the channel.

syngin (Fri, 12 Jun 2020 09:39:59 GMT):
Has joined the channel.

syngin (Fri, 12 Jun 2020 09:40:00 GMT):
Similar to @lijiachuan query. When a value is not valid, how do you know which value? Is there verbose logging in Indy?

tomislav (Fri, 12 Jun 2020 19:46:18 GMT):
User User_1 added by tomislav.

rileyphughes (Sat, 13 Jun 2020 03:13:05 GMT):
Has joined the channel.

ajayjadhav (Sat, 13 Jun 2020 07:33:36 GMT):
Has joined the channel.

andrewtan (Sat, 13 Jun 2020 11:42:46 GMT):
Has joined the channel.

HLFPOC (Mon, 15 Jun 2020 04:48:16 GMT):
Has joined the channel.

lijiachuan (Mon, 15 Jun 2020 09:38:07 GMT):
Hi, hope someone can support on my issues mentioned above. Thanks.

davidd (Mon, 15 Jun 2020 09:56:32 GMT):
Has joined the channel.

davidd (Mon, 15 Jun 2020 10:10:22 GMT):
Hi @lijiachuan, sorry for late response. https://github.com/Yoroitchi/AriesWebApp -> This is a fork of aries-dotnet, a complete Web Agent with 3 branches for different roles (Issuer, Holder, Verifier) Credential Controller for Issuer: https://github.com/Yoroitchi/AriesWebApp/blob/Issuer7000/AriesWebApp/Controllers/CredentialsController.cs Credential Controller for Holder: https://github.com/Yoroitchi/AriesWebApp/blob/Holder5000/AriesWebApp/Controllers/CredentialsController.cs Explore this repo and hope it helps :)

davidd (Mon, 15 Jun 2020 12:25:25 GMT):
Now, I'm working on how to receive & show the credentials in Osma, issued by web agent. Is there anyone who already worked on that?

davidd (Mon, 15 Jun 2020 12:25:25 GMT):
Now, I'm working on how to receive & show the credentials on osma issued by web agent! is there anyone who already worked on that?

HLFPOC (Mon, 15 Jun 2020 12:56:25 GMT):
@davidd : Is there any function/method in .net framework using which a Holder can request for a credential (cred-def) published by an Issuer ?

TimoGlastra (Mon, 15 Jun 2020 13:43:20 GMT):
Has joined the channel.

lijiachuan (Mon, 15 Jun 2020 15:01:57 GMT):
Hi @davidd and @tomislav , I followed that sample code, but still encounter that error, below are details of my information, could you please take a look and suggest your ideas? Thanks a lot. The credential issuer retrieved: ``` { "schemaId":"MhMyTTDoxJptn2YtHF1s7j:2:CorporationSchema:1.0", "createdAt":"2020-06-15T14:54:23.3610216", "state":1, "credentialAttributesValues":[ { "name":"legalName", "mimeType":"application/json", "value":"MyCorp" }, { "name":"POCEmail", "mimeType":"application/json", "value":"test@aa.bb" }, { "name":"issuer", "mimeType":"application/json", "value":"CorpReg" }], "credentialID":"eb53b4d5-99a4-499f-93f9-e240a33cc6a4", "issuedByMe":true } ``` I used below function to response a request raised from the holder ``` [HttpPost("ResponseCredential")] public async Task ResponseCredential(CredentialModel model) { var context = await _agentContextProvider.GetContextAsync(); var offer = await _credentialService.GetAsync(context, model.CredentialID); var connection = await _connectionService.GetAsync(context, offer.ConnectionId); var (request, _) = await _credentialService.CreateCredentialAsync(agentContext: context, credentialId: model.CredentialID); await _messageService.SendAsync(context.Wallet, request, connection); return Ok(); } ``` But when execute `var (request, _) = await _credentialService.CreateCredentialAsync(agentContext: context, credentialId: model.CredentialID);`, below 500 error returned: ``` Hyperledger.Indy.InvalidStructureException: A value being processed is not valid. at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.IssueCredentialSafeAsync(IAgentContext agentContext, DefinitionRecord definitionRecord, CredentialRecord credentialRecord) at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.CreateCredentialAsync(IAgentContext agentContext, String credentialId, IEnumerable`1 values) at AriesFrameworkWebAPI.Controllers.CredentialsController.ResponseCredential(CredentialModel model) in C:\Git\SIP\AriesFramework\CorpReg\Controllers\CredentialsController.cs:line 175 at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Cache-Control: no-cache Connection: keep-alive Content-Type: application/json Accept: application/json, text/plain, */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Host: localhost:5002 Referer: http://localhost:4100/credentials/list User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 Origin: http://localhost:4100 Content-Length: 55 Sec-Fetch-Site: same-site Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty ```

davidd (Mon, 15 Jun 2020 15:35:55 GMT):
@HLFPOC check this out: https://github.com/hyperledger/aries-rfcs/tree/master/features/0036-issue-credential#offer-credential https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries/Features/IssueCredential/Models/CredentialOfferMessage.cs https://github.com/hyperledger/aries-framework-dotnet/blob/3b500302c989b69790f0dc63ce15633017008126/src/Hyperledger.Aries/Features/IssueCredential/DefaultCredentialService.cs#L236 and @tomislav is the one u should ask, he wrote this.

tomislav (Mon, 15 Jun 2020 15:39:33 GMT):
You don't need to populate the `mime-type` field. I'm not sure what the support for this is.

tomislav (Mon, 15 Jun 2020 15:39:56 GMT):
Are you on the correct ledger for both agents?

tomislav (Mon, 15 Jun 2020 15:40:17 GMT):
Look through https://github.com/hyperledger/aries-framework-dotnet/blob/3b500302c989b69790f0dc63ce15633017008126/src/Hyperledger.Aries.TestHarness/AgentScenarios.cs#L102 and see how these tests differ from what you're doing

tomislav (Mon, 15 Jun 2020 15:40:25 GMT):
All in all, what you're doing seems to be on the right track

lijiachuan (Mon, 15 Jun 2020 15:41:05 GMT):
I have one problem when I tried to response one credential request via await _credentialService.CreateCredentialAsync(context, model.CredentialID);, there is one error returned: Hyperledger.Aries.AriesFrameworkException: legalName mime type of not supported at Hyperledger.Aries.Utils.CredentialUtils.FormatCredentialValues(IEnumerable`1 credentialAttributes) Then I found the reason, when I initially create the credential offer use below code: var values = JsonConvert.DeserializeObject>(model.CredentialAttributes); values.Add(new CredentialPreviewAttribute("issuer", issuer.Owner.Name)); The values passed from the form, their MimeType is null, but the issuer's MimeType is CredentialMimeTypes.ApplicationJsonMimeType, I am not sure where this default MimeType is assigned, but when I set the form values MimeType to CredentialMimeTypes.ApplicationJsonMimeType, this issue was resolved.

tomislav (Mon, 15 Jun 2020 15:41:13 GMT):
Are you talking about Credential Proposal? No, it would be great to add this feature

tomislav (Mon, 15 Jun 2020 15:43:15 GMT):
Unfortunately, libindy errors `Hyperledger.Indy.InvalidStructureException: A value being processed is not valid.` don't communicate what was wrong exactly. There's no way for us to know, other then to turn on Indy logging or doing some guess work.

tomislav (Mon, 15 Jun 2020 15:43:34 GMT):
Can you debug all the way through the call that fails?

tomislav (Mon, 15 Jun 2020 15:43:57 GMT):
Are you passing all credential values present in the the schema? If any are missing, it will be problem

davidd (Mon, 15 Jun 2020 15:52:43 GMT):
@tomislav trying to issue credentials from web agent to osma, and I'm receiving the issued-credential encoding data in VS Code, but unable to show that in osma. any thing missing ?

lijiachuan (Mon, 15 Jun 2020 15:58:15 GMT):
Below is the schema object I used: ``` { "attr_names": [ "legalName", "POCEmail" ], "name": "CorporationSchema", "version": "1.0", "id": "MhMyTTDoxJptn2YtHF1s7j:2:CorporationSchema:1.0", "ver": "1.0", "seqNo": 8 } ``` Regarding credential values, the attributes in the offer are: ``` { "name":"legalName", "mimeType":"application/json", "value":"MyCorp" }, { "name":"POCEmail", "mimeType":"application/json", "value":"test@aa.bb" }, { "name":"issuer", "mimeType":"application/json", "value":"CorpReg" } ``` And these properties should be retrieved by `await _credentialService.CreateCredentialAsync(agentContext: context, credentialId: model.CredentialID)` where I just need to passed in the credentialID parameter. The only difference I can notice is the issuer which is not in the schema's definition.

tomislav (Mon, 15 Jun 2020 15:59:17 GMT):
Why is `issuer` part of the submitted values? It's not part of the schema

lijiachuan (Mon, 15 Jun 2020 16:00:00 GMT):
This was referred from the sample dot net core code in the aries framework

tomislav (Mon, 15 Jun 2020 16:00:32 GMT):
ok

tomislav (Mon, 15 Jun 2020 16:00:45 GMT):
the submitted values, must match the schema

tomislav (Mon, 15 Jun 2020 16:00:49 GMT):
no more, no less

lijiachuan (Mon, 15 Jun 2020 16:01:28 GMT):
https://github.com/hyperledger/aries-framework-dotnet/blob/3b500302c989b69790f0dc63ce15633017008126/samples/aspnetcore/Controllers/CredentialsController.cs#L112

lijiachuan (Mon, 15 Jun 2020 16:02:39 GMT):
whether we should remove this issuer value from the sample code? Am not sure why we added that previously, any special purpose.

lijiachuan (Mon, 15 Jun 2020 16:08:48 GMT):
That works if I removed the issuer property, so just would like to know is there any special reason to have that in the sample code.

tomislav (Mon, 15 Jun 2020 16:09:13 GMT):
Where did you find it?

lijiachuan (Mon, 15 Jun 2020 16:09:35 GMT):
https://github.com/hyperledger/aries-framework-dotnet/blob/3b500302c989b69790f0dc63ce15633017008126/samples/aspnetcore/Controllers/CredentialsController.cs#L112

tomislav (Mon, 15 Jun 2020 18:37:04 GMT):
That's definitely incorrect

lijiachuan (Tue, 16 Jun 2020 02:20:18 GMT):
Hi All, when we try to request a proof, whether we should specify which credential definition should be used for the proof? In the sample code, seems it only specified what are the proof fields but not specified which credential definition should be used. Whether this is required? Kindly advise. ``` public async Task CreateProofNameMessage(ConnectionRecord connectionRecord) { var agentContext = await _agentProvider.GetContextAsync(); var name = connectionRecord.Alias?.Name ?? connectionRecord.Id; var proofRequest = new ProofRequest { Name = "ProofReq", Version = "1.0", Nonce = await AnonCreds.GenerateNonceAsync(), RequestedAttributes = new Dictionary { {"firstname-required", new ProofAttributeInfo {Name = "firstname"}} } }; (var msg, _) = await _proofService.CreateRequestAsync(agentContext, proofRequest); return msg; } ```

lijiachuan (Tue, 16 Jun 2020 03:44:14 GMT):
Hi All, when we request a proof, except the credential fields, whether we should also specify which credential definition should be used? In the sample code, it only specified the proof attributes name.

syngin (Tue, 16 Jun 2020 06:58:01 GMT):
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=CqBDpFNZw6umwKtLL) how do you turn on Indy logging. Im getting a similar error generating proof: AnonCreds.ProverCreateProofAsync

HLFPOC (Tue, 16 Jun 2020 10:08:02 GMT):
Yes @tomislav , I think credential proposal can be used by holder to request a credential from an issuer. Are there any plans to add it in .net framework ?

HLFPOC (Tue, 16 Jun 2020 10:09:19 GMT):
I am working on building mobile based agent using aries .net framework and want to understand the approach to enable backup and recovery of the mobile wallet. 1. Is there any standard process/apis available for taking the wallet backup? 2. As mediator agent also stores the copy of the wallet, is it possible to export it from Mediator agent into mobile agent in case of recovery? 3. Any open-source implementation available which demonstrate backup/recovery feature ?

HLFPOC (Tue, 16 Jun 2020 10:09:19 GMT):
@tomislav : I am working on building mobile based agent using aries .net framework and want to understand the approach to enable backup and recovery of the mobile wallet. 1. Is there any standard process/apis available for taking the wallet backup? 2. As mediator agent also stores the copy of the wallet, is it possible to export it from Mediator agent into mobile agent in case of recovery? 3. Any open-source implementation available which demonstrate backup/recovery feature ?

lijiachuan (Tue, 16 Jun 2020 12:49:14 GMT):
hi, I followed the sample code to send one proof request with below method: ``` [HttpPost] public async Task SendProofNameRequest(string connectionId) { var agentContext = await _agentProvider.GetContextAsync(); var connectionRecord = await _walletRecordService.GetAsync(agentContext.Wallet, connectionId); var proofNameRequest = await CreateProofNameMessage(connectionRecord); await _messageService.SendAsync(agentContext.Wallet, proofNameRequest, connectionRecord); return RedirectToAction("Index"); } public async Task CreateProofNameMessage(ConnectionRecord connectionRecord) { var agentContext = await _agentProvider.GetContextAsync(); var name = connectionRecord.Alias?.Name ?? connectionRecord.Id; var proofRequest = new ProofRequest { Name = "ProofReq", Version = "1.0", Nonce = await AnonCreds.GenerateNonceAsync(), RequestedAttributes = new Dictionary { {"firstname-required", new ProofAttributeInfo {Name = "firstname"}} } }; (var msg, _) = await _proofService.CreateRequestAsync(agentContext, proofRequest); return msg; } ``` But there is one question that, the name defined via `var name = connectionRecord.Alias?.Name ?? connectionRecord.Id;` is not used by any code, and after this request was submitted, the retrieved proof information's connectionID is null, also there is not one indicator/property which can let me know whether this proof is requested from my side or not. Can anyone provide some suggestions about this? Thanks.

tomislav (Tue, 16 Jun 2020 12:50:47 GMT):
There are multiple overloads of `CreateRequestAsync`, one is used for connectionless proofs, the other is for sending to connections.

lijiachuan (Tue, 16 Jun 2020 12:51:51 GMT):
ok, so for the type of connectionless proof request, how to know whether this is from my side or not?

tomislav (Tue, 16 Jun 2020 12:52:34 GMT):
What do you mean?

lijiachuan (Tue, 16 Jun 2020 12:53:39 GMT):
I am trying to based on one indicator to know whether one party is the requester or the prover, but in current returned proof information, there is no such indicator property, so I am not sure how to determine whether I am the requestor or the prover.

tomislav (Tue, 16 Jun 2020 12:54:14 GMT):
If you create the request, you are the requestor.

tomislav (Tue, 16 Jun 2020 12:54:49 GMT):
Connectionless proof can be encoded into a URL and shared with the holder

lijiachuan (Tue, 16 Jun 2020 12:55:13 GMT):
but imagine from the prover side, there is also one proof request record, but from the proof information, there is not a property to determine whether this is requested from the prover side or not

tomislav (Tue, 16 Jun 2020 12:55:35 GMT):
You can set a tag and track that

lijiachuan (Tue, 16 Jun 2020 12:58:08 GMT):
ok, whether this is not one must have property for a proof request?

tomislav (Tue, 16 Jun 2020 12:59:58 GMT):
you set the tag on the proofRecord, which is your own local record to track the state

lijiachuan (Tue, 16 Jun 2020 13:00:02 GMT):
In ACA-Py, there is one `initiator` property which value could be either `self` or `external`, so it's easy to know whether this request is from which side.

lijiachuan (Tue, 16 Jun 2020 13:00:51 GMT):
if this property can be one embeded property which doesn't need user specify manually, I think that would be good, not sure whether you are agree.

tomislav (Tue, 16 Jun 2020 13:00:53 GMT):
``` (var msg, record) = await _proofService.CreateRequestAsync(agentContext, proofRequest); record.SetTag("Initiator", "Self"): ```

lijiachuan (Tue, 16 Jun 2020 13:01:27 GMT):
otherwise, we need to let each developer set it manually

tomislav (Tue, 16 Jun 2020 13:01:55 GMT):
Sure, this can be added in the framework

lijiachuan (Tue, 16 Jun 2020 13:01:57 GMT):
but the problem is this value would be the same for both sides

tomislav (Tue, 16 Jun 2020 13:02:13 GMT):
No, it won't. The record doesn't travel around

tomislav (Tue, 16 Jun 2020 13:02:20 GMT):
the message does

lijiachuan (Tue, 16 Jun 2020 13:02:41 GMT):
ok, let me have a try

tomislav (Tue, 16 Jun 2020 13:03:05 GMT):
You must save the record after you add a tag, btw. `recordService.UpdateAsync`

lijiachuan (Tue, 16 Jun 2020 13:06:02 GMT):
btw, in the sample code, I saw there is one input box to let user type the connection id, but it is using a connectionless proof request, shall we change this to a connection proof request?

tomislav (Tue, 16 Jun 2020 13:06:50 GMT):
Yes. It shouldn't misguide the user

lijiachuan (Tue, 16 Jun 2020 13:07:04 GMT):
https://github.com/Yoroitchi/AriesWebApp/blob/c4618cb2db36b21d92bac8eba252b7f3d7b7f214/AriesWebApp/Views/Proof/SendProofRequestNameView.cshtml#L8

lijiachuan (Tue, 16 Jun 2020 13:23:35 GMT):
There is another disadvantage to use manual added tag for this purpose, which is after I use `_proofService.ListAsync(agentContext)` retrieved all proofs, then I need to loop this proofs, and get this tag and format a new objects array to the controller UI.

tomislav (Tue, 16 Jun 2020 13:42:39 GMT):
Isn't there an overload to use SearchQuery?

lijiachuan (Tue, 16 Jun 2020 13:44:27 GMT):
I would like to retrieve all proof requests related to me, I am not sure whether the SearchQuery can help, as I don't want to add any filter by default.

tomislav (Tue, 16 Jun 2020 13:50:00 GMT):
that's what the search query is for

tomislav (Tue, 16 Jun 2020 13:50:50 GMT):
SearchQuery.Equal("Intiator", "Self")

lijiachuan (Tue, 16 Jun 2020 13:51:36 GMT):
I mean I don't want to query all my initiated proof requests, but would like to get all the proof requests related to me, no matter whether I am the initiator or not.

tomislav (Tue, 16 Jun 2020 13:52:06 GMT):
what is "related to me"?

lijiachuan (Tue, 16 Jun 2020 13:52:11 GMT):
But this would be the workaround before we have the initiator indicator property

lijiachuan (Tue, 16 Jun 2020 13:52:29 GMT):
I requested, or someone requested to me.

tomislav (Tue, 16 Jun 2020 13:52:59 GMT):
so it's not built in, but it's easy to add it in your application

lijiachuan (Tue, 16 Jun 2020 13:54:30 GMT):
You mean separate the UI to two pages, one is showing all my initiated proof requests, the other one is showing all the proof requests which I received from others, right?

tomislav (Tue, 16 Jun 2020 14:01:55 GMT):
Whatever you choose, yes.

tomislav (Tue, 16 Jun 2020 14:02:09 GMT):
I'm saying you have the ability to track and filter them

lijiachuan (Tue, 16 Jun 2020 14:03:16 GMT):
ok, got it. So do you think this initiator property would be one enhancement?

tomislav (Tue, 16 Jun 2020 14:03:48 GMT):
Yeah, it seems to be an easy and useful addition

lijiachuan (Tue, 16 Jun 2020 14:04:14 GMT):
great to know this. Thanks

lijiachuan (Tue, 16 Jun 2020 14:22:55 GMT):
hi, may I know why do we defined two credential structures, one is `CredentialInfo`, the other one is `CredentialRecord`. I raise this question is due to I am trying to response one proof request, initially I plan to use `_credentialService.ListAsync(agentContext)` to retrieve all my credentials, it would be `CredentialRecord` type, so I can choose one credential for the proof request, but when I checked the sample code, it is using `await _proofService.ListCredentialsForProofRequestAsync(agentContext, request, requestedAttribute.Key)` to retrieve all credentials and use the first one for the request response. And this function returned `CredentialInfo` type. So this might be one question about the design of the credential data structure. Thanks.

tomislav (Tue, 16 Jun 2020 17:23:52 GMT):
`CredentialInfo` is a data model that indy uses internally. A consumer can iterrate over them and retrieve the corresponding `CredentialRecord` to display on UI.

tomislav (Tue, 16 Jun 2020 17:24:26 GMT):
We could do that in the framework, that's a good point

syngin (Wed, 17 Jun 2020 07:56:57 GMT):
For connectionless proof request, how does the holder return the proof response to the verifier? Does the controller need to store the routing keys, recipient keys and endpoint somewhere? Or is it handled within Aries?

lijiachuan (Wed, 17 Jun 2020 12:25:22 GMT):
hi @tomislav , do you mean there could be one change in the framework that will return the same type of credentials in these two methods `_credentialService.ListAsync` and `ListCredentialsForProofRequestAsync`?

tomislav (Wed, 17 Jun 2020 12:37:48 GMT):
yes

lijiachuan (Wed, 17 Jun 2020 13:22:37 GMT):
Hi, there is a new question about using connection less proof or not, actually there are different structure requestJson generated, below is one sample requestJson generated by connection less proof request via `(var proofNameRequest, _) = await _proofService.CreateRequestAsync(agentContext, proofRequest);` ``` { "name":"06170905", "version":"1.0", "nonce":"580318057034241599988458", "requested_attributes":{ "legalName":{ "name":"legalName", "restrictions":[ { "cred_def_id":"MhMyTTDoxJptn2YtHF1s7j:3:CL:8:CorporationCredential" }] } }, "requested_predicates":{ } } ``` And below is one generated proof request from one connection required proof request via `(var proofNameRequest, var proofRecord) = await _proofService.CreateRequestAsync(agentContext, JsonConvert.SerializeObject(proofRequest), proofRequestModel.connectionID);` ``` { "name":"06170914", "version":"1.0", "nonce":"1192058500544631938939603", "requested_attributes":{ "legalName":{ "name":"legalName", "names":null, "restrictions":[ { "cred_def_id":"MhMyTTDoxJptn2YtHF1s7j:3:CL:8:CorporationCredential", "AttributeValue":null }] } }, "requested_predicates":{ } } ``` There are two properties(names and AttributeValue) with null value in the later case, my question would be for connection less or not, whether the only difference should be whether we need to specify the connection or not, but for the generated proof request, the only difference is one has a value for the connectionId, the other one value is null? For other part of the proof request, they should have the same structure?

lijiachuan (Wed, 17 Jun 2020 13:30:00 GMT):
What I want to implement is require the proof is based on one specified credential definition.

ntonani (Wed, 17 Jun 2020 15:38:44 GMT):
Has joined the channel.

ntonani (Wed, 17 Jun 2020 15:38:45 GMT):
does .net framework support json-ld vcs? i quickly glanced at the repo and am not finding

ntonani (Wed, 17 Jun 2020 15:39:41 GMT):
while we're at it, what's the best resource for understanding the state of the framework in reference to broader aries rfcs?

ntonani (Wed, 17 Jun 2020 16:36:34 GMT):
^ thanks in advance!

lijiachuan (Wed, 17 Jun 2020 17:59:15 GMT):
Hi, I tried to use `_proofService.VerifyProofAsync(agentContext, proofRecordId)` to verify a proof, I can receive a `true` if the credential's definition meet my expected definition, but when I used one different definition's credential for the verify, it didn't return a `false` but it returned below 500 error, is this a correct behavior? ``` Hyperledger.Indy.AnonCredsApi.ProofRejectedException: The proof has been rejected. at Hyperledger.Aries.Features.PresentProof.DefaultProofService.VerifyProofAsync(IAgentContext agentContext, String proofRequestJson, String proofJson, Boolean validateEncoding) at Hyperledger.Aries.Features.PresentProof.DefaultProofService.VerifyProofAsync(IAgentContext agentContext, String proofRecId) at AriesFrameworkWebAPI.Controllers.ProofsController.VerifyProof(String proofRecordId) in C:\Git\SIP\AriesFramework\CorpReg\Controllers\ProofsController.cs:line 121 at lambda_method(Closure , Object ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Cache-Control: no-cache Connection: keep-alive Content-Type: application/json Accept: application/json, text/plain, */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Host: localhost:5002 Referer: http://localhost:4100/proofs/list User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 Origin: http://localhost:4100 Content-Length: 2 Sec-Fetch-Site: same-site Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty ```

rjones (Wed, 17 Jun 2020 18:08:00 GMT):
Has left the channel.

lijiachuan (Wed, 17 Jun 2020 18:14:55 GMT):
hi @tomislav , I just noticed that there is a default created tag for a proof, which name is `role`, and value could be either `requestor` or `holder`, if we could add one `IsRequestedByMe` property for the proof object, which value is based on this tag's value, that would be helpful, otherwise, developer needs to add this indicator manually. This would be the same for the credential object, if there could be one `IssuedByMe` property which value is based on the tag `role` value.

tomislav (Wed, 17 Jun 2020 18:53:08 GMT):
Like a read only field?

tomislav (Wed, 17 Jun 2020 18:53:24 GMT):
My only concern with that is that it implies this field is query-able, which it isn't

tomislav (Wed, 17 Jun 2020 18:53:33 GMT):
the field `Role` is

tomislav (Wed, 17 Jun 2020 18:53:47 GMT):
otherwise, I'm not opposed to it

RinkalBhojani (Thu, 18 Jun 2020 08:42:02 GMT):

Clipboard - June 18, 2020 2:11 PM

RinkalBhojani (Thu, 18 Jun 2020 08:42:10 GMT):
Hi, I am refering to one of the solution given at below link https://github.com/Yoroitchi/AriesWebApp/tree/Verifier8000/AriesWebApp I am trying to create proof request and I got below error. EntryPointNotFoundException: Unable to find an entry point named 'indy_generate_nonce' in DLL 'indy'. Hyperledger.Indy.AnonCredsApi.NativeMethods.indy_generate_nonce(int command_handle, GenerateNonceCompletedDelegate cb) Hyperledger.Indy.AnonCredsApi.AnonCreds.GenerateNonceAsync() Is anybody having an idea about the error? Please advise. Thanks

x0axz (Thu, 18 Jun 2020 10:50:56 GMT):
Has joined the channel.

x0axz (Thu, 18 Jun 2020 10:53:46 GMT):
Hi all, I want to know are there any API for Aries to define schemas / credentials, create connection e.t.c. If not, any possibility that we can write APIs for that?

zossimov (Thu, 18 Jun 2020 12:15:57 GMT):
Has joined the channel.

zossimov (Thu, 18 Jun 2020 12:24:46 GMT):
@tomislav hi, is there any code written in osma app to receive / store credentials?

rileyphughes (Thu, 18 Jun 2020 12:31:15 GMT):
osma can receive/store credentials, @sukalpomitra has demo'd this before in some videos I've seen

zossimov (Thu, 18 Jun 2020 12:32:56 GMT):
@rileyphughes thanks

lijiachuan (Thu, 18 Jun 2020 12:34:00 GMT):
The framework provides these functions which you can use in your controller's code.

tomislav (Thu, 18 Jun 2020 12:34:02 GMT):
Please update your indy.dll to later version - https://repo.sovrin.org/windows/libindy/master/1.15.0-1547/

tomislav (Thu, 18 Jun 2020 12:34:40 GMT):
@StevenTCramer is working on an API with Open API definition and Swagger UI

x0axz (Thu, 18 Jun 2020 12:36:35 GMT):
@lijiachuan I mean, if i want to write api in any language, and by accessing a specific route, one can define schema/credential or can get a url to connect with agent. any possibility?

x0axz (Thu, 18 Jun 2020 12:37:03 GMT):
@tomislav can I get in touch with him?

HLFPOC (Thu, 18 Jun 2020 12:50:59 GMT):
Can anyone please share the approach on enabling backup and recovery in mobile agent?

tomislav (Thu, 18 Jun 2020 12:52:55 GMT):
There's no sample done yet, we should create one. It is however very simple to use. You want to call CreateBackup on the mobile side, and then using the same phrase, call RestoreBackup

tomislav (Thu, 18 Jun 2020 12:53:51 GMT):
There's a unit test for this - https://github.com/hyperledger/aries-framework-dotnet/blob/3b500302c989b69790f0dc63ce15633017008126/test/Hyperledger.Aries.Tests/Routing/BackupTests.cs#L107

HLFPOC (Thu, 18 Jun 2020 13:05:15 GMT):
Thanks for the inputs @tomislav . Where does this backup is stored after calling the CreateBackup ? Is there any document which explains the whole process ?

tomislav (Thu, 18 Jun 2020 13:05:55 GMT):
It's stored on the mediator's filesystem. You can set the backup location in the agent options

tomislav (Thu, 18 Jun 2020 13:06:02 GMT):
There's no document yet

tomislav (Thu, 18 Jun 2020 13:06:35 GMT):
https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries.Routing.Mediator/Storage/DefaultStorageService.cs

HLFPOC (Thu, 18 Jun 2020 13:08:10 GMT):
okay, and is there any option to change the storage type from filesystem to a db for mediator agent ?

tomislav (Thu, 18 Jun 2020 13:32:06 GMT):
Yes, the option would be to implement the IStorageService

zossimov (Thu, 18 Jun 2020 13:37:43 GMT):
@tomislav actually in our web agent there is complete functionality for Issuer, Holder, Verifier to issue, receive, verify, proof of credentials. but i was asking is there any implementation in osma (holder) to receive/store credentials in wallet (which is issued by issuer) ?

tomislav (Thu, 18 Jun 2020 13:40:13 GMT):
I believe there is, but it may not be available to respond to proof requests

zossimov (Thu, 18 Jun 2020 13:42:08 GMT):
in osma app, for now I just want to receive creds and store it in wallet

swcurran (Thu, 18 Jun 2020 13:42:15 GMT):
@sukalpomitra has had it working for holding and proving. He's gotten the BC Gov uses cases working. He has using his own mediator. You will need a mediator to do it.

swcurran (Thu, 18 Jun 2020 13:42:29 GMT):
FYI - it's now Aries-MAX and is part of Hyperledger.

zossimov (Thu, 18 Jun 2020 13:42:54 GMT):
the issued creds to holder (osma) can be visible in app

zossimov (Thu, 18 Jun 2020 13:43:27 GMT):
@swcurran yes i know about Aries-MAX, and as I said, Web Agent is working fine, mediator is running

zossimov (Thu, 18 Jun 2020 13:44:54 GMT):
we have 3 web agents, for issuer, holder and verifier and mediator and it's working perfectly

zossimov (Thu, 18 Jun 2020 13:45:28 GMT):
now we just want to add the osma app in that circle, means that issued creds can be store and visible for user (holder)

ArchanJash (Thu, 18 Jun 2020 14:38:14 GMT):
Has joined the channel.

ArchanJash (Thu, 18 Jun 2020 14:38:15 GMT):
Hey , Hope everyone is doing well. I am having one query and would like to convey- We are running mobile agent in xamarin using the mediator connection but when we are requesting credential we are getting an error like this - "Hyperledger.Indy.PoolApi.PoolConfigNotCreatedException Message=The requested pool cannot be opened because it does not have an existing configuration." Our cloud agent is in python, mobile agent is xamarin and we have also setup the mediator. Thanks

sheru (Thu, 18 Jun 2020 14:51:52 GMT):
Has joined the channel.

LokenathBhowmick (Thu, 18 Jun 2020 14:55:49 GMT):
Has joined the channel.

lijiachuan (Thu, 18 Jun 2020 15:41:07 GMT):
Hi, is there one approach to dynamically know that there is a new credential received in the agent? I am considering to trigger one offline operation when the agent received a new credential, but not sure whether this is possible in Aries framework. Kindly advise.

tomislav (Thu, 18 Jun 2020 16:01:33 GMT):
You want to use the IEventAggregator to subscribe for messages of certain types

tomislav (Thu, 18 Jun 2020 16:02:18 GMT):
example usage https://github.com/hyperledger/aries-framework-dotnet/blob/3b500302c989b69790f0dc63ce15633017008126/samples/aspnetcore/Controllers/ConnectionsController.cs#L117

ntonani (Thu, 18 Jun 2020 16:19:29 GMT):
is there documentation around the state of the .net framework and where it's headed (a tentative roadmap or something along those lines). I'm looking for status on json-ld vc support / ejection from indy. thanks

lijiachuan (Thu, 18 Jun 2020 16:27:27 GMT):
So this still need to be initialized from one controller function, which is invoked from the controller, is that correct?

lijiachuan (Thu, 18 Jun 2020 16:28:29 GMT):
is there one approach to make this subscription initialized when the agent started?

mboyd (Fri, 19 Jun 2020 15:42:28 GMT):
Has joined the channel.

lijiachuan (Fri, 19 Jun 2020 16:49:51 GMT):
Hi, I always encounter the first time failed issue, below are two common happened scenarios, does anyone also encounter this before? 1. The first time when I create a new schema, then it returned `Ledger operation rejected` 500 error, then when I create again, then it is success. 2. The first time when I retrieve all schemas, then it returned `The ledger message is unknown or malformed.` 500 error, then when I refresh the page, the schemas were returned successfully

mboyd (Fri, 19 Jun 2020 18:11:18 GMT):
Interesting, have you posted this in indy-node channel yet? I haven't experienced this before

mboyd (Fri, 19 Jun 2020 18:15:03 GMT):
Hi all, I've made a first pass implementation of the [Propose Presentation](https://github.com/hyperledger/aries-rfcs/tree/master/features/0037-present-proof#propose-presentation) message exchange for the Present Proof aries protocol. This will let wallet holders to propose verification of their credentials to verifiers, and let verifiers to create a proof request from the proposal. Feel free to review [the PR](https://github.com/hyperledger/aries-framework-dotnet/pull/101) and leave feedback. Happy to chat more about it here or in the comments

LokenathBhowmick (Sun, 21 Jun 2020 13:05:40 GMT):
Hey , Hope everyone is doing well. I am using OSMA mobile app ,so in this app how can I do request credential? credential is shown on the mobile but how can i accept that credential?

lijiachuan (Mon, 22 Jun 2020 14:34:14 GMT):
Hi All, am trying to create one automatic credential request after received the offer, below are the codes I am trying to use, but it had an error as `The ledger message is unknown or malformed.` when execute `await credentialController.RequestCredential(se.RecordId);`, the RequestCredential function is defined in the credentialsController. Can anyone help on this? Thanks. ``` // Automatically request credential when receive credential offer var credentialOfferSubscription = _eventAggregator.GetEventByType() .Where(_ => _.MessageType == BasicMessageTypes.CredentialOfferType) .Subscribe(async se => { Console.WriteLine("Received Credential Offer Message:" + se.RecordId.ToString()); await credentialController.RequestCredential(se.RecordId); Console.WriteLine("Requested Credential Message Sent"); }); ```

lijiachuan (Mon, 22 Jun 2020 14:39:38 GMT):
hi, did anyone have this issue before? Thanks.

tomislav (Mon, 22 Jun 2020 15:44:03 GMT):
`ProofRejectedException: The proof has been rejected`

tomislav (Mon, 22 Jun 2020 15:44:09 GMT):
Doesn't look an issue

tomislav (Mon, 22 Jun 2020 15:44:35 GMT):
Proof can't pass, if it asks for one definition, and you the proof provides a different one

lijiachuan (Tue, 23 Jun 2020 01:09:18 GMT):
So whether this should return a false as the verify result?

lijiachuan (Tue, 23 Jun 2020 01:26:16 GMT):
hi @tomislav , may I have your suggestion about how to create one automatically request and response for a credential? Thanks.

tomislav (Tue, 23 Jun 2020 01:27:26 GMT):
You want to do this in the credential handler

tomislav (Tue, 23 Jun 2020 01:27:43 GMT):
You can either override the default one, or write a new based on the same code

lijiachuan (Tue, 23 Jun 2020 01:29:14 GMT):
So this is not from a subscription of the receiving message, right?

tomislav (Tue, 23 Jun 2020 01:30:39 GMT):
That's one way of doing it, but I can't confirm that specific implementation.

lijiachuan (Tue, 23 Jun 2020 01:32:07 GMT):
"Do this in the credential handler", do you mean in a credential controller function?

tomislav (Tue, 23 Jun 2020 01:32:27 GMT):
No, I mean DefaultCredentialHandler.cs

tomislav (Tue, 23 Jun 2020 01:32:33 GMT):
you can write your own handler

lijiachuan (Tue, 23 Jun 2020 01:34:26 GMT):
ok, will check it. Thanks for the guidance

tomislav (Tue, 23 Jun 2020 01:35:08 GMT):
It would be nice to get this in the framework. AutoAcceptCredential option in agent options

tomislav (Tue, 23 Jun 2020 01:35:18 GMT):
Contributions are welcome

lijiachuan (Tue, 23 Jun 2020 01:35:24 GMT):
ok

lijiachuan (Tue, 23 Jun 2020 01:36:03 GMT):
may I know is there any similar codes I can refer to?

lijiachuan (Wed, 24 Jun 2020 16:41:28 GMT):
Hi all, when I tried to create a new wallet then get this wallet's issuer information, I encountered one problem. I use below codes to create a new wallet ``` public async Task CreatWallet(WalletModel model) { var config = new WalletConfiguration { Id = model.walletName }; var creds = new WalletCredentials { Key = model.walletCredential }; await _walletService.CreateWalletAsync(config, creds); var wallet = await _walletService.GetWalletAsync(config, creds); var issuer = await _provisionService.GetProvisioningAsync(wallet); return Ok(); } ```

lijiachuan (Wed, 24 Jun 2020 16:41:28 GMT):
Hi all, when I tried to create a new wallet then get this wallet's issuer information, I encountered one problem. I use below codes to create a new wallet ``` public async Task CreatWallet(WalletModel model) { var config = new WalletConfiguration { Id = model.walletName }; var creds = new WalletCredentials { Key = model.walletCredential }; await _walletService.CreateWalletAsync(config, creds); var wallet = await _walletService.GetWalletAsync(config, creds); var issuer = await _provisionService.GetProvisioningAsync(wallet); return Ok(); } ``` When execute the step `var issuer = await _provisionService.GetProvisioningAsync(wallet);`, it returned `Provisioning record not found` 500 error. Any suggestion?

tomislav (Thu, 25 Jun 2020 13:26:00 GMT):
creating a wallet on it's own doesn't create the agent required configuration. You need to call `ProvisionAsync` in the service to have this record created.

anomepani (Fri, 26 Jun 2020 03:32:43 GMT):
Has joined the channel.

RinkalBhojani (Fri, 26 Jun 2020 12:26:59 GMT):
Yes, I am facing exactly the same issue. Did you able to find a solution?

RinkalBhojani (Fri, 26 Jun 2020 12:44:18 GMT):
Instead of sqlite can we use postgres as database in .net framework? If yes, where do we need to make changes for that configuration?

lijiachuan (Fri, 26 Jun 2020 15:11:35 GMT):
Hi, actually I didn't get a root cause for this, both in indy channel and here. I posted in indy channel also but there is no good news, they are asking what framework am using.

lijiachuan (Fri, 26 Jun 2020 15:26:57 GMT):
hi @tomislav , thanks for your feedback. but I am not sure whether this `ProvisionAsync` will also provision a new agent. My purpose is to support multiple wallets in the agent, so I can have one wallet for one user/party, their credentials can be stored in separate wallet. I am not sure whether am on the correct direction to implement this. Could you please suggest on here? Thanks a lot.

mboyd (Fri, 26 Jun 2020 19:27:21 GMT):
We're getting a ``` { "error": "Unhandled exception: Ledger operation rejected", "errorType": "AriesFrameworkException" } ``` Is anyone else getting this?

mboyd (Fri, 26 Jun 2020 19:27:21 GMT):
We're getting a Ledger Operation Rejected exception when trying to write a credential definition to the sovrin staging ledger. Request definition: ``` { "name": "Test", "version": "1.0", "attributes": [ "Test" ], "supportRevocation": true, "tag": "asdf" } ``` Here is the error: ``` { "error": "Unhandled exception: Ledger operation rejected", "errorType": "AriesFrameworkException" } ``` Is anyone else getting this?

x0axz (Fri, 26 Jun 2020 20:43:26 GMT):
Hi everyone, I offered credentials from web agent to Osma and received the offered credentials payload in VS Debug section. The payload was in base64. *) why is the payload base64 encoded? *) can I accept these creds, save in wallet, preview received creds in osma app? Any code already written for these features? regards

x0axz (Fri, 26 Jun 2020 20:43:26 GMT):
Hi everyone, I offered credentials from web agent to Osma and received the offered credentials payload in VS Debug section. The payload was in base64. 1) why is the payload base64 encoded? 2) can I accept these creds, save in wallet, preview received creds in osma app? Any code already written for these features? regards

x0axz (Fri, 26 Jun 2020 20:43:26 GMT):
Hi everyone, I offered credentials from web agent to Osma and received the offered credentials payload in VS Debug section. The payload was in base64. 1) why is the payload base64 encoded? I didn't find any encryption available! 2) can I accept these creds, save in wallet, preview received creds in osma app? Any code already written for these features? regards

x0axz (Fri, 26 Jun 2020 20:44:57 GMT):

Credential Offered - Encoded Payload.txt

x0axz (Fri, 26 Jun 2020 20:44:57 GMT):

Credential Offered - Decoded Payload.txt

lijiachuan (Sat, 27 Jun 2020 06:39:48 GMT):
Is the agent's DID registered in the Indy network?

sheru (Mon, 29 Jun 2020 11:01:11 GMT):
Hey @x0axz , hope this test cases code will help you to get your things down. https://github.com/hyperledger/aries-framework-dotnet/blob/44a08002f11d5646dd21077dbb869906506c0fd3/src/Hyperledger.Aries.TestHarness/AgentScenarios.cs#L102

x0axz (Mon, 29 Jun 2020 11:08:32 GMT):
thanks @sheru for ur response, actually the issuer is using offer-credential feature (https://github.com/hyperledger/aries-rfcs/tree/master/features/0036-issue-credential#offer-credential) to offer creds, and it's working fine, i'm getting on holder side (VS debug logs). Here is an example of receiving and previewing the offered credential for holder -> https://github.com/Yoroitchi/AriesWebApp/blob/Holder5000/AriesWebApp/Controllers/CredentialsController.cs but still i'm stuck there, no luck.

dipghosh (Mon, 29 Jun 2020 12:54:37 GMT):
Has joined the channel.

dipghosh (Mon, 29 Jun 2020 12:58:00 GMT):
Hi everyone i want to receive a basic message from the mediator on my mobile agent with hyperledger aries. Can anyone help me out of this problem ?

lijiachuan (Tue, 30 Jun 2020 01:18:29 GMT):
hi @x0axz , in my practice, after use `_credentialService.CreateOfferAsync` to send one credential offer to the holder, this will be stored in holder's wallet by default, then in the holder side, I use `await _credentialService.ListAsync(context);` to retrieve all credentials received. Hope this can help. I also paste more code in the private chat.

RinkalBhojani (Tue, 30 Jun 2020 05:30:48 GMT):
Does anybody have an idea about instead of sqlite is it possible to use postgres as database in .net framework? If yes, where do we need to make changes for that configuration?

tomislav (Tue, 30 Jun 2020 12:58:41 GMT):
It is possible, as the postgres plugin can be plugged in independently. You want to register the plugin first, by making a native call to the C library, and then you can use the storage mapping in `WalletConfiguration.StorageType`, for example when you call `RegisterAgent(AgentOptions)`

lijiachuan (Tue, 30 Jun 2020 16:15:35 GMT):
Hi All, does anyone implemented or tried to have the automatically issue a credential when the issuer received the credential request from the holder? Any direction or suggestion about how can we do this? Many thanks.

sheru (Tue, 30 Jun 2020 16:20:04 GMT):
if you are using aca-py then as per my best knowledge `--auto-respond-credential-request` need to set while you start aca-py.

lijiachuan (Tue, 30 Jun 2020 16:21:04 GMT):
thanks @sheru for your reply, I am trying this with dot net framework, as there is no such function exist, so just want to know anyone tried about this.

lijiachuan (Tue, 30 Jun 2020 16:23:06 GMT):
And this will also be helpful for the proof request, when received a proof request from the verifier, if the holder also can automatically select one proper credential and return back, then the verifier automatically verify the credentials, this would be great.

sheru (Tue, 30 Jun 2020 16:25:17 GMT):
Yes this can be also automate. I used aca-py as the cloud agent. Not sure how it can be done in the dot net one.

sheru (Tue, 30 Jun 2020 16:27:22 GMT):
you can reach out to @tomislav , He can guide you better.

lijiachuan (Tue, 30 Jun 2020 16:28:19 GMT):
yes, I am also have a closed chat with @tomislav , but just would like to check from this channel to see anyone else can help on this :)

lijiachuan (Tue, 30 Jun 2020 16:29:15 GMT):
Do you know any webhook guidelines for dot net framework?

sheru (Tue, 30 Jun 2020 16:29:39 GMT):
no.

lijiachuan (Tue, 30 Jun 2020 16:29:41 GMT):
That might also helpful to make some level of automation

tomislav (Tue, 30 Jun 2020 17:39:22 GMT):
Can be implemented very easy. Add option in AgentOptions to toggle this setting. In credential handler inside the credential request block, check the setting, if automatic is on, issue credential

tomislav (Tue, 30 Jun 2020 17:39:37 GMT):
Same principle as automatic connection acceptance

x0axz (Wed, 01 Jul 2020 00:36:03 GMT):
Hi all, When we offered creds to holder, it is by default stored in holder wallet, next we have to "Create a credential request on offered creds" (*CreateRequestAsync*) and in response (from issuer), we will get the Issue Status (*CreateCredentialAsync*). Now, I'm on *CreateRequestAsync *step, I created a button in osma, to '*Accept Offer*', which calls this *ProcessOffer()* function (https://github.com/Yoroitchi/AriesWebApp/blob/509d6556b8cb0f0584505a6ece5e38acf415e966/AriesWebApp/Controllers/CredentialsController.cs#L48).* In response I get this Error.* ``` 07-01 05:23:32.622 D/Mono ( 2114): Loading reference 11 of /storage/emulated/0/Android/data/com.osma/files/.__override__/Hyperledger.Aries.dll asmctx DEFAULT, looking for Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc 07-01 05:23:32.623 D/Mono ( 2114): Assembly Ref addref Hyperledger.Aries[0x98a21660] -> Polly[0x98a22ec0]: 2 07-01 05:23:32.691 D/Mono ( 2114): DllImport searching in: 'indy' ('libindy.so'). 07-01 05:23:32.691 D/Mono ( 2114): Searching for 'indy_build_get_cred_def_request'. 07-01 05:23:32.691 D/Mono ( 2114): Probing 'indy_build_get_cred_def_request'. 07-01 05:23:32.691 D/Mono ( 2114): Found as 'indy_build_get_cred_def_request'. 07-01 05:23:32.726 D/Mono ( 2114): DllImport searching in: 'indy' ('libindy.so'). 07-01 05:23:32.726 D/Mono ( 2114): Searching for 'indy_set_protocol_version'. 07-01 05:23:32.726 D/Mono ( 2114): Probing 'indy_set_protocol_version'. 07-01 05:23:32.726 D/Mono ( 2114): Found as 'indy_set_protocol_version'. 07-01 05:23:32.746 D/Mono ( 2114): DllImport searching in: 'indy' ('libindy.so'). 07-01 05:23:32.747 D/Mono ( 2114): Searching for 'indy_open_pool_ledger'. 07-01 05:23:32.747 D/Mono ( 2114): Probing 'indy_open_pool_ledger'. 07-01 05:23:32.747 D/Mono ( 2114): Found as 'indy_open_pool_ledger'. **Hyperledger.Indy.PoolApi.PoolConfigNotCreatedException:** 'The requested pool cannot be opened because it does not have an existing configuration.' ```

Shubham-koli (Wed, 01 Jul 2020 08:53:08 GMT):
Has joined the channel.

tomislav (Wed, 01 Jul 2020 12:59:21 GMT):
It looks like your pool configurations didn't get created. Try running the service, or verify it gets executed, `PoolConfigurator.ConfigurePoolAsync`. This should execute on startup, but you can also run it manually.

tomislav (Wed, 01 Jul 2020 13:00:54 GMT):
When you click on Create Agent the first time, it should execute this code https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/ViewModels/RegisterViewModel.cs#L43

tomislav (Wed, 01 Jul 2020 13:01:03 GMT):
Which will create all pool configurations

tomislav (Wed, 01 Jul 2020 13:01:53 GMT):
Oh I'm sorry, this is related to the WebApp, I assumer you're asking about the mobile agent

x0axz (Wed, 01 Jul 2020 13:28:51 GMT):
actually @sheru helped me

x0axz (Wed, 01 Jul 2020 13:28:53 GMT):
I followed this commit (https://github.com/hyperledger/aries-mobileagent-xamarin/commit/cb56d53f4e8a3da45cefa65503960b9e52e71099), to configure Pool but in Osma it return this error. ```Hyperledger.Indy.PoolApi.PoolConfigNotCreatedException: 'The requested pool cannot be opened because it does not have an existing configuration.'```

x0axz (Wed, 01 Jul 2020 13:29:14 GMT):
but when I set `options.PoolName = "bcovrin-test";` or any pool in the list (4 pools).. then it return this error ```Hyperledger.Indy.IndyException: 'An unmapped error with the code '309' was returned by the SDK.'```

lijiachuan (Wed, 01 Jul 2020 16:38:47 GMT):
hi @tomislav , do we have the automatic connection acceptance implemented in the dot net framework?

tomislav (Wed, 01 Jul 2020 16:55:13 GMT):
yes

tomislav (Wed, 01 Jul 2020 16:55:17 GMT):
it's on by default

sheru (Thu, 02 Jul 2020 08:19:18 GMT):
Hey everyone Good Morning. I am able to send basic message and receive the message in the cloud-agent via web-hook but trying to receive the basic message in the AMAX Mobile APP. But still fighting with this. I haven't found any test cases for this as of now. Can anyone please guide me on this. Thanks

tomislav (Thu, 02 Jul 2020 12:36:19 GMT):
Have you added basic message handler to your agent? `AddBasicMessage()`?

sheru (Thu, 02 Jul 2020 12:40:06 GMT):
No, Not added yet. Please guide me the process I will try. Thank you

sheru (Thu, 02 Jul 2020 12:40:06 GMT):
Not, Not added yet. Please guide me the process I will try. Thank you

sheru (Thu, 02 Jul 2020 12:41:40 GMT):
how can I add basic message handler to the agent. Please guide me.

tomislav (Thu, 02 Jul 2020 13:02:42 GMT):
if youre using the default configuration, you should already have basic message handler

tomislav (Thu, 02 Jul 2020 13:02:49 GMT):
you are receiving messages

tomislav (Thu, 02 Jul 2020 13:03:26 GMT):
you can list them using `recordService.SearchAsync

sheru (Thu, 02 Jul 2020 14:51:04 GMT):
Thanks, it works.

lijiachuan (Fri, 03 Jul 2020 17:38:37 GMT):
Hi all, in `DefaultCredentialHandler.cs` `ProcessAsync` function, in `case MessageTypes.IssueCredentialNames.RequestCredential`, it has one checking as `if (request.ReturnRoutingRequested() && messageContext.Connection == null)`, does anyone know what does this checking mean? Only meet this criteria then it will create a credential, otherwise nothing will be created, I didn't get what this checking is for. Anyone has idea about this? Thanks

lijiachuan (Fri, 03 Jul 2020 17:53:34 GMT):

lijiachuan - Sat Jul 04 2020 01:53:26 GMT+0800 (China Standard Time).txt

lijiachuan (Fri, 03 Jul 2020 17:55:21 GMT):
Hi, this issue still happen when I use the core sample project, for the first time I create a new credential, there is one ledger message error, but I think this operation should not interact with ledger, and the strange thing is when I back to the creation page and submit again, then it went well, so not sure why this error happen, anyone have an idea? I am using a VON test network. ``` AriesFrameworkException: Failed to send A2A message with an HTTP status code of InternalServerError and content Hyperledger.Indy.LedgerApi.InvalidLedgerTransactionException: The ledger message is unknown or malformed. at Hyperledger.Aries.Ledger.DefaultLedgerService.<>c__DisplayClass2_0.<g__LookupDefinition|0>d.MoveNext() in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries\Ledger\DefaultLedgerService.cs:line 45 --- End of stack trace from previous location where exception was thrown --- at Polly.NoOp.NoOpEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at Hyperledger.Aries.Ledger.DefaultLedgerService.LookupDefinitionAsync(IAgentContext agentContext, String definitionId) in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries\Ledger\DefaultLedgerService.cs:line 48 at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.CreateRequestAsync(IAgentContext agentContext, String credentialId) in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries\Features\IssueCredential\DefaultCredentialService.cs:line 329 at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialHandler.ProcessAsync(IAgentContext agentContext, UnpackedMessageContext messageContext) in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries\Features\IssueCredential\DefaultCredentialHandler.cs:line 75 at Hyperledger.Aries.Agents.AgentBase.ProcessMessage(IAgentContext agentContext, MessageContext messageContext) in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries\Agents\AgentBase.cs:line 143 at Hyperledger.Aries.Agents.AgentBase.ProcessAsync(IAgentContext context, MessageContext messageContext) in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries\Agents\AgentBase.cs:line 113 at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) in C:\Git\AriesDotNetFramework\MyFork\aries-framework-dotnet - Copy\src\Hyperledger.Aries.AspNetCore\AgentMiddleware.cs:line 48 at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Content-Type: application/ssi-agent-wire Host: localhost:5001 Request-Id: |3d3fbbc2-4e568520bd7edd21.1. Content-Length: 15409 Hyperledger.Aries.Agents.HttpMessageDispatcher.DispatchAsync(Uri endpointUri, PackedMessageContext message) in HttpMessageDispatcher.cs ```

lijiachuan (Fri, 03 Jul 2020 18:00:36 GMT):
Is `_credentialService.CreateCredentialAsync` the corresponding action for a credential request from the holder?

x0axz (Fri, 03 Jul 2020 18:08:57 GMT):
`CreateRequestAsync()`, create a credential request by the holder for the given record on a previously received offer. The credential record must be in state "Offered". `CreateCredentialAsync()`, Create a credential based on an offer message. If successful, this method will return a credential record in "Issued" state.

x0axz (Fri, 03 Jul 2020 18:08:57 GMT):
`CreateRequestAsync()`, holder create a credential request for the given record on a previously received offer. The credential record must be in state "Offered". `CreateCredentialAsync()`, Issuer create a credential based on an offer message. If successful, this method will return a credential record in "Issued" state.

lijiachuan (Fri, 03 Jul 2020 18:13:00 GMT):
thanks for your reply, but my remain question is why `CreateCredentialAsync` only happened when `if (request.ReturnRoutingRequested() && messageContext.Connection == null)` is true. Any idea?

x0axz (Fri, 03 Jul 2020 18:41:42 GMT):
I don't know what u mean by that, but this is the function I'm using to Send Credentials to Holder. ``` var agentContext = await _agentContextProvider.GetContextAsync(); var credentialRecord = await _credentialService.GetAsync(agentContext, id); var connectionRecord = await _connectionService.GetAsync(agentContext, credentialRecord.ConnectionId); (var cred, var credentialRecordIssued) = await _credentialService.CreateCredentialAsync(agentContext: agentContext, credentialId: id); await _messageService.SendAsync(agentContext.Wallet, cred, connectionRecord); ```

lijiachuan (Fri, 03 Jul 2020 18:50:08 GMT):
ok, I am adding automate features for credential handler, which can enable: - Holder automatically request a credential after receiving an offer - Issuer automatically issue a credential after receiving a credential request And this change is in `DefaultCredentialHandler.cs`. If you check the code, there is one part about how to handle credential request message, as below: ``` case MessageTypes.IssueCredentialNames.RequestCredential: { var request = messageContext.GetMessage(); var recordId = await _credentialService.ProcessCredentialRequestAsync( agentContext: agentContext, credentialRequest: request, connection: messageContext.Connection); if (request.ReturnRoutingRequested() && messageContext.Connection == null) { var (message, record) = await _credentialService.CreateCredentialAsync(agentContext, recordId); messageContext.ContextRecord = record; return message; } else { messageContext.ContextRecord = await _credentialService.GetAsync(agentContext, recordId); return null; } } ``` So there is one check `if (request.ReturnRoutingRequested() && messageContext.Connection == null)`, I am not sure what this check is for, seems only meet this criteria then it will create a credential, otherwise, nothing will be created.

lijiachuan (Fri, 03 Jul 2020 18:58:33 GMT):
And this is the line of code which I am not sure the checking purpose. https://github.com/hyperledger/aries-framework-dotnet/blob/e2a99e7bd3c4d77c3c765b2a4b37470d075f4cb6/src/Hyperledger.Aries/Features/IssueCredential/DefaultCredentialHandler.cs#L76

x0axz (Fri, 03 Jul 2020 19:02:17 GMT):
sorry, don't have any idea, but it looks like they are checking for, either they get the Request from Holder, to Issue them credentials. States of Credentials: Offered -> Issuer to Holder Requested -> Holder to Issuer Issued -> Issuer to Holder ReturnRoutingRequested() -> https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries/Decorators/Transport/TransportDecoratorExtensions.cs#L28

x0axz (Fri, 03 Jul 2020 19:04:09 GMT):
u have two agents or one?

tomislav (Sun, 05 Jul 2020 00:37:46 GMT):
It is used for return routing support. If you specify return route in your request, the result will be given in the http response, isntead going over peer connection

lijiachuan (Sun, 05 Jul 2020 09:16:14 GMT):
so if we specified the return route, one `CreateCredentialAsync` will be invoked, if not specify the return route, it won't create credential. As this is for `MessageTypes.IssueCredentialNames.RequestCredential` this type of message, so does this mean, if received a `RequestCredential` message and there is not specified return route, then we don't need to create a credential for this request, is this correct?

x0axz (Sun, 05 Jul 2020 09:24:56 GMT):
Hello, I want to verify a proof response, and the proof request wasn't created by me. Actually I want to be a third party Verifier but don't want to hold user data (sent in response to me for verification). How can I implement that (flow of verification for this specific scenario)?

x0axz (Sun, 05 Jul 2020 09:24:56 GMT):
Hello, I want to verify a proof response, and the proof request wasn't created by me. Actually I want to be a third party Verifier but don't want to hold user data (sent in response to me for verification). How can I implement that (flow of proof verification for this specific scenario)?

x0axz (Sun, 05 Jul 2020 09:24:56 GMT):
Hi, I want to verify a proof response, and the proof request wasn't created by me. Actually I want to be a third party Verifier but don't want to hold user data (sent in response to me for verification). How can I implement that (flow of proof verification for this specific scenario)?

lijiachuan (Sun, 05 Jul 2020 14:29:10 GMT):
From your description, you are still a verifier role, I am not sure what's the reason that you don't want to initialize a proof request but want to verify a credential which requested from others. I think verify a credential doesn't need to hold/save the credential data, just need to verify the result, so whether a normal proof verification process can work?

x0axz (Sun, 05 Jul 2020 20:15:57 GMT):
Here is our system design: We have multiple Issuers and every Issuer has their own user base (Holders). We want to function as Verifier, to verify the Proof Request on behalf of Issuers. Issuer wants to verify a holder, the issuer will first sent a proof request to Verifier (us) (we won't store/hold it). We will then forward this request to holder, they in response will sent us the proof (again, we don't want to know anything about it, we want to apply ZKP). We will verify the proof request. As the Credentials are stored in Holder Wallets, when Issuer sent us request to verify the credentials of Holder, we (verifier) don't want to store/hold/log the credentials in any way.

x0axz (Sun, 05 Jul 2020 20:15:57 GMT):
@lijiachuan , Here is our system design: We have multiple Issuers and every Issuer has their own user base (Holders). We want to function as Verifier, to verify the Proof Request on behalf of Issuers. Issuer wants to verify a holder, the issuer will first sent a proof request to Verifier (us) (we won't store/hold it). We will then forward this request to holder, they in response will sent us the proof (again, we don't want to know anything about it, we want to apply ZKP). We will verify the proof request. As the Credentials are stored in Holder Wallets, when Issuer sent us request to verify the credentials of Holder, we (verifier) don't want to store/hold/log the credentials in any way.

haydarmajeed (Mon, 06 Jul 2020 04:22:30 GMT):
Has joined the channel.

severus-sn4pe (Tue, 07 Jul 2020 11:54:36 GMT):
Has joined the channel.

RinkalBhojani (Tue, 07 Jul 2020 14:34:01 GMT):
Hi, I am having issue with accessing pool configuration.When I run the project everything works fine but when I am dockerizing the project that time I am getting below error *"The requested pool cannot be opened because it does not have an existing configuration"* Anyone have an idea? what can be the issue?

RinkalBhojani (Tue, 07 Jul 2020 14:34:07 GMT):

Clipboard - July 7, 2020 8:04 PM

helengarneau (Tue, 07 Jul 2020 17:59:09 GMT):
Has joined the channel.

syngin (Thu, 09 Jul 2020 01:51:16 GMT):
you may be trying to use a pool without creating it first. It probably works outside docker because the config is already stored somewhere on your local in ~/.indy_client. Use Pool.CreatePoolLedgerConfigAsync to create and provide a genesis file.

syngin (Thu, 09 Jul 2020 02:12:57 GMT):
i think with proofs, the credentials are never sent. and with ZKP neither is the actual attribute. The verifier doesn't have to be the issuer. As verifiier I think you can make your own proof request.

tomislav (Thu, 09 Jul 2020 18:12:46 GMT):
@here Hi all, we just merged a PR that adds full API support with Swagger spec for ASP.NET Core. Check out the `aspnetcore` sample for sample usage. Suggestions and feedback are welcome. Hope you find it useful

tomislav (Thu, 09 Jul 2020 18:14:01 GMT):
Thanks to @StevenTCramer for this contribution

davidd (Fri, 10 Jul 2020 11:49:28 GMT):
Hi all, On web agent, I created Input field to ask for holder's passport number in plaintext. Will hash/encode this value with same algorithm, which was used at a time of credential issuance. To validate both hash values (one stored in wallet, issued at a time of credential issuance AND second, the generated hashed value on web agent). This is the function which encode the credential attribute: https://github.com/hyperledger/aries-framework-dotnet/blob/10c89e4938deb386bf9ec013e383e3c7bb7ffcc6/src/Hyperledger.Aries/Utils/CredentialUtils.cs#L54 But now I can't use this method because it's an Internal method. any help on how to implement this functionality? cc: @tomislav @lijiachuan

lijiachuan (Fri, 10 Jul 2020 11:53:30 GMT):
hi @davidd , I am not sure why you need to hash it manually, do you plan to use comparing hash approach to validate the credential?

davidd (Fri, 10 Jul 2020 12:02:40 GMT):
yes

davidd (Fri, 10 Jul 2020 12:03:57 GMT):
any help?

tomislav (Fri, 10 Jul 2020 12:05:40 GMT):
The verify function already compares the hashed values for encoding. Can you just run verify?

tomislav (Fri, 10 Jul 2020 12:06:05 GMT):
Else, we can make the method public, just not sure that would have common use

davidd (Fri, 10 Jul 2020 12:07:45 GMT):
can I use it on web agent?

davidd (Fri, 10 Jul 2020 12:08:11 GMT):
like if I write the method in controller, will it be helpful?

tomislav (Fri, 10 Jul 2020 12:08:26 GMT):
There may already be one

tomislav (Fri, 10 Jul 2020 12:08:47 GMT):
there's a swagger controller support in the framework now

lijiachuan (Fri, 10 Jul 2020 12:11:21 GMT):
``` [HttpPost("VerifyProof/{proofRecordId}")] public async Task VerifyProof(string proofRecordId) { var agentContext = await _agentProvider.GetContextAsync(); return await _proofService.VerifyProofAsync(agentContext, proofRecordId); } ``` This is the code I practiced, you can have a try.

davidd (Fri, 10 Jul 2020 12:18:45 GMT):
Thanks for that.. here is what I want. Both of hash values will be provided in two different parts. Credentials are issued in two forms, Raw & Encoded. Holder has to enter Passport Number in Raw form on web agent, it will be Encoded and then store in wallet. Holder will separately provide the Passport Number in Encoded form (which was stored in wallet on Phone), which will then be verify with the previous encoded value.

davidd (Fri, 10 Jul 2020 12:18:54 GMT):
I hope it make sense

lijiachuan (Fri, 10 Jul 2020 12:19:59 GMT):
who is the issuer?

davidd (Fri, 10 Jul 2020 12:20:46 GMT):
a third person (identity provider), in this flow Issuer won't be involve.

davidd (Fri, 10 Jul 2020 12:21:23 GMT):
it's just holder and verifier

davidd (Fri, 10 Jul 2020 12:21:54 GMT):
I just want to encode the passport number, which is in raw form and store it in wallet!

davidd (Fri, 10 Jul 2020 12:22:20 GMT):
later, will validate it with hash value provided by holder

lijiachuan (Fri, 10 Jul 2020 12:22:43 GMT):
so why the verifier need to verify it, that value is provided from the holder self, what should be the criteria to say, this is an expected credential or not

davidd (Fri, 10 Jul 2020 12:24:20 GMT):
just want to encode the raw data.. that's it. is there any solution for that?

tomislav (Fri, 10 Jul 2020 13:13:37 GMT):
Yes, make the method public

tomislav (Fri, 10 Jul 2020 13:14:10 GMT):
You can also just copy the method into your code right now and use it, it has no dependencies

davidd (Fri, 10 Jul 2020 13:14:51 GMT):
`The name 'sha256' does not exist in the current context`

davidd (Fri, 10 Jul 2020 13:15:07 GMT):
`using System.Security.Cryptography;`

tomislav (Fri, 10 Jul 2020 13:16:09 GMT):
`SHA256 sha256 = SHA256.Create();`

davidd (Fri, 10 Jul 2020 13:16:47 GMT):
``` if (string.IsNullOrWhiteSpace(passportNumber)) passportNumber = string.Empty; if (int.TryParse(passportNumber, out var result)) return result.ToString(); var data = new byte[] { 0 } .Concat(sha256.ComputeHash(passportNumber.GetUTF8Bytes())) .ToArray(); Array.Reverse(data); return new BigInteger(passportNumber: data).ToString(); ```

davidd (Fri, 10 Jul 2020 13:17:27 GMT):
got it.

davidd (Sat, 11 Jul 2020 15:34:22 GMT):
Hi @tomislav @lijiachuan I made a method `public string EncodePassportNumber(string passportNumber)` which takes a plaintext passportNumber as input and convert into hash and return the hash value. Now in `public async Task HashedPassportNumber(string EncodePassportNumber)` i'm trying to store this hashed value in wallet and fetch it whenever and wherever I want. But as for that we have to create a model, for proof there is `ProofRequest`, for messages there is `BasicMessageRecord`, `BasicMessage` e.t.c. I just want to store `passportNumber in plaintext`, `hashed value of passportNumber` and `status`. how can I achieve it. thanks

davidd (Sat, 11 Jul 2020 15:34:22 GMT):
Hi @tomislav @lijiachuan `public string EncodePassportNumber(string passportNumber)` which takes a plaintext Passport Number as input and convert into hash and returns the hash value. In `public async Task HashedPassportNumber(string EncodePassportNumber)` i'm trying to store this hashed value in wallet and fetch it whenever and wherever I want to. But as for that, first I have to create a model, for proof there is `ProofRequest`, for messages there is `BasicMessageRecord`, `BasicMessage` e.t.c. I just want to store `passportNumber in plaintext`, `hashed value of passportNumber` and `status`. how can I achieve it. thanks

tomislav (Sun, 12 Jul 2020 14:29:22 GMT):
You can create new type that inherits from RecordBase and save it using the `WalletRecordService`.

tomislav (Sun, 12 Jul 2020 14:29:42 GMT):
You can put any information you want inside of it

syngin (Mon, 13 Jul 2020 06:30:38 GMT):
Hi All, My scenario is Connectionless Proof Presentation with Revocable Credentials. My error is "A value must be provided. (Parameter 'masterSecret')". It seems agentContext.MasterSecretId returns null. Questions: 1. Where did I go wrong? 2. When does the mastersecret get set? During wallet provisioning? During credential accept? 3. I tried to get as mastersecret using AnonCreds.ProverCreateMasterSecretAsync(agentContext.Wallet, null); and use that in my verification presentation but it was accepted as not valid. Why? Does being a connectionless scenario factor into it?

RinkalBhojani (Tue, 14 Jul 2020 05:26:16 GMT):
In aca-py we have webhooks, do we have that in aries-framework-dotnet? If not then how can we implement it? Anybody have any idea?

MichaelSchaefer (Tue, 14 Jul 2020 06:51:02 GMT):
Has joined the channel.

syngin (Tue, 14 Jul 2020 09:06:31 GMT):
To answer my own questions. 1. Somehow the wallet was created without a MasterSecret. 2. It gets set when the wallet is created. A MasterSecret is created with every wallet. To be sure, run _provisionService.ProvisionAgentAsync(); And check the MasterSecretId of the newly created wallet. 3. No, its not related to the conenctionless scenario. When in doubt, update indy and aries to the latest versions, and clear all old data. I found other annoying but not showstopping bugs were eliminated when upgraded to the latest indy and aries libraries. Maybe the bug where master secret is not generated was part of an older aries/indy version. Clearing the old wallet data also helps I guess.

x0axz (Tue, 14 Jul 2020 09:13:08 GMT):
hi, Ism created for every credential, isn't it true?

x0axz (Tue, 14 Jul 2020 09:13:21 GMT):
hi, isn created for every credential, isn't it true?

x0axz (Tue, 14 Jul 2020 09:14:00 GMT):
Hi @syngin , isn't master_secret created by Holder/Prover at the time of Credential Request?

x0axz (Tue, 14 Jul 2020 09:14:00 GMT):
Hi @syngin , isn't `master_secret` created by Holder/Prover at the time of Credential Request?

x0axz (Tue, 14 Jul 2020 09:14:38 GMT):
https://github.com/hyperledger/indy-sdk/tree/master/docs/design/002-anoncreds#prover

x0axz (Tue, 14 Jul 2020 09:16:30 GMT):
the issued credentials in wallet contains the master_secret in encoded form..

x0axz (Tue, 14 Jul 2020 09:16:30 GMT):
the issued credentials in wallet contains the `master_secret` in encoded form..

x0axz (Tue, 14 Jul 2020 09:16:30 GMT):
the issued credentials in wallet contains the `master_secret` in encoded form is same for every credential record ?

tomislav (Tue, 14 Jul 2020 12:30:26 GMT):
The `IEventAggregator` helps you hook into specific events. Additionally, you can implement `IAgentMiddleware` to intercept the agent message processing pipeline.

syngin (Wed, 15 Jul 2020 07:11:06 GMT):
i think there's potentially many master secrets identified by Ids. For proof presentation (in aries), i believe it uses the default master secret. I suppose you could work at the indy level to use a different master secret. I've not explored this topic further since I was able to get a successful proof verification.

tomislav (Wed, 15 Jul 2020 14:21:19 GMT):
Master secret is created at wallet provisioning.

tomislav (Wed, 15 Jul 2020 14:21:56 GMT):
You can have multiple master secrets, but you won't be able to link the credentials against the same master secret if you use multiple

tomislav (Wed, 15 Jul 2020 14:22:26 GMT):
I don't know of a codebase that currently works with multiple master secrets. It's definitely possible

naagii (Thu, 16 Jul 2020 01:00:57 GMT):
Has joined the channel.

x0axz (Fri, 17 Jul 2020 06:37:04 GMT):
Hi all, I'm working on Presentation Proof. Everything is working fine, Verifier is able to sends a Proof Request to Holder. Holder sends back a Proof Request with Credentials. But I want to verifiy these Credentials blindly (without knowing anything about it). *A Method which verifies the Request* ``` public bool VerifyNamedAndrie(PartialProof proof) { var name = proof.RequestedProof.RevealedAttributes.First(); if (name.Value.Raw.Equals("Andrie")) { return true; } return false; } ``` The Problem is with this last Method (*VerifyNamedAndrie*) is that *Verifier* has to know what's the *FirstName of Holder* is. How can I verify the *Attributes *(first name or anything) *blindly* (without knowing anything about it)?

syngin (Fri, 17 Jul 2020 10:07:09 GMT):
I think if you don't want to reveal the attributes, you would use predicates. However for strings, it doesn't really make sense, since you have to compare against a known string. If it matches, then you know what the attribute is - indirectly. It still protects the privacy of people not named Andrie. Maybe that's enough.

ankita.p (Wed, 22 Jul 2020 07:47:32 GMT):
Has joined the channel.

biligunb (Wed, 22 Jul 2020 10:59:53 GMT):
Has joined the channel.

ajayjadhav (Wed, 22 Jul 2020 21:07:46 GMT):
Hi @tomislav , I am trying to run `aspnetcore` sample on macOS (for the 1st time), but it is giving this error.

ajayjadhav (Wed, 22 Jul 2020 21:07:48 GMT):
`Unhandled exception. System.DllNotFoundException: Unable to load shared library 'indy' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libindy, 1): image not found`

ajayjadhav (Wed, 22 Jul 2020 21:12:33 GMT):
I am following instructions from here - https://github.com/hyperledger/indy-sdk#macos

ajayjadhav (Wed, 22 Jul 2020 21:12:33 GMT):
I am following indy-sdk instructions from here - https://github.com/hyperledger/indy-sdk#macos

ajayjadhav (Wed, 22 Jul 2020 21:13:08 GMT):
Any suggestions please ?

syngin (Thu, 23 Jul 2020 00:44:48 GMT):
not familiar with macOS dev, but one of the issues I had with indy was forgetting to set the environment variable "You need add the path to lib folder to LIBRARY_PATH environment variable." I'm guessing either this issue or the other sub libraries needed e.g. libsodium, zeromq, openssl. Maybe a configuration program could be included to advise which libraries are missing.

mboyd (Thu, 23 Jul 2020 02:54:30 GMT):
@ajayjadhav I have only been able to get aspnetcore to recognize Indy by putting the libindy.dylib directly in the bin/debug/netstandard2.0 directory

mboyd (Thu, 23 Jul 2020 02:55:04 GMT):
Something to do with how the build links to a version of libsodium

matteo (Thu, 23 Jul 2020 11:55:50 GMT):
Has joined the channel.

tomislav (Thu, 23 Jul 2020 16:26:58 GMT):
@ajayjadhav I am still just copying the dylib manually for each project I run, when I use MacOS. I think there's a way to set `DYLD_LIBRARY_PATH` to point to where your libindy.dylib is, but for me it's not working right. It used to, but not anymore

tomislav (Thu, 23 Jul 2020 16:27:20 GMT):
I've sort of given up trying and just copy the static lib for now

tomislav (Thu, 23 Jul 2020 16:29:04 GMT):
As @mboyd pointed out, if you copy the library in the `bin/Debug/netcoreapp3.1` output of your application, it should find it. As far as building it, you can just use the script in `indy-sdk/libindy/mac.build.sh` to build it

ajayjadhav (Thu, 23 Jul 2020 17:38:48 GMT):
Thanks @tomislav & @mboyd, I will give it a try

ajayjadhav (Thu, 23 Jul 2020 17:55:14 GMT):
Great, I am able to run the `aspnetcore` sample now after running `mac.build.sh` and putting the `libindy.dylib` in the `samples/aspnetcore/bin/Debug/netcoreapp3.1/` directory..

ajayjadhav (Thu, 23 Jul 2020 17:55:22 GMT):
Thanks for this help..

ajayjadhav (Thu, 23 Jul 2020 18:04:41 GMT):
Hi @tomislav, we are to using `aries-framework-dotnet` for setting up a cloud-based shared agent to manage custodial wallets. My colleague @RinkalBhojani is able to do it by making some changes to be able to create & manage multiple wallets. Do you think we can raise a PR for these changes to go into master?

ajayjadhav (Fri, 24 Jul 2020 18:58:27 GMT):
BTW - ACA-Py has it coming in this PR - https://github.com/hyperledger/aries-cloudagent-python/pull/624

ayushmanss (Sun, 26 Jul 2020 11:51:29 GMT):
Has joined the channel.

TimoGlastra (Mon, 27 Jul 2020 15:56:16 GMT):
What is the way to replace a default service? I can't get it to work. I've tried using the following two lines, both separate and together in the `ConfigureServices` function in `Startup.cs`, but it keeps using the `DefaultCredentialService`: ``` services.AddExtendedCredentialService(); services.AddSingleton(); ``` `CredentialService` extends `DefaultCredentialService` and only overrides the `ProcessOfferAsync` function. Any help is appreciated!

syngin (Tue, 28 Jul 2020 03:30:13 GMT):
Hi For StreedCred devs, Is there a limit to the size of an attribute? I was able to encode binary data as base64 in the attribute, but at a certain size, the SC API refused to accept it.

jacobsaur (Tue, 28 Jul 2020 15:32:57 GMT):
Has joined the channel.

rileyphughes (Tue, 28 Jul 2020 17:59:24 GMT):
@syngin For Trinsic (formerly Streetcred ID) specific questions you can ask on our forum here: https://docs.trinsic.id/discuss

rileyphughes (Tue, 28 Jul 2020 18:00:12 GMT):
The answer is that the limit is not based on the size of an attribute, but on the total credential payload. At about 40,000 characters in the whole offer, you shouldn't have any issues. Anything above 45,000 characters and the API will reject it.

swcurran (Tue, 28 Jul 2020 18:06:22 GMT):
Is that because of an Indy limit or because of checking done in Trinsic?

syngin (Wed, 29 Jul 2020 01:57:46 GMT):
@rileyphughes thanks riley.

rileyphughes (Wed, 29 Jul 2020 03:09:44 GMT):
Not based on checking done by us. We're not sure if it's an Indy thing or an Aries thing, but it's something lower level.

swcurran (Wed, 29 Jul 2020 03:41:11 GMT):
Thanks - I've had questions about how big a credential can be and I've wondered.

tomislav (Thu, 30 Jul 2020 11:58:20 GMT):
64kb, this is limitation of Azure Table API

tomislav (Thu, 30 Jul 2020 11:59:28 GMT):
Did you do this after you added core aries services? It should work, it's just the .NET Core DI

tomislav (Thu, 30 Jul 2020 12:00:40 GMT):
It's the custom wallet storage limitation, not indy.

TimoGlastra (Thu, 30 Jul 2020 12:35:41 GMT):
I did it before the `AddAriesFramework` and inside the `AddAriesFramework` call. Haven't tried doing it after `RegisterAgent` or `AddAriesFramework`. Not sure why I haven't tried that yet. Thanks!

TimoGlastra (Thu, 30 Jul 2020 12:35:41 GMT):
I did it before the `AddAriesFramework` and inside the `AddAriesFramework` call. Haven't tried doing it after `RegisterAgent` or `AddAriesFramework`. Not sure why I haven't tried that yet. Will try, thanks!

Moshe7 (Fri, 31 Jul 2020 20:50:50 GMT):
Has joined the channel.

Mahadevan 3 (Tue, 04 Aug 2020 05:02:14 GMT):
Has joined the channel.

syngin (Thu, 06 Aug 2020 10:04:28 GMT):
@tomislav which layer uses the Azure Table API? Indy, Aries or Trinsic?

tomislav (Thu, 06 Aug 2020 12:42:16 GMT):
Indy wallet storage

Moshe7 (Mon, 10 Aug 2020 19:06:49 GMT):
I tried to find the line between Aries as an agent to Indy as a ledger, if I want to integrate another ledger where is the package to change? It's only there https://github.com/hyperledger/aries-framework-dotnet/tree/master/src/Hyperledger.Aries/Ledger?

Moshe7 (Mon, 10 Aug 2020 19:06:57 GMT):
also, I read that there is a plan to make Aries Dotnet agnostic to the ledger and support another blockchain project besides Indy, it's started? where I can see the progress?

Narankhuu (Mon, 10 Aug 2020 23:41:17 GMT):
Has joined the channel.

Narankhuu (Tue, 11 Aug 2020 00:13:02 GMT):
Hello there, I am having a trouble publishing a local did to test network. (http://test.bcovrin.vonx.io/) I believe the task should be fairly simple. I am making a rookie mistake somewhere and can't find it myself. Can anyone point me to the right direction where I might made the mistake? ``` public async Task PublishDid(DidRequest request) { // ENV variables used // GENESIS_FILE = http://test.bcovrin.vonx.io/genesis // STEWARD_WALLET_NAME = StewardWalletName1 // STEWARD_WALLET_KEY = StewardWalletKey1 // STEWARD_DID = VZCTwV5D1YKBv4Dc9V5Mts // STEWARD_SEED = 0000000000myamazingtrickSteward1 // POOL_NAME = MY_TEST_POOL var ledgerPool = await _poolService.GetPoolAsync(Environment.GetEnvironmentVariable("POOL_NAME")); var ledgerWallet = await _walletService.GetWalletAsync( new WalletConfiguration { Id = Environment.GetEnvironmentVariable("STEWARD_WALLET_NAME") }, new WalletCredentials { Key = Environment.GetEnvironmentVariable("STEWARD_WALLET_KEY") }); // I am assumming this creates steward did in its wallet. var Steward = await Did.CreateAndStoreMyDidAsync(ledgerWallet, new { seed = Environment.GetEnvironmentVariable("STEWARD_SEED") }.ToJson()); // Sign and Submit NYM request (register DID) on behalf of steward agent. var issuerDid = Environment.GetEnvironmentVariable("STEWARD_DID"); // todo: keep the steward did in wallet and retrieve? var nymRequestJson = await Ledger.BuildNymRequestAsync(issuerDid, request.did, request.verKey, null, null); // note: alias role = null, null var resJsonString = await Ledger.SignAndSubmitRequestAsync(ledgerPool, ledgerWallet, issuerDid, nymRequestJson); Console.WriteLine(Environment.GetEnvironmentVariable("STEWARD_WALLET_NAME")); Console.WriteLine(Environment.GetEnvironmentVariable("STEWARD_WALLET_KEY")); Console.WriteLine(Steward.Did); Console.WriteLine(Steward.VerKey); Console.WriteLine(nymRequestJson); return JsonSerializer.Deserialize(resJsonString); } ``` Console logs and failure response: ``` StewardWalletName1 StewardWalletKey1 VZCTwV5D1YKBv4Dc9V5Mts GZgg3TJVodPgLkuU1SNadWqPRtMLCqVNj1nU2VMbg7i9 // response sample from SignAndSubmitRequestAsync { "op":"REQNACK", "identifier":"VZCTwV5D1YKBv4Dc9V5Mts", "reqId":1597056152812807100, "reason":"client request invalid: insufficient number of valid signatures, 1 is required but 0 valid and 1 invalid have been provided. The following signatures are invalid: did=VZCTwV5D1YKBv4Dc9V5Mts, signature=53ekREvRiDoQXH8FshkPscjzCs45CNpqYpQtVLYQpNt1jvDmxpv1vFc19qez2nHUqN5exy9Pr1buLcSWD8ZTswhr" } ```

Narankhuu (Tue, 11 Aug 2020 00:13:02 GMT):
Hello there, I am having a trouble publishing a local did to test network. (http://test.bcovrin.vonx.io/) I believe the task should be fairly simple. I am making a rookie mistake somewhere and can't find it myself. Can anyone point me to the right direction where I might made the mistake? ``` public async Task PublishDid(DidRequest request) { // ENV variables used // GENESIS_FILE = http://test.bcovrin.vonx.io/genesis // STEWARD_WALLET_NAME = StewardWalletName1 // STEWARD_WALLET_KEY = StewardWalletKey1 // STEWARD_DID = VZCTwV5D1YKBv4Dc9V5Mts // STEWARD_SEED = 0000000000myamazingtrickSteward1 // POOL_NAME = MY_TEST_POOL var ledgerPool = await _poolService.GetPoolAsync(Environment.GetEnvironmentVariable("POOL_NAME")); var ledgerWallet = await _walletService.GetWalletAsync( new WalletConfiguration { Id = Environment.GetEnvironmentVariable("STEWARD_WALLET_NAME") }, new WalletCredentials { Key = Environment.GetEnvironmentVariable("STEWARD_WALLET_KEY") }); // I am assumming this creates steward did in its wallet. var Steward = await Did.CreateAndStoreMyDidAsync(ledgerWallet, new { seed = Environment.GetEnvironmentVariable("STEWARD_SEED") }.ToJson()); // Sign and Submit NYM request (register DID) on behalf of steward agent. var issuerDid = Environment.GetEnvironmentVariable("STEWARD_DID"); // todo: keep the steward did in wallet and retrieve? var nymRequestJson = await Ledger.BuildNymRequestAsync(issuerDid, request.did, request.verKey, null, null); // note: alias role = null, null var resJsonString = await Ledger.SignAndSubmitRequestAsync(ledgerPool, ledgerWallet, issuerDid, nymRequestJson); Console.WriteLine(Environment.GetEnvironmentVariable("STEWARD_WALLET_NAME")); Console.WriteLine(Environment.GetEnvironmentVariable("STEWARD_WALLET_KEY")); Console.WriteLine(Steward.Did); Console.WriteLine(Steward.VerKey); Console.WriteLine(nymRequestJson); return JsonSerializer.Deserialize(resJsonString); } ``` Console logs and failure response: ``` StewardWalletName1 StewardWalletKey1 VZCTwV5D1YKBv4Dc9V5Mts GZgg3TJVodPgLkuU1SNadWqPRtMLCqVNj1nU2VMbg7i9 {"reqId":1597103516385687200,"identifier":"VZCTwV5D1YKBv4Dc9V5Mts","operation":{"type":"1","dest":"ANDX8urzGnikBJ6dQkb8pY","verkey":"6758CMubFsHn3KnT3F8DrBnsaizdj5rZ887VAn1E5Tbw"},"protocolVersion":2} // response sample from SignAndSubmitRequestAsync { "op":"REQNACK", "identifier":"VZCTwV5D1YKBv4Dc9V5Mts", "reqId":1597056152812807100, "reason":"client request invalid: insufficient number of valid signatures, 1 is required but 0 valid and 1 invalid have been provided. The following signatures are invalid: did=VZCTwV5D1YKBv4Dc9V5Mts, signature=53ekREvRiDoQXH8FshkPscjzCs45CNpqYpQtVLYQpNt1jvDmxpv1vFc19qez2nHUqN5exy9Pr1buLcSWD8ZTswhr" } ```

anchit (Tue, 11 Aug 2020 08:01:01 GMT):
Has joined the channel.

Moshe7 (Tue, 11 Aug 2020 10:21:12 GMT):
Hi, anyone can help?

tomislav (Tue, 11 Aug 2020 11:49:27 GMT):
Are you asking about adding another Indy ledger or a different type of blockchain?

tomislav (Tue, 11 Aug 2020 11:49:56 GMT):
Yes, there are plans, and these will generally be driven by conversations and initiatives in the community.

tomislav (Tue, 11 Aug 2020 11:50:15 GMT):
So far, there hasn't been any specific work planned or outlined

Moshe7 (Tue, 11 Aug 2020 12:53:47 GMT):
Different type of blockchain

blaz (Tue, 11 Aug 2020 13:55:13 GMT):
Has joined the channel.

tomislav (Tue, 11 Aug 2020 16:45:00 GMT):
So that's a more complex task. You would have to write custom services to provide full support for that. ILedgerService, ICredentialService, IProofService, etc.

tomislav (Tue, 11 Aug 2020 16:46:24 GMT):
However, the way all Aries frameworks are implemented now is they rely heavily on Indy wallets for storage. If you were to use Aries with a different credential signature scheme, you probably want your own storage too.

tomislav (Tue, 11 Aug 2020 16:46:45 GMT):
I'd be happy to help with efforts for this

Moshe7 (Tue, 11 Aug 2020 20:58:27 GMT):
Thanks, this is what I thought, I wanted to know if the link of Aries Dotnet's in my first post is the only package relevant to Indy ledger? my thinking is to use another type of blockchain only to create DID for entities, so regarding the storage in Indy wallet, it is a problem to use a Credential signature scheme of Indy for another type of ledger, for example, Ethereum? Thank you for your kindness to help, I'm actually thinking on port Aries also to Dart, I understand that the Aries dotnet is the most Aries mature project to learn from.

horacionunez (Thu, 13 Aug 2020 00:11:05 GMT):
Has joined the channel.

lalchandran (Tue, 18 Aug 2020 16:39:44 GMT):
Has joined the channel.

lalchandran (Tue, 18 Aug 2020 16:39:44 GMT):
I have some issues trying to get aries-mobileagent-xamarin run on my mac

lalchandran (Tue, 18 Aug 2020 16:39:49 GMT):
Specially i get the following error:

lalchandran (Tue, 18 Aug 2020 16:40:04 GMT):
dotnet run Unhandled exception. System.DllNotFoundException: Unable to load shared library 'indy' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libindy, 1): image not found at Hyperledger.Indy.WalletApi.NativeMethods.indy_create_wallet(Int32 command_handle, String config, String credentials, IndyMethodCompletedDelegate cb) at Hyperledger.Indy.WalletApi.Wallet.CreateWalletAsync(String config, String credentials) at Hyperledger.Aries.Storage.DefaultWalletService.CreateWalletAsync(WalletConfiguration configuration, WalletCredentials credentials) at Hyperledger.Aries.Configuration.DefaultProvisioningService.ProvisionAgentAsync(AgentOptions agentOptions) at Hyperledger.Aries.Agents.Edge.MediatorProvisioningService.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host) at mediator.Program.Main(String[] args) in /Users/lal@igrant.io/iGrant/hyperledgerIndy/aries-mobileagent-xamarin/mediator/Program.cs:line 16

lalchandran (Tue, 18 Aug 2020 16:40:53 GMT):
My path variable are seems ok, but gets this error still. Did a few cleanUp a few time and still no luck. Is there anyone who has run the xamarin agent on a mac?

mboyd (Tue, 18 Aug 2020 16:57:45 GMT):
Hi @lalchandran You'll want to put the libindy.dylib into your bin/Debug/ directory of our mobileagent project There is a bug with the path environment that causes the linking to break unless it is in this directory.

lalchandran (Tue, 18 Aug 2020 16:58:04 GMT):
Anha. Let me check that

lalchandran (Tue, 18 Aug 2020 17:03:45 GMT):
I have tried now copying all three to the /aries-mobileagent-xamarin/mediator/bin/Debug: libindy.dylib libnullpay.dylib libvcx.dylib

lalchandran (Tue, 18 Aug 2020 17:03:54 GMT):
No luck still

lalchandran (Tue, 18 Aug 2020 17:07:08 GMT):
I have tried now copying all three to the /aries-mobileagent-xamarin/mediator/bin/Debug: libindy.dylib libnullpay.dylib libvcx.dylib No luck still

mboyd (Tue, 18 Aug 2020 17:26:47 GMT):
you may need to add it to the hyperledger.aries folder as well

lalchandran (Tue, 18 Aug 2020 17:28:05 GMT):
Is that in mobile agent project?

lalchandran (Tue, 18 Aug 2020 17:38:39 GMT):
@mboyd

tomislav (Thu, 20 Aug 2020 13:11:06 GMT):
It should be inside `bin/Debug/netcoreapp3.1`, where all other DLLs are.

dipghosh (Thu, 20 Aug 2020 15:58:10 GMT):
Hi all, I have set up the vc-authn-oidc on the web and its working fine and we can do log in on the web, Is there any sample app which does the same as with vc-authn-oidc.

lalchandran (Fri, 21 Aug 2020 07:17:37 GMT):
Tried that too @tomislav. Didn’t work

tomislav (Fri, 21 Aug 2020 11:31:44 GMT):
You mean a sample using it?

tomislav (Fri, 21 Aug 2020 11:33:05 GMT):
Did you build libindy yourself or used the CI builds?

tomislav (Fri, 21 Aug 2020 11:33:50 GMT):
I suggest building it yourself. Simply run the mac script inside `libindy` folder and copy `target/release/libindy.dylib` to the desired location

tomislav (Fri, 21 Aug 2020 11:34:05 GMT):
the CI build is linked against different versions of openssl

tomislav (Fri, 21 Aug 2020 11:34:16 GMT):
and has been causing issues for some of us

lalchandran (Fri, 21 Aug 2020 11:48:14 GMT):
I used the CU builds. Let me try to build myself then

lalchandran (Fri, 21 Aug 2020 11:57:19 GMT):
Do I get right that you are suggestion to build indy sdk locally as described here? https://github.com/hyperledger/indy-sdk/blob/master/docs/build-guides/mac-build.md

lalchandran (Fri, 21 Aug 2020 11:57:19 GMT):
Do I get it right that you are suggestion to build indy sdk locally as described here? https://github.com/hyperledger/indy-sdk/blob/master/docs/build-guides/mac-build.md

tomislav (Fri, 21 Aug 2020 11:57:46 GMT):
Not quite. Guide is outdated unfortunately

tomislav (Fri, 21 Aug 2020 11:57:52 GMT):
Just run the mac os build script

tomislav (Fri, 21 Aug 2020 11:58:16 GMT):
`./mac.build.sh`

lalchandran (Fri, 21 Aug 2020 11:59:37 GMT):
Mac build script in which folder? I don’t see any Mac build script on the libindy folder

tomislav (Fri, 21 Aug 2020 11:59:55 GMT):
https://github.com/hyperledger/indy-sdk/blob/master/libindy/mac.build.sh

dipghosh (Fri, 21 Aug 2020 13:34:40 GMT):
yes, I mean a sample mobile app.

lalchandran (Thu, 27 Aug 2020 16:48:35 GMT):
Thanks @tomislav. Thank you for all your support. All ok now. I have raised an issue if you wish to add them in your documentation or fix the path issues.

Narankhuu (Fri, 28 Aug 2020 05:58:37 GMT):
Hello there, On Ubuntu 18.04, I guess libindy seems to be throwing the error below on rare occasions. Does anyone has seen this error message? A little help would be appreciated for me to trace the origin of it. ``` // relevant code section in my controller (_walletService is injected via DI). var wallet = await _walletService.GetWalletAsync(new WalletConfiguration { Id = agent.walletName }, new WalletCredentials { Key = agent.walletKey }); // occasional error log message 2020-08-28 02:59:51.8474||ERROR|*.Controllers.AgentsController| The SDK library experienced an unexpected internal error. 2020-08-28 02:59:51.8538||ERROR|*.Controllers.AgentsController| at Hyperledger.Aries.Storage.DefaultWalletService.GetWalletAsync(WalletConfiguration configuration, WalletCredentials credentials) ```

pixelschnitzel (Fri, 28 Aug 2020 14:17:42 GMT):
Has joined the channel.

sebastian (Tue, 01 Sep 2020 15:53:23 GMT):
Has joined the channel.

sj1 4 (Wed, 02 Sep 2020 06:08:07 GMT):
Has joined the channel.

sj1 4 (Wed, 02 Sep 2020 06:08:07 GMT):
1.9.0

larabisch (Wed, 02 Sep 2020 16:22:28 GMT):
Has joined the channel.

kukgini (Thu, 03 Sep 2020 06:09:37 GMT):
Has left the channel.

joanagomesrb (Fri, 04 Sep 2020 10:57:56 GMT):
Has joined the channel.

sheru (Tue, 08 Sep 2020 15:09:02 GMT):
Good Morning all. I have gone through this https://github.com/bcgov/vc-authn-oidc and this is awesome to me we can verify proof and login into a web application. I am very much curious about How can I login into an mobile application same like the oidc-django. Please guide me to proceed with the concept of login to a mobile application. Thanks in advance.

RinkalBhojani (Wed, 09 Sep 2020 05:59:37 GMT):
Hi, I am trying to issue below credential { "connectionId": "feb3eb81-aec0-4932-934d-af00999f60ff", "credentialDefinitionId": "3LteGaZHa3RTpxG1EYXsuT:3:CL:719:TestEducationDegreetag", "credentialPreviewAttributes": [ { "name": "subject", "value": "Maths" }, { "name": "marks", "value": "30" } ] } Both issuer and holder is running as web agent Credential gets issued to the connected party, but after that at issuer side, when I am trying to get all Credentials using "Lists the credentials" API(which in turn uses, await CredentialService.ListAsync(agentContext)) then I am getting an exception as , System.InvalidCastException: 'Cannot cast Newtonsoft.Json.Linq.JObject to Newtonsoft.Json.Linq.JToken.' at CastAttribute method of CredentialUtil class. When I tried calling get all Credentials for holder to which I issued the credential, it works fine. What I noticed is, record is not getting saved properly in issuer's wallet, below is the data saved in wallet *Holder's wallet:* {"CredentialDefinitionId":"3LteGaZHa3RTpxG1EYXsuT:3:CL:719:TestEducationDegreetag","CredentialAttributesValues":[{"name":"subject","mime-type":"text/plain","value":"Maths"},{"name":"marks","mime-type":"text/plain","value":"30"}],"OfferJson":"{\"schema_id\":\"3LteGaZHa3RTpxG1EYXsuT:2:TestEducationDegree:1.0\",\"cred_def_id\":\"3LteGaZHa3RTpxG1EYXsuT:3:CL:719:TestEducationDegreetag\",\"key_correctness_proof\":{\"c\":\"107797846073719709242298172610699517659217050167000924804258619008787422036651\",\"xz_cap\":\"13878489754831867500........ *Issuer's wallet:* {"CredentialDefinitionId":"3LteGaZHa3RTpxG1EYXsuT:3:CL:719:TestEducationDegreetag","CredentialAttributesValues":[{"name":"subject","mime-type":"text/plain","value":{"ValueKind":3}},{"name":"marks","mime-type":"text/plain","value":{"ValueKind":3}}],"OfferJson":"{\"schema_id\":\"3LteGaZHa3RTpxG1EYXsuT:2:TestEducationDegree:1.0\",\"cred_def_id\":\"3LteGaZHa3RTpxG1EYXsuT:3:CL:719:TestEducationDegreetag\",\"key_correctness_proof\":{\"c\":\"107797846073719709242298172610699517659217050167000924804258619008787422036651\",\"xz_cap\":\"13878489754831867500646404168430810392....... Can anyone help on this? Thanks in advance.

lijiachuan (Wed, 09 Sep 2020 07:24:43 GMT):
Hi all, I have one question about how can I prove one DID is mine? The reason why I asked this is I am thinking about a scenario that, one service can be accessible only if you have one valid DID and you can prove that DID is yours, but I am not sure how can implement this. Anyone can help? Thanks.

tomislav (Wed, 09 Sep 2020 11:53:15 GMT):
Can you send the entire stack trace of the exception please?

tomislav (Wed, 09 Sep 2020 11:53:46 GMT):
Prooving DID ownership is as simple as signing a message with it.

RinkalBhojani (Wed, 09 Sep 2020 12:16:29 GMT):
Yes, Below is the stack trace of the exception. System.InvalidCastException HResult=0x80004002 Message=Cannot cast Newtonsoft.Json.Linq.JObject to Newtonsoft.Json.Linq.JToken. Source=Newtonsoft.Json StackTrace: at Newtonsoft.Json.Linq.Extensions.Convert[T,U](T token) at Newtonsoft.Json.Linq.Extensions.Value[T,U](IEnumerable`1 value) at Newtonsoft.Json.Linq.Extensions.Value[U](IEnumerable`1 value) at Hyperledger.Aries.Utils.CredentialUtils.CastAttribute(JToken attributeValue, String mimeType) in F:\Pojects\aries-framework-dotnet\src\Hyperledger.Aries\Utils\CredentialUtils.cs:line 164 at Hyperledger.Aries.Features.IssueCredential.CredentialPreviewAttributeConverter.ReadJson(JsonReader reader, Type objectType, CredentialPreviewAttribute existingValue, Boolean hasExistingValue, JsonSerializer serializer) in F:\Pojects\aries-framework-dotnet\src\Hyperledger.Aries\Features\IssueCredential\Models\CredentialPreviewAttributeConverter.cs:line 27 at Newtonsoft.Json.JsonConverter`1.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)

lijiachuan (Wed, 09 Sep 2020 14:01:21 GMT):
hi @tomislav , is there a sample code for this process, or a documentation about it?

tomislav (Wed, 09 Sep 2020 14:03:13 GMT):
https://github.com/hyperledger/indy-sdk/blob/f9274a2b7b4646e7e96a452a762a8c844b7da6ad/samples/dotnet/Samples/CryptoDemo.cs#L64

RinkalBhojani (Thu, 10 Sep 2020 12:48:17 GMT):
@tomislav Kindly note that I am getting this issue while using Aries open api V1(swagger).

tomislav (Thu, 10 Sep 2020 12:55:24 GMT):
Looping in @StevenTCramer who worked on the open api. This seems like a JSON conversion failing from between STJ and Newtonsoft

habibsalimi (Mon, 14 Sep 2020 15:20:39 GMT):
Has joined the channel.

habibsalimi (Mon, 14 Sep 2020 15:20:39 GMT):
hi

habibsalimi (Mon, 14 Sep 2020 15:21:13 GMT):
what is replacement for EdgeProvisioningService ?

habibsalimi (Mon, 14 Sep 2020 15:21:15 GMT):
Its class modifier changed from public to internal how we can provision edge agent ?

biligunb (Tue, 15 Sep 2020 02:39:50 GMT):
Hey guys I've got 1 question about Wallet service. Can I export&import wallet when using Aries DotNet Framework? I don't want to persist/store data on the agent itself

tomislav (Tue, 15 Sep 2020 22:52:49 GMT):
You can use the indy API to export the wallet. `Hyperledger.Indy.Sdk.WalletApi.ExportAsync`

tomislav (Tue, 15 Sep 2020 22:52:49 GMT):
@billYou can use the indy API to export the wallet. `Hyperledger.Indy.Sdk.WalletApi.Wallet.ExportAsync`

tomislav (Tue, 15 Sep 2020 22:52:49 GMT):
@biligunb You can use the indy API to export the wallet. `Hyperledger.Indy.Sdk.WalletApi.Wallet.ExportAsync`

SuperSeiyan (Sun, 20 Sep 2020 16:11:49 GMT):
Has joined the channel.

daruru (Mon, 21 Sep 2020 09:33:17 GMT):
Has joined the channel.

daruru (Mon, 21 Sep 2020 09:33:18 GMT):
Hi, i´m following this repo "https://github.com/hyperledger/aries-mobileagent-xamarin" for do a Xamarin proyect, but i have problem when i run the app and i try to create a wallet, it said to me "failed to create wallet : the subsystem network fall" , before it i try to run the mediator dotnet run , but the shell said "Unable to load DLL 'indy' or one of its dependencies: Can´t find the specifil module (0x8007007E)" . Can anybody help me ? thanks

lijiachuan (Tue, 22 Sep 2020 03:22:00 GMT):
hi all, is there any document about how to setup the "routing" agent with the mobile agent? As mobile agent doesn't have one endpoint which can be found by others, so I think there should be a "routing" agent which will be used by the mobile agent, but not sure how should I setup that. Anyone can suggest, is the "routing" agent the same as one normal agent(python or dotnet)? Thanks.

sheru (Tue, 22 Sep 2020 11:32:27 GMT):
@lijiachuan https://github.com/hyperledger/aries-mobileagent-xamarin here you will find a mediator directory which have the code for the mediator agent. Its build on .net. from inside the mediator directory run `dotnet run` to run the mediator service for the mobile applications.

lijiachuan (Tue, 22 Sep 2020 13:33:07 GMT):
Thanks @sheru for your reply, and I also have one question want to confirm is, which version of libindy and .NET framework the xamarin framework can support, I didn't find this information. Do you have any idea?

sheru (Tue, 22 Sep 2020 14:04:44 GMT):
pLEASE FOLLOW THESE 5 POINTS MENTION HERE https://github.com/hyperledger/aries-mobileagent-xamarin#getting-started

sheru (Tue, 22 Sep 2020 14:04:44 GMT):
PLEASE FOLLOW THESE 5 POINTS MENTION HERE https://github.com/hyperledger/aries-mobileagent-xamarin#getting-started

sheru (Tue, 22 Sep 2020 14:05:53 GMT):
Also here is the video by @tomislav https://www.loom.com/share/5c52c185673046b688bdd1ef7d280185 Go through this.

ArchanJash (Tue, 22 Sep 2020 14:21:44 GMT):
Good day all, While trying to upload the iOS app which we are building we got an issue from Apple Store.Can any one suggest what should be done to get through it.The issue from Apple store- ITMS-90338: Non-public API usage - The app references non-public selectors in Osma.Mobile.App.iOS: behaviorTypes, convolutionState, discoverAllContactUserInfosWithCompletionHandler:, discoverAllContactsCompletionBlock, discoverUserInfoWithEmailAddress:completionHandler:, discoverUserInfoWithUserRecordID:completionHandler:, discoverUserInfosCompletionBlock, displayContact, drawableResizesAsynchronously, encodeToCommandBuffer:sourceImage:convolutionState:, encodeToCommandBuffer:sourceImage:destinationImage:state:, getProperty:onChannel:responseHandler:, hasProperty:onChannel:responseHandler:, initWithEmailAddresses:userRecordIDs:, initWithMIDIEntity:dataReadyHandler:, initWithZoneID:options:, initWithZoneID:subscriptionID:options:, isPathExtensionHidden, isPublicDatabase, isUserExecutable, isUserReadable, isUserWritable, mouseUpAction, newDrawable, propertyChangedCallback, removeAllAppearanceStreams, replaceTextStorage:, retrieveConnectedPeripherals, retrievePeripherals:, setDiscoverAllContactsCompletionBlock:, setDiscoverUserInfosCompletionBlock:, setDrawableResizesAsynchronously:, setEditedMask:, setMouseUpAction:, setProperty:onChannel:responseHandler:, setPropertyChangedCallback:, setSocketFamily:, setTemporaryAttributes:forCharacterRange:, setUserRecordIDs:, sourceOffset, subscriptionOptions, takeBackgroundColorFrom:, takePasswordFrom:, temporalAntialiasingEnabled, userRecordIDs. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/ Thanks.

ArchanJash (Tue, 22 Sep 2020 14:21:44 GMT):
Good day all, While trying to upload the iOS app which we are building we got an issue from Apple Store.Can any one suggest what should be done to get through it.The issue from Apple store- ITMS-90338: Non-public API usage - The app references non-public selectors in Osma.Mobile.App.iOS: behaviorTypes, convolutionState, discoverAllContactUserInfosWithCompletionHandler:, discoverAllContactsCompletionBlock, discoverUserInfoWithEmailAddress:completionHandler:, discoverUserInfoWithUserRecordID:completionHandler:, discoverUserInfosCompletionBlock, displayContact, drawableResizesAsynchronously, encodeToCommandBuffer:sourceImage:convolutionState:, encodeToCommandBuffer:sourceImage:destinationImage:state:, getProperty:onChannel:responseHandler:, hasProperty:onChannel:responseHandler:, initWithEmailAddresses:userRecordIDs:, initWithMIDIEntity:dataReadyHandler:, initWithZoneID:options:, initWithZoneID:subscriptionID:options:, isPathExtensionHidden, isPublicDatabase, isUserExecutable, isUserReadable, isUserWritable, mouseUpAction, newDrawable, propertyChangedCallback, removeAllAppearanceStreams, replaceTextStorage:, retrieveConnectedPeripherals, retrievePeripherals:, setDiscoverAllContactsCompletionBlock:, setDiscoverUserInfosCompletionBlock:, setDrawableResizesAsynchronously:, setEditedMask:, setMouseUpAction:, setProperty:onChannel:responseHandler:, setPropertyChangedCallback:, setSocketFamily:, setTemporaryAttributes:forCharacterRange:, setUserRecordIDs:, sourceOffset, subscriptionOptions, takeBackgroundColorFrom:, takePasswordFrom:, temporalAntialiasingEnabled, userRecordIDs. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/ Thanks. CC: @tomislav @swcurran

tomislav (Tue, 22 Sep 2020 17:37:51 GMT):
I suggest looking into updating to latest Xamarin Forms

tomislav (Tue, 22 Sep 2020 17:38:50 GMT):
As a rule of thumb, the Xamarin team keeps the API compatible with Apple's guidelines in terms of stripping internal and unused symbols. I'm assuming your build also has linker stripping support.

lijiachuan (Tue, 22 Sep 2020 22:47:05 GMT):
hi @sheru and @tomislav , I tried to run the app in Android emulator, when I click the create wallet button, there is an error "Failed to create wallet: Network subsystem is down", I didn't change anything, do you know where might be the issue? Thanks.

sheru (Wed, 23 Sep 2020 07:20:21 GMT):
Please check the genesis file once.

mohammadhossein73 (Wed, 23 Sep 2020 08:40:18 GMT):
Has joined the channel.

simnic (Wed, 23 Sep 2020 11:52:59 GMT):
Has joined the channel.

lijiachuan (Wed, 23 Sep 2020 13:07:59 GMT):
hi @sheru , may I know where is the genesis file for this cloned "aries-mobileagent-xamarin"? From the document and tomislav's video, they didn't mention about genesis file, so could you please provide more details about this? Thanks a lot

lijiachuan (Wed, 23 Sep 2020 13:26:25 GMT):
There is no any new log generated in the mediator's command window, whether it is due to my mobile app could not connect to the mediator?

lijiachuan (Wed, 23 Sep 2020 13:28:20 GMT):
am using the default localhost:5000 for the mediator

sheru (Wed, 23 Sep 2020 13:29:24 GMT):
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L19

sheru (Wed, 23 Sep 2020 13:29:58 GMT):
the genesis is on the mobile app one not in the mediator one. Thanks Hope this will helpful for you.

lijiachuan (Wed, 23 Sep 2020 13:41:06 GMT):
hi, I found there are 4 genesis files in the Android project's Assets folder, may I know why there are 4 genesis files? I have one test Indy network created, but there is only one genesis file content I can use, so which genesis file should I update in this Android project's 4 files? A little confuse here, hope can have your clarify here. Thanks.

lijiachuan (Wed, 23 Sep 2020 13:57:20 GMT):
From that pool configurator code, seems it tries to dump these 4 genesis file content into one cache folder's genesis.txn file, and each time it goes to the exception ``` catch (PoolLedgerConfigExistsException) { // OK } ``` I checked the file name is "/data/user/0/com.osma/cache/genesis.txn", I am not sure whether this is due to there is no such folder or other reason to go to the exception part.

sheru (Wed, 23 Sep 2020 13:59:16 GMT):
By default it uses sovrin-stagging https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/App.xaml.cs#L87

sheru (Wed, 23 Sep 2020 13:59:45 GMT):
You can add your one too.

sheru (Wed, 23 Sep 2020 14:02:07 GMT):
if you are working with android https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App.Android/Osma.Mobile.App.Android.csproj#L138

sheru (Wed, 23 Sep 2020 14:02:26 GMT):
You have to add the files in Android assets.

lijiachuan (Wed, 23 Sep 2020 14:02:45 GMT):
ok, this is helpful, but may I know why in this PoolConfigurator.cs, it will dump 4 files' content into one file? If my understanding is correct, only the last genesis file's content will be kept in the genesis.txn file, am I correct?

sheru (Wed, 23 Sep 2020 14:05:47 GMT):
No its add 4 genesis with 4 different genesis file. if you want to add your own Create a file in Assets https://github.com/hyperledger/aries-mobileagent-xamarin/tree/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App.Android/Assets

sheru (Wed, 23 Sep 2020 14:06:12 GMT):
Then add after https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App.Android/Osma.Mobile.App.Android.csproj#L141

sheru (Wed, 23 Sep 2020 14:07:15 GMT):
add new key pair here for your file with a new key name https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L20

sheru (Wed, 23 Sep 2020 14:07:48 GMT):
Set your genesis one as default one here https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/App.xaml.cs#L87

sheru (Wed, 23 Sep 2020 14:08:34 GMT):
Hope these steps will help you to achieve what you want. Let me know if anything I can help you too.

lijiachuan (Wed, 23 Sep 2020 14:12:36 GMT):
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L48 whether the "filename" value is the same for each config in the poolConfigs? Which means it keeps writing the same content into this genesis.txn file?

lijiachuan (Wed, 23 Sep 2020 14:12:36 GMT):
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L48 whether the "filename" value is the same for each config in the poolConfigs? Which means it keeps writing the different genesis content into the same genesis.txn file?

sheru (Wed, 23 Sep 2020 14:14:47 GMT):
This is inside a for loop and the genesis.txn is used as a tempory file.

sheru (Wed, 23 Sep 2020 14:15:11 GMT):
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L53

sheru (Wed, 23 Sep 2020 14:16:12 GMT):
before load the next loop it creates the pool configuration. I believe so.

sheru (Wed, 23 Sep 2020 14:16:50 GMT):
@tomislav Need your comment here.:grinning:

lijiachuan (Wed, 23 Sep 2020 14:17:45 GMT):
There are 4 configs defined in the code as below ``` private Dictionary poolConfigs = new Dictionary { { "sovrin-staging", "pool_transactions_sandbox_genesis" }, { "sovrin-live", "pool_transactions_live_genesis" }, { "sovrin-builder", "pool_transactions_builder_genesis" }, { "bcovrin-test", "pool_transactions_bcovrin_test_genesis" } }; ``` So the first time it writes pool_transactions_sandbox_genesis content to the genesis.txn and generate a pool configuration, then it writes pool_transactions_live_genesis content to the genesis.txn and generate a pool configuration, then it writes pool_transactions_builder_genesis content to the genesis.txn and generate a pool configuration, Lastely it writes pool_transactions_bcovrin_test_genesis content to the genesis.txn and generate a pool configuration

sheru (Wed, 23 Sep 2020 14:18:30 GMT):
Exactly.

lijiachuan (Wed, 23 Sep 2020 14:19:20 GMT):
Is this for testing purpose? Or whether we should only keep one genesis here?

sheru (Wed, 23 Sep 2020 14:20:10 GMT):
This is for support multiple ledger in one mobile app.

sheru (Wed, 23 Sep 2020 14:20:50 GMT):
you can change the default pool one at runtime.

lijiachuan (Wed, 23 Sep 2020 14:21:23 GMT):
ok, got it, so maybe it's due to I could not connect to any of these 4 pool from my local, so it failed

lijiachuan (Wed, 23 Sep 2020 14:21:47 GMT):
let me add my own test indy network and genesis

lijiachuan (Wed, 23 Sep 2020 15:03:22 GMT):
hi @sheru , this issue still happen even with my test Indy network's genesis file content, I followed your instruction, added a new genesis file in Android Assets folder, then updated Android's project file with the new asset item, also changed my default pool name in the App.xaml.cs. But I think the problem is it still goes to the exception part with my own test network's genesis file. https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L56 ``` catch (PoolLedgerConfigExistsException) { // OK } ``` I am not sure what does this "PoolLedgerConfigExistsException" exactly mean, does it mean the genesis file is not usable or the network could not be connected, any thoughts? Thanks.

lijiachuan (Wed, 23 Sep 2020 15:05:17 GMT):
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L48 before this line of code, I added one output to know whether the content is the same as my genesis content(`var fileContent = await reader.ReadToEndAsync();`), and it's true, the content is the same, but when create the pool config, it still goes to the exception.

sheru (Wed, 23 Sep 2020 15:07:04 GMT):
can you please share the genesis file content here

lijiachuan (Wed, 23 Sep 2020 15:08:02 GMT):
``` {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"40.122.210.17","client_port":9702,"node_ip":"40.122.210.17","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"40.122.210.17","client_port":9704,"node_ip":"40.122.210.17","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"40.122.210.17","client_port":9706,"node_ip":"40.122.210.17","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node4","blskey":"2zN3bHM1m4rLz54MJHYSwvqzPchYp8jkHswveCLAEJVcX6Mm1wHQD1SkPYMzUDTZvWvhuE6VNAkK3KxVeEmsanSmvjVkReDeBEMxeDaayjcZjFGPydyey1qxBHmTvAnBKoPydvuTAqx5f7YNNRAdeLmUi99gERUU7TD8KfAa6MpQ9bw","blskey_pop":"RPLagxaR5xdimFzwmzYnz4ZhWtYQEj8iR5ZU53T2gitPCyCHQneUn2Huc4oeLd2B2HzkGnjAff4hWTJT6C7qHYB1Mv2wU5iHHGFWkhnTX9WsEAbunJCV2qcaXScKj4tTfvdDKfLiVuU2av6hbsMztirRze7LvYBkRHV3tGwyCptsrP","client_ip":"40.122.210.17","client_port":9708,"node_ip":"40.122.210.17","node_port":9707,"services":["VALIDATOR"]},"dest":"4PS3EDQ3dW1tci1Bp6543CfuuebjFrg36kLAUcskGfaA"},"metadata":{"from":"TWwCRQRZ2ZHMJFn9TzLp7W"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"aa5e817d7cc626170eca175822029339a444eb0ee8f0bd20d3b0b76e566fb008"},"ver":"1"} ```

lijiachuan (Wed, 23 Sep 2020 15:08:18 GMT):
It's a VON test network

lijiachuan (Wed, 23 Sep 2020 15:14:52 GMT):
``` private Dictionary poolConfigs = new Dictionary { { "sovrin-staging", "pool_transactions_sandbox_genesis" }, { "sovrin-live", "pool_transactions_live_genesis" }, { "sovrin-builder", "pool_transactions_builder_genesis" }, { "bcovrin-test", "pool_transactions_bcovrin_test_genesis" }, { "my-test","my_test_genesis"} }; ``` ``` options.PoolName = "my-test"; ``` Also created one my_test_genesis file with above content, and also added one line in the project file ``` ```

lijiachuan (Wed, 23 Sep 2020 15:17:34 GMT):
I am using Android emulator

lijiachuan (Wed, 23 Sep 2020 15:28:16 GMT):
furthe check, it failed when execute below code in RegisterViewModel.cs https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/ViewModels/RegisterViewModel.cs#L43 With the exception message "Network subsystem is down" and with below stack trace: ``` at System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken cancellationToken) [0x00180] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectHelper.cs:84 at System.Threading.Tasks.ValueTask`1[TResult].get_Result () [0x0001b] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/Common/src/CoreLib/System/Threading/Tasks/ValueTask.cs:813 at System.Net.Http.HttpConnectionPool.CreateConnectionAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000ea] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:385 at System.Threading.Tasks.ValueTask`1[TResult].get_Result () [0x0001b] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/Common/src/CoreLib/System/Threading/Tasks/ValueTask.cs:813 at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync (System.Threading.Tasks.ValueTask`1[TResult] creationTask) [0x000a2] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:543 at System.Threading.Tasks.ValueTask`1[TResult].get_Result () [0x0001b] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/Common/src/CoreLib/System/Threading/Tasks/ValueTask.cs:813 at System.Net.Http.HttpConnectionPool.SendWithRetryAsync (System.Net.Http.HttpRequestMessage request, System.Boolean doRequestAuth, System.Threading.CancellationToken cancellationToken) [0x0003f] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:284 at System.Net.Http.RedirectHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00070] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/RedirectHandler.cs:32 at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000a0] in :0 at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000be] in :0 at System.Net.Http.HttpClient.FinishSendAsyncBuffered (System.Threading.Tasks.Task`1[TResult] sendTask, System.Net.Http.HttpRequestMessage request, System.Threading.CancellationTokenSource cts, System.Boolean disposeCts) [0x0017e] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/HttpClient.cs:506 at Hyperledger.Aries.Routing.Edge.EdgeClientService.DiscoverConfigurationAsync (System.String agentEndpoint) [0x00090] in :0 at Hyperledger.Aries.Agents.Edge.EdgeProvisioningService.ProvisionAsync (Hyperledger.Aries.Configuration.AgentOptions options, System.Threading.CancellationToken cancellationToken) [0x000a4] in :0 at Osma.Mobile.App.ViewModels.RegisterViewModel.b__5_0 () [0x000de] in C:\workspace\DigitalIdentity\Mobile\aries-mobileagent-xamarin\src\Osma.Mobile.App\ViewModels\RegisterViewModel.cs:44 ```

lijiachuan (Thu, 24 Sep 2020 00:48:27 GMT):
hi @sheru and @tomislav , may I have your idea about this "Network subsystem is down" issue? Thanks a lot

ArchanJash (Thu, 24 Sep 2020 12:33:11 GMT):
Thank you so much The app got through to the review @tomislav

tomislav (Thu, 24 Sep 2020 12:54:14 GMT):
`Network subsystem is down` is not an exception thrown by Aries. It's a communication issue. A quick search indicates this is related to achieving connectivity.

tomislav (Thu, 24 Sep 2020 12:55:12 GMT):
Incredible. Please post a link of the app once it's published

ArchanJash (Thu, 24 Sep 2020 13:46:43 GMT):
Definitely!

lijiachuan (Fri, 25 Sep 2020 14:15:21 GMT):
hi @tomislav , I could not figure out what is the issue. I would like to know what is a correct steps/process to learn about how to build up a mobile app with xamarin and aries framework. I see there is one indipendent project https://github.com/hyperledger/aries-mobileagent-xamarin, and there is also one sample folder in the main aries framework dotnet project, which one is a better start point for learning? Kindly advise.

tomislav (Fri, 25 Sep 2020 14:22:51 GMT):
The github repo is the codebase you want to learn off of. The sample was created very early on.

lijiachuan (Sun, 27 Sep 2020 09:08:58 GMT):
I got the root cause for this issue, which is due to `localhost` didn't work in the Android emulator, after I change it to the local IP address of my laptop, then it worked. I am not sure whether that only happened for myself, whether we can add anything into the documents.

lijiachuan (Sun, 27 Sep 2020 12:57:35 GMT):

Clipboard - September 27, 2020 8:57 PM

lijiachuan (Sun, 27 Sep 2020 13:00:03 GMT):

Clipboard - September 27, 2020 9:00 PM

lijiachuan (Sun, 27 Sep 2020 13:01:06 GMT):
hi, I am trying to run the https://github.com/hyperledger/aries-mobileagent-xamarin, I encountered below issue want to get support here, kindly share with your ideas. Thanks a lot. After I click "Create Wallet" button, althought there is one item with "Connected" status, but the loading icon is keeping showing. Then if I clicked that item, in the mediator command window, below error was shown ``` fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] An unhandled exception has occurred while executing the request. Hyperledger.Aries.AriesFrameworkException: Couldn't locate a message handler for type did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/discover-features/1.0/query at Hyperledger.Aries.Agents.AgentBase.ProcessMessage(IAgentContext agentContext, MessageContext messageContext) at Hyperledger.Aries.Agents.AgentBase.ProcessAsync(IAgentContext context, MessageContext messageContext) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) ``` And the connection details could not be shown as expected. I am using a VON test Indy network. Does anyone encountered this issue before? THanks.

lijiachuan (Sun, 27 Sep 2020 13:05:54 GMT):
For the mediator project, seems there is no any specific class/function defined, only some initial configurations in Startup.cs, is this correct? So how could this mediator know how to handle different type of messages?

tomislav (Sun, 27 Sep 2020 13:10:08 GMT):
That's correct. Mediator can only handle `forward` messages (from the standards family) and the internal mediator specific ones, which are not standardized

lijiachuan (Sun, 27 Sep 2020 13:11:21 GMT):
ok, so normally the mediator should just looks like what is in this example project, right?

tomislav (Sun, 27 Sep 2020 13:11:24 GMT):
``` protected override void ConfigureHandlers() { AddConnectionHandler(); AddHandler(); AddHandler(); AddHandler(); AddHandler(); } ```

tomislav (Sun, 27 Sep 2020 13:11:54 GMT):
Yes, for the usual case

tomislav (Sun, 27 Sep 2020 13:12:11 GMT):
We should actually add the discovery handler to the default configuration, it doesn't hurt to do this

lijiachuan (Sun, 27 Sep 2020 13:12:13 GMT):
Ok, that's good, we can use one common mediator program

lijiachuan (Sun, 27 Sep 2020 13:12:48 GMT):
yes, that's added in the Startup.cs `app.UseMediatorDiscovery();`

lijiachuan (Sun, 27 Sep 2020 13:13:08 GMT):
But @tomislav, may I have your idea bout the issue I encountered?

tomislav (Sun, 27 Sep 2020 13:13:28 GMT):
no that's different, in the `MediatorAgent` should be `AddDiscoveryHandler()`

tomislav (Sun, 27 Sep 2020 13:14:31 GMT):
I am responding to the issue

tomislav (Sun, 27 Sep 2020 13:14:48 GMT):
The mediator doesn't support discovery messages by defalt

tomislav (Sun, 27 Sep 2020 13:14:56 GMT):
I don't know why the mobile app asks for it

lijiachuan (Sun, 27 Sep 2020 13:15:16 GMT):
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/mediator/Startup.cs#L43

lijiachuan (Sun, 27 Sep 2020 13:15:52 GMT):
In the mediator's Startup.cs, there has one line of `app.UseMediatorDiscovery();`

tomislav (Sun, 27 Sep 2020 13:16:25 GMT):
That line is about something completely different than the issue you're seeing

tomislav (Sun, 27 Sep 2020 13:16:35 GMT):
that's discovery is about well known configuration middleware

tomislav (Sun, 27 Sep 2020 13:16:35 GMT):
https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries.Routing.Mediator/MediatorDiscoveryMiddleware.cs

tomislav (Sun, 27 Sep 2020 13:16:58 GMT):
you issue is related to the discovery protocol, which is different

tomislav (Sun, 27 Sep 2020 13:17:04 GMT):
just a coincidence on the same name

lijiachuan (Sun, 27 Sep 2020 13:17:22 GMT):
ok

tomislav (Sun, 27 Sep 2020 13:19:39 GMT):
To resolve this issue you can do one of these things: - Either remove the code in AMAX that calls for discovery on pull down - Add Discovery ability to your mediator, but making custom class same as `MediatorAgent` but with `AddDiscoveryHandler()` added. Then register that class `AddMedaitorAgent()`

tomislav (Sun, 27 Sep 2020 13:20:05 GMT):
I'll submit a PR to add this to default config

tomislav (Sun, 27 Sep 2020 13:23:46 GMT):
https://github.com/hyperledger/aries-framework-dotnet/pull/131

lijiachuan (Sun, 27 Sep 2020 13:32:33 GMT):
In mobile agent's ConnectionViewModel.cs, is uses `protocols = response.GetMessage();` to get a protocols list, and has one specific checking for `TrustPingMessageType`. https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/ViewModels/Connections/ConnectionViewModel.cs#L98

ayushmanss (Sun, 27 Sep 2020 17:17:15 GMT):
Hi all, I am trying to write restapi using dotnet core 3.1 and using swashbuckle to auto generate openapi doc. The problem is the auto generator is also generating aries api docs which I dont want. Is there anyway I can control that?

horacionunez (Thu, 01 Oct 2020 13:06:39 GMT):
hi all, I have a question regarding the .net agent and acapy. Whenever I establish a connection and start polling for the mediator inbox I keep getting a JSON file that seems like something encrypted

horacionunez (Thu, 01 Oct 2020 13:07:48 GMT):
{protected,iv,Ciphertext,tag} is the format.

horacionunez (Thu, 01 Oct 2020 13:08:06 GMT):
Is there any existing abstraction that deals with this type of message?

horacionunez (Thu, 01 Oct 2020 13:09:53 GMT):
@daruru did you resolve the problem? Sounds like you are missing the indy binaries in the iOS/Android specific projects.

horacionunez (Thu, 01 Oct 2020 13:10:26 GMT):
Please review the intro video to ensure you are adding the libs

horacionunez (Thu, 01 Oct 2020 14:41:40 GMT):
I was able to resolve the problem. I had to unpack the package, but I did using internal classes on the framework.

lijiachuan (Thu, 01 Oct 2020 16:10:23 GMT):
Hi, I am trying to use my own domain URL to setup the mediator, I changed below line of code to `options.EndpointUri = "http://mydomain.com";` https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/mediator/Startup.cs#L23 But after that change and when I use `dotnet run` to start this mediator in my local, when I browse http://localhost:5000/.well-known/agent-configuration, the content is still showing `ServiceEndpoint` is `http://localhost:5000` but is not `http://mydomain.com`. May I know whether this is correct?

horacionunez (Thu, 01 Oct 2020 16:30:38 GMT):
Is there a particular reason why the dotnet-agent doesn't support more mime types for Credentials? Looking https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries/Utils/CredentialUtils.cs#L38 cc @tomislav

horacionunez (Thu, 01 Oct 2020 16:31:05 GMT):
what will take to properly extend to other types

horacionunez (Fri, 02 Oct 2020 13:29:14 GMT):
hey, I have an issue in where I tried to send a DeleteMessage to the Mediator and receive this response:

horacionunez (Fri, 02 Oct 2020 13:29:15 GMT):
{ "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "9d76f203-fac9-43c0-9ba7-371f35b55f33", "~thread": { "thid": "ca58d255-2d4f-4801-bad7-06f446e2de19" }, "explain-ltxt": "Unrecognized message type did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/basic-routing/1.0/delete-inbox-items" }

horacionunez (Fri, 02 Oct 2020 13:29:35 GMT):
I'm using the dotnet mediator, has anyone encounter this before?

lijiachuan (Fri, 02 Oct 2020 14:59:38 GMT):
hi @tomislav, I would like to continue disucssing about this discovery message issue. In https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/ViewModels/Connections/ConnectionViewModel.cs#L70, it defines `DiscoveryDiscloseMessage` type's variable `protocols`, and use https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/ViewModels/Connections/ConnectionViewModel.cs#L75 to get `protocols` values. And from https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/ViewModels/Connections/ConnectionViewModel.cs#L94 seems it has a special logic to handle the `MessageTypes.TrustPingMessageType`. Is this some special functions for a connection? Do you have any idea about the purpose of this section of codes? Thanks.

lijiachuan (Fri, 02 Oct 2020 15:05:15 GMT):
I tried to scan a invitation QR code generated from ACA-Py, and click accept button on the mobile, but the connection's status is keeping as `Negotiating`, I am not sure whether this is related to above issue/

tomislav (Sat, 03 Oct 2020 11:40:43 GMT):
This is not a message type that the mediator can process

tomislav (Sat, 03 Oct 2020 11:42:25 GMT):
These are limitations of indy-sdk

tomislav (Sat, 03 Oct 2020 11:43:11 GMT):
Currently, all credential values must be string, so you can encode anything in the credential value, as long as it's serialized to text or json

horacionunez (Sat, 03 Oct 2020 14:17:31 GMT):
thanks

horacionunez (Sat, 03 Oct 2020 16:33:10 GMT):
My understanding is that not all mediators accept the same commands, but if I read you correctly, there is a set of commands that mediators can handle by design, and this one isn't one of them.

tomislav (Sun, 04 Oct 2020 12:59:59 GMT):
That's correct

horacionunez (Sun, 04 Oct 2020 20:06:13 GMT):
thank you!

lijiachuan (Mon, 05 Oct 2020 15:16:31 GMT):
Hi all, regarding a personal mobile agent scenario, whether one associated mediator agent is efficient to interact with another agent? Is there any other type of role in a mobile agent process. Because I am reading the Edx.Org's training, and there is one "agency" concep introduced there, but I am not sure whether that agency is one required role in a mobile agent process. If anyone can help on this? Thanks.

swcurran (Mon, 05 Oct 2020 15:35:36 GMT):
I'm not sure what your goal is, but Aries is extremely flexible about how to organize agents. All sorts of configurations are possible. For example a mobile agent could use a mediator and agency for one set of connections, and a different combo for other connections. Of course, the more options/variations, the more complexity in managing. But underlying DIDComm makes the actual routing of messages through a whole range of configs really easy.

horacionunez (Mon, 05 Oct 2020 16:32:42 GMT):
hi all, I have been exploring writing my custom agent and I found an interesting case where when I use `ListCredentialsForProofRequestAsync` on a wallet with matching credentials but nothing gets returned. I have tried to debug the problem but I can't see past "AnonCreds.ProverSearchCredentialsForProofRequestAsync"

horacionunez (Mon, 05 Oct 2020 16:32:56 GMT):

Clipboard - October 5, 2020 12:32 PM

lijiachuan (Mon, 05 Oct 2020 16:33:30 GMT):
So only with one mediator is not enough to be able to interact with another agent, correct? For example, if Alice wants to use her mobile agent to interact with Bob's mobile agent, she needs to have one mediator PLUS one agency then she can interact with Bob, or she could interact with Bob only with one mediator.? I am not so clear about this, so hope can make it clarified. Thanks.

horacionunez (Mon, 05 Oct 2020 16:34:30 GMT):
Is there a know way to register my own proof resolver?

horacionunez (Mon, 05 Oct 2020 16:34:41 GMT):
thanks in advance for any help :)

swcurran (Mon, 05 Oct 2020 17:35:11 GMT):
Ah...just one mediator is fine. As long as it is addressable on the Internet it can be used.

swcurran (Mon, 05 Oct 2020 17:36:25 GMT):
Often the one mediator IS an agency. It handles many mobile agents. It can't read any messages sent to the mobile agents, but it can recognize to whom the message is for and can forward the message on.

horacionunez (Mon, 05 Oct 2020 23:52:18 GMT):
I realized the problem here, and it was that the original code was conflating stored credentials with stored credentials offers :)

horacionunez (Tue, 06 Oct 2020 00:07:12 GMT):
hey, I'm encountering this problem when trying to send a credential request message: Hyperledger.Indy.PoolApi.PoolConfigNotCreatedException: The requested pool cannot be opened because it does not have an existing configuration.

horacionunez (Tue, 06 Oct 2020 00:08:30 GMT):
I have been looking into the test suite and found this workflow here:

horacionunez (Tue, 06 Oct 2020 00:08:55 GMT):
https://github.com/hyperledger/aries-framework-dotnet/blob/9355847ff1b9ee418e3ea46e2d77057a876fd6fe/test/Hyperledger.Aries.Tests/Protocols/CredentialTests.cs#L261

horacionunez (Tue, 06 Oct 2020 00:09:28 GMT):
In this specific is implied that before we can make this request we also need to establish a master secret

horacionunez (Tue, 06 Oct 2020 00:09:57 GMT):
Is this require in every single call to request credentials?

Narankhuu (Tue, 06 Oct 2020 08:08:20 GMT):
Would it be too much to ask if I want a few virtual keywords in the framework code? I need to extend a few methods of the default proof service for my use case. Since adding the virtual keywords won't likely to affect anyone else, I would appreciate it if you allow my PR#135.

lijiachuan (Wed, 07 Oct 2020 15:23:26 GMT):
Hi, I am trying to use the debug mode for the sample mobile agent(https://github.com/hyperledger/aries-mobileagent-xamarin) in my Android phone, when I tried to use the scan/connection function to scan one invitation QR code which is generated by an ACA-Py agent, which URL is `http://13.78.88.99:8000?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9jb25uZWN0aW9ucy8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiOWIzYjRmNDMtOGE4ZS00MDA1LTkwNWQtMWMyN2I3MTNkZTNlIiwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwOi8vMTMuNzguODguOTk6ODAwMCIsICJsYWJlbCI6ICJDb3JwUmVnIiwgInJlY2lwaWVudEtleXMiOiBbIkRyN0o3QTE4ekhmWGNQTVUxemlVcmJBQ2FFTFBwQ1BYUVMyb21Xa1VBVnhnIl19`, then select accept the invitation, then I can see the ACA-Py agent log reflected the interaction, but with below error: ``` 2020-10-07 15:08:52,225 aiohttp.access INFO 175.166.189.106 [07/Oct/2020:15:08:52 +0000] "POST / HTTP/1.1" 200 149 "-" "-" 2020-10-07 15:08:52,226 aries_cloudagent.protocols.connections.v1_0.manager WARNING No corresponding DID found for sender verkey: 2Hej5mHN97FmdxKojG4SG7wVAmC13dJYQcByk9nic5Xx 2020-10-07 15:08:52,227 aries_cloudagent.protocols.connections.v1_0.manager WARNING No corresponding DID found for recipient verkey: Dr7J7A18zHfXcPMU1ziUrbACaELPpCPXQS2omWkUAVxg 2020-10-07 15:08:52,231 aries_cloudagent.messaging.models.base ERROR ConnectionRequest message validation error: Traceback (most recent call last): File "/home/indy/aries_cloudagent/messaging/models/base.py", line 127, in deserialize return schema.loads(obj) if isinstance(obj, str) else schema.load(obj) File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/marshmallow/schema.py", line 723, in load data, many=many, partial=partial, unknown=unknown, postprocess=True File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/marshmallow/schema.py", line 904, in _do_load raise exc marshmallow.exceptions.ValidationError: {'label': ['Field may not be null.']} 2020-10-07 15:08:52,233 aries_cloudagent.core.dispatcher ERROR Message parsing failed: Error deserializing message: ConnectionRequest schema validation failed, sending problem report 2020-10-07 15:08:52,235 aries_cloudagent.core.dispatcher ERROR Handler error: ConnectionManager.get_connection_targets Traceback (most recent call last): File "/home/indy/aries_cloudagent/protocols/connections/v1_0/manager.py", line 980, in get_connection_targets await entry.set_result([row.serialize() for row in targets], 3600) TypeError: 'NoneType' object is not iterable 2020-10-07 15:08:52,236 aries_cloudagent.core.conductor ERROR Exception in message handler: Traceback (most recent call last): File "/home/indy/aries_cloudagent/core/dispatcher.py", line 170, in handle_message await responder.send_reply(error_result) File "/home/indy/aries_cloudagent/messaging/responder.py", line 103, in send_reply await self.send_outbound(outbound) File "/home/indy/aries_cloudagent/core/dispatcher.py", line 291, in send_outbound await self._send(self._context, message, self._inbound_message) File "/home/indy/aries_cloudagent/core/conductor.py", line 336, in outbound_message_router await self.queue_outbound(context, outbound, inbound) File "/home/indy/aries_cloudagent/core/conductor.py", line 368, in queue_outbound mgr.get_connection_targets(connection_id=outbound.connection_id) File "/home/indy/aries_cloudagent/protocols/connections/v1_0/manager.py", line 980, in get_connection_targets await entry.set_result([row.serialize() for row in targets], 3600) TypeError: 'NoneType' object is not iterable 2020-10-07 15:08:52,239 aries_cloudagent.core.conductor ERROR DON'T shutdown on TypeError 'NoneType' object is not iterable 2020-10-07 15:08:52,239 aries_cloudagent.core.dispatcher ERROR Handler error: Dispatcher.handle_message Traceback (most recent call last): File "/home/indy/aries_cloudagent/core/dispatcher.py", line 170, in handle_message await responder.send_reply(error_result) File "/home/indy/aries_cloudagent/messaging/responder.py", line 103, in send_reply await self.send_outbound(outbound) File "/home/indy/aries_cloudagent/core/dispatcher.py", line 291, in send_outbound await self._send(self._context, message, self._inbound_message) File "/home/indy/aries_cloudagent/core/conductor.py", line 336, in outbound_message_router await self.queue_outbound(context, outbound, inbound) File "/home/indy/aries_cloudagent/core/conductor.py", line 368, in queue_outbound mgr.get_connection_targets(connection_id=outbound.connection_id) File "/home/indy/aries_cloudagent/protocols/connections/v1_0/manager.py", line 980, in get_connection_targets await entry.set_result([row.serialize() for row in targets], 3600) TypeError: 'NoneType' object is not iterable ``` Whether this is one compitability issue between ACA-Py and Xamarin mobile framework? Kindly advise. Thanks.

TimoGlastra (Wed, 07 Oct 2020 15:36:27 GMT):
ACA-Py expects the `label` field to be present in the invitation. You can do this by either setting the `AgentName` parameter in the agent config (https://github.com/hyperledger/aries-agent-test-harness/blob/master/aries-backchannels/dotnet/server/Startup.cs#L50) or by passing the `MyAlias.Name` parameter in the `InviteConfiguration` when calling `CreateInvitationAsync`. I'm not 100% sure about aries-mobileagent-xamarin, but I think you should add the `AgentName` parameter in `builder.RegisterEdgeAgent` function here: https://github.com/hyperledger/aries-mobileagent-xamarin/blob/master/src/Osma.Mobile.App/App.xaml.cs#L62-L89

lijiachuan (Wed, 07 Oct 2020 16:24:50 GMT):
thanks @TimoGlastra , adding an agent name resolved that error, currently the connection state is `response`, and from the mobile app, it is shown as `negotiating`. I am not sure what is pending to make it as active connection. Do you have any idea?

cam-parra (Wed, 07 Oct 2020 19:45:16 GMT):
Has joined the channel.

cam-parra (Wed, 07 Oct 2020 19:45:17 GMT):
Not sure if these a repeated question but I'll ask it anyway

cam-parra (Wed, 07 Oct 2020 19:46:08 GMT):
Has anyone tried to put a mediator on kubernetes? If so would you be willing to share your experience with me?

athulramesh (Thu, 08 Oct 2020 09:25:21 GMT):
Has joined the channel.

sabir.aboobaker (Thu, 08 Oct 2020 09:59:52 GMT):
Has joined the channel.

lijiachuan (Thu, 08 Oct 2020 14:54:43 GMT):
hi @tomislav, whether this might related to the discovery protocol issue we discussed previously?

cam-parra (Thu, 08 Oct 2020 15:30:15 GMT):
@tomislav ^^

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

lijiachuan (Mon, 12 Oct 2020 13:21:46 GMT):
This was resolved finally after get a new version of Aries routing package, as previous version could not support discovery protocol, so I removed related function which related to trust ping operations, so there is not one trust ping between two entities. After add back the discovery related functions, the connection can become active finally.

darkchylde (Thu, 15 Oct 2020 13:25:50 GMT):
Has joined the channel.

darkchylde (Thu, 15 Oct 2020 13:25:50 GMT):
Question,

darkchylde (Thu, 15 Oct 2020 13:25:50 GMT):
Question, What are the protocols supported in mediator gateway and routers in .Net implementation ? If possible can anyone list out those ?

darkchylde (Thu, 15 Oct 2020 13:29:06 GMT):
Trying to create a custom router and mediator gateway components, would like to be compatible with other mediators and routers, out of the box.

darkchylde (Thu, 15 Oct 2020 13:29:19 GMT):
@tomislav :point_up_2:

sheru (Fri, 16 Oct 2020 12:38:08 GMT):
Hey Everyone, Is there any process of issue credential without making a connection with the mobile agent. Thanks for the help. Please share the helpful resource or documentation. Thanks

tomislav (Sat, 17 Oct 2020 12:50:26 GMT):
You can issue a credential without a connection, by calling the corresponding methods in the CredentialService that deal specifically with connectionless transport. See this unit test - https://github.com/hyperledger/aries-framework-dotnet/blob/ed219524e99c4fb30ad5529debe9abc6d4dade72/test/Hyperledger.Aries.Tests/Protocols/CredentialTransientTests.cs#L22

lijiachuan (Sat, 17 Oct 2020 13:38:30 GMT):
Hi @tomislav, is there a sample code which shows how to retrieve a credential and use it to response one proof presentation request?

tomislav (Sun, 18 Oct 2020 12:57:44 GMT):
Yes, there are many presentation unit tests. The revocation tests do a lot of issuance and verifications.

PatrikStas (Mon, 19 Oct 2020 12:01:29 GMT):
Has joined the channel.

lijiachuan (Mon, 19 Oct 2020 16:00:22 GMT):
Hi @tomislav, thanks for your reply. Currently what I am doing is I used ACA-Py created a presentation request not bound to any proposal or existing connection, and I format one QR code based on a URL as `http://myVONIIP:8080?c_i=eyJAdHlwZSI6ImRpZDpzb3Y6QnpDYnNOWWhNcmpIaXFaRFRVQVNIZztzcGVjL3ByZXNlbnQtcHJvb2YvMS4wL3JlcXVlc3QtcHJlc2VudGF0aW9uIiwiQGlkIjoiNzljNzA0MWQtNDJhNi00ZGQ1LWI5ZTYtYzFmN2NjNWQxMDQ0IiwicmVxdWVzdF9wcmVzZW50YXRpb25zfmF0dGFjaCI6W3siQGlkIjoibGliaW5keS1yZXF1ZXN0LXByZXNlbnRhdGlvbi0wIiwibWltZS10eXBlIjoiYXBwbGljYXRpb24vanNvbiIsImRhdGEiOnsiYmFzZTY0IjoiZXlKdVlXMWxJam9nSWxSbGMzUWlMQ0FpZG1WeWMybHZiaUk2SUNJeExqQWlMQ0FpY21WeGRXVnpkR1ZrWDNCeVpXUnBZMkYwWlhNaU9pQjdmU3dnSW5KbGNYVmxjM1JsWkY5aGRIUnlhV0oxZEdWeklqb2dleUpPWVcxbElqb2dleUp1WVcxbElqb2dJazVoYldVaUxDQWljbVZ6ZEhKcFkzUnBiMjV6SWpvZ1czc2lZM0psWkY5a1pXWmZhV1FpT2lBaU5EUkhObGR2T0hFemJreENZek5LVFdGd2MycHpSem96T2tOTU9qRXdPbFJsYzNSRVpXWnBibWwwYVc5dUluMWRmU3dnSWtGblpTSTZJSHNpYm1GdFpTSTZJQ0pCWjJVaUxDQWljbVZ6ZEhKcFkzUnBiMjV6SWpvZ1czc2lZM0psWkY5a1pXWmZhV1FpT2lBaU5EUkhObGR2T0hFemJreENZek5LVFdGd2MycHpSem96T2tOTU9qRXdPbFJsYzNSRVpXWnBibWwwYVc5dUluMWRmWDBzSUNKdWIyNWpaU0k2SUNJM01UZzJNVEl6TWpnME5UUXdOekF5T0RFMk1qTTBOQ0o5In19XSwiY29tbWVudCI6InRlc3QxMTEifQ==` And I can retrieve the Base64 actual content after scanning this QR code from mobile app, and I can also retrieve all my credentials from wallet, but I am not sure how should I reply one credential specifically for the presentation request. I think I didn't store the presentation request in the wallet, but what I want to implement is my mobile app will use my selected credential to reply the initial presentation request.

tomislav (Thu, 22 Oct 2020 12:03:44 GMT):
That exception is coming directly from indy-sdk, it doesn't include much details

tomislav (Thu, 22 Oct 2020 12:04:30 GMT):
Example how to turn on indy logging - https://github.com/hyperledger/aries-framework-dotnet/blob/02617cfa24c796eedfdb9549f9200a92a714e1a2/test/Hyperledger.Aries.Tests/Utils.cs#L12

HansHuber080883 (Tue, 27 Oct 2020 14:07:00 GMT):
Has joined the channel.

moises_ej (Wed, 28 Oct 2020 20:25:35 GMT):
Has joined the channel.

Shyam_Pratap_Singh (Thu, 29 Oct 2020 11:07:41 GMT):
Has joined the channel.

Shyam_Pratap_Singh (Thu, 29 Oct 2020 12:18:13 GMT):

Clipboard - October 29, 2020 3:17 PM

Shyam_Pratap_Singh (Thu, 29 Oct 2020 12:18:49 GMT):
Hi Everyone, i am just exploring xamrian based mobile agent, and here is basic architecture or flow i have desgined, is this flow or assumption is correct to build full fledged SSI mobile app

zossimov (Fri, 30 Oct 2020 16:41:24 GMT):
Hi, I'm getting `System.NullReferenceException: 'Object reference not set to an instance of an object.'` in aries-mobileagent-xamarin (OSMA). This line is throwing exception. => https://github.com/hyperledger/aries-mobileagent-xamarin/blob/master/src/Osma.Mobile.App/Services/NavigationService.cs#L243 The Problem seems to me, is with ViewModel Bindings, but don't know exactly why? and how to solve it?

zossimov (Fri, 30 Oct 2020 16:41:24 GMT):
Hi @tomislav @lijiachuan, I'm getting `System.NullReferenceException: 'Object reference not set to an instance of an object.'` in aries-mobileagent-xamarin (OSMA). This line is throwing exception. => https://github.com/hyperledger/aries-mobileagent-xamarin/blob/master/src/Osma.Mobile.App/Services/NavigationService.cs#L243 The Problem seems to me, is with ViewModel Bindings, but don't know exactly why? and how to solve it?

tomislav (Fri, 30 Oct 2020 17:53:21 GMT):
Yes, that's an accurate representation of how a mobile agent would communicate with cloud agents in different codebases (python vs dotnet) and a common ledger

sabir.aboobaker (Wed, 04 Nov 2020 05:41:58 GMT):
Hi Everyone. I was working on the Xamarin mobile agent project which I cloned from https://github.com/hyperledger/aries-mobileagent-xamarin. I was implementing the backup and restore feature and was successfully abled to do that. But the issue is that, I have to restart the app after restoring the backup. Else the credentials in restored wallet is not available . Can anyone guide me on how can I restart the service written in https://github.com/hyperledger/aries-mobileagent-xamarin/blob/2f222a3b72169cfac94f494c54f306172f7ecf99/src/Osma.Mobile.App/App.xaml.cs#L62 without restarting the app. thank you.

sabir.aboobaker (Wed, 04 Nov 2020 06:24:36 GMT):
@tomislav @lijiachuan

darkchylde (Sat, 07 Nov 2020 17:28:03 GMT):
@tomislav Question, Is there an RFC covering basic-routing protocol implemented in aries-framework-dotnet ? And is there a timeline on when Mediator coordination protocol will be implemented in aries-framework-dotnet ?

mikkov (Mon, 16 Nov 2020 17:12:43 GMT):
Has joined the channel.

SahilK 6 (Fri, 20 Nov 2020 09:44:00 GMT):
Has joined the channel.

SahilK 6 (Fri, 20 Nov 2020 09:44:01 GMT):
Hi, I need help with the below issue. https://github.com/hyperledger/aries-framework-dotnet/issues/142

tomislav (Fri, 20 Nov 2020 23:21:18 GMT):
The problem is that the linker is stripping unused references. You don't need Linking set to All in a Debug build

tomislav (Fri, 20 Nov 2020 23:21:24 GMT):
Try changing it to SDK only

tomislav (Fri, 20 Nov 2020 23:21:26 GMT):

Clipboard - November 20, 2020 6:21 PM

Arsh-Sandhu (Mon, 23 Nov 2020 12:46:33 GMT):
Has joined the channel.

anil_helvaci (Tue, 24 Nov 2020 07:32:52 GMT):
Has joined the channel.

anil_helvaci (Tue, 24 Nov 2020 07:34:34 GMT):
Hello, I can't seem to find a way to initiate a issue-credential operation from the holder. I am using dotnet libary with the xamarin mobile agent. I am using this RFC https://github.com/hyperledger/aries-rfcs/tree/master/features/0036-issue-credential as my reference when asking this question. The RFC states that there are two ways for Holder to initiate issue-credential protocol: 1) Holder sends proposal 2) Holder sends request There is no method about propose-credential in the ICredentialService interface of the dotnet library and CreateRequestAysnc method states that the credential has to be in the state "offer" in order to create the credential request. My question is this; How can we initiate a issue-credential process from the holder using dotnet library ?

anil_helvaci (Tue, 24 Nov 2020 07:34:44 GMT):
Thanks in advance

TimoGlastra (Tue, 24 Nov 2020 09:23:53 GMT):
Unfortunately, there's no propose credential flow yet

TimoGlastra (Tue, 24 Nov 2020 09:28:13 GMT):
I've added it as part of the aries-agent-test-harness a while ago, but it'd need tests and some cleanup before it can be merged in aries-framework-dotnet

TimoGlastra (Tue, 24 Nov 2020 09:28:21 GMT):
https://github.com/hyperledger/aries-agent-test-harness/blob/master/aries-backchannels/dotnet/server/Handlers/CredentialHandler.cs

anil_helvaci (Tue, 24 Nov 2020 21:23:51 GMT):
Thank you Timo :pray: How long do you think it would take to merge the propose credential flow

anil_helvaci (Wed, 25 Nov 2020 11:49:54 GMT):
Hi everyone, in my company we are developing a ssi mobile client using xamarin mobile. The current xamarin-mobile project is using the aries-dotnet-framework version 1.2.9. This is the version of the static library from the link(https://hyperledger-org.bintray.com/aries/) given in Readme file of the aries-mobileagent-xamarin(https://github.com/hyperledger/aries-mobileagent-xamarin/). But current version of aries-framework-dotnet(https://github.com/hyperledger/aries-framework-dotnet) in Nuget is 1.4.0. My question is this, can we migrate nuget packages to static libraries ? If we can, how? Thanks in advance

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

Arsh-Sandhu (Fri, 27 Nov 2020 13:43:28 GMT):
Hi @ajayjadhav, @RinkalBhojani have you guys pushed this multitenant functionality into master. it would be very helpful if you could guide me how we can achieve this or share some example source code.

anil_helvaci (Mon, 30 Nov 2020 01:15:08 GMT):
Hey everyone, I'm trying to issue a credential from a aca-py web agent to a xamarin-mobile agent. My problem is the state of the credential is stuck in the state "issued" and I cannot seem to find a way to convert it to state "acked". Any help would be appreciated :pray:

mboyd (Mon, 30 Nov 2020 01:18:06 GMT):
I don't think the aries framework sorbet contains an ack state. Issued or revoked are the two possible end states

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

anil_helvaci (Mon, 30 Nov 2020 12:34:26 GMT):
Hello, thanks for the response. So what you are saying is that it is impossible to make ACA-PY web agent fall into state acked because there is no ack state in the aries-framework-dotnet?

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

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

tschulshuh (Fri, 04 Dec 2020 10:45:38 GMT):
Has joined the channel.

tschulshuh (Fri, 04 Dec 2020 10:48:06 GMT):
Hi all, could someone tell which credentials are currently supported by the dotnet framework? e.g. LD-Proofs, BBS+, Anoncreds, JWT ? Thank you! :)

Parthkm78 (Mon, 07 Dec 2020 04:31:55 GMT):
Has joined the channel.

SahilK 6 (Mon, 07 Dec 2020 04:44:26 GMT):
Hi, I have the following setup and need help with the issue I'm facing. - Xamarin Forms app for iOS - DotNet mediator - ACA-Py Agent The connection between the mobile app and the ACA-Py agent is established and active. The ACA-Py agent wants to issue a credential to the Mobile agent. Below are the steps being followed. 1) ACA-Py sends a Credential Offer to the Mobile agent 2) The state of the credential in ACA-Py is `offer_sent` 3) The mobile agent gets the offer with the state `Offered` 4) The Mobile agent invokes the below method `credentialService.CreateRequestAsync` 5) The state of the credential in the Mobile agent is changed from `Offered` to `Requested` 6) The state of the credential in the ACA-Py agent remains `offer_sent` *Expected behavior* The state of the credential in the ACA-Py agent should change from `offer_sent` to `request_received` (after step 5), however, it doesn't change *Note*: This seems to work fine when two ACA-Py agents exchange credentials with each other

marc0olo (Mon, 07 Dec 2020 11:58:09 GMT):
is there somewhere an overview about what protocols of the Aries RFCs the dotnet framework supports?

pawel.kowalik (Mon, 07 Dec 2020 12:18:48 GMT):
Has joined the channel.

marc0olo (Mon, 07 Dec 2020 12:48:17 GMT):
probably everything (around protocols and features) that is included here, right? https://github.com/hyperledger/aries-framework-dotnet/tree/master/src/Hyperledger.Aries/Features

zossimov (Tue, 08 Dec 2020 12:50:46 GMT):
Hi, I have two agents, Issuer and Holder. 1) Issuer Offer Credentials to Holder 2) Holder Accepts the Credential Offer 3) Issuer issues the Credentials Everything works fine, but in last step I'm getting an error. There is a Function `ProcessRequest()` which takes **credentialRecordId** as a Parameter. But it returns an error ```{ "success": false, "error": "A value being processed is not valid." }``` and if I give it a wrong value, then it return this error. ``` { "success": false, "error": "Credential record not found" } ``` Below is the complete code, anyone has any idea, why I'm getting this error? ``` // Send Credentials - Issuer to Holder - Status : Received [HttpGet] public async Task ProcessRequest(string id) { try { var agentContext = await _agentContextProvider.GetContextAsync(); var credentialRecord = await _credentialService.GetAsync(agentContext, id); var connectionRecord = await _connectionService.GetAsync(agentContext, credentialRecord.ConnectionId); (var cred, var credentialRecordIssued) = await _credentialService.CreateCredentialAsync(agentContext: agentContext, credentialId: id); await _messageService.SendAsync(agentContext.Wallet, cred, connectionRecord); //Updating credential count in credential Definition Record var definitionRecord = await _schemaService.GetCredentialDefinitionAsync(agentContext.Wallet, credentialRecordIssued.CredentialDefinitionId); definitionRecord.MaxCredentialCount++; await _walletRecordService.UpdateAsync(agentContext.Wallet, definitionRecord); //Deleting info not to keep => specific to the fictional-passeport-schema //{ "holderdid", "type", "passportNumber", "issuerCountryCode", "firstname", "familyname", "birthdate", "citizenship", "sex", "placeOfBirth", "issuingDate", "expiryDate" } foreach (var attr in credentialRecordIssued.CredentialAttributesValues) { switch (attr.Name) { case "issuerCountryCode": attr.Value = ""; break; case "firstname": attr.Value = ""; break; case "familyname": attr.Value = ""; break; case "birthdate": attr.Value = ""; break; case "citizenship": attr.Value = ""; break; case "sex": attr.Value = ""; break; case "placeOfBirth": attr.Value = ""; break; default: break; } if (attr.Value.Equals("")) { attr.Name = ""; } } credentialRecordIssued.RequestJson = ""; credentialRecordIssued.OfferJson = ""; await _walletRecordService.UpdateAsync(agentContext.Wallet, credentialRecordIssued); return RedirectToAction("Index"); } catch (Exception e) { return Json(new { success = false, error = e.Message }); } } ```

zossimov (Tue, 08 Dec 2020 12:50:46 GMT):
``` // Send Credentials - Issuer to Holder - Status : Received [HttpGet] public async Task ProcessRequest(string id) { try { var agentContext = await _agentContextProvider.GetContextAsync(); var credentialRecord = await _credentialService.GetAsync(agentContext, id); var connectionRecord = await _connectionService.GetAsync(agentContext, credentialRecord.ConnectionId); (var cred, var credentialRecordIssued) = await _credentialService.CreateCredentialAsync(agentContext: agentContext, credentialId: id); await _messageService.SendAsync(agentContext.Wallet, cred, connectionRecord); //Updating credential count in credential Definition Record var definitionRecord = await _schemaService.GetCredentialDefinitionAsync(agentContext.Wallet, credentialRecordIssued.CredentialDefinitionId); definitionRecord.MaxCredentialCount++; await _walletRecordService.UpdateAsync(agentContext.Wallet, definitionRecord); //Deleting info not to keep => specific to the fictional-passeport-schema //{ "holderdid", "type", "passportNumber", "issuerCountryCode", "firstname", "familyname", "birthdate", "citizenship", "sex", "placeOfBirth", "issuingDate", "expiryDate" } foreach (var attr in credentialRecordIssued.CredentialAttributesValues) { switch (attr.Name) { case "issuerCountryCode": attr.Value = ""; break; case "firstname": attr.Value = ""; break; case "familyname": attr.Value = ""; break; case "birthdate": attr.Value = ""; break; case "citizenship": attr.Value = ""; break; case "sex": attr.Value = ""; break; case "placeOfBirth": attr.Value = ""; break; default: break; } if (attr.Value.Equals("")) { attr.Name = ""; } } credentialRecordIssued.RequestJson = ""; credentialRecordIssued.OfferJson = ""; await _walletRecordService.UpdateAsync(agentContext.Wallet, credentialRecordIssued); return RedirectToAction("Index"); } catch (Exception e) { return Json(new { success = false, error = e.Message }); } } ```

zossimov (Tue, 08 Dec 2020 12:50:46 GMT):
Hi, I have two agents, Issuer and Holder. *) Issuer Offer Credentials to Holder *) Holder Accepts the Offer *) Issuer Issue the Credentials Everything works fine, but in last step I'm getting an error. There is a Function `ProcessRequest()` which takes **credentialRecordId** as a Parameter. But it returns an error ```{ "success": false, "error": "A value being processed is not valid." }``` and if I give it a wrong value, then it return this error. ``` { "success": false, "error": "Credential record not found" } ``` Below is the complete code, anyone has any idea, why I'm getting this error? ``` // Send Credentials - Issuer to Holder - Status : Received [HttpGet] public async Task ProcessRequest(string id) { try { var agentContext = await _agentContextProvider.GetContextAsync(); var credentialRecord = await _credentialService.GetAsync(agentContext, id); var connectionRecord = await _connectionService.GetAsync(agentContext, credentialRecord.ConnectionId); (var cred, var credentialRecordIssued) = await _credentialService.CreateCredentialAsync(agentContext: agentContext, credentialId: id); await _messageService.SendAsync(agentContext.Wallet, cred, connectionRecord); //Updating credential count in credential Definition Record var definitionRecord = await _schemaService.GetCredentialDefinitionAsync(agentContext.Wallet, credentialRecordIssued.CredentialDefinitionId); definitionRecord.MaxCredentialCount++; await _walletRecordService.UpdateAsync(agentContext.Wallet, definitionRecord); //Deleting info not to keep => specific to the fictional-passeport-schema //{ "holderdid", "type", "passportNumber", "issuerCountryCode", "firstname", "familyname", "birthdate", "citizenship", "sex", "placeOfBirth", "issuingDate", "expiryDate" } foreach (var attr in credentialRecordIssued.CredentialAttributesValues) { switch (attr.Name) { case "issuerCountryCode": attr.Value = ""; break; case "firstname": attr.Value = ""; break; case "familyname": attr.Value = ""; break; case "birthdate": attr.Value = ""; break; case "citizenship": attr.Value = ""; break; case "sex": attr.Value = ""; break; case "placeOfBirth": attr.Value = ""; break; default: break; } if (attr.Value.Equals("")) { attr.Name = ""; } } credentialRecordIssued.RequestJson = ""; credentialRecordIssued.OfferJson = ""; await _walletRecordService.UpdateAsync(agentContext.Wallet, credentialRecordIssued); return RedirectToAction("Index"); } catch (Exception e) { return Json(new { success = false, error = e.Message }); } } ```

zossimov (Tue, 08 Dec 2020 12:50:46 GMT):
Hi, I have two agents, Issuer and Holder. 1) Issuer Offer Credentials to Holder 2) Holder Accepts the Offer 3) Issuer Issue the Credentials Everything works fine, but in last step I'm getting an error. There is a Function `ProcessRequest()` which takes **credentialRecordId** as a Parameter. But it returns an error ```{ "success": false, "error": "A value being processed is not valid." }``` and if I give it a wrong value, then it return this error. ``` { "success": false, "error": "Credential record not found" } ``` Below is the complete code, anyone has any idea, why I'm getting this error? ``` // Send Credentials - Issuer to Holder - Status : Received [HttpGet] public async Task ProcessRequest(string id) { try { var agentContext = await _agentContextProvider.GetContextAsync(); var credentialRecord = await _credentialService.GetAsync(agentContext, id); var connectionRecord = await _connectionService.GetAsync(agentContext, credentialRecord.ConnectionId); (var cred, var credentialRecordIssued) = await _credentialService.CreateCredentialAsync(agentContext: agentContext, credentialId: id); await _messageService.SendAsync(agentContext.Wallet, cred, connectionRecord); //Updating credential count in credential Definition Record var definitionRecord = await _schemaService.GetCredentialDefinitionAsync(agentContext.Wallet, credentialRecordIssued.CredentialDefinitionId); definitionRecord.MaxCredentialCount++; await _walletRecordService.UpdateAsync(agentContext.Wallet, definitionRecord); //Deleting info not to keep => specific to the fictional-passeport-schema //{ "holderdid", "type", "passportNumber", "issuerCountryCode", "firstname", "familyname", "birthdate", "citizenship", "sex", "placeOfBirth", "issuingDate", "expiryDate" } foreach (var attr in credentialRecordIssued.CredentialAttributesValues) { switch (attr.Name) { case "issuerCountryCode": attr.Value = ""; break; case "firstname": attr.Value = ""; break; case "familyname": attr.Value = ""; break; case "birthdate": attr.Value = ""; break; case "citizenship": attr.Value = ""; break; case "sex": attr.Value = ""; break; case "placeOfBirth": attr.Value = ""; break; default: break; } if (attr.Value.Equals("")) { attr.Name = ""; } } credentialRecordIssued.RequestJson = ""; credentialRecordIssued.OfferJson = ""; await _walletRecordService.UpdateAsync(agentContext.Wallet, credentialRecordIssued); return RedirectToAction("Index"); } catch (Exception e) { return Json(new { success = false, error = e.Message }); } } ```

zossimov (Tue, 08 Dec 2020 13:19:18 GMT):
**ERROR LOGS:** cc: @tomislav ``` Hyperledger.Indy.InvalidStructureException: A value being processed is not valid. at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.IssueCredentialSafeAsync(IAgentContext agentContext, DefinitionRecord definitionRecord, CredentialRecord credentialRecord) at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.CreateCredentialAsync(IAgentContext agentContext, String credentialId, IEnumerable`1 values) at OsmaAPI.Controllers.CredentialsController.ProcessRequest(String id) in E:\Osma\Osma-API\Controllers\CredentialsController.cs:line 63 at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Connection: keep-alive Accept: */* Accept-Encoding: gzip, deflate, br Host: 127.0.0.1:4000 User-Agent: PostmanRuntime/7.26.8 Postman-Token: 78dadf3e-4012-4d14-81b6-81c0e5823e91 ```

zossimov (Tue, 08 Dec 2020 13:19:18 GMT):
**ERROR LOGS:** ``` Hyperledger.Indy.InvalidStructureException: A value being processed is not valid. at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.IssueCredentialSafeAsync(IAgentContext agentContext, DefinitionRecord definitionRecord, CredentialRecord credentialRecord) at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.CreateCredentialAsync(IAgentContext agentContext, String credentialId, IEnumerable`1 values) at ProveAPI.Controllers.CredentialsController.ProcessRequest(String id) in E:\Prove\Prove-API\Controllers\CredentialsController.cs:line 63 at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Connection: keep-alive Accept: */* Accept-Encoding: gzip, deflate, br Host: 127.0.0.1:4000 User-Agent: PostmanRuntime/7.26.8 Postman-Token: 78dadf3e-4012-4d14-81b6-81c0e5823e91 ```

zossimov (Tue, 08 Dec 2020 13:19:18 GMT):
**ERROR LOGS:** ``` Hyperledger.Indy.InvalidStructureException: A value being processed is not valid. at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.IssueCredentialSafeAsync(IAgentContext agentContext, DefinitionRecord definitionRecord, CredentialRecord credentialRecord) at Hyperledger.Aries.Features.IssueCredential.DefaultCredentialService.CreateCredentialAsync(IAgentContext agentContext, String credentialId, IEnumerable`1 values) at OsmaAPI.Controllers.CredentialsController.ProcessRequest(String id) in E:\Osma\Osma-API\Controllers\CredentialsController.cs:line 63 at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Connection: keep-alive Accept: */* Accept-Encoding: gzip, deflate, br Host: 127.0.0.1:4000 User-Agent: PostmanRuntime/7.26.8 Postman-Token: 78dadf3e-4012-4d14-81b6-81c0e5823e91 ```

ajayjadhav (Wed, 09 Dec 2020 19:31:26 GMT):
Hi @Arsh-Sandhu , no we haven't yet pushed the multi-tenant agent feature. We plan to raise a PR soon..

anil_helvaci (Sat, 12 Dec 2020 15:34:25 GMT):
Hello everyone, I want to send push notifications from my dotnet mediator agent to my mobile agent when a credential-offer or a proof-request arrives. Is subscribing to InboxItemEvent which is published from MediatorForwardHandler.cs is enough for notifying the mobile agent about the message type that has arrived or should I insert another middlware into the request pipeline? Any answer would be appreciated :pray: @TimoGlastra @tomislav

anil_helvaci (Sat, 12 Dec 2020 15:34:25 GMT):
Hello everyone, I want to send push notifications from my dotnet mediator agent to my mobile agent when a credential-offer or a proof-request arrives. Is subscribing to InboxItemEvent which is published from MediatorForwardHandler.cs is enough for knowing when to notify the mobile agent about the message type that has arrived or should I insert another middlware into the request pipeline? Any answer would be appreciated :pray: @TimoGlastra @tomislav

anil_helvaci (Sat, 12 Dec 2020 15:43:23 GMT):
Not everything. Holder sending credential-proposal is not implemented yet

anil_helvaci (Tue, 15 Dec 2020 06:38:09 GMT):
awful response time in this group

anil_helvaci (Tue, 15 Dec 2020 06:38:14 GMT):
not helpful

zossimov (Fri, 18 Dec 2020 12:10:42 GMT):

zossimov (Fri, 18 Dec 2020 12:10:42 GMT):
Hi, Aries .net Mediator is giving me this error on Credential Issuance. Credential is Issued successfully. State is Issued (2) on Web Agent, but on Mobile Agent, state is still stuck on 1 (requested). Anyone has any idea, why? ``` fail: Hyperledger.Aries.Agents.AgentBase[0] Failed to un-pack message fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] An unhandled exception has occurred while executing the request. Hyperledger.Aries.AriesFrameworkException: Failed to un-pack message ---> Hyperledger.Indy.WalletApi.WalletItemNotFoundException: No value with the specified key exists in the wallet from which it was requested. at Hyperledger.Aries.Utils.CryptoUtils.UnpackAsync(Wallet wallet, Byte[] message) at Hyperledger.Aries.Agents.AgentBase.UnpackAsync(IAgentContext agentContext, PackedMessageContext message) --- End of inner exception stack trace --- at Hyperledger.Aries.Agents.AgentBase.UnpackAsync(IAgentContext agentContext, PackedMessageContext message) at Hyperledger.Aries.Agents.AgentBase.ProcessMessage(IAgentContext agentContext, MessageContext messageContext) at Hyperledger.Aries.Agents.AgentBase.ProcessAsync(IAgentContext context, MessageContext messageContext) at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext httpContext, IAgentProvider agentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) ```

anil_helvaci (Sat, 19 Dec 2020 08:41:48 GMT):
There might be a problem in the connection between mobile agent and mediator agent. Try shutting down the mediator agent and deleting its wallet. Then start over issue-credential process

RazaDen (Sat, 19 Dec 2020 10:43:40 GMT):
Has joined the channel.

thomas_kim (Mon, 21 Dec 2020 05:38:20 GMT):
Has joined the channel.

SahilK 6 (Wed, 23 Dec 2020 13:18:42 GMT):
When accepting a Credential offer, the error *The requested pool cannot be opened because it does not have an existing configuration* is thrown on executing the below code `(CredentialRequestMessage credentialRequestMessage, CredentialRecord newCredentialRecord) = await credentialService.CreateRequestAsync(agentContext, Credential.Record.Id);` On investigating, I found that the PoolConfigurator.cs (https://bit.ly/3mKx0KQ) gets an exception (*An IO error occurred*). Below is the stack trace `at Hyperledger.Aries.Ledger.DefaultPoolService.CreatePoolAsync (System.String poolName, System.String genesisFile) [0x0002d] in D:\a\1\s\src\Hyperledger.Aries\Ledger\DefaultPoolService.cs:59 at SSI.Services.PoolConfigurator.ConfigurePoolsAsync () [0x0023b] in /Users/sahil.khanna/Documents/VisualStudio_Workspace/ssi-mobile-app/SSI/Services/PoolConfigurator.cs:54` *Note* - The above scenario works fine on iOS. The problem is on an Android emulator and a device. - The READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions are granted

habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT):
hi how to create a public mediator agent without need to process all step in connection protocol ? how to maintain connection when mediator agent deployed as docker container behind behind load balance such as Envoy?

habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT):
hi how to create a public mediator agent without need to process all step in connection protocol ? how to maintain connection when mediator agent deployed as docker container behind load balancer such as Envoy?

habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT):
hi I have 2 question 1- how to create a public mediator agent without need to process all step in connection protocol ? 2- how to maintain connection when mediator agent deployed as docker container behind load balancer such as Envoy?

habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT):
hi 1- how to create a public mediator agent without need to process all step in connection protocol ? 2- how to maintain connection when mediator agent deployed as docker container behind load balancer such as Envoy?

zossimov (Wed, 30 Dec 2020 08:07:34 GMT):
Hello, I'm working on Credential Revocation. Everything is working fine, am able to Revoke the Credentials and the status changed to '4'. I have two questions. 1) On Issuer side, the Credential Status is 4 (Revoked), but on Holder/Prover side, it's still 3 (Issued). Why? 2) When Verifier Creates a Proof Request, I also added the `Nonrevoked` Time Interval. Like normally, Prover sends a Presentation Proof response, and the credentials verified normally. Why? ``` NonRevoked = new RevocationInterval { From = 0, To = now } ```

swcurran (Wed, 30 Dec 2020 15:15:52 GMT):
Answers on the #aries channel.

vosrey (Sat, 02 Jan 2021 05:46:03 GMT):
Has joined the channel.

gagepoulson (Wed, 06 Jan 2021 15:30:13 GMT):
Has joined the channel.

RazaDen (Fri, 08 Jan 2021 16:50:32 GMT):
Hello all! Is there an Aries call for the .NET sdk? Who can I talk with about contributing guidelines and involved procedures? Thanks!

da3v21 (Sun, 10 Jan 2021 12:26:11 GMT):
Has joined the channel.

tomislav (Thu, 14 Jan 2021 17:54:19 GMT):
Hey @RazaDen There's no dedicated call for the .NET stream. Contributions are welcome - there are no strict guidelines, other than DCO requirement that all commits must be signed. In terms of code contributions, it all depends if you intend to introduce breaking changes, in which case we can discuss a strategy here on the channel.

tomislav (Thu, 14 Jan 2021 17:54:37 GMT):
Otherwise, feel free to open a PR from your fork

tomislav (Thu, 14 Jan 2021 17:55:07 GMT):
Are you interested in any specific contribution?

RazaDen (Sat, 16 Jan 2021 13:53:56 GMT):
Hello @tomislav , thanks for your response. I think the best strategy would be for us to sync in a short offline call so that we can avoid duplicate work and generally work out a plan that works for both of us. Would it be ok for me to e-mail you so that we can set this up? I've found your e-mail @ trinsic if that's still valid.

rangeshsripathi (Mon, 18 Jan 2021 16:52:58 GMT):
Has joined the channel.

rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT):
Hi, I am able to connect to Faber Agent deployed in AWS Cloud via Mediator agent using OSMA Mobile App. Upon successful connection , I tried to send credential from Faber Agent Via Swagger Api(/issue-credential/send) and it does sends the credential , However when i navigate to Credential Screen from mobile OSMA App crashes , Is it because Json response does not matches the expected CrdentailRecord format defined in Hyperledger.Aries ? Any pointers would be highly helpful. Thanks

rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT):
Hi, I am able to connect to Faber Agent deployed in AWS Cloud via Mediator agent using OSMA Mobile App. Upon successful connection , I tried to send credential from Faber Agent Via Swagger Api(/issue-credential/send) and it does sends the credential , However when i navigate to Credential Screen from mobile OSMA App crashes , Is it because Json response(https://jsoneditoronline.org/#left=cloud.9775b022f09a4cdfbb202ba9236aa5a9) does not matches the expected CrdentailRecord format defined in Hyperledger.Aries ? Any pointers would be highly helpful. Thanks

rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT):
Hi, I am able to connect to Faber Agent (Faber-Agent in ACA-PY) deployed in AWS Cloud via Mediator agent using OSMA Mobile App. Upon successful connection , I tried to send credential from Faber Agent Via Swagger Api(/issue-credential/send) and it does sends the credential , However when i navigate to Credential Screen from mobile OSMA App crashes , Is it because Json response(https://jsoneditoronline.org/#left=cloud.9775b022f09a4cdfbb202ba9236aa5a9) does not matches the expected CrdentailRecord format defined in Hyperledger.Aries ? Any pointers would be highly helpful. Thanks

rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT):
Hi, I am able to connect to Faber Agent (Faber-Agent in ACA-PY) deployed in AWS Cloud via Mediator agent using OSMA Mobile App. Upon successful connection , I tried to send credential from Faber Agent Via Swagger Api(/issue-credential/send) and it does sends the credential , However when i navigate to Credential Screen from mobile OSMA App crashes , Is it because Json response(https://jsoneditoronline.org/#left=cloud.9775b022f09a4cdfbb202ba9236aa5a9) does not matches the expected CredentailRecord format defined in Hyperledger.Aries ? Any pointers would be highly helpful. Thanks

rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT):
Hi, I am able to connect to Faber Agent (Faber-Agent in ACA-PY) deployed in AWS Cloud via Mediator agent using OSMA Mobile App. Upon successful connection , I tried to send credential from Faber Agent Via Swagger Api(/issue-credential/send) and it does sends the credential , However when i navigate to Credential Screen from mobile OSMA App crashes , Is it because Json response(https://jsoneditoronline.org/#left=cloud.9775b022f09a4cdfbb202ba9236aa5a9) does not matches the expected CredentailRecord format defined in Hyperledger.Aries ? Any pointers would be highly helpful. All I am trying to accomplish is sending credentials to connected agent and view it from OSMA APP. Thanks

Arsh-Sandhu (Tue, 19 Jan 2021 05:32:23 GMT):
hi @rangeshsripathi can you share on which line of code it crashes and what is the exception message

zossimov (Wed, 20 Jan 2021 07:25:01 GMT):
Hello, Is there any protocol / function available in aries .net framework, which notify the holder that his/her credentials are revoked? @tomislav @lijiachuan?

zossimov (Wed, 20 Jan 2021 07:25:01 GMT):
Hello, Is there any protocol / function available in aries .net framework, which notify the holder that his/her credentials are revoke?

rocky_2020 (Wed, 20 Jan 2021 12:15:49 GMT):
Has joined the channel.

Indhumathy0793 (Thu, 21 Jan 2021 16:04:41 GMT):
Has joined the channel.

Indhumathy0793 (Thu, 21 Jan 2021 16:04:42 GMT):
Hi, I have successfully created the wallet by using the link https://github.com/hyperledger/aries-mobileagent-xamarin. Now I want to restore the wallet details in my local path. I used the "RevocationRegistryDirectory" method to store my wallet details which is inbuilt in AriesFramework. I am unable to see the stored data in "RevocationRegistryDirectory" path(unable to see any files in that location). It will be helpful if anyone of you share some insights on this.

tomislav (Sun, 24 Jan 2021 00:25:12 GMT):
No, this isn't supported

tomislav (Sun, 24 Jan 2021 00:25:26 GMT):
We will be adding support for checking if a credential is revoked soon

tomislav (Mon, 25 Jan 2021 03:12:57 GMT):
https://github.com/hyperledger/aries-framework-dotnet/pull/157

tomislav (Mon, 25 Jan 2021 03:13:35 GMT):
PR above adds the ability for a holder to check if their credential has been revoked, without having to ask the issuer about it. It checks the state against the revocation registry

Indhumathy0793 (Thu, 28 Jan 2021 07:02:11 GMT):
Hi, I am following the https://github.com/hyperledger/aries-cloudagent-python/blob/master/demo/AriesOpenAPIDemo.md#requestingpresenting-a-proof link to create a proof request using "POST /present-proof/send-request" endpoint in Faber and I successfully created the proof request. After this call, I am going to create popup for proof request confirmation from Alice. Once Alice said "Yes", I wanted to respond for the proof request by using "POST /present-proof/records/{id}/send-presentation" endpoint in OSMA. Now, I want "Presentation Exchange ID" to create "send-presentation" API call, So how can i get it ? If possible any one of you help me regarding the same.

Indhumathy0793 (Thu, 28 Jan 2021 07:02:11 GMT):
Hi All, I have followed and created the mobile wallet by using the below OSMA github link. https://github.com/hyperledger/aries-mobileagent-xamarin I am able to achieve some of the wallet functionalities successfully but i am unable to find where SQLITE has initialized and stored the wallet details of both mediator, mobile wallets ( in OSMA where SQLite has been initialized and handled). I can notice SQLite folder is placed in my local path "C:\Users\SRINI\.indy_client\wallet\Edge9aa217732c1f46088304b75b9c26d539" while running the OSMA application. Still I am unable to find the piece of code where it has been initiated. Can anyone help me on this?

rangeshsripathi (Thu, 28 Jan 2021 13:59:19 GMT):
Hi All``` Are there are any sample reference code for sending proof from OSMA App ? It would be really helpful if there are any pointers around sending presentation from OSMA APP. Thanks ```

rangeshsripathi (Thu, 28 Jan 2021 13:59:19 GMT):
Hi All``` Are there are any sample reference code for responding to proof request from OSMA App ? It would be really helpful if there are any pointers around sending presentation from OSMA APP. Thanks ```

rangeshsripathi (Thu, 28 Jan 2021 13:59:19 GMT):
Hi All``` Are there are any sample reference code for responding to proof request from OSMA App ? It would be really helpful if there are any pointers around sending presentation from OSMA APP. Thanks ``` cc: @tomislav

rangeshsripathi (Mon, 01 Feb 2021 19:23:43 GMT):
Hi All``` I am following the github repo with aries agent enhancement - https://github.com/Arsh-Sandhu/aries-mobileagent-xamarin/tree/feature/agent-enhancements , I am able to connect to cloud agent and receive credentials in mobile app (OSMA) , but when I click accept credential offer , I get the following exception -` An unmapped error with the code '309' was returned by the SDK. ` Code breaks when the below line is executed `var (request, _) = await credentialService.CreateRequestAsync(context, _credential.Id);` Any clue / pointers would be helpful . Thanks. ```

rangeshsripathi (Mon, 01 Feb 2021 19:23:43 GMT):
Hi All I am following the github repo with aries agent enhancement - https://github.com/Arsh-Sandhu/aries-mobileagent-xamarin/tree/feature/agent-enhancements , I am able to connect to cloud agent and receive credentials in mobile app (OSMA) , but when I click accept credential offer , I get the following exception -` An unmapped error with the code '309' was returned by the SDK. ` Code breaks when the below line is executed `var (request, _) = await credentialService.CreateRequestAsync(context, _credential.Id);` Any clue / pointers would be helpful . Thanks.

Arsh-Sandhu (Tue, 02 Feb 2021 06:26:54 GMT):
Hi @rangeshsripathi, please check the network with which you are connected from osma.

Arsh-Sandhu (Tue, 02 Feb 2021 06:31:48 GMT):
I believe you are using different networks on the platform from where you offer the credential and on the OSMA app

rangeshsripathi (Tue, 02 Feb 2021 08:18:07 GMT):
Hi Arsh-Sandhu , I am using Von-greenlight.bcovrin network , http://dev.greenlight.bcovrin.vonx.io/genesis , I have used the same genesis block to connect Faber agent and Mobile Agent.

rangeshsripathi (Tue, 02 Feb 2021 08:18:07 GMT):
Hi @Arsh-Sandhu , I am using Von-greenlight.bcovrin network , http://dev.greenlight.bcovrin.vonx.io/genesis , I have used the same genesis block to connect Faber agent and Mobile Agent.

rangeshsripathi (Tue, 02 Feb 2021 08:18:07 GMT):
Hi @Arsh-Sandhu , I am using Von-greenlight.bcovrin network , http://dev.greenlight.bcovrin.vonx.io/genesis , I have used the same genesis file to connect Faber agent and Mobile Agent.

rangeshsripathi (Tue, 02 Feb 2021 08:26:27 GMT):
Hi Arsh-Sandhu , I am using Von-greenlight.bcovrin network , http://dev.greenlight.bcovrin.vonx.io/genesis , I have used the same genesis file to connect Faber agent and Mobile Agent.

rangeshsripathi (Tue, 02 Feb 2021 08:26:27 GMT):
Hi @Arsh-Sandhu , I am using Von-greenlight.bcovrin network , http://dev.greenlight.bcovrin.vonx.io/genesis , I have used the same genesis file to connect Faber agent and Mobile Agent.

horacionunez (Tue, 02 Feb 2021 12:44:35 GMT):
hey all, have you experienced any issues integrating with the Scoped Storage in the latest android versions?

tomislav (Wed, 03 Feb 2021 21:22:30 GMT):
What are you seeing?

horacionunez (Mon, 08 Feb 2021 22:27:09 GMT):
I resolved the issue. Will send you a PR with the description & fix.

Shweta1 (Tue, 09 Feb 2021 06:10:41 GMT):
Has joined the channel.

Shweta1 (Tue, 09 Feb 2021 06:10:42 GMT):
Hi Team, Aries cloud agent issue credential to osma mobile agent.when osma mobile agent accept credential,code breaks in file (../blob/master/src/Hyperledger.Aries/Ledger/DefaultLedgerService.cs) when calling method "await IndyLedger.ParseGetCredDefResponseAsync(res);".Getting error : ledger item not found -309 error indy exception. This seems res obj is not parsable from indy-sdk method.could you pls suggest how this res object needs to be pass.req and res object is attached.

Shweta1 (Tue, 09 Feb 2021 06:14:35 GMT):

req.txt

Shweta1 (Tue, 09 Feb 2021 06:14:43 GMT):

res.txt

horacionunez (Wed, 10 Feb 2021 23:56:00 GMT):
Same issue as described here: https://github.com/hyperledger/aries-mobileagent-xamarin/issues/19

ascatox (Thu, 18 Feb 2021 08:46:49 GMT):
Has joined the channel.

rpobulic (Sun, 07 Mar 2021 05:16:10 GMT):
Has joined the channel.

fenniffehewy (Sat, 13 Mar 2021 15:21:42 GMT):
Has joined the channel.

fenniffehewy (Sat, 13 Mar 2021 15:21:43 GMT):
I'm trying to send a `BasicMessage` from the Xamarin Edge Agent to the Aca-Py Cloud Agent using the below code Hyperledger.Aries.Features.BasicMessage.BasicMessage basicMessage = new() { Content = "Some Text", SentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) }; IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync(AgentContext, basicMessage, Connection.Record); The message is not received at the Aca-Py end I also tried sending the message as below. However, I get the error as `{"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "8b605a23-b58d-466d-bb7a-eb456bd48ac1", "~thread": {"thid": "59134bfd-7b2a-49ee-ac42-9a4c310c632b"}, "explain-ltxt": "Error deserializing message: BasicMessage schema validation failed"}` MessageContext messageContext = await messageService.SendReceiveAsync(AgentContext, basicMessage, Connection.Record); **Note**: The Xamarin Edge Agent is able to receive messages from Aca-Py without any issue

fenniffehewy (Sat, 13 Mar 2021 15:21:43 GMT):
I'm trying to send a `BasicMessage` from the Xamarin Edge Agent to the Aca-Py Cloud Agent using the below code ```Hyperledger.Aries.Features.BasicMessage.BasicMessage basicMessage = new() { Content = "Some Text", SentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) }; IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync(AgentContext, basicMessage, Connection.Record);``` The message is not received at the Aca-Py end I also tried sending the message as below. However, I get the error as `{"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "8b605a23-b58d-466d-bb7a-eb456bd48ac1", "~thread": {"thid": "59134bfd-7b2a-49ee-ac42-9a4c310c632b"}, "explain-ltxt": "Error deserializing message: BasicMessage schema validation failed"}` ```MessageContext messageContext = await messageService.SendReceiveAsync(AgentContext, basicMessage, Connection.Record);``` **Note**: The Xamarin Edge Agent is able to receive messages from Aca-Py without any issue

fenniffehewy (Sat, 13 Mar 2021 15:23:05 GMT):
Has left the channel.

SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT):
I'm trying to send a `BasicMessage` from the Xamarin Edge Agent to the Aca-Py Cloud Agent using the below code ```Hyperledger.Aries.Features.BasicMessage.BasicMessage basicMessage = new() { Content = "Some Text", SentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) }; IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync(AgentContext, basicMessage, Connection.Record);``` The message is not received at the Aca-Py end I also tried sending the message as below. However, I get the error as `{"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "8b605a23-b58d-466d-bb7a-eb456bd48ac1", "~thread": {"thid": "59134bfd-7b2a-49ee-ac42-9a4c310c632b"}, "explain-ltxt": "Error deserializing message: BasicMessage schema validation failed"}` ```MessageContext messageContext = await messageService.SendReceiveAsync(AgentContext, basicMessage, Connection.Record);``` **Note**: The Xamarin Edge Agent is able to receive messages from Aca-Py without any issue

SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT):
I'm trying to send a `BasicMessage` from the Xamarin Edge Agent to the Aca-Py Cloud Agent using the below code ```Hyperledger.Aries.Features.BasicMessage.BasicMessage basicMessage = new() { Content = "Some Text", SentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) }; IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync(AgentContext, basicMessage, Connection.Record);``` The message is not received at the Aca-Py end I also tried sending the message as below. However, I get the error as `{"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "8b605a23-b58d-466d-bb7a-eb456bd48ac1", "~thread": {"thid": "59134bfd-7b2a-49ee-ac42-9a4c310c632b"}, "explain-ltxt": "Error deserializing message: BasicMessage schema validation failed"}` ```MessageContext messageContext = await messageService.SendReceiveAsync(AgentContext, basicMessage, Connection.Record);``` The BasicMessageRecords aren't fetched with the below code on the Edge Agent indicating that the message isn't sent from Edge Agent to Aca-Py ```List basicMessageRecords = await walletRecordService.SearchAsync(AgentContext.Wallet, SearchQuery.Equal(nameof(BasicMessageRecord.ConnectionId), ConnectionRecord.Id), null, int.MaxValue);``` **Note**: The Xamarin Edge Agent is able to receive messages from Aca-Py without any issue

SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT):
I'm trying to send a `BasicMessage` from the Xamarin Edge Agent to the Aca-Py Cloud Agent using the below code ```Hyperledger.Aries.Features.BasicMessage.BasicMessage basicMessage = new() { Content = "Some Text", SentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) }; IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync(AgentContext, basicMessage, Connection.Record);``` The message is not received at the Aca-Py end I also tried sending the message as below. However, I get the error as `{"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "8b605a23-b58d-466d-bb7a-eb456bd48ac1", "~thread": {"thid": "59134bfd-7b2a-49ee-ac42-9a4c310c632b"}, "explain-ltxt": "Error deserializing message: BasicMessage schema validation failed"}` `MessageContext messageContext = await messageService.SendReceiveAsync(AgentContext, basicMessage, Connection.Record);` The BasicMessageRecords aren't fetched with the below code on the Edge Agent indicating that the message isn't sent from Edge Agent to Aca-Py `List basicMessageRecords = await walletRecordService.SearchAsync(AgentContext.Wallet, SearchQuery.Equal(nameof(BasicMessageRecord.ConnectionId), ConnectionRecord.Id), null, int.MaxValue);` **Note**: The Xamarin Edge Agent is able to receive messages from Aca-Py without any issue

SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT):
@tomislav , can you help with the below, please? I'm trying to send a `BasicMessage` from the Xamarin Edge Agent to the Aca-Py Cloud Agent using the below code ```Hyperledger.Aries.Features.BasicMessage.BasicMessage basicMessage = new() { Content = "Some Text", SentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) }; IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync(AgentContext, basicMessage, Connection.Record);``` The message is not received at the Aca-Py end I also tried sending the message as below. However, I get the error as `{"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/notification/1.0/problem-report", "@id": "8b605a23-b58d-466d-bb7a-eb456bd48ac1", "~thread": {"thid": "59134bfd-7b2a-49ee-ac42-9a4c310c632b"}, "explain-ltxt": "Error deserializing message: BasicMessage schema validation failed"}` `MessageContext messageContext = await messageService.SendReceiveAsync(AgentContext, basicMessage, Connection.Record);` The BasicMessageRecords aren't fetched with the below code on the Edge Agent indicating that the message isn't sent from Edge Agent to Aca-Py `List basicMessageRecords = await walletRecordService.SearchAsync(AgentContext.Wallet, SearchQuery.Equal(nameof(BasicMessageRecord.ConnectionId), ConnectionRecord.Id), null, int.MaxValue);` **Note**: The Xamarin Edge Agent is able to receive messages from Aca-Py without any issue

HighBrow (Sun, 14 Mar 2021 08:18:51 GMT):
Has joined the channel.

ascatox (Mon, 15 Mar 2021 10:41:40 GMT):
Hi All! Someone can give me an example, a project or something else, where can I see the usage of the Aries Framework .NET. Thanks in advance.

TimoGlastra (Mon, 15 Mar 2021 10:45:56 GMT):
Aries Mobile Agent Xamarin is an open source mobile agent built with Aries Framework .NET: https://github.com/hyperledger/aries-mobileagent-xamarin. Aries Agent Test Harness uses Aries Framework .NET for interoperability testing: https://github.com/hyperledger/aries-agent-test-harness/tree/master/aries-backchannels/dotnet/server

ascatox (Mon, 15 Mar 2021 10:46:28 GMT):
:thumbsup:

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials); - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator); IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync( agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray()); ` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials);` - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator); IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync( agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray()); ` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials);` - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator); IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync( agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray());` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below``` ``` `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials);```` ``` - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator); IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync( agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray());` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below``` ``` `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials);```` ``` - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below ``` ``` `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator); IMessageService messageService = App.Container.Resolve(); await messageService.SendAsync( agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray());` ``` ``` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below``` ``` `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials);```` ``` - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below ``` ``` `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator);` `IMessageService messageService = App.Container.Resolve();` `await messageService.SendAsync(agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray()); ```` ``` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below``` `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials); - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator);` `IMessageService messageService = App.Container.Resolve();` `await messageService.SendAsync(agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray());` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

SahilK 6 (Thu, 18 Mar 2021 10:44:50 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below``` `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials); - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator);` `IMessageService messageService = App.Container.Resolve();` `await messageService.SendAsync(agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray());` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working? ```

SahilK 6 (Thu, 18 Mar 2021 10:45:48 GMT):
Hi, The DotNet Edge Agent is unable to send a `Connectionless Presentation Message` to the DotNet Verifier Agent. Below is the scenario. *EA = Edge Agent* - EA1 creates a `Connectionless Proof Request` - EA2 scans the Connectionless Proof Request and creates a `PresentationMessage` as below `ProofRecord record = await proofService.ProcessRequestAsync(agentContext, Proof.RequestPresentationMessage, null);` `(PresentationMessage presentationMessage, ProofRecord proofRecord) = await proofService.CreatePresentationAsync(agentContext, record.Id, requestedCredentials);` - The state of the `ProofRecord` on EA2 is `Accepted` - EA2 sends the `PresentationMessage` as below `ServiceDecorator service = Proof.RequestPresentationMessage.GetDecorator(DecoratorNames.ServiceDecorator);` `IMessageService messageService = App.Container.Resolve();` `await messageService.SendAsync(agentContext: agentContext, message: presentationMessage, recipientKey: service.RecipientKeys.First(), endpointUri: service.ServiceEndpoint, routingKeys: service.RoutingKeys?.ToArray());` In the above step, EA2 gets the error "*Failed to send A2A message with an HTTP status code of InternalServerError and content*". @tomislav, can you advise on the changes I need to make to get it working?

Indhumathy0793 (Mon, 29 Mar 2021 11:31:01 GMT):
Hi All, I have followed and created the mobile wallet by using the below OSMA github link. https://github.com/hyperledger/aries-mobileagent-xamarin I am able to achieve some of the wallet functionalities successfully but i am unable to find where SQLITE has initialized and stored the wallet details of both mediator, mobile wallets ( in OSMA where SQLite has been initialized and handled). I can notice SQLite folder is placed in my local path C:\Users\SRINI\.indy_client\wallet\Edge9aa217732c1f46088304b75b9c26d539 while running the OSMA application. Still I am unable to find the piece of code where it has been initiated. Can anyone help me on this?

zossimov (Tue, 30 Mar 2021 10:50:50 GMT):
Hi, after update Aries Nuget Package, I'm getting this error ``` There is no argument given that corresponds to the required formal parameter 'endpointUri' of 'IMessageService.SendReceiveAsync(IAgentContext, AgentMessage, string, string, string[], string)' ``` on this code (earlier, same code but no error) `await _messageService.SendAsync(agentContext.Wallet, proofMsg, connectionRecord);`

zossimov (Tue, 30 Mar 2021 10:50:50 GMT):
Hi all, after updating Aries Nuget Pacakage, I'm getting this error ``` There is no argument given that corresponds to the required formal parameter 'endpointUri' of 'IMessageService.SendReceiveAsync(IAgentContext, AgentMessage, string, string, string[], string)' ``` on this code (earlier, same code but no error) `await _messageService.SendAsync(agentContext.Wallet, proofMsg, connectionRecord);`

zossimov (Tue, 30 Mar 2021 10:50:50 GMT):
Hi all, after updating Aries Nuget Packages, I'm getting this error ``` There is no argument given that corresponds to the required formal parameter 'endpointUri' of 'IMessageService.SendReceiveAsync(IAgentContext, AgentMessage, string, string, string[], string)' ``` on this code (earlier, same code but no error) `await _messageService.SendAsync(agentContext.Wallet, proofMsg, connectionRecord);`

zossimov (Tue, 30 Mar 2021 10:50:50 GMT):
Hi all, after updating Aries Nuget Packages, I'm getting this error ``` There is no argument given that corresponds to the required formal parameter 'endpointUri' of 'IMessageService.SendAsync(IAgentContext, AgentMessage, string, string, string[], string)' ``` on this code (earlier, same code but no error) `await _messageService.SendAsync(agentContext.Wallet, proofMsg, connectionRecord);`

SahilK 6 (Wed, 31 Mar 2021 06:48:34 GMT):
@zossimov, add a breakpoint and see the value of *connectionRecord.Endpoint.Uri*. Check if it is the correct one or is it null?

ascatox (Fri, 02 Apr 2021 07:13:53 GMT):
Hi All! Is it possible using the .NET framework querying the Indy Ledger? Someone can help me with some examples, or indicating the C# classes to start my investigation!

anil_helvaci (Mon, 05 Apr 2021 12:22:59 GMT):
And how do we do that? In storage config there is no field about db admin and password. But Acapy has it. How do we handle the db credentials here?

ascatox (Tue, 06 Apr 2021 08:23:25 GMT):
Someone can help me with this problem with Win 10 OS! https://github.com/hyperledger/aries-framework-dotnet/issues/151

sheldon.regular (Wed, 07 Apr 2021 18:37:50 GMT):
Has joined the channel.

anil_helvaci (Thu, 08 Apr 2021 23:40:41 GMT):
Hi everyone, I am trying build the indy-sdk postgres-plugin(https://github.com/hyperledger/indy-sdk/tree/master/experimental/plugins/postgres_storage) by following the instructions in README.md but I am having some problems. Hope someone can help me. I am trying to build each project in the following order: 1) indy-sdk/libindy 2) indy-sdk/cli 3) indy-sdk/experimental/plugins/postgres_storage But the error message is always the same; `error: failed to run custom build command for `libsodium-sys v0.0.16` Caused by: process didn't exit successfully: `C:\Users\anilh\work\one37\postgres-plugin\indy-sdk\libindy\target\debug\build\libsodium-sys-2c407bb769129617\build-script-build` (exit code: 101) --- stdout cargo:rerun-if-env-changed=SODIUM_LIB_DIR cargo:rerun-if-env-changed=SODIUM_STATIC cargo:rerun-if-env-changed=LIBSODIUM_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=LIBSODIUM_STATIC cargo:rerun-if-env-changed=LIBSODIUM_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-pc-windows-msvc cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_pc_windows_msvc cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-pc-windows-msvc cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_pc_windows_msvc cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-pc-windows-msvc cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_pc_windows_msvc cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR --- stderr thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"libsodium\"`: The system cannot find the file specified. (os error 2)"', C:\Users\anilh\.cargo\registry\src\github.com-1ecc6299db9ec823\libsodium-sys-0.0.16\build.rs:20:47 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... error: build failed` I am not familiar with rust but "sodiumoxide = {version = "0.0.16"}" is present in Cargo.toml file in all directories. I hope someone knows how to build postgres-plugin correctly :pray: . Or is there an alternative way to run a dotnet agent with postgres?

ascatox (Mon, 12 Apr 2021 11:12:35 GMT):
'Hi All! I'm trying to integrate the Web Agent example contained in the .NET framework with the Xamarin Mobile Agent. Is this possible? Someone has experiences about this? Thanks in advance.

ascatox (Mon, 12 Apr 2021 12:40:20 GMT):
I'm encountering always this error in the mediator _`Hyperledger.Aries.AriesFrameworkException: Failed to send A2A message with an HTTP status code of InternalServerError and content System.NullReferenceException: Object reference not set to an instance of an object. at Hyperledger.Aries.Routing.DefaultRoutingStore.FindRouteAsync(String destinationRoute)`_

ascatox (Wed, 14 Apr 2021 09:31:01 GMT):
Hi All, Is it possible to configure the ADDRESS to access Indy, in my setup Indy is on a VPS with public address. I'm developing a project using the .NET framework on my laptop, but I can't find any config file for Indy. Thanks in advance!!!

SahilK 6 (Wed, 14 Apr 2021 10:55:26 GMT):
Hi, I want to make the Xamarin Edge Agent an *Issuer* so that it can create Schema and Issue Credentials. Can anyone guide me on the process, please? If I try to create a Schema, I get the error *Ledger operation rejected* *Note*: Once the Edge Agent wallet is created, I'm able to get the IssuerDid and IssuerVerKey from the `ProvisioningService` `await provisioningService.GetProvisioningAsync(agentContext.Wallet)`

SahilK 6 (Wed, 14 Apr 2021 10:55:26 GMT):
Hi @tomislav , I want to make the Xamarin Edge Agent an *Issuer* so that it can create Schema and Issue Credentials. Can anyone guide me on the process, please? If I try to create a Schema, I get the error *Ledger operation rejected* *Note*: Once the Edge Agent wallet is created, I'm able to get the IssuerDid and IssuerVerKey from the `ProvisioningService` `await provisioningService.GetProvisioningAsync(agentContext.Wallet)`

horacionunez (Thu, 15 Apr 2021 21:00:19 GMT):
@ascatox indy is the library that allows you to manage the wallet. If you are looking to configure the agent that will work over your wallet, this is something akin to a conf file: https://github.com/hyperledger/aries-mobileagent-xamarin/blob/9779eda8bc177f461c32e22fe405b5ec60dc51a3/src/Osma.Mobile.App/App.xaml.cs#L64

horacionunez (Thu, 15 Apr 2021 21:00:44 GMT):
If you elaborate more in what you are trying to build I can provide more help

ascatox (Tue, 20 Apr 2021 11:43:08 GMT):
Hi All! I'm exploring the aries mobile xamarin project! I've found in the .indy-client folder

ascatox (Tue, 20 Apr 2021 11:43:08 GMT):
Hi All! I'm exploring the aries mobile xamarin project! I've found in the .indy-client folder a wallet for the Mediator and some EdgeXX wallets for mobile applications connected to the mediator! I suppose that each mobile app has on own wallet. I can't understand the function of a wallet for the mediator.

ascatox (Tue, 20 Apr 2021 11:43:08 GMT):
Hi All! I'm exploring the aries mobile xamarin project! I've found in the .indy-client folder a wallet for the Mediator and some EdgeXX wallets for mobile applications connected to the mediator! I suppose that each mobile app has on own wallet. I can't understand the function of a wallet for the mediator. Someone can help me to better understand better this. Thanks in advance.

horacionunez (Tue, 20 Apr 2021 14:25:01 GMT):
hey ascatox, yes, for xamarin project every app is expected to have only one wallet. the mediator is required to power features like mobile notifications.

horacionunez (Tue, 20 Apr 2021 14:25:34 GMT):
If you see the video in the project page you will get a good intro.

ascatox (Wed, 21 Apr 2021 07:13:10 GMT):
I don't understand if I can create a Use Case without a mediator, or if it's necessary for mobile applications???

ascatox (Wed, 21 Apr 2021 07:58:17 GMT):
Hi All! I'm using a Mac M1, I tried to rebuild from source the libindy library to use with the mediator project. The build using the script mac.build.sh contained in the GH repo of the sdk works correctly but in the mediator framework, I encounter always the error *`Unhandled exception. System.DllNotFoundException: Unable to load shared library 'indy' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLDPRINT_LIBRARIES environment variable: dlopen(libindy, 1): image not found at Hyperledger.Indy.WalletApi.NativeMethods.indy_create_wallet(Int32 command_handle, String config, String credentials, IndyMethodCompletedDelegate cb)`*_ It may be a problem caused from the M1 arm64 architecture not fully supported????

ascatox (Wed, 21 Apr 2021 07:58:17 GMT):
Hi All! I'm using a Mac M1, I tried to rebuild from source the libindy library to use with the mediator project. The build using the script mac.build.sh contained in the GH repo of the sdk works correctly but in the mediator framework, I encounter always the error `Unhandled exception. System.DllNotFoundException: Unable to load shared library 'indy' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLDPRINT_LIBRARIES environment variable: dlopen(libindy, 1): image not found at Hyperledger.Indy.WalletApi.NativeMethods.indy_create_wallet(Int32 command_handle, String config, String credentials, IndyMethodCompletedDelegate cb)`_ It may be a problem caused from the M1 arm64 architecture not fully supported????

ascatox (Wed, 21 Apr 2021 07:58:17 GMT):
Hi All! I'm using a Mac M1, I tried to rebuild from source the libindy library to use with the mediator project. The build using the script mac.build.sh contained in the GH repo of the sdk works correctly but in the mediator framework, I encounter always the error: `Unhandled exception. System.DllNotFoundException: Unable to load shared library 'indy' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLDPRINT_LIBRARIES environment variable: dlopen(libindy, 1): image not found at Hyperledger.Indy.WalletApi.NativeMethods.indy_create_wallet(Int32 command_handle, String config, String credentials, IndyMethodCompletedDelegate cb)` It may be a problem caused from the M1 arm64 architecture not fully supported????

horacionunez (Wed, 21 Apr 2021 21:58:32 GMT):
Is necessary for mobile applications. This is the line where the mediator url is set: https://github.com/hyperledger/aries-mobileagent-xamarin/blob/9779eda8bc177f461c32e22fe405b5ec60dc51a3/src/Osma.Mobile.App/App.xaml.cs#L67

horacionunez (Wed, 21 Apr 2021 21:59:37 GMT):
Make sure you have the libindy file linked to the compilation process. I will recommend having a folder for libs right next your project.

horacionunez (Wed, 21 Apr 2021 22:00:32 GMT):
See step 3 of Getting Started here: https://github.com/hyperledger/aries-mobileagent-xamarin

tkdp (Wed, 28 Apr 2021 13:51:00 GMT):
Has joined the channel.

tkdp (Wed, 28 Apr 2021 13:51:01 GMT):
has someone experiences with In-queries (SearchQuery.In); i have the following code: `string?[] connections = ... // has an entries consisting of a single connectionId connectionRecords = await _connectionService.ListAsync( agentContext, SearchQuery.In(nameof(ConnectionRecord.Id), connections) ` the returned list connectionRecords is always empty; if i do the query program by myself i get the target; does somebody knows what i'm doing wrong?

tkdp (Wed, 28 Apr 2021 13:51:01 GMT):
has someone experiences with In-queries (SearchQuery.In); i have the following code: ``` string?[] connections = ... // has an entries consisting of a single connectionId connectionRecords = await _connectionService.ListAsync( agentContext, SearchQuery.In(nameof(ConnectionRecord.Id), connections) ``` the returned list connectionRecords is always empty; if i do the query program by myself i get the target; does somebody knows what i'm doing wrong?

tkdp (Wed, 28 Apr 2021 13:51:01 GMT):
has someone experiences with In-queries (SearchQuery.In); i have the following code: ``` string?[] connections = ... // has an entries consisting of a single connectionId connectionRecords = await _connectionService.ListAsync( agentContext, SearchQuery.In(nameof(ConnectionRecord.Id), connections) ``` the returned list connectionRecords is always empty; if i do the query program by myself i get the target; does somebody know what i'm doing wrong?

tkdp (Wed, 28 Apr 2021 13:51:01 GMT):
has someone experiences with In-queries (SearchQuery.In); i have the following code: ``` string?[] connections = ... // has an entry consisting of a single connectionId connectionRecords = await _connectionService.ListAsync( agentContext, SearchQuery.In(nameof(ConnectionRecord.Id), connections) ``` the returned list connectionRecords is always empty; if i do the query program by myself i get the target; does somebody know what i'm doing wrong?

SahilK 6 (Fri, 07 May 2021 09:47:02 GMT):
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=Lpvt37hyKceo2d4Ex) Can anyone help me with this, please? I'm still struggling to resolve this issue.

sebastian (Fri, 07 May 2021 14:19:02 GMT):
Are you sure you have the required write permissions for the ledger? The IssuerDid must be known on the ledger and must have the required permission (e.g. Endorser)

SahilK 6 (Sat, 08 May 2021 11:38:50 GMT):
Yes. The IssuerDid of the Edge Agent is assigned the role of an `Endorser` on the Ledger. There is an entry for that on the Ledger.

TimoGlastra (Wed, 12 May 2021 05:15:24 GMT):
Is it possible the schema already exists on the ledger?

SahilK 6 (Wed, 12 May 2021 11:48:20 GMT):
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=ke1eeP6R0zrTVMVKG) I tried creating the Schema with different parameters (name, version, attributes). However, I get the same error each time :disappointed:

spilling (Thu, 13 May 2021 17:02:22 GMT):
Has joined the channel.

spilling (Thu, 13 May 2021 17:16:18 GMT):
This response belongs here. https://chat.hyperledger.org/channel/aries?msg=s7anSdhTFkYJmvzew

spilling (Thu, 13 May 2021 17:28:11 GMT):
Looks like some support has been added to the project to store TAA in the wallet. https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries/Configuration/TxnAuthorAcceptanceService.cs#L54

spilling (Thu, 13 May 2021 17:30:10 GMT):
And, it seems to have been added to the `DefaultLedgerSigningService`. https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries/Ledger/DefaultLedgerSigningService.cs#L23

Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT):
Has joined the channel.

Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT):
Hello! I am building a wallet App with aries_framework_dotnet. I have several ACA-Py Agents running to issue credentials.

Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT):
Hello! I am building a wallet App with aries_framework_dotnet. How can i send a CredentialProposeMessage with Preview attributes? I have several ACA-Py Agents running to issue credentials. The ProposeMessage has no attributes and the ACA-Py agent cant deal with that message.

Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT):
Hello! I am building a wallet App based on aries_framework_dotnet and aries-mobileagent-xamarin. How can i send a CredentialProposeMessage with Preview attributes? I have several ACA-Py Agents running to issue credentials. The ProposeMessage has no attributes and the ACA-Py agent cant deal with that message.

Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT):
Hello! I am building a wallet App based on aries_framework_dotnet and aries-mobileagent-xamarin. How can i send a CredentialProposeMessage with Preview attributes? I have several ACA-Py Agents running to issue credentials. The ProposeMessage has no attributes and the ACA-Py agent cant deal with that message. I have tried to send a proposeMessage and a previewMessage and linking them together with the same ID, but it didn't work. When i work only witl ACA-Py agents i can send a Proposal with integrated Preview and attributes.

Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT):
Hello! I am building a wallet App based on aries_framework_dotnet and aries-mobileagent-xamarin. How can i send a CredentialProposeMessage with Preview attributes? I have several ACA-Py Agents running to issue credentials. The ProposeMessage has no attributes and the ACA-Py agent cant deal with that message. I have tried to send a proposeMessage and a previewMessage and linking them together with the same ID, but it didn't work. When i work only with ACA-Py agents i can send a Proposal with integrated Preview and attributes.

SahilK 6 (Fri, 04 Jun 2021 14:17:53 GMT):
I was using the NuGet version 1.5.2 earlier. The moment I updated to the version 1.6.1, it started working. Now, the Edge Agent is able to register schema and issue credentials

SahilK 6 (Sat, 05 Jun 2021 06:45:34 GMT):
Hi, I have a Xamarin Edge Agent. I have subscribed to `ServiceMessageProcessingEvent` and am able to get the events such as `OfferCredential`, `RequestPresentation`, etc. I want to receive an update when the Edge Agent gets a `BasicMessage`. However, I'm unable to receive any such event with the `ServiceMessageProcessingEvent` subscription. Can anyone help me with this, please?

zossimov (Sat, 05 Jun 2021 16:09:55 GMT):
Mediator Stuck and isn't Updating (sending/receiving messages to mobile agent) 2 Months ago, updated the `Hyperledger.Aries.Routing.Edge` to `1.6.1` from `1.4.0` and last week I noticed that we were getting an error in Presentation Proof, used the older version of agents and were still getting that same error. Noticed, that mediator got stuck and wasn't updating (after every 10 seconds, it route messages to mobile agent from issuer/verifier agent). Now, using `1.4.0` again and Connections are most of time stuck in Negotiating, Credentials in Requested state e.t.c, and all these issues because of the reason that Mediator stuck and isn't routing messages. I only noticed this error in mediator logs few times. ``` fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] An unhandled exception has occurred while executing the request. Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Unexpected end of request content. at Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException.Throw(RequestRejectionReason reason) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody.ReadAsyncInternal(CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream.ReadAsyncInternal(Memory`1 buffer, CancellationToken cancellationToken) at System.IO.StreamReader.ReadBufferAsync(CancellationToken cancellationToken) at System.IO.StreamReader.ReadToEndAsyncInternal() at Hyperledger.Aries.AspNetCore.AgentMiddleware.Invoke(HttpContext aHttpContext, IAgentProvider aAgentProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) ```

SahilK 6 (Tue, 08 Jun 2021 06:35:12 GMT):
`Hi, I have a Xamarin Edge Agent. I have subscribed to `ServiceMessageProcessingEvent` and am able to get the events such as `OfferCredential`, `RequestPresentation`, etc. I want to receive an update when the Edge Agent gets a `BasicMessage`. However, I'm unable to receive any such event with the `ServiceMessageProcessingEvent` subscription. Can anyone help me with this, please?`

Arsh-Sandhu (Tue, 08 Jun 2021 12:32:13 GMT):
Hi @SahilK 6, ServiceMessageProcessingEventis not published by default when a BasicMessage is received. You have to create a your own AgentMiddleware and process the basic message in OnMessageAsync function

ankita.p17 (Mon, 14 Jun 2021 06:33:00 GMT):
Hi All, wanted to know if there is any performance report for credential issuance, verification, revocation etc of dotnet fromework?

horacionunez (Wed, 16 Jun 2021 17:24:02 GMT):
What do you mean by performance here? Time it takes to complete those flows, or the reliability of supporting them?

horacionunez (Wed, 16 Jun 2021 17:25:15 GMT):
I'm not aware of any benchmark report atm. But isn't hard to setup some code to track this flows in your app.

ankita.p17 (Thu, 17 Jun 2021 07:09:09 GMT):
I'm referring to time it takes to complete the flows. We can have a setup and test but it's good to compare with some benchmark if we have.

horacionunez (Fri, 18 Jun 2021 17:43:36 GMT):
hmm.. from memory... I have seen credentials verified between 5-10 seconds max.

horacionunez (Fri, 18 Jun 2021 17:44:36 GMT):
but I think the latency here has to do more with your infrastructure than with the framework design. the aries framework is a very thin layer on top of .net

horacionunez (Fri, 18 Jun 2021 17:44:36 GMT):
but I think the latency here has to do more with your infrastructure than with the framework design. the aries framework is a very thin layer on top of indy tbh.

SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT):
Hi, I'm using a .NET Edge Agent that is connected to a .NET Mediator Agent (e.g. http://32.16.194.132:5000). Is there a way that the same .NET Edge Agent can change to a new .NET Mediator Agent endpoint (e.g. http://132.160.94.32:7000). How will the other connections know that the endpoint of my Edge Agent has changed?

SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT):
Hi, I'm using a .NET Edge Agent that is connected to a .NET Mediator Agent (e.g. http://32.16.194.132:5000). Is there a way that the same .NET Edge Agent can change to a new .NET Mediator Agent endpoint (e.g. http://132.160.94.32:7000). How will the other connections know that the endpoint of my Edge Agent has changed? I tried the following also, but the issue is still the same `ProvisioningRecord.Endpoint.Uri = "http://132.160.94.32:7000"; IWalletRecordService walletRecordService = App.Container.Resolve(); await walletRecordService.UpdateAsync(agentContext.Wallet, provisioningRecord); await provisioningService.UpdateEndpointAsync(agentContext.Wallet, provisioningRecord.Endpoint);`

SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT):
Hi, I'm using a .NET Edge Agent that is connected to a .NET Mediator Agent (e.g. http://32.16.194.132:5000). Is there a way that the same .NET Edge Agent can change to a new .NET Mediator Agent endpoint (e.g. http://132.160.94.32:7000). How will the other connections know that the endpoint of my Edge Agent has changed? I tried the following also, but the issue is still the same ``` ProvisioningRecord.Endpoint.Uri = "http://132.160.94.32:7000"; IWalletRecordService walletRecordService = App.Container.Resolve(); await walletRecordService.UpdateAsync(agentContext.Wallet, provisioningRecord); await provisioningService.UpdateEndpointAsync(agentContext.Wallet, provisioningRecord.Endpoint); ```

SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT):
Hi, I'm using a .NET Edge Agent that is connected to a .NET Mediator Agent (e.g. http://32.16.194.132:5000). Is there a way that the same .NET Edge Agent can change to a new .NET Mediator Agent endpoint (e.g. http://132.160.94.32:7000). How will the other connections know that the endpoint of my Edge Agent has changed? I tried the following also, but the issue is still the same ``` ProvisioningRecord.Endpoint.Uri = "http://132.160.94.32:7000"; await provisioningService.UpdateEndpointAsync(agentContext.Wallet, provisioningRecord.Endpoint); await walletRecordService.UpdateAsync(agentContext.Wallet, provisioningRecord); ```

SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT):
Hi, I'm using a .NET Edge Agent that is connected to a .NET Mediator Agent (e.g. http://32.16.194.132:5000). Is there a way that the same .NET Edge Agent can change to a new .NET Mediator Agent endpoint (e.g. http://132.160.94.32:7000). How will the other connections know that the endpoint of my Edge Agent has changed? I tried the following also, but the issue is still the same ``` provisioningRecord.Endpoint.Uri = "http://132.160.94.32:7000"; await provisioningService.UpdateEndpointAsync(agentContext.Wallet, provisioningRecord.Endpoint); await walletRecordService.UpdateAsync(agentContext.Wallet, provisioningRecord); ```

guilhermejd3p (Mon, 21 Jun 2021 16:45:23 GMT):
Has joined the channel.

lwyatt (Tue, 22 Jun 2021 04:53:14 GMT):
Has joined the channel.

SahilK 6 (Wed, 23 Jun 2021 09:27:17 GMT):
Hi @Arsh-Sandhu , Thanks for your response. I created a `CustomAgentMiddleware`. Now, I receive all the messages (connections, credentials, etc) in the `OnMessageAsync` method. I want to know if the `CustomAgentMiddleware` needs to process all the messages that it receives, or is there a way to offload the processing of these messages to some other (already existing) module?

Mark_Spencer (Wed, 23 Jun 2021 15:17:40 GMT):
Has joined the channel.

SahilK 6 (Fri, 25 Jun 2021 07:48:13 GMT):
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=Zfi7xGb93TNDmKHEy) Can anyone help me with this, please?

TimoGlastra (Fri, 25 Jun 2021 10:00:59 GMT):
I think this is a more general problem with peer dids that currently is not handled by any agent that I'm aware of. If you use public DIDs you can solve the issue, but for peer DIDs you need something like the sync-connection-protocol to update the diddoc https://github.com/hyperledger/aries-rfcs/blob/master/features/0030-sync-connection/README.md

RounakGhosh (Tue, 29 Jun 2021 17:09:34 GMT):
Has joined the channel.

RounakGhosh (Tue, 29 Jun 2021 17:09:35 GMT):
Hello Everyone, is there any way to configure --image-url in mobile end. I am using Xamarin in mobile application? Any help would be appreciated. Thanks

RounakGhosh (Wed, 30 Jun 2021 13:40:23 GMT):
I am using Xamarin in the Mobile end for configuring the application, however, when I am not giving any agent image URL it is working fine, however when I am using any agent URL in the mobile wallet, it is not working with the web agent connection, the connection state is remaining in negotiating state and not getting connected. I am posting the code here. Any help would be appreciated. Thanks!! public static IHostBuilder BuildHost(Assembly platformSpecific = null) => XamarinHost.CreateDefaultBuilder() .ConfigureServices((_, services) => { services.AddAriesFramework(builder => builder.RegisterEdgeAgent( options: options => { options.EndpointUri = "http://localhost:5000"; options.AgentName = "test"; options.AgentImageUri = "http://via.placeholder.com/300.png"; options.WalletConfiguration.StorageConfiguration = new WalletConfiguration.WalletStorageConfiguration { Path = Path.Combine( path1: FileSystem.AppDataDirectory, path2: ".indy_client", path3: "wallets") }; options.WalletConfiguration.Id = "MobileWallet"; options.WalletCredentials.Key = "SecretWalletKey"; options.RevocationRegistryDirectory = Path.Combine( path1: FileSystem.AppDataDirectory, path2: ".indy_client", path3: "tails"); // Available network configurations (see PoolConfigurator.cs): // sovrin-live // sovrin-staging // sovrin-builder // bcovrin-test options.PoolName = "sovrin-staging"; }, delayProvisioning: true)); services.AddSingleton(); var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterAssemblyModules(typeof(CoreModule).Assembly); if (platformSpecific != null) { containerBuilder.RegisterAssemblyModules(platformSpecific); } containerBuilder.Populate(services); Container = containerBuilder.Build(); });

RounakGhosh (Wed, 30 Jun 2021 13:40:23 GMT):
I am using Xamarin in the Mobile end for configuring the application, however, when I am not giving any agent image URL it is working fine, however when I am using any agent URL in the mobile wallet, it is not working with the web agent connection, the connection state is remaining in negotiating state and not getting connected. I am posting the code here. Any help would be appreciated. Thanks!! @horacionunez public static IHostBuilder BuildHost(Assembly platformSpecific = null) => XamarinHost.CreateDefaultBuilder() .ConfigureServices((_, services) => { services.AddAriesFramework(builder => builder.RegisterEdgeAgent( options: options => { options.EndpointUri = "http://localhost:5000"; options.AgentName = "test"; options.AgentImageUri = "http://via.placeholder.com/300.png"; options.WalletConfiguration.StorageConfiguration = new WalletConfiguration.WalletStorageConfiguration { Path = Path.Combine( path1: FileSystem.AppDataDirectory, path2: ".indy_client", path3: "wallets") }; options.WalletConfiguration.Id = "MobileWallet"; options.WalletCredentials.Key = "SecretWalletKey"; options.RevocationRegistryDirectory = Path.Combine( path1: FileSystem.AppDataDirectory, path2: ".indy_client", path3: "tails"); // Available network configurations (see PoolConfigurator.cs): // sovrin-live // sovrin-staging // sovrin-builder // bcovrin-test options.PoolName = "sovrin-staging"; }, delayProvisioning: true)); services.AddSingleton(); var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterAssemblyModules(typeof(CoreModule).Assembly); if (platformSpecific != null) { containerBuilder.RegisterAssemblyModules(platformSpecific); } containerBuilder.Populate(services); Container = containerBuilder.Build(); });

AnjiSSI (Thu, 01 Jul 2021 10:19:59 GMT):
Has joined the channel.

IndhumathyMalayappan (Fri, 02 Jul 2021 15:36:01 GMT):
Has joined the channel.

rafaelandradegs (Mon, 05 Jul 2021 16:37:57 GMT):
Has joined the channel.

SergiuM 1 (Fri, 09 Jul 2021 07:56:52 GMT):
Has joined the channel.

mturetchi (Fri, 09 Jul 2021 08:09:34 GMT):
Has joined the channel.

mturetchi (Fri, 09 Jul 2021 08:47:52 GMT):
Hello I'm trying to implement a Web and Mobile Agent. I want when issuing a document to be able to transmit a file (for example the image of the real document). I analyzed the library and saw that is possible to add attachment, but I don't see operations that store or process these attachments I created a issue on github but I don't get any response: https://github.com/hyperledger/aries-framework-dotnet/issues/192 So my question: is it possible to send file attachments, obtain them and extract them later? Thank you in advance!

SahilK 6 (Tue, 13 Jul 2021 06:33:10 GMT):
@RounakGhosh , in case you are connecting to the Aca-Py cloud agent, you may have to check the logs of the Aca-Py cloud agent. Chances are the image from the .NET agent is sent in a different attribute (attachDecorator) and may not be parsed correctly by Aca-Py. I believe connecting to the .NET agent (Mobile agent-1 connects to Mobile Agent-2) should work fine.

AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT):
Hi,

AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT):
Hi, How to share the minimal verifiable credentials to verifier Agent.

AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT):
Hi, How to share the minimal verifiable credentials(Attributes) to verifier Agent as a proof.is there any option. please suggest

AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT):
Hi, How can we share the minimal verifiable credentials and also mix of credentials to verifier. Is there any option. please suggest

RounakGhosh (Tue, 20 Jul 2021 17:19:02 GMT):

Clipboard - July 20, 2021 10:47 PM

RounakGhosh (Tue, 20 Jul 2021 17:19:10 GMT):
@SahilK 6

SahilK 6 (Mon, 26 Jul 2021 05:57:59 GMT):
@RounakGhosh , I suggest you check the real-time logs of the below - Connect from one Aca-Py (having a profile image) with another Aca-Py. See the structure of the `ConnectionRequest` - Connect from one Edge Agent (having a profile image) with Aca-Py. See the structure of the `ConnectionRequest` I believe you'll find some differences in the way the profile image URL is sent by the Edge Agent and Aca-Py

RounakGhosh (Thu, 29 Jul 2021 16:56:14 GMT):
@SahilK 6 { "label": "Thrift Bank", "imageUrl": "AGENT_NAME_URL", "serviceEndpoint": "{AGENT_NAME}", "routingKeys": null, "recipientKeys": [ "vPcaXxzcMxNwuDHQTisesMM4hnCeBS78GMbaZdSTAxR" ], "@id": "fcf4d5dc-a2b2-4ced-8668-c4c1993a70a3", "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation" } This is the structure, I am getting while establishing connect with web-agent service and mobile agent. This is the structure of connection request while establishing connection between one mobile wallet to another mobile wallet. Can you explain me, what am i'm missing. Thanks!!.

RounakGhosh (Thu, 29 Jul 2021 16:56:14 GMT):
@SahilK 6 { "label": "Thrift Bank", "imageUrl": "AGENT_NAME_URL", "serviceEndpoint": "{AGENT_NAME}", "routingKeys": null, "recipientKeys": [ "vPcaXxzcMxNwuDHQTisesMM4hnCeBS78GMbaZdSTAxR" ], "@id": "fcf4d5dc-a2b2-4ced-8668-c4c1993a70a3", "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation" } This is the structure, I am getting while establishing connect with web-agent service and mobile agent. { "label": "Infinix HOT 7 PRO", "imageUrl": null, "serviceEndpoint": "https://mediator.identity.ky", "routingKeys": [ "EdtYQWPzbR7vhdnsAteMMEVJA9yHDxeHHxRj4XvwcMeb" ], "recipientKeys": [ "5uoGEQU94CtuoSHgbLb7LpMdM3xfHYceh4wnjbhGaLAu" ], "@id": "870d4783-24ab-4e61-b086-478a384f8d5a", "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation" } This is the structure of connection request while establishing connection between one mobile wallet to another mobile wallet. Can you explain me, what am i'm missing. Thanks!!.

zossimov (Fri, 30 Jul 2021 10:37:46 GMT):
hi, Is it possible to add images in schema for identity issuance e.g. passport picture?

swcurran (Fri, 30 Jul 2021 15:49:10 GMT):
Images have been successfully passed, but base64'ing the image. Tricky part is that the parties involved in processing the schema must know it is an image and what to do with it.

Drilmo (Fri, 06 Aug 2021 09:12:46 GMT):
Has joined the channel.

Drilmo (Fri, 06 Aug 2021 09:12:47 GMT):
Hello 🙂 I want to set up a push notification for a mobile agent but I don't know how to do it. Can you help me? Is there a tutorial that explains how to do it? Should I use the c# mediator or the Python mediator? Thanks in advance for your feedback My question in github : https://github.com/hyperledger/aries-framework-dotnet/issues/181

Drilmo (Fri, 06 Aug 2021 09:13:16 GMT):
Hello 🙂 I want to set up a push notification for a mobile agent but I don't know how to do it. Can you help me? Is there a tutorial that explains how to do it? Thanks in advance for your feedback My question in github : https://github.com/hyperledger/aries-framework-dotnet/issues/181

SahilK 6 (Wed, 18 Aug 2021 12:55:21 GMT):
@Drilmo, please check this. https://github.com/hyperledger/aries-framework-dotnet/issues/181#issuecomment-901090882

Drilmo (Wed, 18 Aug 2021 14:18:17 GMT):
@SahilK 6 ho ! Thank you very much for your answer! Is it possible to set up 1 notification per type of event? if yes how to manage them? I'm sorry for these questions but I'm completely lost with this mediator. Thank you for your help.

Drilmo (Wed, 18 Aug 2021 14:18:57 GMT):
@SahilK 6 ho ! Thank you very much for your answer! Is it possible to set up 1 notification per type of event? if yes how to manage them? I'm sorry for these questions but I'm completely lost with this mediator. Thank you for your help.

SahilK 6 (Thu, 19 Aug 2021 06:41:48 GMT):
@Drilmo , I doubt this can be done. The Mediator Agent cannot read the contents of the payload as the payload is encrypted. All it knows is the source and the recipient of the payload. Hence, you can send a common message for all the events the Mediator Agent receives.

AnjiSSI (Thu, 19 Aug 2021 07:34:51 GMT):
Hello ,Getting Hyperledger.Indy.IOException: An IO error occurred. while running mobile agent in Android 10

AnjiSSI (Thu, 19 Aug 2021 07:34:54 GMT):
Hyperledger.Indy.IOException: An IO error occurred. at Hyperledger.Aries.Ledger.DefaultPoolService.CreatePoolAsync (System.String poolName, System.String genesisFile) [0x0002d] in D:\a\1\s\src\Hyperledger.Aries\Ledger\DefaultPoolService.cs:59 at SSIWalletApplication.Services.PoolConfigurator.ConfigurePoolsAsync () [0x0023b] in C:\Users\...\Documents\SSIMasterBranch\src\SSIWalletApplication\SSIWalletApplication\Services\PoolConfigurator.cs:54 [0:] SSIWalletApplication.Services.PoolConfigurator: Critical: Couldn't create pool config

AnjiSSI (Thu, 19 Aug 2021 07:36:19 GMT):
All permissions are granted.But still getting the same issue.plz let us know any solution thanks in advance

Drilmo (Thu, 19 Aug 2021 07:59:34 GMT):
@SahilK 6 , thank you for your answer :blush:

Drilmo (Thu, 19 Aug 2021 08:15:33 GMT):
@SahilK 6 , thank you for your answer :blush: i have an error : ``` error CS0117: 'Program' does not contain a definition for 'Container' [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'IEventAggregator' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'IEventAggregator' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0103: The name 'eventAggregator' does not exist in the current context [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'InboxItemEvent' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0103: The name 'walletRecordService' does not exist in the current context [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'DeviceInfoRecord' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0103: The name 'SearchQuery' does not exist in the current context [/source/MediatorAgent.csproj] error CS0103: The name 'DeviceInfoRecord' does not exist in the current context [/source/MediatorAgent.csproj] error CS0103: The name 'deviceInfoRecords' does not exist in the current context [/source/MediatorAgent.csproj] ```

Drilmo (Thu, 19 Aug 2021 08:15:33 GMT):
@SahilK 6 , thank you for your answer :blush: i have an error : ``` error CS0117: 'Program' does not contain a definition for 'Container' [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'IEventAggregator' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'IEventAggregator' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0103: The name 'eventAggregator' does not exist in the current context [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'InboxItemEvent' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0103: The name 'walletRecordService' does not exist in the current context [/source/MediatorAgent.csproj] error CS0246: The type or namespace name 'DeviceInfoRecord' could not be found (are you missing a using directive or an assembly reference?) [/source/MediatorAgent.csproj] error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0103: The name 'SearchQuery' does not exist in the current context [/source/MediatorAgent.csproj] error CS0103: The name 'DeviceInfoRecord' does not exist in the current context [/source/MediatorAgent.csproj] error CS0103: The name 'deviceInfoRecords' does not exist in the current context [/source/MediatorAgent.csproj] ``` Do you know what using i can add to resolve this error ?

SahilK 6 (Thu, 19 Aug 2021 12:25:37 GMT):
@Drilmo, check the updated code at https://github.com/hyperledger/aries-framework-dotnet/issues/181#issuecomment-901090882

Drilmo (Thu, 19 Aug 2021 12:48:30 GMT):
@SahilK 6 ``` ho! thank a lot again ! ```

Drilmo (Thu, 19 Aug 2021 12:55:43 GMT):
@SahilK 6 Ho! thank you a lot again ! Now i have this code : ` using System; using System.ComponentModel; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Hyperledger.Aries.Contracts; using Hyperledger.Aries.Routing; using Hyperledger.Aries.Storage; using Hyperledger.Aries.AspNetCore; namespace mediator { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); IHost Container = CreateHostBuilder(args).Build(); var eventAggregator = (IEventAggregator)Container.Services.GetService(typeof(IEventAggregator)); _ = eventAggregator.GetEventByType().Subscribe(async inboxItemEvent => { IWalletRecordService walletRecordService; // Get the device token DeviceInfoRecord[] deviceInfoRecords = await walletRecordService.SearchAsync( wallet: agentContext.Wallet, query: SearchQuery.Equal(nameof(DeviceInfoRecord.InboxId), inboxItemEvent.InboxId.ToString()), count: int.MaxValue); Console.WriteLine(deviceInfoRecords.First().DeviceId); // Send Push Notification. The DeviceId is the token of the device }); Container.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } } ` And i have finaly 2 error : ``` error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0165: Use of unassigned local variable 'walletRecordService' [/source/MediatorAgent.csproj] ``` Can you help me one last time? Thank you in advance

Drilmo (Thu, 19 Aug 2021 12:55:43 GMT):
@SahilK 6 Ho! thank you a lot again ! Now i have this code : ``` using System; using System.ComponentModel; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Hyperledger.Aries.Contracts; using Hyperledger.Aries.Routing; using Hyperledger.Aries.Storage; using Hyperledger.Aries.AspNetCore; namespace mediator { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); IHost Container = CreateHostBuilder(args).Build(); var eventAggregator = (IEventAggregator)Container.Services.GetService(typeof(IEventAggregator)); _ = eventAggregator.GetEventByType().Subscribe(async inboxItemEvent => { IWalletRecordService walletRecordService; // Get the device token DeviceInfoRecord[] deviceInfoRecords = await walletRecordService.SearchAsync( wallet: agentContext.Wallet, query: SearchQuery.Equal(nameof(DeviceInfoRecord.InboxId), inboxItemEvent.InboxId.ToString()), count: int.MaxValue); Console.WriteLine(deviceInfoRecords.First().DeviceId); // Send Push Notification. The DeviceId is the token of the device }); Container.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } } ``` And i have finaly 2 error : ``` error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0165: Use of unassigned local variable 'walletRecordService' [/source/MediatorAgent.csproj] ``` Can you help me one last time? Thank you in advance

Drilmo (Thu, 19 Aug 2021 12:55:43 GMT):
@SahilK 6 Ho! thank you a lot again ! Now i have this code : `using System; using System.ComponentModel; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Hyperledger.Aries.Contracts; using Hyperledger.Aries.Routing; using Hyperledger.Aries.Storage; using Hyperledger.Aries.AspNetCore; namespace mediator { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); IHost Container = CreateHostBuilder(args).Build(); var eventAggregator = (IEventAggregator)Container.Services.GetService(typeof(IEventAggregator)); _ = eventAggregator.GetEventByType().Subscribe(async inboxItemEvent => { IWalletRecordService walletRecordService; // Get the device token DeviceInfoRecord[] deviceInfoRecords = await walletRecordService.SearchAsync( wallet: agentContext.Wallet, query: SearchQuery.Equal(nameof(DeviceInfoRecord.InboxId), inboxItemEvent.InboxId.ToString()), count: int.MaxValue); Console.WriteLine(deviceInfoRecords.First().DeviceId); // Send Push Notification. The DeviceId is the token of the device }); Container.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } }` And i have finaly 2 error : ``` error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0165: Use of unassigned local variable 'walletRecordService' [/source/MediatorAgent.csproj] ``` Can you help me one last time? Thank you in advance

Drilmo (Thu, 19 Aug 2021 12:55:43 GMT):
@SahilK 6 Ho! thank you a lot again ! Now i have this code : ```using System; using System.ComponentModel; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Hyperledger.Aries.Contracts; using Hyperledger.Aries.Routing; using Hyperledger.Aries.Storage; using Hyperledger.Aries.AspNetCore; namespace mediator { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); IHost Container = CreateHostBuilder(args).Build(); var eventAggregator = (IEventAggregator)Container.Services.GetService(typeof(IEventAggregator)); _ = eventAggregator.GetEventByType().Subscribe(async inboxItemEvent => { IWalletRecordService walletRecordService; // Get the device token DeviceInfoRecord[] deviceInfoRecords = await walletRecordService.SearchAsync( wallet: agentContext.Wallet, query: SearchQuery.Equal(nameof(DeviceInfoRecord.InboxId), inboxItemEvent.InboxId.ToString()), count: int.MaxValue); Console.WriteLine(deviceInfoRecords.First().DeviceId); // Send Push Notification. The DeviceId is the token of the device }); Container.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } }``` And i have finaly 2 error : ``` error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0165: Use of unassigned local variable 'walletRecordService' [/source/MediatorAgent.csproj] ``` Can you help me one last time? Thank you in advance

Drilmo (Thu, 19 Aug 2021 12:55:43 GMT):
@SahilK 6 Ho! thank you a lot again ! Now i have this code : ```using System; using System.ComponentModel; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Hyperledger.Aries.Contracts; using Hyperledger.Aries.Routing; using Hyperledger.Aries.Storage; using Hyperledger.Aries.AspNetCore; namespace mediator { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); IHost Container = CreateHostBuilder(args).Build(); var eventAggregator = (IEventAggregator)Container.Services.GetService(typeof(IEventAggregator)); _ = eventAggregator.GetEventByType().Subscribe(async inboxItemEvent => { // Get the device token DeviceInfoRecord[] deviceInfoRecords = await walletRecordService.SearchAsync( wallet: agentContext.Wallet, query: SearchQuery.Equal(nameof(DeviceInfoRecord.InboxId), inboxItemEvent.InboxId.ToString()), count: int.MaxValue); Console.WriteLine(deviceInfoRecords.First().DeviceId); // Send Push Notification. The DeviceId is the token of the device }); Container.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } }``` And i have finaly 2 error : ``` error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0165: Use of unassigned local variable 'walletRecordService' [/source/MediatorAgent.csproj] ``` Can you help me one last time? Thank you in advance

Drilmo (Thu, 19 Aug 2021 12:55:43 GMT):
@SahilK 6 Ho! thank you a lot again ! Now i have this code : ```using System; using System.ComponentModel; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Hyperledger.Aries.Contracts; using Hyperledger.Aries.Routing; using Hyperledger.Aries.Storage; using Hyperledger.Aries.AspNetCore; namespace mediator { public class Program { public static void Main(string[] args) { IHost Container = CreateHostBuilder(args).Build(); var eventAggregator = (IEventAggregator)Container.Services.GetService(typeof(IEventAggregator)); _ = eventAggregator.GetEventByType().Subscribe(async inboxItemEvent => { // Get the device token DeviceInfoRecord[] deviceInfoRecords = await walletRecordService.SearchAsync( wallet: agentContext.Wallet, query: SearchQuery.Equal(nameof(DeviceInfoRecord.InboxId), inboxItemEvent.InboxId.ToString()), count: int.MaxValue); Console.WriteLine(deviceInfoRecords.First().DeviceId); // Send Push Notification. The DeviceId is the token of the device }); Container.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } }``` And i have finaly 2 error : ``` error CS0103: The name 'agentContext' does not exist in the current context [/source/MediatorAgent.csproj] error CS0165: Use of unassigned local variable 'walletRecordService' [/source/MediatorAgent.csproj] ``` Can you help me one last time? Thank you in advance

SahilK 6 (Thu, 19 Aug 2021 14:09:28 GMT):
@AnjiSSI , check this. https://github.com/hyperledger/aries-mobile-agent-xamarin/issues/19#issuecomment-779790627

SahilK 6 (Sun, 22 Aug 2021 08:06:21 GMT):
Try this. ``` IWalletRecordService walletRecordService = (IWalletRecordService)Container.Services.GetService(typeof(IWalletRecordService)); IAgentProvider agentProvider = (IAgentProvider)Container.Services.GetService(typeof(IAgentProvider)); IAgentContext agentContext = await agentProvider.GetContextAsync(); ```

amitpadmani-awts (Thu, 26 Aug 2021 03:57:31 GMT):
Has joined the channel.

sairanjit (Fri, 27 Aug 2021 11:08:09 GMT):
Has joined the channel.

SahilK 6 (Sat, 11 Sep 2021 04:52:23 GMT):
Hi everyone, I want to deploy the DotNet Mediator Agent on GCP Cloud Run. I have the below `Dockerfile`. ``` FROM streetcred/dotnet-indy:1.14.2 AS base WORKDIR /app # Expose the default port EXPOSE 5000 COPY mediator ./mediator WORKDIR mediator RUN dotnet restore "MediatorAgent.csproj" RUN dotnet build "MediatorAgent.csproj" -c Release -o ./build RUN dotnet publish "MediatorAgent.csproj" -c Release -o ./build CMD dotnet ./build/MediatorAgent.dll --urls http://0.0.0.0:5000 ``` If I create a container on my system, the Mediator Endpoint works fine. However, if I deploy it on GCP Cloud Run, I get the below error ``` Unhandled exception. Hyperledger.Indy.IOException: An IO error occurred. at Hyperledger.Aries.Storage.DefaultWalletService.GetWalletAsync(WalletConfiguration configuration, WalletCredentials credentials) at Hyperledger.Aries.Configuration.DefaultProvisioningService.ProvisionAgentAsync(AgentOptions agentOptions) at Hyperledger.Aries.Agents.Edge.MediatorProvisioningService.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host) at mediator.Program.Main(String[] args) in /app/mediator/Program.cs:line 17 ``` *Can anyone help me with this, please?* The source code and the Dockerfile can be downloaded from the below URL https://drive.google.com/file/d/1uM952IxveKRPD_HqzrTyAzZuIqP6APCQ/view?usp=sharing

SahilK 6 (Sun, 12 Sep 2021 08:35:23 GMT):
Can anyone suggest what build settings should I use to generate an iOS app for the Hyperledger Aries Xamarin project? I am able to run the app on a simulator, but get errors while release-build for a device. ``` Error MT5201: Native linking failed. Please review the build log and the user flags provided to gcc: -L../libs/ios -lcrypto -L../libs/ios -lindy -L../libs/ios -lsodium -L../libs/ios -lssl -L../libs/ios -lzmq (MT5201) (SSI.iOS) ```

DenverNaicker (Sun, 12 Sep 2021 17:00:40 GMT):
Has joined the channel.

SahilK 6 (Tue, 14 Sep 2021 06:10:40 GMT):
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=Pz4rtCZwt9Kb5ZuMD) Can anyone help me with this, please?

moisesjaramillo (Wed, 15 Sep 2021 16:28:51 GMT):
Has joined the channel.

SahilK 6 (Mon, 27 Sep 2021 05:13:05 GMT):
@tomislav , can you advise on this, please? The Postgres Plugin doesn't work in a Linux Docker Conatiner with the [DotNet Mediator Agent](https://github.com/hyperledger/aries-mobile-agent-xamarin/tree/main/mediator). The same thing works fine on my MacOS - I built a project on Mac OS and the output was a `libindystrgpostgres.so` and `libindystrgpostgres.dylib` files. - I copied the `.dylib` into a Visual Studio Console project and was able to load and invoke the functions of the library using the `DllImport` function. The project works as expected on MacOS - I copied the project (including the `.so` and `.dylib` files) into a Ubuntu-based Docker container - When I run the project using `dotnet run`, I get the below error ``` System.DllNotFoundException: Unable to load shared library 'indystrgpostgres' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libindystrgpostgres, 1): image not found ```

SahilK 6 (Mon, 27 Sep 2021 05:14:40 GMT):
Hi, You may refer to the below URL https://github.com/hyperledger/aries-framework-dotnet/issues/107#issuecomment-813850411

SahilK 6 (Mon, 27 Sep 2021 05:17:23 GMT):
@tomislav , can you advise on this, please? The [Postgres Plugin](https://github.com/hyperledger/aries-framework-dotnet/issues/107#issuecomment-813850411) doesn't work in a Linux Docker Conatiner with the [DotNet Mediator Agent](https://github.com/hyperledger/aries-mobile-agent-xamarin/tree/main/mediator). The same thing works fine on my MacOS - I built a project on Mac OS and the output was a `libindystrgpostgres.so` and `libindystrgpostgres.dylib` files. - I copied the `.dylib` into a Visual Studio Console project and was able to load and invoke the functions of the library using the `DllImport` function. The project works as expected on MacOS - I copied the project (including the `.so` and `.dylib` files) into a Ubuntu-based Docker container - When I run the project using `dotnet run`, I get the below error ``` System.DllNotFoundException: Unable to load shared library 'indystrgpostgres' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libindystrgpostgres, 1): image not found ```

SahilK 6 (Mon, 27 Sep 2021 05:17:23 GMT):
Hi,can you advise on this, please? The [Postgres Plugin](https://github.com/hyperledger/aries-framework-dotnet/issues/107#issuecomment-813850411) doesn't work in a Linux Docker Conatiner with the [DotNet Mediator Agent](https://github.com/hyperledger/aries-mobile-agent-xamarin/tree/main/mediator). The same thing works fine on my MacOS - I built a project on Mac OS and the output was a `libindystrgpostgres.so` and `libindystrgpostgres.dylib` files. - I copied the `.dylib` into a Visual Studio Console project and was able to load and invoke the functions of the library using the `DllImport` function. The project works as expected on MacOS - I copied the project (including the `.so` and `.dylib` files) into a Ubuntu-based Docker container - When I run the project using `dotnet run`, I get the below error ``` System.DllNotFoundException: Unable to load shared library 'indystrgpostgres' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libindystrgpostgres, 1): image not found ```

SahilK 6 (Mon, 27 Sep 2021 05:17:23 GMT):
Hi, Can anyone advise on this, please? The [Postgres Plugin](https://github.com/hyperledger/aries-framework-dotnet/issues/107#issuecomment-813850411) doesn't work in a Linux Docker Conatiner with the [DotNet Mediator Agent](https://github.com/hyperledger/aries-mobile-agent-xamarin/tree/main/mediator). The same thing works fine on my MacOS - I built a project on Mac OS and the output was a `libindystrgpostgres.so` and `libindystrgpostgres.dylib` files. - I copied the `.dylib` into a Visual Studio Console project and was able to load and invoke the functions of the library using the `DllImport` function. The project works as expected on MacOS - I copied the project (including the `.so` and `.dylib` files) into a Ubuntu-based Docker container - When I run the project using `dotnet run`, I get the below error ``` System.DllNotFoundException: Unable to load shared library 'indystrgpostgres' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libindystrgpostgres, 1): image not found ```

kukgini (Wed, 29 Sep 2021 05:31:29 GMT):
Has joined the channel.

Drilmo (Thu, 30 Sep 2021 09:08:03 GMT):
Hello everyone, how is it possible to inform of the deletion of a connection by one of the 2 parties (in order to prevent the mobile that has not deleted the connection to send messages to the mediator to continue to send notifications on the mobile that has deleted this connection for example). I work with the dotnet framework in last version and the last version of aries-mobile-agent-xamarin.

Drilmo (Thu, 30 Sep 2021 09:08:03 GMT):
Hello everyone, how is it possible to inform of the deletion of a connection by one of the 2 parties (in order to prevent the mobile that has not deleted the connection to send messages to the mediator to continue to send notifications on the mobile that has deleted this connection for example). I work with the mediator with dotnet framework in last version and the last version of aries-mobile-agent-xamarin.

RounakGhosh (Mon, 04 Oct 2021 16:10:59 GMT):
Unable to configure HTTPS endpoint. No server certificate w as specified, and the default developer certificate could not be found or is out of date Can anyone please provide some help onto this issue.??

RounakGhosh (Tue, 05 Oct 2021 07:39:52 GMT):
Can anyone please guide, on how to setup mediator service ??

RounakGhosh (Tue, 05 Oct 2021 13:13:33 GMT):

Clipboard - October 5, 2021 6:43 PM

RounakGhosh (Tue, 05 Oct 2021 13:16:38 GMT):
I am facing this issue, while staring the mediator service.

da3v21 (Mon, 11 Oct 2021 03:40:55 GMT):
Hi everyone! sometimes acapy is not able to connect with a dotnet agent, when I check the logs in acapy. It shows PingResponse receiver from none. The sended_did in message receipt is set to none sometimes. Any reasons for this?

da3v21 (Mon, 11 Oct 2021 03:41:50 GMT):
`, _context=, _message=}>, comment=None, response_requested=True)>, _message_receipt=, _profile=)>`

da3v21 (Mon, 11 Oct 2021 03:41:50 GMT):
This is the log in acapy og pingresponsehandler`, _context=, _message=}>, comment=None, response_requested=True)>, _message_receipt=, _profile=)>`

IndhumathyMalayappan (Mon, 11 Oct 2021 15:53:41 GMT):

ProofDocument.txt

IndhumathyMalayappan (Mon, 11 Oct 2021 15:53:41 GMT):
Hi All, I am following OSMA application to present my wallet credentials to the verifier through connectionless way(Connectionless Proof Request). In that i am having the fields like "Predicates and Attributes" and i am trying to present the required attributeCredentials(which contains both predicates and attributes)to the verifier using "CreatePresentationAsync()" aries api. Getting "No valid leaving transitions are permitted from state 'Requested' for trigger 'Request'. Consider ignoring the trigger" exception while presenting my attributes. Could any one help me on this? How should i send predicates into the presenation api? please refer the attached code for better understanding.
ProofDocument.txt

IndhumathyMalayappan (Mon, 11 Oct 2021 15:55:25 GMT):
Hi All, I am following OSMA application to present my wallet credentials to the verifier through connectionless way(Connectionless Proof Request). In that i am having the fields like "Predicates and Attributes" and i am trying to present the required attributeCredentials(which contains both predicates and attributes)to the verifier using "*CreatePresentationAsync()*" aries api. Getting "*No valid leaving transitions are permitted from state 'Requested' for trigger 'Request'. Consider ignoring the trigger*" exception while presenting my attributes. Could any one help me on this? How should i send predicates into the presentation api? please refer the attached code for better understanding.

action-sj (Tue, 12 Oct 2021 01:28:36 GMT):
Has joined the channel.

lauravuo-techlab (Tue, 12 Oct 2021 07:21:24 GMT):
Has joined the channel.

lauravuo-techlab (Tue, 12 Oct 2021 08:21:09 GMT):
We have problems when connecting from findy-agent (Bob) to dotnet-agent (Acme) i.e. when dotnet-agent is creating the invitation and findy-agent is sending the connection request. The dotnet-agent reports that the connection state is invalid: ``` fail: Microsoft.AspNetCore.Server.Kestrel[13] Connection id "0HMC4NQT2RHEA", Request id "0HMC4NQT2RHEA:00000001": An unhandled exception was thrown by the application. Hyperledger.Aries.AriesFrameworkException: Connection state was invalid. Expected 'Negotiating', found 'Invited' at Hyperledger.Aries.Features.DidExchange.DefaultConnectionService.CreateResponseAsync(IAgentContext agentContext, String connectionId) at DotNet.Backchannel.Controllers.ConnectionController.AcceptRequestAsync(OperationBody body) in /src/Controllers/ConnectionController.cs:line 149 at ... ``` Does anyone have idea what would be the cause for this?

Drilmo (Thu, 04 Nov 2021 14:49:39 GMT):
User User_2 added by Drilmo.

Drilmo (Thu, 04 Nov 2021 14:52:42 GMT):
hi can you help my friend ? -> https://github.com/hyperledger/aries-framework-dotnet/issues/182#issuecomment-957228020

Drilmo (Fri, 05 Nov 2021 08:59:54 GMT):
User User_3 added by Drilmo.

kukgini (Tue, 30 Nov 2021 11:04:12 GMT):
Has left the channel.

davidd (Fri, 10 Dec 2021 14:52:58 GMT):
Hi, I am trying to create pool and keep getting an IO error while trying to create a pool. I have also verified that the android device has the correct permissions to read write files On Android 30, the application fails. However, with Android 29, it works fine. ``` 9/28/2021 5:59:16 PM - Couldn't create pool config: Hyperledger.Indy.IOException: An IO error occurred. at Hyperledger.Aries.Ledger.DefaultPoolService.Crea tePoolAsync (System.String poolName, System.String genesisFile) [0x00072] in :0 at Osma.Mobile.App. Services.PoolConfigurator.ConfigurePoolsAsync() [0x0023c] in :0 9/28/2021 5:59:16 PM - Couldn't create pool config: Hyperledger.Indy.IOException: An IO error occurred. at Hyperledger.Aries.Ledger.DefaultPoolService.Crea tePoolAsync (System.String poolName, System.String genesis File) [0x00072] in :0 at Osma.Mobile.App. Services.PoolConfigurator.Configure PoolsAsync() [0x0023c] in :0 9/28/2021 5:59:16 PM - Couldn't create pool config: Hyperledger.Indy.IOException: An IO error occurred. at Hyperledger.Aries.Ledger.Default PoolService.Crea tePoolAsync (System.String poolName, System.String genesisFile) [0x00072] in :0 at Osma.Mobile.App. Services.PoolConfigurator.Configure PoolsAsync() ```

nskishore1993 (Tue, 21 Dec 2021 08:07:49 GMT):
Has joined the channel.

moisesjaramillo (Wed, 22 Dec 2021 17:17:59 GMT):
Does anybody have issues upgrading the Nuget packages to 1.6.3? It seems like the AspNetCore project requires AspNetCore.Contracts to also be 1.6.3 but the nuget repository only has AspNetCore.Contracts 1.6.2. I don't really want to fork off the repository and add all the projects to mine.

Bert (Sat, 22 Jan 2022 09:22:59 GMT):
Has joined the channel.

rjones (Tue, 22 Mar 2022 19:54:17 GMT):

rjones (Tue, 22 Mar 2022 19:54:18 GMT):

rjones (Tue, 22 Mar 2022 19:54:18 GMT):