Video: Developing Dapps for SAFE

The fact that people still aren’t ontop of calling it the SAFE Network is a little odd.

All in all good video.


@jimmyhacksthings glad to see you made a vid on the SAFE Network! But as said above, it is the the SAFE Network :yum:

Going to give it a watch now!


Damn, I’m an idiot. Apparently I also missed some huge announcement about some formal partnership between SafeNetwork and Inrupt/TBL, whereas all I could find pretty much just mentioned the shout out and kudos for work that was done by certain folks to integrate linked data into some of the dApps.

I can update the thumbnail.

EDIT: Thumbnail updated.


@jimmyhacksthings Haha, no worries Jim. To be perfectly fair there is so much to digest with this project.

Just to clarify, Maidsafe is the company developing the SAFE Network. Part of the reason for the two sites and is to let people focus on the tech and not the company which has been a source of confusion in the past. The dev forum is so devs can get more dedicated support and not have to weed out some of the random meanderings we can do here sometimes. Some from the community weren’t fond of it either but I think it was a justifiable move.

Currently the network is still in Alpha and since the current Alpha 2 network is missing some of the spam prevention components (PARSEC, node ageing, Data Chains), the invitation system is necessary. The spam prevention components which are progressed quite well now, will soon be showcased in Alpha 3 aka SAFE-Fleming.

I think it’s a great vid and love that you dug into the WebID stuff and into code! I’ve been watching your stuff on elastos and was surprisingly never aware of it so I’ve learned a decent bit from your content. Thanks for that! Keep em’ coming and hope you stick around.


I find it funny that you diss Rust in your video, when it is as efficient as C.
Rust is a low level language, and it is as comparable as C in terms of performance, if not better.
Just take a look at these benchmarks:

Keep in mind that Rust barely got to version 1.0 in 2005 and it is performing at that level without all the decades of optimization of C.


Just to note; I don’t think there is any formal partnership, but has been some contact between teams & community members, plus mutual awareness.

Unless I’ve also missed some huge announcement about a formal partnership… which I’d love to see happen :slight_smile:


Thanks for taking the time to review Jimmy! Really helpful to see someone using the browser and dev tools. Quite a few of the UX issues you point out are being worked on atm, but plenty for us to discuss internally.


How did I “diss” Rust in my video? I said that I would like to see things with C interfaces, which is what I’m used to from my embedded background. I never said anything about performance, I’m well aware of Rust’s performance metrics, and they are indeed damn impressive.

Good to know, and this is pretty much what I was able to find.

Glad to hear it! I’m a fan of what you guys are doing, and sure, my little brain might not be able to comprehend things at times, and I might need to scratch my head about some of the decisions, but I do realize that there are a specific set of issues that you and the team face when making these decisions that might not be immediately apparent.

Now, if this video does more harm than good, then I’m more than happy to take it down and move on with life. It only has a few hundred views, so it’s not like there’d be a huge void, and we can put up different content targeting SAFE’s initiatives. I did this video for a few reasons:

  1. When I started doing Solid videos, I got a decent amount of interest, then when I went to Elastos and started doing tech coverage there, there was a forum post here asking why I went to Elastos instead of SAFE.
  2. I checked out SAFE and really liked what the community here was about, and I believed in their mission. The work that Mark, Nigel and everyone is doing is outstanding. I decided to run through the latest set of tutorials and talk about all the network’s possibilities.
  3. I genuinely want to see the decentralization of the Internet succeed. I don’t care if it’s SAFE, Solid, Elastos, Blockstack, nOS, HOLO or whatever. I want SOMEONE to deliver for the sake of… well, humanity. That is really all I care about.

Again, great comments and criticisms, I’m happy to correct where needed as long as its not nitpicky.


@jimmyhacksthings I think your vid was good. I wouldn’t take criticisms too harshly. My comments above weren’t for anything besides just your future reference and a little bit of context from being around here awhile. I think any awareness is good and I like that you actually get into a project, so definitely keep the vid up! I’d say it’s an excellent resource.


My first impression when it started was why not ask us why is there a Maidsafe site and then a separate SAFE Network site the same goes for this forum and the dev forum as we could easily clarify.
But, perhaps a good indication of what newcomers first impressions and experiences are is more valuable in the end.

I enjoyed watching it. Thanks @jimmyhacksthings


Exactly. First impressions are very important. Once you’re familiar with things you don’t (can’t) see them as a newcomer does. Most people don’t have time to trawl through documentation. Less important at Alpha then it will be later on of course, as AFAIK most similar projects are in the same boat. I thoroughly enjoyed the video. Thanks @jimmyhacksthings :+1:


No worries anyone, totally thick skin here. I just want to put out content, or contribute code that is beneficial. If it’s not right, let’s make it right!

Regarding the newcomer perspective, exactly. At first I found it a bit confusing. Sure, I can understand that it is necessary to isolate the developer chat and such. In fact, I believe it’s a pretty good idea, I believe that the access control mechanisms currently in place are a great idea and are probably one of the direct reasons that this community isn’t toxic (either this forum OR the dev forum). That’s increasingly rare in the space.

Keep hacking and hustling!


It’s a useful video Jimmy (I’ve only watched the first half so far) and while it’s always painful to hear the negatives of anyone’s experience clouding the picture, what I saw was positive too. I noticed some minor errors, but think that the speed and fluency of the journey you take people on is great. People interested in developing will watch this to the end I think - and will see how easy it is to get on board quickly.

One key point you made was the ease of development - just use nodejs or JavaScript in the browser and you can build dapps that are secure, decentralised and anonymous right away. No language to learn! Another positive is that the network takes care of authorisation and access control for you BTW.

I didn’t note down the errors, but they are as much ours as yours, since it is reasonable for you to reach the conclusions you did. One I remember was that you have to start the mock network from scratch every time, upload the apps etc. You don’t, because you can take a copy of the network state (it’s just a file in /tmp) and restore it before every run (you don’t even need to restart the browser, so you can stay logged in etc). The others errors were more minor anyway.

Oh, BTW you said this is not a cryptocurrency project. I didn’t understand that, and you didn’t mention that the crowdsale token is a proxy, that will be exchanged for Safecoin 1 for 1, so it’s a utility token for a truly scalable cryptocurrency that solves the problems of blockchain - which anyone will be able to farm.

What I love though is how you take us through the steps to use and then start developing on the network, and show how quick and easy it is. Please don’t take it down!


Hello there, I will be more specific, at 2:56 you said:

You see, the way you say it, you are implying that Rust is a language that “can’t tackle things from a Operating system perspective”, so at the time you made that video it seems that you thought Rust was more like an interpreted language or a script or anything high-level.

Rust is very much a system programming language, ie. “operating system perspective”, it is “c level” by definition.

The SAFE Network is designed with IoT in mind, and it could be implemented in embedded systems.
There are some threads in this forum that discuss specifically about IoT.
In fact I personally think it is the only platform capable of achieving a reliable and secure IoT without bottlenecks for scalability.


TL;DR @jimmyhacksthings learn Rust LOL!

1 Like

Very good video, you have a good understanding of many things related to the SAFE-network.
I did not persive negativity against rust as @piluso did. It was a little unclear to me if you mentioned that alpha 2 runs on controlled servers until secuirty against hacks are done and that alpha 3, which hopefully comes very soon, will be running from the users computers. SafeandSolid was mentioned well, which is good, wish you showed a little more of Patter. Great job of inviting new developers as you showed functionality and how to get started. You mentioned that you would like the option to manually allow clear-net sites which is a nice and interesting thought that comes with good and bad things which deserves to be thought about and see it from different angles.

Could wish you mentioned Maidsafe coin and the swap to Safecoin in the future with the disclaimer of the trademark issue with another project who last year did a hostile move to try and leach of Maidsafe, so it is still a little unclear if the name Safecoin can be used when future network launch. Overall very good video.

I’ve been running through much of the dev intro material on my own and it’s good to see some of the quirks show up. It’s good for my patience with the learning curve.
Thanks for dedicating the time. Much appreciated.

@jimmyhacksthings Your in-depth review is an honor to this project. Thank you. I thought your video was fun and in good spirits.
Thank you for the valuable critique. Good timing actually because those points are informing our next steps to reform authentication flow.

I’d agree that embedded dev is not in a ready state.

To prime the pump for your interest in embedded development in C, take a look at these exposed FFI operations here, here, and here, which is how our Node.js library, safe_app_nodejs, utilizes our core Rust client library. Shared libraries are available at For example,


  • All this needs documentation.
  • As it stands each IoT device need it’s own logged-in authenticator process. Is this practical for deploying and managing a multitude of devices?
  • If multiple app instances are to be run on a single device, a dev would have to implement their own IPC strategy to communicate with authenticator process.

This is a larger issue that we as a community needs to tackle.

@Dimitar created a post about it in a more specific sense yesterday.

Personally I see it going two ways. Either we do nothing now and once we launch Maidsafe will naturally take a more backseat type approach to what is happening at the forefront of marketing etc or we do something about it now to clarify better.

I dont think @jimmyhacksthings made a mistake, I think its our issue and we need to correct it.

1 Like

That’s up to you, it’s your video. But I don’t think you should. Maybe perhaps consider an update at a certain point in time :slight_smile: Cheers

1 Like