Coming soon - Get a detailed view of why an account is flagged as spam!
view details

This post has been de-listed

It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.

57
[GIT] Weekly Update 6
Author Summary
BOR4 is in git
Post Body

Hey all,

tradition continues and we are already on 6th weekly github status update. In terms of disclaimers nothing changed, but this week I prepared a little something special. I promised someone I will try to give a plain english explanation of EIP712, so there will be a short explanation of that, plus since in raiden project devs are working hard on something called state machine, I will try to demystify what is that all about. Lots of text is ahead so let's keep this introduction short and get down to business.

EIP 712

EIP (Ethereum Improvement Proposal) is a proposal for improvement of Ethereum functionalities. Usually they are opened by part of community using Ethereum technology that came across some problem that would be best solved by extending or adding some functionalities on Ethereum side. If they want it to be added they must describe a problem, suggest a solution and open a pull request which is then discussed and improved by the rest of the community.

If you wonder why this one is called EIP 712, it is because 712 was the next number in line =).

EIP 712 was opened by one of the guys from Ox project but lots of projects quite liked the idea and soon began to put their inputs in the idea. Maybe there was an agreement between few projects that this is needed and Ox guys were the ones who opened it but that I don't know.

Nevertheless, EIP 712 was opened September 13 2017 and since then it was actively discussed and fine tuned by lot of smart people.

I already tried to explain in previous posts why EIP 712 is important for raiden projects but I will repeat once more. Microraiden project 1.0 release depends on it being accepted so it can start using functionalities added by it.

So what are those functionalities exactly?

If you want to send some information to a smart contract you have to sign it. It is not exactly a human hand written signature but if you don't know how computers sign data you can pretend that each computer has his own signature just like people do.

Problem right now is that data you want to sign and send to smart contract first has to be processed and then signed. Process data has to go trough is called hashing.

Problem with hashing is that once data goes trough it, it comes out as a bunch of seemingly random characters called hash. So, user right now when sending data is not signing something he can read and approve of, he is signing something he can only believe is hash of data he wanted to send.

EIP 712 suggests that this whole process is changed so a user actually signs data he can read and approve of, and hashing comes later. (I know this is not 100% accurate but it serves the purpose in explanation to someone who is not techy).

Or if you are techy this is short explanation of EIP 712:

EIP712 is a standard that allows the dapp to pass the data directly to the provider, and it'll show the actual data to the user, the provider will hash it in a standard way and upon approval sign the hash of it, in a way that is cheap to be reproduced/checked in EVM.

So, I hope this is clear enough, if you have any more questions about it feel free to ask in comments =).

state machines

So state machines are something straight out of first year of IT college. Please if you are student don't use my explanation in any of your work =).

I won't go in too much detail and some things will be wrongish but for sake of explanation I'll let it slip. Since I think learning on examples is the easiest let's start with the simplest one.

Imagine you have a light bulb that does not ever die. Two states it can be in are "on" and "off". If it is in "on" state you can switch it's state to "off" by pressing a switch. If you want it back "on" you press a switch again. So, in order to make a transition between light bulb's states you have to press a switch.

States light bulb can be in and transitions between them define a light bulb's state machine.

State machines are very useful in programming because if you know what state something is in you know how to apply transitions so it switches to the state you would like it to be in.

Raiden is working on building a state machine for it's channels. Right now, since they don't have state machine for channel, once something goes wrong and it is not working as it should, you have to restart it because you don't know in what state it is exactly or what transitions to apply so it goes back to "working normally" state.

Once state machine is implemented channels will become recoverable because you will always know in what state it is and what transitions to apply so it works as it should.

This is pretty big topic and I just tried to give some very short explanation of how significant this change is to raiden. I am sorry if it was not clear enough.

microraiden

Microraiden is still waiting for EIP 712 to be implemented on Ethereum so they can use it's features and release 1.0 version.

In the mean time there are 2 other things they are working on.

First is finishing up documentation for both projects (microraiden and raiden). I think it is pretty much done since there is a big pull request standing in line to be merged. Quality of documentation is really good and I think it should really ease up the process of implementing raiden projects in any solution you can think of.

Second is reorganizing code. I am not sure how done it is but there were few commits regarding this issue in the last week. It is not something critical but good code structure makes working with and on a project more pleasurable experience.

raiden

Raiden project has 3 remaining issues in their current milestone goal. They dealt with all the simple issues and only big stuff is left.

During the whole week they were adding more and more commits regarding those issues. Most of the commits were just a foundation for real code that will use them and solve the issues (aka business logic).

Since I don't see any more pull requests with a foundation code I think in this next couple of weeks we can expect business logic commits being added and closing of some of the 3 remaining issues.

I am sure they have that code already done but they want to add some minor changes or do some more tests before they add pull requests for them.

So, sit tight and expect more "do you even sleep bro" posts in the upcoming weeks =).

conclusion

microraiden - waiting for EIP 712. Documentation improving code structure in the mean time

raiden - lots of foundation code added in last week. Expect real problem-solving code being added very soon and closing of some of the big 3 remaining issues in milestone goal.

Whew, this might be the biggest and most complicated post I did so far. I want to thank you all for your great support. It really keeps me motivated to do this each week.

I hope you will find this post useful and as always I will try my best to answer any questions in the comments.

Stay cool! (couldn't think of anything better)

Author
Account Strength
100%
Account Age
9 years
Verified Email
Yes
Verified Flair
No
Total Karma
5,900
Link Karma
3,489
Comment Karma
1,615
Profile updated: 23 hours ago
Posts updated: 9 months ago
github hero

Subreddit

Post Details

Location
We try to extract some basic information from the post title. This is not always successful or accurate, please use your best judgement and compare these values to the post title and body for confirmation.
Posted
6 years ago