Safe-CMS - Censorship is a thing of the past


That’s perfect, thanks a lot! Interesting implementation, the more vaults, the lower the cost, the more clients, the higher the cost. I should probably build an app at some point which tracks PUT cost over time to let people know when it’s a “cheap” time to upload their content.


Interesting idea. Queue non critical uploads that trigger when network cost is low? Just like running electrical appliances at night.


Server application

I have settled on Node Express.js for running the “server” within the compiled executable. This server will act as middleware between the frontend (React) and the SafeNet, allowing me to take advantage of the native filesystem.

:open_mouth: That’s impressive.


Basically the situation is that 1 safecoin buys a “PUT” balance and the current “PUT” price is subtracted from the “PUT Balance” when each “PUT” is done. The amount of data is not measured. It is on the “PUT” operation and includes updates to MDs

The “PUT” cost is dynamic and at this time can be as low as 1 (~= 10^-18th of a coin) or as high as 10^18 (~= 1 SAFEcoin)


The Safe Network Academy can’t happen soon enough. Hope you’re part of it @neo .


I couldn’t agree more - I’m obviously a developer and can understand this stuff, but in many ways the information is disjointed and hard to find, having a single, central, well-documented source is going to be invaluable.


Does that mean the smallest amount you can load an account with with be 1 safe coin?


! safecoin is the smallest amount you can spend on the network. The network design at the moment is not implementing divided coin. The divided coin is going to be implemented after the network is working with safecoin. In other words after safecoin is working in the beta network or in the live network.


So what happens if speculation drives the price of one safe coin to say 20 dollars?


I guess then it costs 20$ for a “PUT” balance of 1,000,000,000,000,000,000 and the network keeps charging the “PUT” cost for each “PUT”

Honestly 20$ is still in the realms of doable.

But on the other side of the coin it is why we are having discussions now for the better ways to have divided coin. :wink:


distributed publishing it will surely be a Killer App.
Looking fwd. to see progress!


So I was thinking today. Would it be within scope for this app to have the ability to add meta data for semantic search? Also RSS feeds came to mind, I know little about RSS besides it uses XML and it is a content aggregator. What do you think about how these could fit into this CMS app??


Hi there - meta tags will be natively supported by the app.

In terms of RSS, I don’t have any fixed plans at the moment beyond the scope of the initial release and version 2.0.0 a few weeks later to add image, video and audio upload support, but once I put the beta code on Github in a couple of weeks, I’m happy to add is as a feature request.


I think RSS would be a really natural fit for the project. So CMS is pretty broad and encompasses podcasts as well I’m taking? Will Safe CMS have an API? I just have a few ideas on my end


With regards to the scope, I’m thinking less “broad” and more “anything you can upload and stick in a webpage”. So, sure, you could use it to upload an entire podcast - it would just be rendered using a native HTML5 audio tag, so there’s no problem there.

It likely won’t have an API (since it’s an executable you run on your own computer) but the NodeJS libraries I’m making for it (for interfacing with the SafeNet) are going to be open sourced.

In a years time once the platform supports compute, I would be open to talking about hosting APIs on the blogs and building that in but I’m wary of making promises this far out about unproven, unbuilt technology.

Even with this conversation, I’m really wary of scope creep and making promises I can’t guarantee I can keep. The best way to deliver a project, rather than nothing, tends to be sticking to the original plan. :stuck_out_tongue:


I promise I won’t hold you to anything :wink: but man would it be great to see. Can’t wait to see this open sourced, I think your contributions there will be a huge help to others. Do you have a donation address? Also a github link I could follow you on?


I don’t have a donation address - I don’t feel right with taking any cash from the community (especially before I’ve produced anything of value). I’ll likely take advantage of the AppDeveloper rewards and add a publicName to the app I release, but in terms of just taking donations I feel like that’s a conflict of interest.

I want to build this software because I think it’ll help people, the software libraries for engineers and the CMS for creatives, as soon as we involve money it becomes a transaction and I can’t call it a hobby. FOSS should be just that: free and open-source! :slight_smile:

I’ll post the github address in here in a few days when I first publish the SafeNet API library.


Just so I don’t forget them, not because I think you should seriously consider them, here are two things I’d like add to the features wish list:

  • comments (see the Maidsafe comments plugin)
  • import (for example to bring the content over from a WordPress blog via a WordPress export plugin)

I’m sure we can think of lots of useful extras, but I agree with Shane on getting to his first milestone and then thinking about these things).


@Shane I think that’s a very honorable stance and if I can’t donate monetarily let me at least (in advance) extend great admiration and appreciation to you and your work, from a Safe community members perspective.


Hello all!

Just an update on where this project is up to: unfortunately I don’t have any fancy design images for you this time.

The project requires a NodeJS module to talk to the SafeNet, there are bits and pieces here and there in the various @maidsafe packages but no single (and simple) interface. I’m in the process of building that now and we’re looking at around 6 more days until completion.

Above is an example of the new module in action, creating a “dns” entry in the _publicNames directory and then reading the new entry back - all in an asynchronous fashion. This takes what would have been around 30-40 (pretty complicated) lines of code and provides it through a single, simple interface.

Once I’ve achieved the same result with the other key pieces of functionality I’ll be publishing the module and continuing on with the CMS build. I don’t foresee this effecting the project timeline in any way - this work was always going to have to be done, and I actually seem to be ahead of my forecast.

In the next project update I will be posting the Github link to the new NodeJS package so you can all take advantage of it.

Safe-Search, bringing content discovery to the SAFE network