We’ve started the current sprint (RUST-3) on Wednesday (8th July) with planning for the same ending just before. This sprint is estimated to run for four weeks. Objectives of this sprint as stated in last week’s update by @ustulation mainly includes the active RFC implementations. These RFC’s bring in vital improvements to the network making it simpler, scalable and more secure. Rust-3 sprint has been backed with good planning from all the maintainers (was a busy planning week indeed). The required tasks have been detailed and added into JIRA, JIRA Dashboard gives a quick snapshot of the sprint progress.
The progress in the first few days of the sprint has been really good. CRUST has made significant progress with the implementation of UPnP, while NFS has now been separated from maidsafe_client into it’s own maidsafe_nfs crate. Routing module is now being refactored with @dirvine watching the code closely. We expect a few of the current sprint tasks in routing to get completed as a result of this refactor. Do note a few of the tasks in this sprint are quite detailed and might not be ideal for the bounty program since they involved long discussions and impact multiple libraries. Hopefully with this change in place, future tasks should be much more digestible and suitable for code bounties
Unified Structured Data has been discussed and detailed in the previous week’s update. I thought of explaining another RFC (Name-Service) which is being implemented in this sprint. The Name-Service RFC explains how a folder in the network can be made public and exposed to the world. Exposing a public folder allows users to create a variety of services on the network. Websites, CMS, Blog, File sharing system are few services that can be created.
Let’s walkthrough the steps on how to host a Website in general,
- Create the files to served (Website Source files)
- Choose domain name
- Host the files on a server
- Update the DNS record to map the hosting server
Now, let’s map the same process in the SAFE Network,
- Create a public directory using the NFS API, assume I created a public directory called
- Choose a public name, say I pick krishna.io as my public name. Public name can be related to the domain name for easier understanding. public name refers to the long_name field in the dns struct as detailed in the RFC.
- Create a DNS record with the maidsafe_dns crate (which should be ready by the end of this sprint)
- Update the DNS struct with the type of service, and the public folder id (id of the folder created in step 1). In our case, we will put the service to be www. The service can also be visualised like a subdomain mapping, if I had to create something like blog.krishna.io, then the service name will be blog instead of www.
With these DNS Structs we can create any kind of service as explained in the RFC (www, blog, microblog, dev)
Thus the maidsafe_dns crate would expose APIs to create a DNS record, Manage DNS records and also perform DNS lookups.
We are also planning to come up with a node.js example to showcase how files can be served from the SAFE Network probably by the end of this sprint.
This is just the beginning
Here is the dev transcript