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
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
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
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.
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
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
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
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): sheru (Thu, 02 Jul 2020 14:51:04 GMT): lijiachuan (Fri, 03 Jul 2020 17:38:37 GMT): lijiachuan (Fri, 03 Jul 2020 17:53:34 GMT): lijiachuan (Fri, 03 Jul 2020 17:55:21 GMT): lijiachuan (Fri, 03 Jul 2020 18:00:36 GMT): x0axz (Fri, 03 Jul 2020 18:08:57 GMT): x0axz (Fri, 03 Jul 2020 18:08:57 GMT): lijiachuan (Fri, 03 Jul 2020 18:13:00 GMT): x0axz (Fri, 03 Jul 2020 18:41:42 GMT): lijiachuan (Fri, 03 Jul 2020 18:50:08 GMT): lijiachuan (Fri, 03 Jul 2020 18:58:33 GMT): x0axz (Fri, 03 Jul 2020 19:02:17 GMT): x0axz (Fri, 03 Jul 2020 19:04:09 GMT): tomislav (Sun, 05 Jul 2020 00:37:46 GMT): lijiachuan (Sun, 05 Jul 2020 09:16:14 GMT): x0axz (Sun, 05 Jul 2020 09:24:56 GMT): x0axz (Sun, 05 Jul 2020 09:24:56 GMT): x0axz (Sun, 05 Jul 2020 09:24:56 GMT): lijiachuan (Sun, 05 Jul 2020 14:29:10 GMT): x0axz (Sun, 05 Jul 2020 20:15:57 GMT): x0axz (Sun, 05 Jul 2020 20:15:57 GMT): haydarmajeed (Mon, 06 Jul 2020 04:22:30 GMT): severus-sn4pe (Tue, 07 Jul 2020 11:54:36 GMT): RinkalBhojani (Tue, 07 Jul 2020 14:34:01 GMT): RinkalBhojani (Tue, 07 Jul 2020 14:34:07 GMT): helengarneau (Tue, 07 Jul 2020 17:59:09 GMT): syngin (Thu, 09 Jul 2020 01:51:16 GMT): syngin (Thu, 09 Jul 2020 02:12:57 GMT): tomislav (Thu, 09 Jul 2020 18:12:46 GMT): tomislav (Thu, 09 Jul 2020 18:14:01 GMT): davidd (Fri, 10 Jul 2020 11:49:28 GMT): lijiachuan (Fri, 10 Jul 2020 11:53:30 GMT): davidd (Fri, 10 Jul 2020 12:02:40 GMT): davidd (Fri, 10 Jul 2020 12:03:57 GMT): tomislav (Fri, 10 Jul 2020 12:05:40 GMT): tomislav (Fri, 10 Jul 2020 12:06:05 GMT): davidd (Fri, 10 Jul 2020 12:07:45 GMT): davidd (Fri, 10 Jul 2020 12:08:11 GMT): tomislav (Fri, 10 Jul 2020 12:08:26 GMT): tomislav (Fri, 10 Jul 2020 12:08:47 GMT): lijiachuan (Fri, 10 Jul 2020 12:11:21 GMT): davidd (Fri, 10 Jul 2020 12:18:45 GMT): davidd (Fri, 10 Jul 2020 12:18:54 GMT): lijiachuan (Fri, 10 Jul 2020 12:19:59 GMT): davidd (Fri, 10 Jul 2020 12:20:46 GMT): davidd (Fri, 10 Jul 2020 12:21:23 GMT): davidd (Fri, 10 Jul 2020 12:21:54 GMT): davidd (Fri, 10 Jul 2020 12:22:20 GMT): lijiachuan (Fri, 10 Jul 2020 12:22:43 GMT): davidd (Fri, 10 Jul 2020 12:24:20 GMT): tomislav (Fri, 10 Jul 2020 13:13:37 GMT): tomislav (Fri, 10 Jul 2020 13:14:10 GMT): davidd (Fri, 10 Jul 2020 13:14:51 GMT): davidd (Fri, 10 Jul 2020 13:15:07 GMT): tomislav (Fri, 10 Jul 2020 13:16:09 GMT): davidd (Fri, 10 Jul 2020 13:16:47 GMT): davidd (Fri, 10 Jul 2020 13:17:27 GMT): davidd (Sat, 11 Jul 2020 15:34:22 GMT): davidd (Sat, 11 Jul 2020 15:34:22 GMT): tomislav (Sun, 12 Jul 2020 14:29:22 GMT): tomislav (Sun, 12 Jul 2020 14:29:42 GMT): syngin (Mon, 13 Jul 2020 06:30:38 GMT): RinkalBhojani (Tue, 14 Jul 2020 05:26:16 GMT): MichaelSchaefer (Tue, 14 Jul 2020 06:51:02 GMT): syngin (Tue, 14 Jul 2020 09:06:31 GMT): x0axz (Tue, 14 Jul 2020 09:13:08 GMT): x0axz (Tue, 14 Jul 2020 09:13:21 GMT): x0axz (Tue, 14 Jul 2020 09:14:00 GMT): x0axz (Tue, 14 Jul 2020 09:14:00 GMT): x0axz (Tue, 14 Jul 2020 09:14:38 GMT): x0axz (Tue, 14 Jul 2020 09:16:30 GMT): x0axz (Tue, 14 Jul 2020 09:16:30 GMT): x0axz (Tue, 14 Jul 2020 09:16:30 GMT): tomislav (Tue, 14 Jul 2020 12:30:26 GMT): syngin (Wed, 15 Jul 2020 07:11:06 GMT): tomislav (Wed, 15 Jul 2020 14:21:19 GMT): tomislav (Wed, 15 Jul 2020 14:21:56 GMT): tomislav (Wed, 15 Jul 2020 14:22:26 GMT): naagii (Thu, 16 Jul 2020 01:00:57 GMT): x0axz (Fri, 17 Jul 2020 06:37:04 GMT): syngin (Fri, 17 Jul 2020 10:07:09 GMT): ankita.p (Wed, 22 Jul 2020 07:47:32 GMT): biligunb (Wed, 22 Jul 2020 10:59:53 GMT): ajayjadhav (Wed, 22 Jul 2020 21:07:46 GMT): ajayjadhav (Wed, 22 Jul 2020 21:07:48 GMT): ajayjadhav (Wed, 22 Jul 2020 21:12:33 GMT): ajayjadhav (Wed, 22 Jul 2020 21:12:33 GMT): ajayjadhav (Wed, 22 Jul 2020 21:13:08 GMT): syngin (Thu, 23 Jul 2020 00:44:48 GMT): mboyd (Thu, 23 Jul 2020 02:54:30 GMT): mboyd (Thu, 23 Jul 2020 02:55:04 GMT): matteo (Thu, 23 Jul 2020 11:55:50 GMT): tomislav (Thu, 23 Jul 2020 16:26:58 GMT): tomislav (Thu, 23 Jul 2020 16:27:20 GMT): tomislav (Thu, 23 Jul 2020 16:29:04 GMT): ajayjadhav (Thu, 23 Jul 2020 17:38:48 GMT): ajayjadhav (Thu, 23 Jul 2020 17:55:14 GMT): ajayjadhav (Thu, 23 Jul 2020 17:55:22 GMT): ajayjadhav (Thu, 23 Jul 2020 18:04:41 GMT): ajayjadhav (Fri, 24 Jul 2020 18:58:27 GMT): ayushmanss (Sun, 26 Jul 2020 11:51:29 GMT): TimoGlastra (Mon, 27 Jul 2020 15:56:16 GMT): syngin (Tue, 28 Jul 2020 03:30:13 GMT): jacobsaur (Tue, 28 Jul 2020 15:32:57 GMT): rileyphughes (Tue, 28 Jul 2020 17:59:24 GMT): rileyphughes (Tue, 28 Jul 2020 18:00:12 GMT): swcurran (Tue, 28 Jul 2020 18:06:22 GMT): syngin (Wed, 29 Jul 2020 01:57:46 GMT): rileyphughes (Wed, 29 Jul 2020 03:09:44 GMT): swcurran (Wed, 29 Jul 2020 03:41:11 GMT): tomislav (Thu, 30 Jul 2020 11:58:20 GMT): tomislav (Thu, 30 Jul 2020 11:59:28 GMT): tomislav (Thu, 30 Jul 2020 12:00:40 GMT): TimoGlastra (Thu, 30 Jul 2020 12:35:41 GMT): TimoGlastra (Thu, 30 Jul 2020 12:35:41 GMT): Moshe7 (Fri, 31 Jul 2020 20:50:50 GMT): Mahadevan 3 (Tue, 04 Aug 2020 05:02:14 GMT): syngin (Thu, 06 Aug 2020 10:04:28 GMT): tomislav (Thu, 06 Aug 2020 12:42:16 GMT): Moshe7 (Mon, 10 Aug 2020 19:06:49 GMT): Moshe7 (Mon, 10 Aug 2020 19:06:57 GMT): Narankhuu (Mon, 10 Aug 2020 23:41:17 GMT): Narankhuu (Tue, 11 Aug 2020 00:13:02 GMT): Narankhuu (Tue, 11 Aug 2020 00:13:02 GMT): anchit (Tue, 11 Aug 2020 08:01:01 GMT): Moshe7 (Tue, 11 Aug 2020 10:21:12 GMT): tomislav (Tue, 11 Aug 2020 11:49:27 GMT): tomislav (Tue, 11 Aug 2020 11:49:56 GMT): tomislav (Tue, 11 Aug 2020 11:50:15 GMT): Moshe7 (Tue, 11 Aug 2020 12:53:47 GMT): blaz (Tue, 11 Aug 2020 13:55:13 GMT): tomislav (Tue, 11 Aug 2020 16:45:00 GMT): tomislav (Tue, 11 Aug 2020 16:46:24 GMT): tomislav (Tue, 11 Aug 2020 16:46:45 GMT): Moshe7 (Tue, 11 Aug 2020 20:58:27 GMT): horacionunez (Thu, 13 Aug 2020 00:11:05 GMT): lalchandran (Tue, 18 Aug 2020 16:39:44 GMT): lalchandran (Tue, 18 Aug 2020 16:39:44 GMT): lalchandran (Tue, 18 Aug 2020 16:39:49 GMT): lalchandran (Tue, 18 Aug 2020 16:40:04 GMT): lalchandran (Tue, 18 Aug 2020 16:40:53 GMT): mboyd (Tue, 18 Aug 2020 16:57:45 GMT): lalchandran (Tue, 18 Aug 2020 16:58:04 GMT): lalchandran (Tue, 18 Aug 2020 17:03:45 GMT): lalchandran (Tue, 18 Aug 2020 17:03:54 GMT): lalchandran (Tue, 18 Aug 2020 17:07:08 GMT): mboyd (Tue, 18 Aug 2020 17:26:47 GMT): lalchandran (Tue, 18 Aug 2020 17:28:05 GMT): lalchandran (Tue, 18 Aug 2020 17:38:39 GMT): tomislav (Thu, 20 Aug 2020 13:11:06 GMT): dipghosh (Thu, 20 Aug 2020 15:58:10 GMT): lalchandran (Fri, 21 Aug 2020 07:17:37 GMT): tomislav (Fri, 21 Aug 2020 11:31:44 GMT): tomislav (Fri, 21 Aug 2020 11:33:05 GMT): tomislav (Fri, 21 Aug 2020 11:33:50 GMT): tomislav (Fri, 21 Aug 2020 11:34:05 GMT): tomislav (Fri, 21 Aug 2020 11:34:16 GMT): lalchandran (Fri, 21 Aug 2020 11:48:14 GMT): lalchandran (Fri, 21 Aug 2020 11:57:19 GMT): lalchandran (Fri, 21 Aug 2020 11:57:19 GMT): tomislav (Fri, 21 Aug 2020 11:57:46 GMT): tomislav (Fri, 21 Aug 2020 11:57:52 GMT): tomislav (Fri, 21 Aug 2020 11:58:16 GMT): lalchandran (Fri, 21 Aug 2020 11:59:37 GMT): tomislav (Fri, 21 Aug 2020 11:59:55 GMT): dipghosh (Fri, 21 Aug 2020 13:34:40 GMT): lalchandran (Thu, 27 Aug 2020 16:48:35 GMT): Narankhuu (Fri, 28 Aug 2020 05:58:37 GMT): pixelschnitzel (Fri, 28 Aug 2020 14:17:42 GMT): sebastian (Tue, 01 Sep 2020 15:53:23 GMT): sj1 4 (Wed, 02 Sep 2020 06:08:07 GMT): sj1 4 (Wed, 02 Sep 2020 06:08:07 GMT): larabisch (Wed, 02 Sep 2020 16:22:28 GMT): kukgini (Thu, 03 Sep 2020 06:09:37 GMT): joanagomesrb (Fri, 04 Sep 2020 10:57:56 GMT): sheru (Tue, 08 Sep 2020 15:09:02 GMT): RinkalBhojani (Wed, 09 Sep 2020 05:59:37 GMT): lijiachuan (Wed, 09 Sep 2020 07:24:43 GMT): tomislav (Wed, 09 Sep 2020 11:53:15 GMT): tomislav (Wed, 09 Sep 2020 11:53:46 GMT): RinkalBhojani (Wed, 09 Sep 2020 12:16:29 GMT): lijiachuan (Wed, 09 Sep 2020 14:01:21 GMT): tomislav (Wed, 09 Sep 2020 14:03:13 GMT): RinkalBhojani (Thu, 10 Sep 2020 12:48:17 GMT): tomislav (Thu, 10 Sep 2020 12:55:24 GMT): habibsalimi (Mon, 14 Sep 2020 15:20:39 GMT): habibsalimi (Mon, 14 Sep 2020 15:20:39 GMT): habibsalimi (Mon, 14 Sep 2020 15:21:13 GMT): habibsalimi (Mon, 14 Sep 2020 15:21:15 GMT): biligunb (Tue, 15 Sep 2020 02:39:50 GMT): tomislav (Tue, 15 Sep 2020 22:52:49 GMT): tomislav (Tue, 15 Sep 2020 22:52:49 GMT): tomislav (Tue, 15 Sep 2020 22:52:49 GMT): SuperSeiyan (Sun, 20 Sep 2020 16:11:49 GMT): daruru (Mon, 21 Sep 2020 09:33:17 GMT): daruru (Mon, 21 Sep 2020 09:33:18 GMT): lijiachuan (Tue, 22 Sep 2020 03:22:00 GMT): sheru (Tue, 22 Sep 2020 11:32:27 GMT): lijiachuan (Tue, 22 Sep 2020 13:33:07 GMT): sheru (Tue, 22 Sep 2020 14:04:44 GMT): sheru (Tue, 22 Sep 2020 14:04:44 GMT): sheru (Tue, 22 Sep 2020 14:05:53 GMT): ArchanJash (Tue, 22 Sep 2020 14:21:44 GMT): ArchanJash (Tue, 22 Sep 2020 14:21:44 GMT): tomislav (Tue, 22 Sep 2020 17:37:51 GMT): tomislav (Tue, 22 Sep 2020 17:38:50 GMT): lijiachuan (Tue, 22 Sep 2020 22:47:05 GMT): sheru (Wed, 23 Sep 2020 07:20:21 GMT): mohammadhossein73 (Wed, 23 Sep 2020 08:40:18 GMT): simnic (Wed, 23 Sep 2020 11:52:59 GMT): lijiachuan (Wed, 23 Sep 2020 13:07:59 GMT): lijiachuan (Wed, 23 Sep 2020 13:26:25 GMT): lijiachuan (Wed, 23 Sep 2020 13:28:20 GMT): sheru (Wed, 23 Sep 2020 13:29:24 GMT): sheru (Wed, 23 Sep 2020 13:29:58 GMT): lijiachuan (Wed, 23 Sep 2020 13:41:06 GMT): lijiachuan (Wed, 23 Sep 2020 13:57:20 GMT): sheru (Wed, 23 Sep 2020 13:59:16 GMT): sheru (Wed, 23 Sep 2020 13:59:45 GMT): sheru (Wed, 23 Sep 2020 14:02:07 GMT): sheru (Wed, 23 Sep 2020 14:02:26 GMT): lijiachuan (Wed, 23 Sep 2020 14:02:45 GMT): sheru (Wed, 23 Sep 2020 14:05:47 GMT): sheru (Wed, 23 Sep 2020 14:06:12 GMT): sheru (Wed, 23 Sep 2020 14:07:15 GMT): sheru (Wed, 23 Sep 2020 14:07:48 GMT): sheru (Wed, 23 Sep 2020 14:08:34 GMT): lijiachuan (Wed, 23 Sep 2020 14:12:36 GMT): lijiachuan (Wed, 23 Sep 2020 14:12:36 GMT): sheru (Wed, 23 Sep 2020 14:14:47 GMT): sheru (Wed, 23 Sep 2020 14:15:11 GMT): sheru (Wed, 23 Sep 2020 14:16:12 GMT): sheru (Wed, 23 Sep 2020 14:16:50 GMT): lijiachuan (Wed, 23 Sep 2020 14:17:45 GMT): sheru (Wed, 23 Sep 2020 14:18:30 GMT): lijiachuan (Wed, 23 Sep 2020 14:19:20 GMT): sheru (Wed, 23 Sep 2020 14:20:10 GMT): sheru (Wed, 23 Sep 2020 14:20:50 GMT): lijiachuan (Wed, 23 Sep 2020 14:21:23 GMT): lijiachuan (Wed, 23 Sep 2020 14:21:47 GMT): lijiachuan (Wed, 23 Sep 2020 15:03:22 GMT): lijiachuan (Wed, 23 Sep 2020 15:05:17 GMT): sheru (Wed, 23 Sep 2020 15:07:04 GMT): lijiachuan (Wed, 23 Sep 2020 15:08:02 GMT): lijiachuan (Wed, 23 Sep 2020 15:08:18 GMT): lijiachuan (Wed, 23 Sep 2020 15:14:52 GMT): lijiachuan (Wed, 23 Sep 2020 15:17:34 GMT): lijiachuan (Wed, 23 Sep 2020 15:28:16 GMT): lijiachuan (Thu, 24 Sep 2020 00:48:27 GMT): ArchanJash (Thu, 24 Sep 2020 12:33:11 GMT): tomislav (Thu, 24 Sep 2020 12:54:14 GMT): tomislav (Thu, 24 Sep 2020 12:55:12 GMT): ArchanJash (Thu, 24 Sep 2020 13:46:43 GMT): lijiachuan (Fri, 25 Sep 2020 14:15:21 GMT): tomislav (Fri, 25 Sep 2020 14:22:51 GMT): lijiachuan (Sun, 27 Sep 2020 09:08:58 GMT): lijiachuan (Sun, 27 Sep 2020 12:57:35 GMT): lijiachuan (Sun, 27 Sep 2020 13:00:03 GMT): lijiachuan (Sun, 27 Sep 2020 13:01:06 GMT): lijiachuan (Sun, 27 Sep 2020 13:05:54 GMT): tomislav (Sun, 27 Sep 2020 13:10:08 GMT): lijiachuan (Sun, 27 Sep 2020 13:11:21 GMT): tomislav (Sun, 27 Sep 2020 13:11:24 GMT): tomislav (Sun, 27 Sep 2020 13:11:54 GMT): tomislav (Sun, 27 Sep 2020 13:12:11 GMT): lijiachuan (Sun, 27 Sep 2020 13:12:13 GMT): lijiachuan (Sun, 27 Sep 2020 13:12:48 GMT): lijiachuan (Sun, 27 Sep 2020 13:13:08 GMT): tomislav (Sun, 27 Sep 2020 13:13:28 GMT): tomislav (Sun, 27 Sep 2020 13:14:31 GMT): tomislav (Sun, 27 Sep 2020 13:14:48 GMT): tomislav (Sun, 27 Sep 2020 13:14:56 GMT): lijiachuan (Sun, 27 Sep 2020 13:15:16 GMT): lijiachuan (Sun, 27 Sep 2020 13:15:52 GMT): tomislav (Sun, 27 Sep 2020 13:16:25 GMT): tomislav (Sun, 27 Sep 2020 13:16:35 GMT): tomislav (Sun, 27 Sep 2020 13:16:35 GMT): tomislav (Sun, 27 Sep 2020 13:16:58 GMT): tomislav (Sun, 27 Sep 2020 13:17:04 GMT): lijiachuan (Sun, 27 Sep 2020 13:17:22 GMT): tomislav (Sun, 27 Sep 2020 13:19:39 GMT): tomislav (Sun, 27 Sep 2020 13:20:05 GMT): tomislav (Sun, 27 Sep 2020 13:23:46 GMT): lijiachuan (Sun, 27 Sep 2020 13:32:33 GMT): ayushmanss (Sun, 27 Sep 2020 17:17:15 GMT): horacionunez (Thu, 01 Oct 2020 13:06:39 GMT): horacionunez (Thu, 01 Oct 2020 13:07:48 GMT): horacionunez (Thu, 01 Oct 2020 13:08:06 GMT): horacionunez (Thu, 01 Oct 2020 13:09:53 GMT): horacionunez (Thu, 01 Oct 2020 13:10:26 GMT): horacionunez (Thu, 01 Oct 2020 14:41:40 GMT): lijiachuan (Thu, 01 Oct 2020 16:10:23 GMT): horacionunez (Thu, 01 Oct 2020 16:30:38 GMT): horacionunez (Thu, 01 Oct 2020 16:31:05 GMT): horacionunez (Fri, 02 Oct 2020 13:29:14 GMT): horacionunez (Fri, 02 Oct 2020 13:29:15 GMT): horacionunez (Fri, 02 Oct 2020 13:29:35 GMT): lijiachuan (Fri, 02 Oct 2020 14:59:38 GMT): lijiachuan (Fri, 02 Oct 2020 15:05:15 GMT): tomislav (Sat, 03 Oct 2020 11:40:43 GMT): tomislav (Sat, 03 Oct 2020 11:42:25 GMT): tomislav (Sat, 03 Oct 2020 11:43:11 GMT): horacionunez (Sat, 03 Oct 2020 14:17:31 GMT): horacionunez (Sat, 03 Oct 2020 16:33:10 GMT): tomislav (Sun, 04 Oct 2020 12:59:59 GMT): horacionunez (Sun, 04 Oct 2020 20:06:13 GMT): lijiachuan (Mon, 05 Oct 2020 15:16:31 GMT): swcurran (Mon, 05 Oct 2020 15:35:36 GMT): horacionunez (Mon, 05 Oct 2020 16:32:42 GMT): horacionunez (Mon, 05 Oct 2020 16:32:56 GMT): lijiachuan (Mon, 05 Oct 2020 16:33:30 GMT): horacionunez (Mon, 05 Oct 2020 16:34:30 GMT): horacionunez (Mon, 05 Oct 2020 16:34:41 GMT): swcurran (Mon, 05 Oct 2020 17:35:11 GMT): swcurran (Mon, 05 Oct 2020 17:36:25 GMT): horacionunez (Mon, 05 Oct 2020 23:52:18 GMT): horacionunez (Tue, 06 Oct 2020 00:07:12 GMT): horacionunez (Tue, 06 Oct 2020 00:08:30 GMT): horacionunez (Tue, 06 Oct 2020 00:08:55 GMT): horacionunez (Tue, 06 Oct 2020 00:09:28 GMT): horacionunez (Tue, 06 Oct 2020 00:09:57 GMT): Narankhuu (Tue, 06 Oct 2020 08:08:20 GMT): lijiachuan (Wed, 07 Oct 2020 15:23:26 GMT): TimoGlastra (Wed, 07 Oct 2020 15:36:27 GMT): lijiachuan (Wed, 07 Oct 2020 16:24:50 GMT): cam-parra (Wed, 07 Oct 2020 19:45:16 GMT): cam-parra (Wed, 07 Oct 2020 19:45:17 GMT): cam-parra (Wed, 07 Oct 2020 19:46:08 GMT): athulramesh (Thu, 08 Oct 2020 09:25:21 GMT): sabir.aboobaker (Thu, 08 Oct 2020 09:59:52 GMT): lijiachuan (Thu, 08 Oct 2020 14:54:43 GMT): cam-parra (Thu, 08 Oct 2020 15:30:15 GMT): ankita.p17 (Mon, 12 Oct 2020 08:35:39 GMT): lijiachuan (Mon, 12 Oct 2020 13:21:46 GMT): darkchylde (Thu, 15 Oct 2020 13:25:50 GMT): darkchylde (Thu, 15 Oct 2020 13:25:50 GMT): darkchylde (Thu, 15 Oct 2020 13:25:50 GMT): darkchylde (Thu, 15 Oct 2020 13:29:06 GMT): darkchylde (Thu, 15 Oct 2020 13:29:19 GMT): sheru (Fri, 16 Oct 2020 12:38:08 GMT): tomislav (Sat, 17 Oct 2020 12:50:26 GMT): lijiachuan (Sat, 17 Oct 2020 13:38:30 GMT): tomislav (Sun, 18 Oct 2020 12:57:44 GMT): PatrikStas (Mon, 19 Oct 2020 12:01:29 GMT): lijiachuan (Mon, 19 Oct 2020 16:00:22 GMT): tomislav (Thu, 22 Oct 2020 12:03:44 GMT): tomislav (Thu, 22 Oct 2020 12:04:30 GMT): HansHuber080883 (Tue, 27 Oct 2020 14:07:00 GMT): moises_ej (Wed, 28 Oct 2020 20:25:35 GMT): Shyam_Pratap_Singh (Thu, 29 Oct 2020 11:07:41 GMT): Shyam_Pratap_Singh (Thu, 29 Oct 2020 12:18:13 GMT): Shyam_Pratap_Singh (Thu, 29 Oct 2020 12:18:49 GMT): zossimov (Fri, 30 Oct 2020 16:41:24 GMT): zossimov (Fri, 30 Oct 2020 16:41:24 GMT): tomislav (Fri, 30 Oct 2020 17:53:21 GMT): sabir.aboobaker (Wed, 04 Nov 2020 05:41:58 GMT): sabir.aboobaker (Wed, 04 Nov 2020 06:24:36 GMT): darkchylde (Sat, 07 Nov 2020 17:28:03 GMT): mikkov (Mon, 16 Nov 2020 17:12:43 GMT): SahilK 6 (Fri, 20 Nov 2020 09:44:00 GMT): SahilK 6 (Fri, 20 Nov 2020 09:44:01 GMT): tomislav (Fri, 20 Nov 2020 23:21:18 GMT): tomislav (Fri, 20 Nov 2020 23:21:24 GMT): tomislav (Fri, 20 Nov 2020 23:21:26 GMT): Arsh-Sandhu (Mon, 23 Nov 2020 12:46:33 GMT): anil_helvaci (Tue, 24 Nov 2020 07:32:52 GMT): anil_helvaci (Tue, 24 Nov 2020 07:34:34 GMT): anil_helvaci (Tue, 24 Nov 2020 07:34:44 GMT): TimoGlastra (Tue, 24 Nov 2020 09:23:53 GMT): TimoGlastra (Tue, 24 Nov 2020 09:28:13 GMT): TimoGlastra (Tue, 24 Nov 2020 09:28:21 GMT): anil_helvaci (Tue, 24 Nov 2020 21:23:51 GMT): anil_helvaci (Wed, 25 Nov 2020 11:49:54 GMT): lbartekl (Fri, 27 Nov 2020 11:13:23 GMT): Arsh-Sandhu (Fri, 27 Nov 2020 13:43:28 GMT): anil_helvaci (Mon, 30 Nov 2020 01:15:08 GMT): mboyd (Mon, 30 Nov 2020 01:18:06 GMT): marc0olo (Mon, 30 Nov 2020 04:50:48 GMT): anil_helvaci (Mon, 30 Nov 2020 12:34:26 GMT): MajdT51 (Tue, 01 Dec 2020 09:56:31 GMT): kapster (Fri, 04 Dec 2020 09:20:47 GMT): tschulshuh (Fri, 04 Dec 2020 10:45:38 GMT): tschulshuh (Fri, 04 Dec 2020 10:48:06 GMT): Parthkm78 (Mon, 07 Dec 2020 04:31:55 GMT): SahilK 6 (Mon, 07 Dec 2020 04:44:26 GMT): marc0olo (Mon, 07 Dec 2020 11:58:09 GMT): pawel.kowalik (Mon, 07 Dec 2020 12:18:48 GMT): marc0olo (Mon, 07 Dec 2020 12:48:17 GMT): zossimov (Tue, 08 Dec 2020 12:50:46 GMT): zossimov (Tue, 08 Dec 2020 12:50:46 GMT): zossimov (Tue, 08 Dec 2020 12:50:46 GMT): zossimov (Tue, 08 Dec 2020 12:50:46 GMT): zossimov (Tue, 08 Dec 2020 13:19:18 GMT): zossimov (Tue, 08 Dec 2020 13:19:18 GMT): zossimov (Tue, 08 Dec 2020 13:19:18 GMT): ajayjadhav (Wed, 09 Dec 2020 19:31:26 GMT): anil_helvaci (Sat, 12 Dec 2020 15:34:25 GMT): anil_helvaci (Sat, 12 Dec 2020 15:34:25 GMT): anil_helvaci (Sat, 12 Dec 2020 15:43:23 GMT): anil_helvaci (Tue, 15 Dec 2020 06:38:09 GMT): anil_helvaci (Tue, 15 Dec 2020 06:38:14 GMT): zossimov (Fri, 18 Dec 2020 12:10:42 GMT): zossimov (Fri, 18 Dec 2020 12:10:42 GMT): anil_helvaci (Sat, 19 Dec 2020 08:41:48 GMT): RazaDen (Sat, 19 Dec 2020 10:43:40 GMT): thomas_kim (Mon, 21 Dec 2020 05:38:20 GMT): SahilK 6 (Wed, 23 Dec 2020 13:18:42 GMT): habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT): habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT): habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT): habibsalimi (Mon, 28 Dec 2020 22:00:23 GMT): zossimov (Wed, 30 Dec 2020 08:07:34 GMT): swcurran (Wed, 30 Dec 2020 15:15:52 GMT): vosrey (Sat, 02 Jan 2021 05:46:03 GMT): gagepoulson (Wed, 06 Jan 2021 15:30:13 GMT): RazaDen (Fri, 08 Jan 2021 16:50:32 GMT): da3v21 (Sun, 10 Jan 2021 12:26:11 GMT): tomislav (Thu, 14 Jan 2021 17:54:19 GMT): tomislav (Thu, 14 Jan 2021 17:54:37 GMT): tomislav (Thu, 14 Jan 2021 17:55:07 GMT): RazaDen (Sat, 16 Jan 2021 13:53:56 GMT): rangeshsripathi (Mon, 18 Jan 2021 16:52:58 GMT): rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT): rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT): rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT): rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT): rangeshsripathi (Mon, 18 Jan 2021 17:12:41 GMT): Arsh-Sandhu (Tue, 19 Jan 2021 05:32:23 GMT): zossimov (Wed, 20 Jan 2021 07:25:01 GMT): zossimov (Wed, 20 Jan 2021 07:25:01 GMT): rocky_2020 (Wed, 20 Jan 2021 12:15:49 GMT): Indhumathy0793 (Thu, 21 Jan 2021 16:04:41 GMT): Indhumathy0793 (Thu, 21 Jan 2021 16:04:42 GMT): tomislav (Sun, 24 Jan 2021 00:25:12 GMT): tomislav (Sun, 24 Jan 2021 00:25:26 GMT): tomislav (Mon, 25 Jan 2021 03:12:57 GMT): tomislav (Mon, 25 Jan 2021 03:13:35 GMT): Indhumathy0793 (Thu, 28 Jan 2021 07:02:11 GMT): Indhumathy0793 (Thu, 28 Jan 2021 07:02:11 GMT): rangeshsripathi (Thu, 28 Jan 2021 13:59:19 GMT): rangeshsripathi (Thu, 28 Jan 2021 13:59:19 GMT): rangeshsripathi (Thu, 28 Jan 2021 13:59:19 GMT): rangeshsripathi (Mon, 01 Feb 2021 19:23:43 GMT): rangeshsripathi (Mon, 01 Feb 2021 19:23:43 GMT): Arsh-Sandhu (Tue, 02 Feb 2021 06:26:54 GMT): Arsh-Sandhu (Tue, 02 Feb 2021 06:31:48 GMT): rangeshsripathi (Tue, 02 Feb 2021 08:18:07 GMT): rangeshsripathi (Tue, 02 Feb 2021 08:18:07 GMT): rangeshsripathi (Tue, 02 Feb 2021 08:18:07 GMT): rangeshsripathi (Tue, 02 Feb 2021 08:26:27 GMT): rangeshsripathi (Tue, 02 Feb 2021 08:26:27 GMT): horacionunez (Tue, 02 Feb 2021 12:44:35 GMT): tomislav (Wed, 03 Feb 2021 21:22:30 GMT): horacionunez (Mon, 08 Feb 2021 22:27:09 GMT): Shweta1 (Tue, 09 Feb 2021 06:10:41 GMT): Shweta1 (Tue, 09 Feb 2021 06:10:42 GMT): Shweta1 (Tue, 09 Feb 2021 06:14:35 GMT): Shweta1 (Tue, 09 Feb 2021 06:14:43 GMT): horacionunez (Wed, 10 Feb 2021 23:56:00 GMT): ascatox (Thu, 18 Feb 2021 08:46:49 GMT): rpobulic (Sun, 07 Mar 2021 05:16:10 GMT): fenniffehewy (Sat, 13 Mar 2021 15:21:42 GMT): fenniffehewy (Sat, 13 Mar 2021 15:21:43 GMT): fenniffehewy (Sat, 13 Mar 2021 15:21:43 GMT): fenniffehewy (Sat, 13 Mar 2021 15:23:05 GMT): SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT): SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT): SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT): SahilK 6 (Sat, 13 Mar 2021 15:24:22 GMT): HighBrow (Sun, 14 Mar 2021 08:18:51 GMT): ascatox (Mon, 15 Mar 2021 10:41:40 GMT): TimoGlastra (Mon, 15 Mar 2021 10:45:56 GMT): ascatox (Mon, 15 Mar 2021 10:46:28 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:39:38 GMT): SahilK 6 (Thu, 18 Mar 2021 10:44:50 GMT): SahilK 6 (Thu, 18 Mar 2021 10:45:48 GMT): Indhumathy0793 (Mon, 29 Mar 2021 11:31:01 GMT): zossimov (Tue, 30 Mar 2021 10:50:50 GMT): zossimov (Tue, 30 Mar 2021 10:50:50 GMT): zossimov (Tue, 30 Mar 2021 10:50:50 GMT): zossimov (Tue, 30 Mar 2021 10:50:50 GMT): SahilK 6 (Wed, 31 Mar 2021 06:48:34 GMT): ascatox (Fri, 02 Apr 2021 07:13:53 GMT): anil_helvaci (Mon, 05 Apr 2021 12:22:59 GMT): ascatox (Tue, 06 Apr 2021 08:23:25 GMT): sheldon.regular (Wed, 07 Apr 2021 18:37:50 GMT): anil_helvaci (Thu, 08 Apr 2021 23:40:41 GMT): ascatox (Mon, 12 Apr 2021 11:12:35 GMT): ascatox (Mon, 12 Apr 2021 12:40:20 GMT): ascatox (Wed, 14 Apr 2021 09:31:01 GMT): SahilK 6 (Wed, 14 Apr 2021 10:55:26 GMT): SahilK 6 (Wed, 14 Apr 2021 10:55:26 GMT): horacionunez (Thu, 15 Apr 2021 21:00:19 GMT): horacionunez (Thu, 15 Apr 2021 21:00:44 GMT): ascatox (Tue, 20 Apr 2021 11:43:08 GMT): ascatox (Tue, 20 Apr 2021 11:43:08 GMT): ascatox (Tue, 20 Apr 2021 11:43:08 GMT): horacionunez (Tue, 20 Apr 2021 14:25:01 GMT): horacionunez (Tue, 20 Apr 2021 14:25:34 GMT): ascatox (Wed, 21 Apr 2021 07:13:10 GMT): ascatox (Wed, 21 Apr 2021 07:58:17 GMT): ascatox (Wed, 21 Apr 2021 07:58:17 GMT): ascatox (Wed, 21 Apr 2021 07:58:17 GMT): horacionunez (Wed, 21 Apr 2021 21:58:32 GMT): horacionunez (Wed, 21 Apr 2021 21:59:37 GMT): horacionunez (Wed, 21 Apr 2021 22:00:32 GMT): tkdp (Wed, 28 Apr 2021 13:51:00 GMT): tkdp (Wed, 28 Apr 2021 13:51:01 GMT): tkdp (Wed, 28 Apr 2021 13:51:01 GMT): tkdp (Wed, 28 Apr 2021 13:51:01 GMT): tkdp (Wed, 28 Apr 2021 13:51:01 GMT): SahilK 6 (Fri, 07 May 2021 09:47:02 GMT): sebastian (Fri, 07 May 2021 14:19:02 GMT): SahilK 6 (Sat, 08 May 2021 11:38:50 GMT): TimoGlastra (Wed, 12 May 2021 05:15:24 GMT): SahilK 6 (Wed, 12 May 2021 11:48:20 GMT): spilling (Thu, 13 May 2021 17:02:22 GMT): spilling (Thu, 13 May 2021 17:16:18 GMT): spilling (Thu, 13 May 2021 17:28:11 GMT): spilling (Thu, 13 May 2021 17:30:10 GMT): Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT): Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT): Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT): Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT): Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT): Benedikt_Sichinger (Mon, 31 May 2021 11:57:46 GMT): SahilK 6 (Fri, 04 Jun 2021 14:17:53 GMT): SahilK 6 (Sat, 05 Jun 2021 06:45:34 GMT): zossimov (Sat, 05 Jun 2021 16:09:55 GMT): SahilK 6 (Tue, 08 Jun 2021 06:35:12 GMT): Arsh-Sandhu (Tue, 08 Jun 2021 12:32:13 GMT): ankita.p17 (Mon, 14 Jun 2021 06:33:00 GMT): horacionunez (Wed, 16 Jun 2021 17:24:02 GMT): horacionunez (Wed, 16 Jun 2021 17:25:15 GMT): ankita.p17 (Thu, 17 Jun 2021 07:09:09 GMT): horacionunez (Fri, 18 Jun 2021 17:43:36 GMT): horacionunez (Fri, 18 Jun 2021 17:44:36 GMT): horacionunez (Fri, 18 Jun 2021 17:44:36 GMT): SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT): SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT): SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT): SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT): SahilK 6 (Mon, 21 Jun 2021 13:36:28 GMT): guilhermejd3p (Mon, 21 Jun 2021 16:45:23 GMT): lwyatt (Tue, 22 Jun 2021 04:53:14 GMT): SahilK 6 (Wed, 23 Jun 2021 09:27:17 GMT): Mark_Spencer (Wed, 23 Jun 2021 15:17:40 GMT): SahilK 6 (Fri, 25 Jun 2021 07:48:13 GMT): TimoGlastra (Fri, 25 Jun 2021 10:00:59 GMT): RounakGhosh (Tue, 29 Jun 2021 17:09:34 GMT): RounakGhosh (Tue, 29 Jun 2021 17:09:35 GMT): RounakGhosh (Wed, 30 Jun 2021 13:40:23 GMT): RounakGhosh (Wed, 30 Jun 2021 13:40:23 GMT): AnjiSSI (Thu, 01 Jul 2021 10:19:59 GMT): IndhumathyMalayappan (Fri, 02 Jul 2021 15:36:01 GMT): rafaelandradegs (Mon, 05 Jul 2021 16:37:57 GMT): SergiuM 1 (Fri, 09 Jul 2021 07:56:52 GMT): mturetchi (Fri, 09 Jul 2021 08:09:34 GMT): mturetchi (Fri, 09 Jul 2021 08:47:52 GMT): SahilK 6 (Tue, 13 Jul 2021 06:33:10 GMT): AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT): AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT): AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT): AnjiSSI (Thu, 15 Jul 2021 10:26:16 GMT): RounakGhosh (Tue, 20 Jul 2021 17:19:02 GMT): RounakGhosh (Tue, 20 Jul 2021 17:19:10 GMT): SahilK 6 (Mon, 26 Jul 2021 05:57:59 GMT): RounakGhosh (Thu, 29 Jul 2021 16:56:14 GMT): RounakGhosh (Thu, 29 Jul 2021 16:56:14 GMT): zossimov (Fri, 30 Jul 2021 10:37:46 GMT): swcurran (Fri, 30 Jul 2021 15:49:10 GMT): Drilmo (Fri, 06 Aug 2021 09:12:46 GMT): Drilmo (Fri, 06 Aug 2021 09:12:47 GMT): Drilmo (Fri, 06 Aug 2021 09:13:16 GMT): SahilK 6 (Wed, 18 Aug 2021 12:55:21 GMT): Drilmo (Wed, 18 Aug 2021 14:18:17 GMT): Drilmo (Wed, 18 Aug 2021 14:18:57 GMT): SahilK 6 (Thu, 19 Aug 2021 06:41:48 GMT): AnjiSSI (Thu, 19 Aug 2021 07:34:51 GMT): AnjiSSI (Thu, 19 Aug 2021 07:34:54 GMT): AnjiSSI (Thu, 19 Aug 2021 07:36:19 GMT): Drilmo (Thu, 19 Aug 2021 07:59:34 GMT): Drilmo (Thu, 19 Aug 2021 08:15:33 GMT): Drilmo (Thu, 19 Aug 2021 08:15:33 GMT): SahilK 6 (Thu, 19 Aug 2021 12:25:37 GMT): Drilmo (Thu, 19 Aug 2021 12:48:30 GMT): Drilmo (Thu, 19 Aug 2021 12:55:43 GMT): Drilmo (Thu, 19 Aug 2021 12:55:43 GMT): Drilmo (Thu, 19 Aug 2021 12:55:43 GMT): Drilmo (Thu, 19 Aug 2021 12:55:43 GMT): Drilmo (Thu, 19 Aug 2021 12:55:43 GMT): Drilmo (Thu, 19 Aug 2021 12:55:43 GMT): SahilK 6 (Thu, 19 Aug 2021 14:09:28 GMT): SahilK 6 (Sun, 22 Aug 2021 08:06:21 GMT): amitpadmani-awts (Thu, 26 Aug 2021 03:57:31 GMT): sairanjit (Fri, 27 Aug 2021 11:08:09 GMT): SahilK 6 (Sat, 11 Sep 2021 04:52:23 GMT): SahilK 6 (Sun, 12 Sep 2021 08:35:23 GMT): DenverNaicker (Sun, 12 Sep 2021 17:00:40 GMT): SahilK 6 (Tue, 14 Sep 2021 06:10:40 GMT): moisesjaramillo (Wed, 15 Sep 2021 16:28:51 GMT): SahilK 6 (Mon, 27 Sep 2021 05:13:05 GMT): SahilK 6 (Mon, 27 Sep 2021 05:14:40 GMT): SahilK 6 (Mon, 27 Sep 2021 05:17:23 GMT): SahilK 6 (Mon, 27 Sep 2021 05:17:23 GMT): SahilK 6 (Mon, 27 Sep 2021 05:17:23 GMT): kukgini (Wed, 29 Sep 2021 05:31:29 GMT): Drilmo (Thu, 30 Sep 2021 09:08:03 GMT): Drilmo (Thu, 30 Sep 2021 09:08:03 GMT): RounakGhosh (Mon, 04 Oct 2021 16:10:59 GMT): RounakGhosh (Tue, 05 Oct 2021 07:39:52 GMT): RounakGhosh (Tue, 05 Oct 2021 13:13:33 GMT): RounakGhosh (Tue, 05 Oct 2021 13:16:38 GMT): da3v21 (Mon, 11 Oct 2021 03:40:55 GMT): da3v21 (Mon, 11 Oct 2021 03:41:50 GMT): da3v21 (Mon, 11 Oct 2021 03:41:50 GMT): IndhumathyMalayappan (Mon, 11 Oct 2021 15:53:41 GMT): IndhumathyMalayappan (Mon, 11 Oct 2021 15:53:41 GMT): IndhumathyMalayappan (Mon, 11 Oct 2021 15:55:25 GMT): action-sj (Tue, 12 Oct 2021 01:28:36 GMT): lauravuo-techlab (Tue, 12 Oct 2021 07:21:24 GMT): lauravuo-techlab (Tue, 12 Oct 2021 08:21:09 GMT): Drilmo (Thu, 04 Nov 2021 14:49:39 GMT): Drilmo (Thu, 04 Nov 2021 14:52:42 GMT): Drilmo (Fri, 05 Nov 2021 08:59:54 GMT): kukgini (Tue, 30 Nov 2021 11:04:12 GMT): davidd (Fri, 10 Dec 2021 14:52:58 GMT): nskishore1993 (Tue, 21 Dec 2021 08:07:49 GMT): moisesjaramillo (Wed, 22 Dec 2021 17:17:59 GMT): Bert (Sat, 22 Jan 2022 09:22:59 GMT): 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):
you can list them using `recordService.SearchAsync
Thanks, it works.
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 - Sat Jul 04 2020 01:53:26 GMT+0800 (China Standard Time).txt
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.<
Is `_credentialService.CreateCredentialAsync` the corresponding action for a credential request from the holder?
`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.
`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.
thanks for your reply, but my remain question is why `CreateCredentialAsync` only happened when `if (request.ReturnRoutingRequested() && messageContext.Connection == null)` is true. Any idea?
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);
```
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
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
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
u have two agents or one?
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
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?
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)?
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)?
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)?
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?
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.
@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.
Has joined the channel.
Has joined the channel.
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?
Clipboard - July 7, 2020 8:04 PM
Has joined the channel.
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.
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.
@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
Thanks to @StevenTCramer for this contribution
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
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?
yes
any help?
The verify function already compares the hashed values for encoding. Can you just run verify?
Else, we can make the method public, just not sure that would have common use
can I use it on web agent?
like if I write the method in controller, will it be helpful?
There may already be one
there's a swagger controller support in the framework now
```
[HttpPost("VerifyProof/{proofRecordId}")]
public async Task
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.
I hope it make sense
who is the issuer?
a third person (identity provider), in this flow Issuer won't be involve.
it's just holder and verifier
I just want to encode the passport number, which is in raw form and store it in wallet!
later, will validate it with hash value provided by holder
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
just want to encode the raw data.. that's it. is there any solution for that?
Yes, make the method public
You can also just copy the method into your code right now and use it, it has no dependencies
`The name 'sha256' does not exist in the current context`
`using System.Security.Cryptography;`
`SHA256 sha256 = SHA256.Create();`
```
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();
```
got it.
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
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
You can create new type that inherits from RecordBase and save it using the `WalletRecordService`.
You can put any information you want inside of it
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?
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?
Has joined the channel.
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.
hi, Ism created for every credential, isn't it true?
hi, isn created for every credential, isn't it true?
Hi @syngin , isn't master_secret created by Holder/Prover at the time of Credential Request?
Hi @syngin , isn't `master_secret` created by Holder/Prover at the time of Credential Request?
https://github.com/hyperledger/indy-sdk/tree/master/docs/design/002-anoncreds#prover
the issued credentials in wallet contains the master_secret in encoded form..
the issued credentials in wallet contains the `master_secret` in encoded form..
the issued credentials in wallet contains the `master_secret` in encoded form is same for every credential record ?
The `IEventAggregator` helps you hook into specific events. Additionally, you can implement `IAgentMiddleware` to intercept the agent message processing pipeline.
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.
Master secret is created at wallet provisioning.
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
I don't know of a codebase that currently works with multiple master secrets. It's definitely possible
Has joined the channel.
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)?
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.
Has joined the channel.
Has joined the channel.
Hi @tomislav , I am trying to run `aspnetcore` sample on macOS (for the 1st time), but it is giving this 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 DYLD_PRINT_LIBRARIES environment variable: dlopen(libindy, 1): image not found`
I am following instructions from here - https://github.com/hyperledger/indy-sdk#macos
I am following indy-sdk instructions from here - https://github.com/hyperledger/indy-sdk#macos
Any suggestions please ?
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.
@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
Something to do with how the build links to a version of libsodium
Has joined the channel.
@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
I've sort of given up trying and just copy the static lib for now
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
Thanks @tomislav & @mboyd, I will give it a try
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..
Thanks for this help..
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?
BTW - ACA-Py has it coming in this PR - https://github.com/hyperledger/aries-cloudagent-python/pull/624
Has joined the channel.
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
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.
Has joined the channel.
@syngin For Trinsic (formerly Streetcred ID) specific questions you can ask on our forum here: https://docs.trinsic.id/discuss
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.
Is that because of an Indy limit or because of checking done in Trinsic?
@rileyphughes thanks riley.
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.
Thanks - I've had questions about how big a credential can be and I've wondered.
64kb, this is limitation of Azure Table API
Did you do this after you added core aries services? It should work, it's just the .NET Core DI
It's the custom wallet storage limitation, not indy.
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!
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!
Has joined the channel.
Has joined the channel.
@tomislav which layer uses the Azure Table API? Indy, Aries or Trinsic?
Indy wallet storage
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?
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?
Has joined the channel.
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
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
Has joined the channel.
Hi, anyone can help?
Are you asking about adding another Indy ledger or a different type of blockchain?
Yes, there are plans, and these will generally be driven by conversations and initiatives in the community.
So far, there hasn't been any specific work planned or outlined
Different type of blockchain
Has joined the channel.
So that's a more complex task. You would have to write custom services to provide full support for that. ILedgerService, ICredentialService, IProofService, etc.
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.
I'd be happy to help with efforts for this
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.
Has joined the channel.
Has joined the channel.
I have some issues trying to get aries-mobileagent-xamarin run on my mac
Specially i get the following error:
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
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?
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.
Anha. Let me check that
I have tried now copying all three to the /aries-mobileagent-xamarin/mediator/bin/Debug: libindy.dylib libnullpay.dylib libvcx.dylib
No luck still
I have tried now copying all three to the /aries-mobileagent-xamarin/mediator/bin/Debug: libindy.dylib libnullpay.dylib libvcx.dylib
No luck still
you may need to add it to the hyperledger.aries folder as well
Is that in mobile agent project?
@mboyd
It should be inside `bin/Debug/netcoreapp3.1`, where all other DLLs are.
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.
Tried that too @tomislav. Didn’t work
You mean a sample using it?
Did you build libindy yourself or used the CI builds?
I suggest building it yourself. Simply run the mac script inside `libindy` folder and copy `target/release/libindy.dylib` to the desired location
the CI build is linked against different versions of openssl
and has been causing issues for some of us
I used the CU builds. Let me try to build myself then
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
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
Not quite. Guide is outdated unfortunately
Just run the mac os build script
`./mac.build.sh`
Mac build script in which folder? I don’t see any Mac build script on the libindy folder
https://github.com/hyperledger/indy-sdk/blob/master/libindy/mac.build.sh
yes, I mean a sample mobile app.
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.
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)
```
Has joined the channel.
Has joined the channel.
Has joined the channel.
1.9.0
Has joined the channel.
Has left the channel.
Has joined the channel.
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.
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.
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.
Can you send the entire stack trace of the exception please?
Prooving DID ownership is as simple as signing a message with it.
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)
hi @tomislav , is there a sample code for this process, or a documentation about it?
https://github.com/hyperledger/indy-sdk/blob/f9274a2b7b4646e7e96a452a762a8c844b7da6ad/samples/dotnet/Samples/CryptoDemo.cs#L64
@tomislav
Kindly note that I am getting this issue while using Aries open api V1(swagger).
Looping in @StevenTCramer who worked on the open api. This seems like a JSON conversion failing from between STJ and Newtonsoft
Has joined the channel.
hi
what is replacement for EdgeProvisioningService ?
Its class modifier changed from public to internal how we can provision edge agent ?
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
You can use the indy API to export the wallet. `Hyperledger.Indy.Sdk.WalletApi.ExportAsync`
@billYou can use the indy API to export the wallet. `Hyperledger.Indy.Sdk.WalletApi.Wallet.ExportAsync`
@biligunb You can use the indy API to export the wallet. `Hyperledger.Indy.Sdk.WalletApi.Wallet.ExportAsync`
Has joined the channel.
Has joined the channel.
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
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.
@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.
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?
pLEASE FOLLOW THESE 5 POINTS MENTION HERE https://github.com/hyperledger/aries-mobileagent-xamarin#getting-started
PLEASE FOLLOW THESE 5 POINTS MENTION HERE https://github.com/hyperledger/aries-mobileagent-xamarin#getting-started
Also here is the video by @tomislav https://www.loom.com/share/5c52c185673046b688bdd1ef7d280185 Go through this.
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.
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
I suggest looking into updating to latest Xamarin Forms
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.
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.
Please check the genesis file once.
Has joined the channel.
Has joined the channel.
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
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?
am using the default localhost:5000 for the mediator
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L19
the genesis is on the mobile app one not in the mediator one. Thanks
Hope this will helpful for you.
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.
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.
By default it uses sovrin-stagging https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/App.xaml.cs#L87
You can add your one too.
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
You have to add the files in Android assets.
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?
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
Then add after https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App.Android/Osma.Mobile.App.Android.csproj#L141
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
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
Hope these steps will help you to achieve what you want. Let me know if anything I can help you too.
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?
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?
This is inside a for loop and the genesis.txn is used as a tempory file.
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/src/Osma.Mobile.App/Services/PoolConfigurator.cs#L53
before load the next loop it creates the pool configuration. I believe so.
@tomislav Need your comment here.:grinning:
There are 4 configs defined in the code as below
```
private Dictionary
Exactly.
Is this for testing purpose? Or whether we should only keep one genesis here?
This is for support multiple ledger in one mobile app.
you can change the default pool one at runtime.
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
let me add my own test indy network and genesis
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.
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.
can you please share the genesis file content here
```
{"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"}
```
It's a VON test network
```
private Dictionary
I am using Android emulator
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
hi @sheru and @tomislav , may I have your idea about this "Network subsystem is down" issue? Thanks a lot
Thank you so much
The app got through to the review
@tomislav
`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.
Incredible. Please post a link of the app once it's published
Definitely!
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.
The github repo is the codebase you want to learn off of. The sample was created very early on.
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.
Clipboard - September 27, 2020 8:57 PM
Clipboard - September 27, 2020 9:00 PM
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.
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?
That's correct. Mediator can only handle `forward` messages (from the standards family) and the internal mediator specific ones, which are not standardized
ok, so normally the mediator should just looks like what is in this example project, right?
```
protected override void ConfigureHandlers()
{
AddConnectionHandler();
AddHandler
Yes, for the usual case
We should actually add the discovery handler to the default configuration, it doesn't hurt to do this
Ok, that's good, we can use one common mediator program
yes, that's added in the Startup.cs
`app.UseMediatorDiscovery();`
But @tomislav, may I have your idea bout the issue I encountered?
no that's different, in the `MediatorAgent` should be `AddDiscoveryHandler()`
I am responding to the issue
The mediator doesn't support discovery messages by defalt
I don't know why the mobile app asks for it
https://github.com/hyperledger/aries-mobileagent-xamarin/blob/cb56d53f4e8a3da45cefa65503960b9e52e71099/mediator/Startup.cs#L43
In the mediator's Startup.cs, there has one line of `app.UseMediatorDiscovery();`
That line is about something completely different than the issue you're seeing
that's discovery is about well known configuration middleware
https://github.com/hyperledger/aries-framework-dotnet/blob/master/src/Hyperledger.Aries.Routing.Mediator/MediatorDiscoveryMiddleware.cs
you issue is related to the discovery protocol, which is different
just a coincidence on the same name
ok
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
I'll submit a PR to add this to default config
https://github.com/hyperledger/aries-framework-dotnet/pull/131
In mobile agent's ConnectionViewModel.cs, is uses `protocols = response.GetMessage
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?
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
{protected,iv,Ciphertext,tag} is the format.
Is there any existing abstraction that deals with this type of message?
@daruru did you resolve the problem? Sounds like you are missing the indy binaries in the iOS/Android specific projects.
Please review the intro video to ensure you are adding the libs
I was able to resolve the problem. I had to unpack the package, but I did using internal classes on the framework.
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?
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
what will take to properly extend to other types
hey, I have an issue in where I tried to send a DeleteMessage to the Mediator and receive this response:
{
"@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"
}
I'm using the dotnet mediator, has anyone encounter this before?
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.
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/
This is not a message type that the mediator can process
These are limitations of indy-sdk
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
thanks
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.
That's correct
thank you!
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.
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.
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"
Clipboard - October 5, 2020 12:32 PM
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.
Is there a know way to register my own proof resolver?
thanks in advance for any help :)
Ah...just one mediator is fine. As long as it is addressable on the Internet it can be used.
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.
I realized the problem here, and it was that the original code was conflating stored credentials with stored credentials offers :)
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.
I have been looking into the test suite and found this workflow here:
https://github.com/hyperledger/aries-framework-dotnet/blob/9355847ff1b9ee418e3ea46e2d77057a876fd6fe/test/Hyperledger.Aries.Tests/Protocols/CredentialTests.cs#L261
In this specific is implied that before we can make this request we also need to establish a master secret
Is this require in every single call to request credentials?
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.
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.
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
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?
Has joined the channel.
Not sure if these a repeated question but I'll ask it anyway
Has anyone tried to put a mediator on kubernetes? If so would you be willing to share your experience with me?
Has joined the channel.
Has joined the channel.
hi @tomislav, whether this might related to the discovery protocol issue we discussed previously?
@tomislav ^^
Has joined the channel.
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.
Has joined the channel.
Question,
Question,
What are the protocols supported in mediator gateway and routers in .Net implementation ? If possible can anyone list out those ?
Trying to create a custom router and mediator gateway components, would like to be compatible with other mediators and routers, out of the box.
@tomislav :point_up_2:
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
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
Hi @tomislav, is there a sample code which shows how to retrieve a credential and use it to response one proof presentation request?
Yes, there are many presentation unit tests. The revocation tests do a lot of issuance and verifications.
Has joined the channel.
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.
That exception is coming directly from indy-sdk, it doesn't include much details
Example how to turn on indy logging - https://github.com/hyperledger/aries-framework-dotnet/blob/02617cfa24c796eedfdb9549f9200a92a714e1a2/test/Hyperledger.Aries.Tests/Utils.cs#L12
Has joined the channel.
Has joined the channel.
Has joined the channel.
Clipboard - October 29, 2020 3:17 PM
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
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?
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?
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
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.
@tomislav @lijiachuan
@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 ?
Has joined the channel.
Has joined the channel.
Hi,
I need help with the below issue.
https://github.com/hyperledger/aries-framework-dotnet/issues/142
The problem is that the linker is stripping unused references. You don't need Linking set to All in a Debug build
Try changing it to SDK only
Clipboard - November 20, 2020 6:21 PM
Has joined the channel.
Has joined the channel.
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 ?
Thanks in advance
Unfortunately, there's no propose credential flow yet
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
https://github.com/hyperledger/aries-agent-test-harness/blob/master/aries-backchannels/dotnet/server/Handlers/CredentialHandler.cs
Thank you Timo :pray: How long do you think it would take to merge the propose credential flow
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
Has joined the channel.
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.
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:
I don't think the aries framework sorbet contains an ack state. Issued or revoked are the two possible end states
Has joined the channel.
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?
Has joined the channel.
Has joined the channel.
Has joined the channel.
Hi all, could someone tell which credentials are currently supported by the dotnet framework? e.g. LD-Proofs, BBS+, Anoncreds, JWT ? Thank you! :)
Has joined the channel.
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
is there somewhere an overview about what protocols of the Aries RFCs the dotnet framework supports?
Has joined the channel.
probably everything (around protocols and features) that is included here, right? https://github.com/hyperledger/aries-framework-dotnet/tree/master/src/Hyperledger.Aries/Features
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
```
// Send Credentials - Issuer to Holder - Status : Received
[HttpGet]
public async Task
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
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
**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.
**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.
**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.
Hi @Arsh-Sandhu , no we haven't yet pushed the multi-tenant agent feature. We plan to raise a PR soon..
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
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
Not everything. Holder sending credential-proposal is not implemented yet
awful response time in this group
not helpful
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)
```
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
Has joined the channel.
Has joined the channel.
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
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?
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?
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?
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?
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
}
```
Answers on the #aries channel.
Has joined the channel.
Has joined the channel.
Hello all! Is there an Aries call for the .NET sdk? Who can I talk with about contributing guidelines and involved procedures? Thanks!
Has joined the channel.
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.
Otherwise, feel free to open a PR from your fork
Are you interested in any specific contribution?
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.
Has joined the channel.
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
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
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
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
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
hi @rangeshsripathi can you share on which line of code it crashes and what is the exception message
Hello, Is there any protocol / function available in aries .net framework, which notify the holder that his/her credentials are revoked? @tomislav @lijiachuan?
Hello, Is there any protocol / function available in aries .net framework, which notify the holder that his/her credentials are revoke?
Has joined the channel.
Has joined the channel.
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.
No, this isn't supported
We will be adding support for checking if a credential is revoked soon
https://github.com/hyperledger/aries-framework-dotnet/pull/157
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
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.
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?
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
```
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
```
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
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.
```
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.
Hi @rangeshsripathi, please check the network with which you are connected from osma.
I believe you are using different networks on the platform from where you offer the credential and on the OSMA app
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.
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.
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.
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.
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.
hey all, have you experienced any issues integrating with the Scoped Storage in the latest android versions?
What are you seeing?
I resolved the issue. Will send you a PR with the description & fix.
Has joined the channel.
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.
req.txt
res.txt
Same issue as described here: https://github.com/hyperledger/aries-mobileagent-xamarin/issues/19
Has joined the channel.
Has joined the channel.
Has joined the channel.
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
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
Has left the channel.
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
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
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
@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
Has joined the channel.
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.
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
:thumbsup:
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
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
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
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
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
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
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
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
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
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?
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);`
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);`
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);`
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);`
@zossimov, add a breakpoint and see the value of *connectionRecord.Endpoint.Uri*. Check if it is the correct one or is it null?
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!
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?
Someone can help me with this problem with Win 10 OS! https://github.com/hyperledger/aries-framework-dotnet/issues/151
Has joined the channel.
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?
'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.
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)`_
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!!!
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)`
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)`
@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
If you elaborate more in what you are trying to build I can provide more help
Hi All! I'm exploring the aries mobile xamarin project! I've found in the .indy-client folder
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.
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.
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.
If you see the video in the project page you will get a good intro.
I don't understand if I can create a Use Case without a mediator, or if it's necessary for mobile applications???
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????
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????
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????
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
Make sure you have the libindy file linked to the compilation process. I will recommend having a folder for libs right next your project.
See step 3 of Getting Started here: https://github.com/hyperledger/aries-mobileagent-xamarin
Has joined the channel.
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?
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?
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?
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?
[ ](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.
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)
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.
Is it possible the schema already exists on the ledger?
[ ](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:
Has joined the channel.
This response belongs here. https://chat.hyperledger.org/channel/aries?msg=s7anSdhTFkYJmvzew
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
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
Has joined the channel.
Hello! I am building a wallet App with aries_framework_dotnet.
I have several ACA-Py Agents running to issue credentials.
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.
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.
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.
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.
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
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?
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)
```
`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?`
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
Hi All, wanted to know if there is any performance report for credential issuance, verification, revocation etc of dotnet fromework?
What do you mean by performance here? Time it takes to complete those flows, or the reliability of supporting them?
I'm not aware of any benchmark report atm. But isn't hard to setup some code to track this flows in your app.
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.
hmm.. from memory... I have seen credentials verified between 5-10 seconds max.
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
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.
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?
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
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
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);
```
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);
```
Has joined the channel.
Has joined the channel.
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?
Has joined the channel.
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=Zfi7xGb93TNDmKHEy) Can anyone help me with this, please?
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
Has joined the channel.
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
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
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
Has joined the channel.
Has joined the channel.
Has joined the channel.
Has joined the channel.
Has joined the channel.
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!
@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.
Hi,
Hi, How to share the minimal verifiable credentials to verifier Agent.
Hi, How to share the minimal verifiable credentials(Attributes) to verifier Agent as a proof.is there any option. please suggest
Hi, How can we share the minimal verifiable credentials and also mix of credentials to verifier. Is there any option. please suggest
Clipboard - July 20, 2021 10:47 PM
@SahilK 6
@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
@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!!.
@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!!.
hi, Is it possible to add images in schema for identity issuance e.g. passport picture?
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.
Has joined the channel.
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
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
@Drilmo, please check this.
https://github.com/hyperledger/aries-framework-dotnet/issues/181#issuecomment-901090882
@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 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 , 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.
Hello ,Getting Hyperledger.Indy.IOException: An IO error occurred. while running mobile agent in Android 10
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
All permissions are granted.But still getting the same issue.plz let us know any solution thanks in advance
@SahilK 6 , thank you for your answer :blush:
@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]
```
@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 ?
@Drilmo, check the updated code at https://github.com/hyperledger/aries-framework-dotnet/issues/181#issuecomment-901090882
@SahilK 6 ```
ho! thank a lot again !
```
@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
@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
@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
@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
@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
@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
@AnjiSSI , check this.
https://github.com/hyperledger/aries-mobile-agent-xamarin/issues/19#issuecomment-779790627
Try this.
```
IWalletRecordService walletRecordService = (IWalletRecordService)Container.Services.GetService(typeof(IWalletRecordService));
IAgentProvider agentProvider = (IAgentProvider)Container.Services.GetService(typeof(IAgentProvider));
IAgentContext agentContext = await agentProvider.GetContextAsync();
```
Has joined the channel.
Has joined the channel.
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
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)
```
Has joined the channel.
[ ](https://chat.hyperledger.org/channel/aries-framework-dotnet?msg=Pz4rtCZwt9Kb5ZuMD) Can anyone help me with this, please?
Has joined the channel.
@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
```
Hi,
You may refer to the below URL
https://github.com/hyperledger/aries-framework-dotnet/issues/107#issuecomment-813850411
@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
```
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
```
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
```
Has joined the channel.
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.
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.
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.??
Can anyone please guide, on how to setup mediator service ??
Clipboard - October 5, 2021 6:43 PM
I am facing this issue, while staring the mediator service.
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?
`
This is the log in acapy og pingresponsehandler`
ProofDocument.txt
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
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.
Has joined the channel.
Has joined the channel.
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?
User User_2 added by Drilmo.
hi can you help my friend ? -> https://github.com/hyperledger/aries-framework-dotnet/issues/182#issuecomment-957228020
User User_3 added by Drilmo.
Has left the channel.
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()
```
Has joined the channel.
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.
Has joined the channel.