MaidSafe Dev Update - 5th July 2016

Hello everyone,

TEST 5 has been running for 5 days and has proven much more stable than we had anticipated. It has been lightly used though and we would like to push this iteration a little further. There have been up to circa 80 community run nodes in addition to the 100 droplets we have deployed. It would be helpful to expand this a little over the next few days and continue to monitor activity.

There will be a new network released in line with next week’s update, it will not add much more to the core features, but will instead be more focussed on the Client components.

We should note that a very good initial RFC has been submitted for a vault RPC layer (that is something definitely in the pipeline). This will be progressed in tandem with the changes we are looking at in the client components over the next while. The RFC process will again be a focus of short term issues and longer term plans from a development perspective. It cannot be emphasised enough how vital participation in RFCs is.

App devs can now use the new version of the SAFE Launcher API (v0.5). The documentation on readme.io hasn’t been updated yet, but it will be updated soon. Please refer to the RFC in the meantime.

Today we are opening the application period for the SAFE Browser RFP. This is first RFP (Request for Proposals) of the Community Engagement Program.

The high-level requirement is relatively simple, the browser should be able to render standard web content and also enable web applications to invoke the APIs exposed by the Launcher. A mechanism to provide SAFE-only URLs as well as html…etc… is expected, whether this is default SAFE or via a “switch”. In SAFE mode we would imagine that “clearnet” requests would be blocked.

Once a proposal is added to the #development:proposals category, everyone is welcome to comment :slight_smile:

We are also pleased to announce that the expansion of the team is continuing with some vigour. We have a short list for the development teams having been agreed. The interviews will begin imminently. The front end team will likely be supplemented via an agency (for speed). We are also in talks with higher level advisors and will continue to seek assistance with appointments via advisory capacities and partnership opportunities.

As many of you will also have realised, we are actively pursuing additional funding routes at this time. We hope to have some welcome news in the next weeks. Our intention is to allow maximum participation whilst retaining independence. These talks are progressing very quickly and looking positive. We expect this will be a very welcome route.

Crust, Core: Andrew, Spandan (tl) & Vinicius

This week there were lots of improvements made to the FFI layer in Core. We added a streaming API which is exposed to Launcher. We also fixed some bugs in the way unwinding was handled. Destructors are now run in the correct order and panicking Rust code can no longer unwind into C/javascript code.

In Crust we migrated away from the deprecated parts of the maidsafe_utilities library to the newer maidsafe_utilities and unwrap libraries. There was also some work in fixing clippy errors and general code cleanup.

Routing, Vaults: Adam, Andreas (tl), Fraser & Qi

We added a lock file to the chunk store directories to prevent vaults from interfering with each other, and fixed a few other issues with config file and chunk store handling. Thanks to the new deterministic tests, we were also able to finally reproduce and fix a subtle routing bug that had puzzled us for a while and might in very rare cases have caused user accounts to get lost.

We’ve also been working to get sodiumoxide’s build script to actually build the native libsodium C library rather than depending on it being installed separately. This will make it simpler to compile our code and particularly to cross-compile (e.g. targeting ARM).

In the same vein, we’re working on updating another of our dependencies (brotli2-rs) which has a dependency on a C++ library. Since we want to be able to build our code using musl, and musl doesn’t provide a wrapper for g++, we need to replace the C++ library with a C one. Fortunately, much of this work has already been done by the authors of brotli. There is only a relatively small amount of work left to update the Rust bindings to match the new C library’s API.

Client: Krishna (tl), Scott & Shankar

Releasing Launcher version 0.5 was the prime focus last week. Following that, we are trying to fix the issues that were identified. A few issues were also reported by the users from the community. The fixes are getting in place and we are starting to test them. A patch update of the Launcher and Demo app is expected to be release through the course of this week.

The UI for the Launcher is being reworked and the implementation will begin this week. We are planning to add little analytics to the Launcher UI about the network activity along with some application related statistics.

Here are few Launcher mockups from @scott:

The login flow was a key consideration of ours and we really wanted to make the login as clear and simple as possible. Don’t let the mockup above fool you though, there are still three credentials (@scott was just lazy and didn’t want to animate all three! :stuck_out_tongue:). We found with the old design, there wasn’t enough flexibility or space for error messages and with the three login details, there was confusion around what inputs were needed. With this redesign we sought to make this as clear as we could, and direct the user wherever possible.

61 Likes

first! and now I’m gonna read it :laughing:

11 Likes

Curse you, quick-fingered Satoshi! :wink:

Really excellent to hear about the team expansion + pending fundraising update. Y’all have been working seriously overtime, it seems, so looking forward to seeing how things move with more resources.

5 Likes

I get the bronze medal!

3 Likes

Thanks so much for this wonderful update and for all of your hard work.

3 Likes

This all looks very nice, great work here @Scott.

Yup, the network seems to be very quiet. Is there any planning on when the 100 put limit will be updated? I understand we need all the tests to test several different features. But when people are allowed to store up to 800mb. and share some 50mb. video files people will cause more routing, more storage in vaults etc. The network will be more active that way, and we probably kill it more easily for the cause of testing :upside_down:.

17 Likes

@Scott Very nice and clean design!

9 Likes

Great update, liking the designs :grinning:

5 Likes

Great update @frabrunelle - slow but sure. Progress.

3 Likes

Thanks Francis, Good job!

4 Likes

@frabrunelle, Congrats on your first Dev Update!

16 Likes

That looks like some solid development. I really like the new launcher. Great work guys!

7 Likes

Can’t wait for the next test! I’m keeping my vault running on test 5 (at least last I checked it was still humming) hoping that the test fruits beneficial results for the team. Also great update @frabrunelle!

7 Likes

i have a question, when i run the vaults and it appears the console and begin its process, that means that the vault is working or do i have to do something else?

2 Likes

If it suggests a run of “Routing Table size:” among a clutter of other information, then yes, it’s working.

Example:

INFO 20:07:59.220970626 [routing::stats stats.rs:158] Stats - Direct - NodeIdentify: 48, NewNode: 391, ConnectionUnneeded: 22
INFO 20:07:59.220992133 [routing::stats stats.rs:162] Stats - Hops (Request/Response) - GetNodeName: 1/0, ExpectCloseNode: 1, GetCloseGroup: 1417/1236, ConnectionInfo: 206, Ack: 18948, GroupMessageHash: 9678
INFO 20:07:59.221014929 [routing::stats stats.rs:172] Stats - User (Request/Success/Failure) - Get: 731/632/99, Put: 5/5/0, Post: 10/10/0, Delete: 0/0/0, GetAccountInfo: 0/0/0, Refresh: 534
INFO 20:12:51.737681735 [safe_vault::personas::data_manager data_manager.rs:324] Stats : Client Get requests received 234 ; Data stored - ID 255 - SD 247 - total 57220178 bytes
INFO 20:14:12.232749682 [routing::core core.rs:2379] Node(567fbf..) Dropped d8e4f4.. from the routing table.
INFO 20:14:12.232864639 [routing::core core.rs:421]  --------------------------------------------------------- 
INFO 20:14:12.232902547 [routing::core core.rs:423] | Node(567fbf..) PeerId(9c08..) - Routing Table size:  47 |
INFO 20:14:12.232934899 [routing::core core.rs:424]  --------------------------------------------------------- 

6 Likes

The UI mock is looking fantastic!

Keep up the good work. I couldn’t participate test 5 last week due to work. Hopefully, sometime this week, I’ll get some time to test it out.

8 Likes

Thanks Maidsafe team for another great update.

Felicitation @frabrunelle I forgot to say it when it was announced.

@scott those mockups make me drool, thanks for SAFE porn :stuck_out_tongue:

5 Likes

@frabrunelle - Nice update, forgot it was your first as full member of the team … Success :wink:

4 Likes

Will there be a helpdesk/chat type feature once the network is live. Nothing is truly idiot proof and there will always be people who need support.

4 Likes

I would like to know the estimation for going live safecoin .

1 Like