Okay, nice. Start the recording
Nice! Hello! Everyone welcome to another Fortnightly, nicing of the community.
Today is a very special community meeting because we have an announcement.
The Hyper ledger. Technical Oversight Committee election.
everyone is welcome to balance, as you know, and it was connected with I would need to perform with my candidate to have a say in all matter cycle measure specifically moving new projects in discussing old ones and in re-releasing all projects which also have new developments, just like you know how
to so please anyone who is present, and anyone who isn't present but has contributed to hyper ledger projects.
is, you'd like to please vote for whichever Canada you think is nice suited to become a voting number.
I'm biased, but that'll be. Now. We do have quite a bit of things to go through.
So let's start first of all on Uk process has yielded some really good results.
We have identified We have triage all of the bugs that we had.
We have every time and we have confirmed that about 60% of them are on bugs.
Most of them were You are youx issue where people there didn't get the expected result?
The reason that they didn't actually understand what was supposed to be done.
And this is a failure on our side. We should be fixing this, and we have started that process already.
Foreign function. Interface for Webassembly is put on ice.
We have produced a documentation for it, and we will revisit this at some later point.
those laser points will unfortunately have to be after the mid November, because the people who are involved in that they're a little preoccupied when you consensus.
We have merged it, and it has shown to be in in Macro improvement.
In some ways, but it also has a bug. It's manages to deny a service.
you have to be a communication system, and because this is based on actors, it was incredibly difficult to debug, and it wasn't actually until last Sunday We managed to figure out what was wrong.
Because problem was not. We had assume that if it worked on normal machines that the machines would develop on that, it would automatically mean that it would work on war machines.
That was far from the case, and we have found that we can machines like the ones that are deployed in the Kubernetes.
For example, had trouble. We have back ported a temporary workaround into the Lts.
We're also working on a dynamical solution which we also should be back porting into the Lts.
that should resolve all those issues in the future, and would give us a little bit more certainty about this kind.
Of course we have better ui and user experience for the genesis block simply put.
We have come up with a few ideas. Or how we can simplify the entire process of submitting transactions, and that has to do with improving the Json language that we use for submitting new transactions.
The way that we pass it a little bit more code from our side, but as a result we get a domain specific language for free, and that language is Some of those Json allowing people to use browsers and other tools for creating the appropriate things.
Of course we'll be releasing companion applications as well.
Configuration in general now has better default. Handling
What this means is things that should be set explicitly by the user.
I'm not required things that shouldn't be set by the user.
I'm not required, and they can be filled in from Eda.
The environment, variables or the configuration, If there are any conflicts between the 2, an explicit message stating that an override has taken place is place, where people if they misspelled an environment or something like that they know something went wrong, and in general the
documentation is up to date, and it is pruned in the sense that we no longer have legacy pieces of information on the repository that could mislead you uses They might find Documentation things are no longer present things which were planned and have not yet been implemented.
And thanks which I've decided never to implement at all.
Of course, like of great importance to present company. Typical request related to Iran will request 1776 was most through a little effort, but eventually we did manage that 2660 Andre's work requires a little bit more.
Attention, I found that it was written very well, but it did not convert to us down guidelines.
it's missing a little bit in the documentation department that I have suggested fixes for that.
There are some architectural decisions like using links, rings, and console stars, which again, the up to which standard of the language people are using.
Otherwise it's very much architecturally sound and ready to merge.
Even with these statistic differences, of course, we have bug fixes communication.
For example, block streaming. We'll talk about them later, and you know as well a piece of code that was designed by one of our interns is in review and as that is completed, is just hasn't been addressed yet.
We are fixing the block, streaming. Api. It is useful for Texas actually, mostly, And the website of communication is saving up on a lot of round trips.
it's a little bit complicated, If you wish, I will explain this in what detail, after the can you use anything permission?
Events are emitted for roles to now, in the sense that if a permission has been reverted from an account, no matter which mechanism in the use you were an explicit revocation of that specific permission or implicit provocation through our role in both cases, now you can
set up a listener for that particular event. No, we have hoped that we have fixed the Zombie Genesis bug.
That isn't the case
We have identified that it is not, in fact, just a problem with the binary.
It is, in fact, related to. Let's just say how it's being used as well again.
This is a uiux problem as much as it is a binary problem, and we showed the cater to the use case where that those things do happen, and we should be providing enough feedback in the logs.
So that people know that something are wrong as of today, without
Okay, What else do we have? We have? That's a music handling.
What does that mean? Well, you know. How is a concurrent process?
It requires quite a bit of effort to actually write things in a concurrent manner.
Sometimes they need to exclusion, and the mutex that we have been using.
So far the Standard Library New text makes a few makes very few assumptions actually which makes it useful.
For when you're writing, General Rick. Generalize, but not, in fact, when you're writing a very specific application like you know, we found that the fairness was a much more important metric than the ability to recover from panics given that all panics.
In Iraq Cause: you don't have to shut down, and so there is no handling of that.
As a result we are coming up with a global replacement, with one of the indirect dependencies, and it can yield a significant performance improvement as well as improve the api in the sense, that it's easier to write things for finally victor here he is going to be
presenting the blockchain explorer. Add some later date.
Everyone is invited. Of course, this demo is mostly for internal use, but anyone who's using it you don't have based projects might be interested in.
you know how related to. We'll show what's working, and we'll explain why things are done a certain way.
No runtime foundation nowadays is implementation. It's on hold in general.
We don't have an Rc. Yet. We have not designed to come up like a system, but we have the stubs for that.
We can now accept Base 64 encoded Webassembly blobs, as input what this allows us to do is this allows us to in the future submit an entire dimension Validator: set We'll have to decide on the Api but what this means is that you know he's
no longer confined to one type of private blockchain and one type of public launching, and, in fact, both of these kinds of blockchains can go exist on the same network incredibly fascinating design I would recommend anyone, who is interested to let us know so that we keep you posted when the Rfc.
Is ready. Texas Central probability. We've done the first steps where I'm ramps to deploying the first function bridge.
In fact, this is something that will be having by Monday, and we'll be demonstrating this on a real world example.
They're not sure whether that example is public in the sense that we are allowed to share the details, but I'm sure but some parts of it are, and we'll be happy to demonstrate how cactus can be used.
Bridge. You know how to how it could be used to bridge your heart to another compatible matching.
say, after you call them pull Osama, and of course Webassembly dynamic linkage.
Again I said, It's some hold. What have we managed to do?
Well, the Ffi is not quite dumb. The thankfully.
while we were doing this wasn't time. The library would be used to host a Webassembly robot, javascript virtual machine inside of it, on, has decided on a method of dynamic linkage so We No longer need an in-house implementation.
We can actually rely on the one that's provided it does require us to adapt to few things.
And those things might actually have profound implications for runtime permission.
Validated, It's given. Both subsystems required with assembly and a lot of code is going to be shared.
It is preferable to not store the repeated code as several times as statically linked by this.
On the other hand, there are security advantages to having static binaries, particularly in terms of performance.
Given that runtime permission validators, I'll going to be run on all transactions, and in that case a little bit of trade off between memory, usage, and speed of processing is actually worthwhile
Unified could be origin. Into these we have, I'm route to finishing this as well.
We are moving some objects from conflict to is, what does that mean?
Well, if you think about it, there are certain instructions which have to be applied globally in it, says that these are not variables that exist on any of the individual peers.
They exist on the blockchain, and every valid peer, ie. A pair that has been given the right information one way or the other, has to have it
Some configuration, parameters that used to be treated as configuration parameters inside of a config file do affect consensus as such block Hashes might not be agreeable.
If one of the peers has a different configuration file.
Now, this is a user experience problem. You should make sure that they're central.
One way to do this is be a Bootstrap, because we felt actually, that is not necessarily the right approach to this.
So instead of having these things defined in the configuration, Json file instead, what they're going to be defined is inside the Genesis block, via special instructions.
What this also allows you to do is it allows you to set up a blockchain with one set of parameters.
Then upgrade those sets of parameters, and also massively track the consensus process.
In that sense. If you add a new Pm. It doesn't have to have manual intervention in order to validate all the blocks.
Even with these changes, and you get runtime upgrades for free.
For this to work. We actually need to consolidate what we call the worst thing.
View object. It contains quite a bit of information. It's basically a god object, and we're not happy about it.
We haven't had time to work on the technical debt, so it looks awful.
We, I'm not in a very good position right now to address this, but I think we will have some time later to actually fix all of this and produce a lean, neat, and usably configurable system in a sense that user.
Experience. Errors just use that errors in general. I'm not as fatal
So we have updates. That's 2 as well. In fact, this is largely the accomplishments of one person.
with considerable amounts of help from both myself and William.
Will have been overseeing this; but in general we have sorting explained it's sorting by metadata.
Key had nothing else, and this is a deliberate design choice, in fact, sorting was something we didn't plan to implement at all, So we've made that clear pagination is still not very Well, documented.
Given that we've not actually frozen the pagination.
Api. The reason why I'm implemented sorting was because people wanted for no Well, if you made a paganated query, and then you added some data, the next time, you would have gotten data, you would have repagenated.
The new result, and you could have gotten weird pages, so to speak.
we'll need to think of a way given the new will say you that I mentioned previously, and the fact that it's long term process to actually fix paganation separate from sorting, and probably remove something altogether eventually still train the api for which is more or less done but it's
still requires a bit of effort on our part in order to make mainstream, and in order to be used widely, we don't have lots of examples, and we don't have lots of example use cases, but what we do have good documentation.
For is queries, Quizzes are used by everyone and they want our high priority.
Finally, we have low script improvements well calling us script is a bit of a misnomer.
It's actually a rust binary that uses the clients.
Api. It's very much single threaded in the sense that it produces.
It listens and produces load from the same main loop we might actually extend this a little bit, so that we can produce hi a loans Previously It used to combine you know with them.
To instructions, I mean. Now we have more opportunities to submit instructions and type in register.
What type of mint and type of ground and revoke.
Of course, these instructions and models particularly diverse themselves.
We only register accounts and assets. There are many other things which we could register, and they make no assumptions, so we can't have a set preset number of failing instructions, and a preset number of succeeding, instructions probably getting that and of course the more accurate
transactions for second estimation. It largely depends on how we do things.
Again The limiting factor here is the I o throughput, because we're bombarding pretty much one peer.
We have to bombard from several friends, and threats have a tendency to not work predictably so.
Transactions per second estimation will have to be done some other way to speak
So what is plan? Long term the key symmetry structuring has been put out.
Unfortunately, it's still one of the long term plans.
It's not a short term. Plan precisely because of the issues that we've been having with uiux and sub teams having trouble with a new definitions.
So this weekend, the new syntax, the local reputation system.
Well, again. It's put off offline transactions, patching compatibility, transaction piece and loosestr peers They're all in the backs of my mind.
Bootstrap peers is probably the one that's the most likely to come up zoom, because the unified configuration interface is supposed to lead into that, and we are making a progress on restaurants because the developers who are working on it don't work on anything else and
frankly, wouldn't be bothered because I wouldn't allow them to speak
Let me paraphrase this: The people who are working on the unified configuration interface.
alright, immune from having to pivot to other types of work which is a common occurrence, and the reason why both Webassembly dynamic linkage, geecentric a country, structuring an offline transactions had to be put off
Alright. Thank you for your time, and now I would like to take questions
Okay, good. Any other questions, ones that should be recorded by any of the present company
Okay, Andre: we, I approve. Okay, let's discuss this afterwards.