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.
hey everyone,
it is beautiful Friday evening and here I come with another post. If you didn't follow post form last Sunday, i promised there to do another special post during the upcoming week where I will just focus on new repositories that were introduced on raiden's github. I wanted to leave team with enough time to consolidate their ideas about in what repository they will add what parts of code.
If you ask are the new repositories even needed? Could they just stick with 2 existing ones (I don't count in 2 that never really got some more traction)? Short and dumb answer is no.
Correct answer is yes, definitely. Few reasons why they really needed to split up code in more repositories are:
Some important parts of project became so big that they were bringing clutter to the code. By separating those big parts in dedicated repository they make a strict separation of different responsibilities of the code.
Development is much easier. We see that different team members specialized for different parts (example: loredana for contracts). This way each developer has his playground to work with and they are not stepping on each other's toes. They are still very tedious about code reviews but now they will avoid stacking up pull requests of different features in same place.
Code reusability. Yes, by doing development this way they can much easier include some features responsible for specific things to new projects. They even created a complete new repository just for that purpose, but more about that in next chapter.
These are just a few reasons from top of my head. I am sure there are many more, so if you remember a good one please share in the comments =).
Next is coverage of each individual repository. I will try to sort them by the complexity to describe from easiest to hardest. So, lets start!
raiden-libs
Raiden libs is dedicated repository for code that will most probably be needed in any raiden related project there is or will ever be. Idea behind this repository is to make kick starting a new project much easier.
For example, it specifies a code structure for any new project. Code structure is basically what part of code goes in which folder.
Furthermore, it contains some code that will be needed throughout projects but they can't really find a happy place for it to stand. Different helpers/utils/utilities are what we can expect in this repository.
One last thing I would like to mention that went into this repository is very core list of external libraries they use. Funny part is that this repository uses external library "eth-utils" which is basically the same kind of repository, just from Ethereum.
I would like to add that this repository is not really that developed yet. We can expect developers to add new things now and then when they find something small but really useful in different parts of code.
spec
I see spec as raiden's white paper. Way the spec was written resembles something you would find in code's documentation and not something that would be published in a journal, but it is far more than that.
Spec contains all the information you need to understand how raiden works. it's size is immense and information they've put in there is far above my knowledge level (which does not stop me from reading it). Every workflow is well described and it is truly raiden's great asset.
Cool part about spec is that it contains description of features that have not yet been developed. Exact implementation of some of those features is still not decided and all that is documented inside a spec.
I see three main purposes of spec. First one is education of anyone interested in a project. Second is "source of truth" for anything implemented and not implemented in project. Last one is detailed high level documentation for any party interested in extending the raiden.
raiden-pathfinding-service
Raiden pathfinding service is repository dedicated exclusively to part of raiden project responsible for pathfindig problem. I am planning to do explanation of pathfinding problem in my Sunday post, so don't be worried if you don't really understand it at the moment.
Problems developers will try to solve here are related to finding the fastest and cheapest path between nodes inside the raiden network.
Problems like these are very high level programming and theory behind it is very complex. Usual problems one would encounter when developing something like this is how to make path something goes trough optimal but keep the whole thing lightwate as possible in terms of resource consumption.
Some interesting things are going on inside a project (we can already see MVP milestone is set) but detail coverage of that in Sunday post.
raiden-monitoring-service
Monitors will be very important part of raiden. They will be responsible to make raiden fully usable in any situation.
Idea behind them is that they will monitor that nothing fishy is going on with channel while user is not able to, well monitor it for himself. For example if user has no internet connection monitor service will keep an eye on channel for him.
This is really short description and I plan to cover this topic sometimes in the future. I still need to get a better grasp on how exactly they will operate and from what I see even developers don't have a complete spec figured out. So, stay tuned, we will figure this beast out together, but just not at this moment.
raiden-contracts
Last but not least are the contracts. Contracts were making clutter in raiden repository for long time and now they finally have the place of their own.
Team removed the pull request "one contract per token" from raiden repository and they decided to merge those changes here. Status of that feature will be covered on Sunday (spoiler: I think it is pretty much done).
We can see that they already got more features that they want to implement waiting and I expect this repository to be one of the more active ones.
conclusion
So, team basically decided to triple my job =). Just kidding, this split was very needed and I welcome it. I hope you find this mid week post useful and as always, I will give my best to answer any questions. More info and coverage of what exactly happened in last week will come on Sunday! Team is really bringing their A game last couple of weeks and it is pleasure to watch them work =).
PS On Sunday I asked you should I contact Brainbot about community manager position. Since almost all feedback I got was positive, I did and we are currently in contact. I won't share details of the whole process but expect information about end result. Thank you once again for all your positive feedback and comments, they really make me love doing this =).
Cya on Sunday!
EDIT: finally figured out how to do bullet points on reddit. You learn while you live =)
Subreddit
Post Details
- Posted
- 6 years ago
- Reddit URL
- View post on reddit.com
- External URL
- reddit.com/r/raidennetwo...