as possible, heavily. If 5 oriented, and those wipers for Nodejs python.net, you know, android and tiles with drop support for some of those and currently the only, records we support are android isles and no js
So that's kind of where we are now. We've been.
we've been. I will tell you of of technical debt which was originally incurred so honestly, I'm very happy with the sort of clean ups and refactorings We We did over the past, 2 years and and we have also implemented that
Aries agent, desk, harness, framework.
oh, like testing pairs will be called back channels.
So we have. We have sort of idea what's our compatibility currently between areas Vcx and other frameworks?
The other framework is currently being occupy. And hey, Jenny, hey jar like 2, I would say to one of the most prominent frameworks.
So that's why he focus on these. But it shouldn't be difficult to as testing with other pairs as well.
and and basically, where it's going, we as a core maintainer, we primarily currently focus on on areas V, 6 itself, like the core rest part and well, at the same time, still maintaining the sort of F; 5 wiper around it which is important for for the mobile well, as
a basically all of you guys, since you are doing mobile.
So that's that's that's in under maintenance as well, but really trying to trying to make the core piece as good as possible as a as a primary goal is the rust piece and going into future yeah, it will be definitely amazing if since since you
you you guys are a mobile developers. If if we can get help with the the viper part, the mobile rappers, there's there's lots of probably clean up some technical depths which can be also like improved and also I'm not I'm not sure but
I think the Sfi approach is perhaps somewhat somewhat outdated now, because it will started years ago, and maybe there can be, you know, I'd be different sort of new approach for how doing how to do the fi can be can be that Can be can be found.
I definitely at least know about an Ogs F file which there's a there's a rust library, coral, and a P. I.
R S. Which which can generate this Fi.
So I could much like with with with with with much ease, as as opposed to the way it's done for, not just today.
But yeah, I'm not particularly sure. Have all the mobile, mobile breakfast.
Just kind of throwing an idea as to where it's going.
Perhaps there can be some like a new approach developed for the for the mobile frameworks, for the mobile rappers.
Well, that that would be roughly for the for the like.
This first point. So I don't know, Guys, if you have any sort of comment or question, don't have state, too.
yeah, I was gonna ask as well. Is it sort of in scope or areas?
jump in.
Oh, yeah, yeah, I mean, that's definitely what we are shooting for.
And I would say that we are kind of there. It just.
We don't publish the crate on creates I.
O, so, if you want to consume, you know, as a as a rust trade, and write a R code on top of it, you can definitely do it.
You can. For now, just you know, use a reference to the Github repo, and cargo is smart, so it can.
Vcx, the Core to become standalone, create
It can consume. You know I get a repulse story
Okay, So I'll move on to the next one now.
So just kind of mentioned some of the significant, like more significant pieces of work which has been done recently, and the word which is in progress.
I got a few points here to help myself. A little bit of notes so recently like in terms of the last 2 months.
Let's say we did like, yeah, exactly as Jar was pointing out.
We were focusing on making errors? You see eggs, you know, becoming in the end possible, easily usable in independent trade, and and make the Api nicer, and also enabling multi ward and multiple capabilities so we removed lots of global states from vcx at the you know, the
route, and the sort of core create itself, And we moved this global state on the one level up on the Lip Vcx layer.
So, if you are consuming the you know. Build compiled android, or aisles wrapper.
basically, those no breaking changes but will happen internally is that errors. V.
6 is now much more general; Others, this sort of State opening a nation, has been moved a level up on the lip.
Vcx layer, so so that's that's kind of yeah, definitely helping with the Api and and sort of wideens its potential as to what can be done with it.
Especially now, when you can essentially run in a use. Areas Vcx: and simultaneously M.
Manage work with, you know X. Wallets and X different pools, So that's that's this is one work.
one piece. Then we had. We've done lots of work on a linking static and dynamic link linking in regards to all the dependencies of Vcx to other libraries.
Suggest Vdr tools and lip. So do you lead them in queue.
And all these kind of stop under, the you know, behind the scenes.
So it was with this big build process, cleanup refactoring.
And basically essentially essentially the side effect of the head, the size of android wiper will so decrease roughly by 10 times.
So coming from originally 150, I think it was 100.
No, no, no! How How much was it? Yeah, I think the compressed version or 150, Max?
Whereas now it's roughly 15 or 20, something like that.
so? Where are the with that? And then that's a second second job which has been done.
this is something I already have roughly mentioned. We we've been testing for quite a bit, maybe since a year ago, but just recently, last week, or 2 we have added and it's framework.
Javascript pair, getting good results there.
I think I'm not sure it. If the pair is yet being executed on the test harness.
Ci. But we we checked. We've been running it locally so far, and compatibility results where quite satisfying, although there's still some there's still a bunch of suits I'm missing, which are not implemented for areas you know for these back
channel, either, because we don't implement some protocol or or we simply don't.
Implement that that test suit in harness itself. Oh, hi!
that that I admitted. But there is my colleague.
I'll well, I'll continue. I'm not gonna like, interrupt the current agenda.
But anyway, welcome Better the and then to move on to the next step.
We have again some sort of connecting to George's question, or we have implemented and around like simple rust agent.
maybe I can actually open open it up in
And Repo: So basically what we just merged yesterday is is right here under the agents, and there's a new directory Arrestlash area.
V 6 agent. So this is essentially like sort of simple implementation of rust.
Agent week reach, which has some storage. It can keep track of different protocols, And can you know, update these protocols?
It it exposes some api. It is also some base, some basic issue.
Functionalities, such as writing schema on the you know, sending transactions on the ledger to write schema, credential definitions, or this kind of stuff.
and basically the we we use this this agent as a as a a dependency.
In the areas. Agents test harness, implementation.
So we don't directly consume errors. Dcx, because that will be serve too granular to low-level.
I but this, this new, crate, which is being built on top of areas Vcx, It gives us additional capabilities such as you know, handling the storage, and also like creating agents with the agency, so it's more to more more of an end, batteries included
api
Oh, yeah, exactly, precisely. So. We have in note. We have this V: 6 agent core, which essentially it.
is it? Is it similar to the No. Js version of the agent that you guys have
It's very similar, but in the rest
and lastly, this is quite significant, were in progress, and that's a substitute substitution of.
I have a 5 between and Vdr tools.
this is maybe actually important piece I should have mentioned when I was talking about where we are and where we are going.
so all just kind of take a step back and send See one more thing here.
So essentially 4 years ago, Arizona So it's part of it was originally part of in the in the in the SDK, and in that repulsory, you know, it's a hyper ledger selecting the SDK and under that
repository. I was living the and those little Vcs, whereas Levy Sex has directly depended and consumedly bending.
But it was always through as a fine interface. Then we'll happen.
Is that we forward leave Vcx in around 2,020, and and live in The didn't seem to get much sort of much community track anymore.
And those still lots of improvements which could have been done there.
But well, for whatever reasons these improvements has been done.
But they've been done in a fork of this library, which is now called a Vvr tools.
we'd be our tools. And this is this was done by again.
The company called Ever name. So there's Github repository of Vvr.
Tools, and we are here around 2,021. I believe we basically switch from liberty to Vdr tools, because there was lots of performance improvements, especially especially related to as synchronous code, in rust.
So basically, now, now, the current state of things is a Lady Cx is confusing.
Vdr is using V Pdr Tools fork from every name, and these calls between these 2 libraries happens through Ffi as a foreign function.
Interface. Sort of like when you want to call C library.
So from Aries, Vcx live V. 6 standpoint, you know.
we our calling this library as as if it was some sort of C library, and this can be like very inefficient, because I mean, first of all, you know, losing lots of performance there and also lots of rust typing so back to my back to my point here as to the task which
is in progress. We are trying to basically optimize the way a loop Vcx is consuming media art tools We don't want to use the fi interface anymore for that sort of reason recently Scheduled out, and Instead, we want to call vbr tools.
Directly as a native create, so we are essentially forking Vvr tools ourselves.
but and would check with our tools ourselves to enable.
This, you know consumption as a native rust trade.
However, and now moving smoothly directly to the sort of long term goals.
this, this combination itself. That's like, That's not really the long term vision.
Instead, you know, after we finish this on migration, the call will be much nicer, much easier to work with, and that should make it easier for us to actually start with migrating away from Vdr tools like a live in the you know or whatever want to call this we want to
migrate away from the VR tools itself, and instead at capability to erase Dcx to be to to rely on this.
set of set, of libraries in the shared Rs.
Individual Iran possibly Arizona. These are 3 libraries which has been basically They've been created by guys from British Columbia Government The guys who stand behind Occupy And these libraries are like much smaller sort of modern rust style, as opposed to the
Original Pvr tools live in the. So this is like the long term version of a vision.
To migrate on these ideally. Probably you would have option to.
So to sort of choose whether we want to. You know, use Pvr tools, or or this triplet of libraries, or at least there will be some sort of migration period.
Where we would support both in some way. It's still kind of.
This is a big talk, so there's a bunch of unknowns there.
We still you'd have to familiar familiar. Ours are solved better with these 3 libraries, to make sure that we can actually pull this off.
and another another task, which are a bit smaller, but still are important.
Where we are looking for the future. First is that remove coupling of the library to V.
6 agency, no mediator. So currently when you use levy-six or areas V 6, it's essentially impossible to use it.
And in an in any practical way, unless you are also, unless you also deploy this.
this this implementation of of Eric's message in the Mediator, of which particular implementation is called visage agency.
Note, since you guys are mobile developers, I assume that you are, you know, running this otherwise you wouldn't be able to use the Vcx.
So. This is not something we want to like drop, because obviously this is useful for for anyone doing mobile on Lbcx.
But it's something we don't want to to be necessary.
I, because you can definitely use, you know, as far as you are not running on the mobile.
You can, if you are running on server, and you want to implement some web web based agent on top of areas Vcs: You don't necessarily need this mediation box.
To accept messages on your behalf. Instead, you can just receive the messages yourself.
So while this is useful for the mobile, we want to, We want to also enable, like a very simple web deployment, and the coming to the next point obviously we want to keep on improving our interoperable interoperability, suit with the other frameworks and increasing our coverage
of the set of the at least every suits, and Rfcs would be implement.
And lastly, oh, well, that's the same thing essentially.
So
Yeah, these are the these are the goals. And
just about the Vcx agency, Node I've I've dug around there a little bit, So is that implementation based on some media to spec.
I think I'll I'll just leave the space now for again, for any sort of questions or comments
Sorry Okay?
I'm I'm not too familiar with mediator specs and tech behind it, like I noticed it, pick up messages and and concepts like that
So your question was, if it's based on some areas Rfcs: Specs: Oh, okay.
So in a limited way, basically, you know, it enables for any a you know.
It enables receiving every's messages in general.
So if you are, you know if you have a mobile device, and then mobile device, he's using Vcs agency note.
the research agency. Note, Mailbox. If I say that way, can receive a message, you know from anyone regardless of what kind of framework or they are using It's simply just message So in this regard, it's very simple Now, it can be seen there, is messages from anyone However, the the
dice to. You know the client to mediate your interface.
The way, how the messages are downloaded and managed.
Bid you know the client itself. This is not. This is not in alliance, you know, in alignment with any any Rfcs.
It's like preparatory, like a custom implementation.
basically the original implementation. You know, all the way, from 2,018 to you know how to the whole message, how to update the state of a message.
Yeah, So this is custom in in this regard. It's a you know.
It's not interoperable. But yeah, we don't.
We don't really plan to do this work like we are not.
We just want to enable live Vcx or Clients customers.
to to use some agency, and this is Us. Agency and agency.
We, you know, ship with it. If you want to use, if you would want to use everything with some other mediator like you want to have your messages, Maybe by you know maybe a Third, party.
then probably they'll have to be some, some, some, some work done on there is Vc.
Yeah, yeah, exactly.
Right: Yep: Okay, cool. So I guess is the good, the goal of of that go.
You have listed. There is the idea that you'd have like a a pluggable message source thing, and then, you know, you can get, because I guess the purpose of connecting with the mediators to get your messages.
Side to learn to speak this this mediation protocols, which is currently Count
Yeah, yeah, essentially, you know, in case of if before is running, that agent, you probably gonna have some exposed some port.
so I guess, is the goal to have some sort of pluggable message source that you can get your messages from whatever implementation we want
And you're just gonna be receiving messages directly.
And so in this case, that's your message for us, and you can just plug in those messages into the area. Z.
6 protocols, alternatively. Perhaps. Yeah, you might want to just in completely stand the old crane to create.
You might implement. I know good client agency client which would speak this Aries meditation.
Yeah.
Rfcs. And then you know you would use that to get your messages from wherever then.
Just plug those messages into Arizv.
Yeah.
Yeah, yeah, I guess how how tied is Dcx: at the moment to needing immediate on.
6 essentially be aware of of of meditation, as as at least it should be aware as least as possible.
Like, I know this like functions like find message and handle, for example, and that look into the mediated to get messages and whatnot. But there's also functions which are just handle message and you give it the message. To look at So I guess it's yeah.
Exactly, exactly. It's it's it's actually those 2 words, where yeah, and then the way it is coupled.
Now, essentially, you know, we have a connection, protocol, And so, connection Protocol Handler.
and this connection itself. This, this object is aware of agency. It's provides very convenient, Apis, because it's like, Find the message of find the message of the message and then, autumn automatically update messages message state in agency after it was processed but it comes with this
Hmm.
Yeah.
Okay? Hello.
kinding. So we just want to like separate it out. Different responsibilities
yes, that's one thing that I thought I I was trying to set up a V.
Hello! I can hear you
6 library in my system. I can take it hold.
I'm sorry, Ron. It's it's actually kind of difficult to hear.
There is a there's your environment is like, well, easy.
It has Yeah, Okay, Okay? Okay, yes, yes, I am.
But I think it correctly, perfectly even wrong. You are, according to me.
If I'm wrong. You were asking if there's a documentation to start Vcx in a local environment?
yeah, okay. Yes, So in a local environment, or at least run the test case, all the test cases.
Was that your question
Oh, okay, I see. Well, let me let me open the repo so I can something to a lean on, as I speak, so basically like current, our get started.
instruction is is to is a ref Mainly this reference to No.
So to check how the flow is going or off. Yeah.
Js: That's probably the kind of the easiest way to how to run it locally.
With some instructions, and mine would be perfect. But let me check it out.
Looking at this. So basically it says, Do you need to compile?
and then we link to some instructions over here.
To to do. Is there some instructions for running tests?
Okay.
I think maybe we are missing bit of info about dependencies like you need to have a lip sold zoom and lead them to.
I think, compile on the system. So this this stuff, I think, is something we can add and it seems like it's missing.
Yes, yeah.
Yes, that's I already made. I already put in that.
But if you manage to overcome that piece, you know, and you compile
Yes, I, as I was working on other framework like it is, been with Javascript.
I already set up that tip 30 on, and live in date.
Hmm: Oh, Okay? Oh, so yeah, from that from there on it should be like fairly easy.
Part of yes.
Like these. These are the instructions for testing in unlimited more.
Okay, so, if
Okay, okay. Okay. So if I if
Is it? Yeah, I think I think we can do a bit of a refactoring on the documentation for sure, it's it's not easy to find.
Okay.
But basically you can run cargo tests and and it should run the test for you.
Either unit test or integration tests obviously for integration tests.
Bye, bye.
Okay, Apple.
You must be running local instance of pool and agency
Yes.
Okay, okay, okay. So Oh, okay. So suppose if I'm in currently if if I want to change something in the areas, we say in the main report, So I will write the test cases there in that and change something right, You'll do the same day, or how you I do out, to try how you tried to table the
Rashport.
rest code, Well, yeah, I mean, ideally, you know, if you want to write some quote modify some code, you know that would be most of the most of the time.
Thank you.
I think you know the core piece of V 6 code based isn't under every Ccx.
Awesome. Yeah.
And so there's integration tests here, and you can run those or
Okay, integration tests are
Sorry.
Okay, integration directly running it would be a easy part.
Yeah, And there's a unique test also. Usually, you know, directly in the files.
So if I oh, man, let me find those. So we use 2.
Basically, we use rust, feature, rust, decod features to split out tests into like 2 categories You know, integration tests and to run unit tests.
you run with feature. General test. These tests are very quick.
If you want to run. You know, integration tests it's usually like full test, or and well, it depends on what you're trying to do.
Thank you. Yeah, yeah.
You know, if you want to write any calls, or if you want to play with them, integration test, I think the integration mess like they serve as a sort of nice form of documentation, because if you look at them, they are usually like discounts a small story where you know 2 in 2 entities issue some
favor and Alice. They are having interaction together and Februaryization credential to alleys.
And you see, you know, but you essentially can see what functions are being called.
How is this being facilitated? Same goes like for nodejs.
If you would happen to like, you know. Want to write some.
don't just code Probably the easiest way is to look at the agent, And again, there's tests, for example, out of band, and you can kind of see the way it happens, like you know, or whatever sort of scenario you are interested in usually also this can be also useful if
yeah, But alright, okay.
you are reading Mobile, because you know more, both mobile and with Vcx, both Mobile Android and Ios and no Js. They share.
They rely on the same C Sfi interface.
Yeah.
Hello!
Yes, Gotcha
So the way you do things in Mobile and the way you do things, you know, Js: you always pull the same sort of function, just you know, in different language
Okay guys, if there's no like thing questions, Yeah, I want to move to the next point to discuss the best time to hold these meetings, a bowl suggesting to move it perhaps an hour or 2 forwards to make it more available for the you know i'm
America's time zones as Paul is based in South South America, and I was. So I want to ask for everybody else is thinking about it for me.
Is totally fine actually for for me. Is that, like really convenient either way, because I'm based in Europe right now in the morning.
But trying to cover both Australia and us that that can get a little bit tricky.
So, Paul, you have currently currently it's what is it?
The when the meeting was starting was 4. 4 Am.
So perhaps 6 Am. Would be probably much better than wooden.
yes, yes, that's why. Very early.
It.
Although that's still still early, and I'll definitely appreciate all I'll see you joining.
But yeah, I think 6 zoom is is that would be good.
That would make it 9 Am. Utc. And well, they'll they'll shift it 2 h for everybody else.
So I'm okay with this. I suppose Paul is okay with this.
we'll do things, say. And George, is it?
Is it for you
Awesome guys That's good. So those very quick, So I've also reschedule the meetings moving to 9 Am.
Udc. As we agreed to. Well, I think we already had a free discussion, but I think before I close the meeting, this is like the last last opportunity to say anything you have in your mind
just on the the first call you kind of had there about sort of getting a bit of independence from live in Deal Vdr tools That's sort of what?
I guess I'm working on at the moment. So Yeah, it might be good sometime, maybe next meeting or some other time to.
Alright.
we we Yeah, so And on this piece, or basically, what would that approach?
We have currently in mind or head in line was Well, first of all, trying to remove the Ffi just to make it easier with to interrupt with the Vdr tools itself, while it's still and while it's still exist, and while we are you know while we'll be in the process
of that migration, It'll be easier to compare those Apis when you just can directly click through over the rust code from like one sort of framework to the another.
Maybe check how the functions between them at the first. So this is in progress. I have a colleague of mine working on this, and might be done.
he's he's the same, is in a good way.
I think he'll still run into a few challenges, so I suspect this might be done like late next week, or perhaps perhaps you know, the week after something like that, and then taken from there.
I think the first step to like break free from Vdr Tools would be to remove any sort of dependencies on on the Vvr tools from the rest of the code base in Rsd 6.
Sort of talk about the approach, and see what you think about it, and how it'll fit in with the ecosystem
And we'll I mean is, you know, currently for example, there are places in areas we call base where we talk and terms of wallet handle or pool handle, and these are, concepts of this is comfortable Vdr tools so we want to create some sort of like service layer to shield basically you
know, facade or shield away the implementation details. There should be just some sort.
The the vision is that there will be some sort of yeah, some api.
Would you be like, you know, Okay, create in the credential.
And then whether that happens, you know, over Vbr tools or areas shared R areas, shared Rs library.
It shouldn't be. It should be invisible to that, and all that.
Yeah.
Yeah, no, that's that's pretty much exactly what I've been doing.
Yeah, You ride a lot of wallet handles being passed around.
Every portion of the code base which is most of dealing with state machines and protocols. If it's something similar, or what's your approach to this
I'm not sure if I are you familiar with the Akapi code base
Okay, well, yeah, I guess they went through sort of a similar phase where everything was in the SDK: And then it was sort of cooling on Indie SDK: And so to make it modular they've created interfaces for kind of the main api modules So like an
interface for ledger interactions, interface for wallet interactions, interface for non credits stuff like that.
And then you basically inject whether you want the Indie SDK version of that dependency.
Or if you want, you know the the Credx or the Vdr version of it.
So yeah, I guess, I've been in the process of making those those interfaces, all those traits.
And then you can plug in whether you want a Vdr version or The media.
Tools, version, our credits or video tools kind of thing. But yeah, I guess it'd be good to not going into it now, but it'd be good to get you guys to have a look at.
not not much. No.
Yeah, yeah, this is the song you know. This: This sounds great.
I mean it's I guess, there's a approach one to do as you describe in occupy, and apparently what you're doing.
So. This is. This will be like really valuable work, you know.
It, and see what you think.
Collaboration definitely. If if you are it's a It's a big task.
I think so definitely. If you want to like, you know, kind of commit on, you know, Contributing this piece.
Hmm.
Yeah, yeah, that'd be great. Yeah, you're right.
It's a pretty big toss, I think. About 90 files change, though.
We will be again very valuable. Then we can, you know, connect, set up some setup, some calls, and kind of work with you more closely, and I
Oh, okay.
on it, so we'll do. What is your current state?
Something. So yeah, it'd be good to dig into it a bit if you guys
yeah, no, I I am consuming it. And you know, just running it against the local akupy.
Are we actually consuming some of those libraries? Or is it done A refactoring phase, trying to shield the way that Vdr tools?
Hmm.
Right.
can do, you know, issuance and presentations, I guess, being more mobile, focused by, I I care more about you know the proverb and the holder point of view, and verify so my attention hasn't really been on that side of things, but hold the retriever apis
in there. But yeah.
So so they are. You are literally running live Vcx, which is using those Indishard ars for the prover and stuff around it.
Yes, so I'm not using live Vcx. At the moment I'm I'm just using the areas of Vcx call directly.
yeah.
the only pot that is still using it in. Well, I I have it sort of configurable way.
But it's using. It's not using Vdr tools anymore.
You can choose whether you're using video tools or using pluggable things.
Hmm.
and I guess the only thing that I haven't done is a video or or a version of the wallet interface that isn't using via tools so like the wallet is in storing upwards and creating dates that is missing and that is be aries as car I
Hmm, Right right.
that that's amazing. I'm in. I'm really surprised, and I didn't know that this kind of activities had something this.
Guess
Yeah, maybe I should have been more vocal about it.
Is Really, amazing.
Yeah, Okay, okay, So we are almost running out of minutes.
we have 4 min left. So so, George, Yeah, let's let's talk on this court, and we can set up some.
some some call, perhaps some call, or I don't know.
Maybe we can even increase the it increased extra.
But yeah, we should. We should talk about it more
So I'm just thinking, what's the sort of hyper ledger policy, if it's all right, you know, for us to schedule a sort of private call about this contributions or everything should be open But I think in this case I mean, we we discussed the end goal.
On the shared meeting, and then I think it's fine.
If we discuss the implementation details on a on a sort of private call, and just discuss how to actually proceed.
I I don't think anybody would be interested in the technical details, anyway.
Okay, alright. So we can set it up on discord and I'll move the meeting to 9, 9, 9 am.
there for the next meeting would be happening on at least 23.
Well, we lost 20, so the next meeting would be on a third of November 9 Am.
Udc. And in the meantime we'll be on on this court.
Thank you very much. Everyone for joining. I'm really happy that this happened actually wasn't sure.
If you guys are gonna be able to use the whole 1 h.
But we did so. It was a nice interaction with all of you.
yes.