Here are some of the main things to highlight this week:
- We will use the additional amount of funds raised for the Safecoin Video CEP to work on two different videos - the first video on Safecoin as planned and a new one on the SAFE Consensus mechanism.
- We’re launching a Community Member of the Month competition - more details can be found in this post.
- The first version of the SAFE UX Guidelines document (for app developers) has been published here.
- The front-end team is releasing a new version of
safe-node-app(v0.7.0) as well as a new version of Peruse (the custom browser that will eventually replace the SAFE Beaker Browser). You can download the latest version of Peruse (v0.4.1) here.
- The Routing team has outlined the JIRA tasks for the Milestone 1 implementation. The tasks are still work-in-progress and are being updated as they’re constantly continuing to improve the design.
- The Crust team is in the process of bringing encryption to Crust. Some parts are already functioning but a few other things still need to be considered (bootstrap connections, LAN discovery messages, address echo service request/response encryption, etc).
Work continues on the new MaidSafe website. We have received the first version of the sitemap and wireframes back from the website agency this week. We’re now pulling together our comments and sending these back to the agency by the end of this week as per the project plan.
There was a significant donation to our Safecoin Video CEP as the deadline expired, taking the total raised to £9,422 across a combination of MAID, BTC, Bitcoin Cash and Ether. After some discussion, we’ve now agreed that the winner, HyperCube Studios, will use the additional funds in order to work on two different videos for us - the first video on Safecoin as planned and a new one on the SAFE Consensus mechanism.
We’d also like to thank the various members of the community who have spent their time by submitting translations for our most recent video.
Community Member of the Month
To celebrate our amazing community (and to have a bit of fun…), we’re launching a Community Member of the Month competition so that we can highlight people who have gone above and beyond the call of duty every month in supporting the Network and helping to grow our community. Each month we’ll be looking for nominations and the winner will receive a unique prize - more details can be found in this post.
Out and About
A few of the team (@povilasb and @marcin) will be out at FOSDEM 2018 in Brussels, Belgium this weekend where @nbaksalyar will be giving a talk on demystifying Rust parsing (Sunday 4th February). If you happen to be heading along, be sure to say hi!
Finally, The Guardian published a great article today on the battle to reclaim the internet from our giant technology overlords, following a visit to the HQ and interviews with @dirvine and @nicklambert. As you can see from the number of comments already on their site, this is a high-profile article on a top media site so please share, comment and join in the discussions online wherever you can!
@sarahpentland has also had another article published, this time on ‘The Block’ website, explaining how the SAFE Network can be used to tackle the looming problem of data ownership as we move towards an era of autonomous vehicles. Again, please favourite, like, retweet, upvote, comment, share, pin - or whatever it is that you’re happy to do. Every little bit helps!
SAFE Authenticator & API
A new version of the
safe-node-app (v0.7.0) package has been published which incorporates some additional tests and support for retrieving partial content with
webFetch by providing a range of bytes.
Peruse master has been updated with a few branches and feature sets we’ve been working on in the last weeks.
The new release features:
- Save/Retrieve Peruse Browser state to/from the network.
- Partial Content can now be handled via the HTTP
Rangeheader (in a limited fashion, there’s no support for multipart requests yet).
- React 16, Electron, Webpack and React-ecosystem dependencies have been updated.
- API Constants added to the DOM (
- Support for fetching specific byte ranges in the
- Logout clears tab history, bookmark data, etc. (including open tabs).
See the changelog for more details.
There’s also been a lot of refactoring to the application flow to make it more testable (and subsequent test additions). Which puts us in a good place to start focussing more on other aspects of the browser in the coming weeks.
Due to some enhancements made to the DOM API in Peruse to make sure there is no mix in the return types of some functions, the snippet codes in the playground tool for these APIs were adjusted to remove a now unnecessary conversion from ArrayBuffer to Uint8Array. We also adapted its styling to be in line with the first version of the design guidelines document.
The scope of the tests for the C# API bindings have been expanded and the unit test cases are passing. The bindings are not updated in the
master branch of
safe_app_csharp yet. The authenticator and messaging applications are being updated to use the latest C# API bindings. We will be testing the applications with the latest bindings before we get the changes merged upstream. The scope of the applications is not being expanded in this iteration. The aim is to get the applications updated to the latest C# bindings so that we can test them on Android and iOS.
SAFE Client Libs
As mentioned last week, this section will be shorter from now on as most of the team has moved to work on Routing. This week, @marcin has been investigating two issues reported on Jira: 2446 and 2447, the latter of which has been confirmed to not be an issue on the back-end.
Routing & Crust
The ageing simulator is continuously being tweaked, especially the relocation algorithm, to figure out what will be the best rules to achieve a healthy network. Thanks to @mav again, a list of network health metrics is proposed, which brings in a more quantitative measurement to allow the network to carry out behaviour adjustment by itself.
We’ve outlined JIRA tasks for the Milestone 1 implementation (they’re marked with the
dc-1 label). The tasks are still work-in-progress and are being updated as we’re constantly continuing to improve the design. So for the time being, consider these tasks a preview. We should finish fleshing them out pretty soon though.
Since we started porting Crust to Tokio we’ve been missing some functionality that is present in the master branch. One of such features is encryption. Crust will be a reliable and secure peer-to-peer communications library. We spent this whole week on bringing encryption to Crust which is happening little by little and some parts are already functioning. However, there are still things to be considered: bootstrap connections, LAN discovery messages, address echo service request/response encryption, etc. Also, it’s worth mentioning that we’re using the sexy libsodium crypto library with the combination of Curve25519, XSalsa20 and Poly1305 algorithms which is the default in both NaCl and libsodium for their high-speed high-security properties.