Here are some of the main things to highlight this week:
- Another great episode of the SAFE Crossroads podcast this week from @Fergish who interviewed @Shane, creator of SAFE-CMS and SAFE Search amongst other projects, along with co-author @AndyAlban.
- We are delighted to announce that we have now filled the role of Customer Support Manager. David Geddes (@DGeddes) will be joining us in Ayr at the start of April and will focus on supporting the use of the SAFE Network software released by MaidSafe as well as the APIs and tools used by developers.
- The front-end team is releasing a WebRTC signalling example application. It lets you send invites to other public names to have a video call. You can try it by going to safe://webrtc.safeexamples using the latest version of Peruse.
- The Routing team is continuing with the implementation work of the JIRA tasks for Milestone 1. The tasks completed now reach the components related to the upcoming new data chain features.
- As noticed by the community in the Safe Gossip Protocol topic, the Routing team started to update the current Swarm mechanism with a secure and randomised, push and pull gossip mechanism.
- The Crust team is happy to announce that netsim was published on https://crates.io. netsim is a testing library that allows one to simulate various network conditions and setups.
Marketing
February Summary and Marketing Stats
Let’s start by taking a look at the end of month marketing statistics:
We’ll be publishing a top-level picture of all of the activity that’s taking place in our monthly round up blog post in the next day or so also.
App of the Month
We’ve now kicked off the new App Of The Month project. Every month, we’ll take the opportunity to shine a light on one community project so that we can share the fantastic work that’s being carried out by the community in order to reach a wider audience. If you think someone’s been working on a valuable project that would benefit from increased exposure, just contact @SarahPentland. We’ll then get to work providing content (written, social media, etc.) to highlight the project and (if they want) the team behind it.
New SAFE Crossroads Podcast
Another great episode of the SAFE Crossroads podcast this week from @Fergish who interviewed @Shane, creator of SAFE-CMS and SAFE Search amongst other projects, along with co-author @AndyAlban. We’re delighted to provide a modest amount of sponsorship these days to help @fergish with his podcasting. Please do all you can to support the show - I’m sure he’d appreciate as many people as possible subscribing to the podcast via your usual podcast provider and sharing the episodes via social media (#SAFENetwork hashtag please!)
Safecoin video and website designs
We’ve been through second storyboard revisions for the new Safecoin video and we’re expecting to see the close-to-final animations early next week. The designs for the new MaidSafe website should be with us by the end of this week also.
Bittrex
We were naturally disappointed to hear that MAID is being delisted from the Bittrex Exchange. We wrote about this here and we’d urge you to read this if you haven’t already done so. As we mentioned in this post, we’re working with other exchanges to ensure ongoing liquidity of MaidSafeCoin which is also good for hodlers, and for the general awareness of the project.
There are a large and increasing number of exchanges available and as part of our selection criteria we are taking into account the number of coins they currently offer, location (an important aspect in regulation), size, length of time trading and professionalism. While we are very keen to move forward with this, we will not do so haphazardly and put our community at unnecessary risk with substandard exchanges.
We appreciate this is an area that is getting a lot of focus at the moment and we’ll update you as and when we see progress.
Recruitment
We are delighted to announce that we have now filled the role of Customer Support Manager. David Geddes (@DGeddes) will be joining us in Ayr at the start of April and will focus on supporting the use of the SAFE Network software released by MaidSafe as well as the APIs and tools used by developers. This has been a tricky role to fill requiring a combination of a technical mind, really good communication skills as well as experience building processes and teams within a software support environment, and David certainly fits the bill. As the title suggests this is very much a community facing role so David is someone you will be hearing a lot more from when he starts!
SAFE Authenticator & API
This week, we are ready to release the WebRTC signalling example application we mentioned in last week’s dev update. We have hosted the WebRTC application at safe://webrtc.safeexamples. Please try this WebRTC example using the latest version of Peruse.
You can send invites to other public names to have a video call. Right now, the app does not support groups to join the video call. This is a demonstration of performing secure signalling of WebRTC on the SAFE Network. In this example, the signalling server is replaced with the SAFE Network for enabling exchange of connection information between peers. After successful exchange of connection information, the peers connect through a STUN or TURN server. Please do note that we rely on external servers for STUN and TURN protocols. We will be able to get the support for these in the Crust layer eventually and at that point we can remove the external dependencies.
Several PRs for the safe_app_nodejs
package were being finalised with intensive code review cycles, including one of them which incorporates some internal refactoring to the mechanisms to handle errors reported from the native safe_app lib. Along with this refactor, a range for error codes was defined (1000 - 1100) for the safe_app_nodejs layer itself, mostly for some input parameters validations made by the Node-FFI library which returns non-friendly errors that are now being intercepted and converted to our own set of error codes and messages.
The C# API bindings were integrated with the Xamarin mobile apps and tested. The apps are working as expected with the new safe_app C# bindings. However, testing on iOS is still pending. A few upstream pull requests (e.g. https://github.com/maidsafe/safe_client_libs/pull/615) need to be updated with some pending patches before the mobile and C# API branches can get merged upstream. We will now be resuming the work with the Java safe_app library to get it to a similar usability stage too with examples and published packages.
We’ve been making steady progress with Peruse refactors, integrating both the Peruse app (to save/read the browsing state to the network) and the authenticator back-end in a background process. This has involved setting up some tighter integration in the app’s Redux store. We’ve also been making some good progress with our research into removing the handle management from the DOM API, which should eventually help streamline the JavaScript SAFE APIs.
SAFE Client Libs
As mentioned in the previous update, we’ve been working on updating all of our crates to the latest Rust compiler version:
This process has now been finished and several PRs are being reviewed now, waiting to be merged soon.
We’ve also merged the fix for a bug in the test_create_app_with_access
function.
Routing & Crust
We are continuing with the implementation work of the JIRA tasks for Milestone 1. The tasks completed now reach the components related to the upcoming new data chain features. For example, the VoteAccumulator
has been implemented which will be used to collect votes to accumulate a group consensus block. Another example is the refactored DirectMessage
which includes new RPCs that will be used later on data chain related communications.
As noticed by the community in the Safe Gossip Protocol topic, we started to update our current Swarm protocol with a secure and randomised, push and pull gossip mechanism that provides n log round and log log n messages. Regulars on this forum will know that we have been assessing and discussing gossip protocols for quite some time and we believe this will be the most effective way to retransmit messages while reducing the number of messages sent across nodes with a view to improving network performance.
In parallel, we are also reworking the consensus mechanism to better facilitate asynchronous consensus that integrates node ageing.
In Crust this week, we invested most of our time to fight regression. We wrote a lot of integration tests to check if traffic is encrypted and what happens otherwise in various scenarios. For example, if somebody sends random, unencrypted data, Crust terminates the connection immediately thus preventing from further DDoS’ing and other exploitations, etc. Also, we’re happy to announce that netsim was published on https://crates.io. netsim is a testing library that allows one to simulate various network conditions and setups. You can build a network with multiple nodes under different types of NAT devices, introduce packet latencies, etc. and run Rust code on a simulated network. We’re using netsim to test Crust, but it’s a separate library. So if you’re interested, go ahead and try it. We’d be really interested in your feedback