DSound v0.3

Original post on Steem

Fixes to upload, Improved validations, New IPFS gateway, Tags without prefix, easy IPFS local node and much more!

You waited patiently for DSound new version and here it is the first release of 2018 packed with cool stuff! :)


What is DSound?

DSound is a decentralized web application, developed in Javascript and React, that allows anyone to upload, listen and discover music and other sounds stored on top of the IPFS Network. It uses STEEM blockchain as a persistent database, and by posting the sounds the authors can earn rewards in STEEM cryptocurrency, when other users like their content, which can be exchanged easily to US Dollars, Euros or any other currency, similar to Steemit.com for blog posts.

Check DSound Intro post for more details

About @dsound delegations and curation

My huge thank you to everybody who delegated to @dsound! It makes a huge deal for the curation effort! :)

As most of you certainly noticed @dsound account lost a major delegator, this augmented by the losses in value of STEEM resulted in the much lower payout of the great content in our loved platform…

But we managed to strengthen the curation team, now counting with 3 curators and myself, which has resulted in more than 300 artists being rewarded properly in DSound, and this number growing everyday! :)

It is such a big deal for us, as curators in the platform, to get to the Trending or Hot pages and see only great content coming out of DSound, with such proportionate and interesting payouts. We’re really proud of the achievements of curation in only 1 month!

In this first month @dsoundcuration effort was able to distribute near 26K STEEM, spread to an average of more than 200 artists daily of the more than 700 daily sounds published. This is a huge deal for our 5000+ users and community!

The Top Delegators

  1. @misterdelegation
  2. @soundlegion
  3. @freetousesounds
  4. @harrisonmir
  5. @humanabstract
  6. @kemal13
  7. @justlibby
  8. @talhadogan
  9. @frew
  10. @svetoruss

Please go check out these guys! Most of them are artists in DSound that want to support the curation effort… Thanks a lot guys for giving back to the platform! :)

And to all the other people that didn’t delegate yet, please do so… It is very important to build a strong curation account to build up our power to keep this platform with great incentives to our artists and sound creators!

It’s phrases like these that make me wake up everyday and give the best of me to this project:

Hey friend! I don’t know if you know me , but I am one of your biggest fan! You changed my life few weeks ago when I started actively posting on dsound every day.
It really enabled me to create more content , to dedicate myself to your platform and more importantly to believe in myself in a way that I haven’t for years , I can feed my children doing what I love, so a big thank you to you my brother from Lisbon.
Hopefully one day I can meet you in real and shake your hand or buy you a beer :)

DSound is this! <3

DSound Discord Server (the tribe gets connected)

Please join our Discord server at:


There you’ll find a few channels to have everybody from our growing community getting together and making DSound even better.

We invested a significant effort in organizing this community server and now we have rules, a set of channels where people have great chats, or support and suggestion of features… Thanks to all participants! It was tough at the beginning but paid out in the end. Now we’ll add few moderators to help curators with normal day to day activities of the server, stay tuned for the announcements…

The steemit.chat channels will continue but will be less checked from now on…

What’s new in DSound v0.3?

Ready to find out what else is packed in this new release? Come on, grab a cup of coffee, sit down and relax…

Active discovery of public IPFS gateways

In order to make DSound streaming and content delivery faster, it now starts with a predefined gateway and then initiates a connection with each of the available gateways to identify the faster one, with lower latency.

This means that DSound should be more responsive and it will be less frequent to see missing cover art or sound waves.

Extra error checking and fixes on Upload

There were a few of you that didn’t get their tracks uploaded, and I worked with a few to figure out the problems and correct them. Thanks a lot to the folks that had the patience to send me all the information I needed to correct this and implement extra error checking on this important part of DSound.

New DSound IPFS upload gateway

Yes, probably you remember last Saturday, that DSound was left without upload for a period of 10 hours…

Well, DSound supplier of IPFS gateway told us that he would go to shutdown the gateway in 5 days on Friday. So I was planning to use those days to deploy my own gateways exclusive to DSound instead, reducing the friction for whenever some management operation was needed.

So, during my sleep from Friday to Saturday, the gateways were shutdown and I woke up with a huge list of messages in Discord with problems with upload. It was already out of service for around 5 hours and I had to configure the new server, the IPFS and all those tricks to make it work, the fastest I could!

And so I did… It took around 5 hours to put up, and now we’re back to uploading craziness! :)

SEO friendly URLs and Page Title

Now DSound uses #! (hashbang) instead of only # (hash) enabling web crawlers to still find their way in DSound pages, even so that the content is rendered in Browser in Javascript.

All the pages have also relevant information in the title. So if you are on your feed, then your username or name will appear or if you are at a track page the track title will show up on the page title.

This seams to be such a useless one, but it really makes a difference when it comes to bookmarking pages of artists you like, so you wouldn’t end up with a bunch of pages with the same title in your favorites… Now you can see what it links to!

Extra Tags without the dsound- prefix

This one was highly wanted, so I got it done. Now the only tags that are processed internally by DSound are the content type and the genre/main tag. So it you want to publish a cover of a pop song (yes, now there is also a Cover song type), then you would choose Cover song for type and pop for genre, and this will result in dsound, music, dsound-cover and dsound-pop. But now if you upload a Podcast episode, then you will not get music, but podcast instead!

So now remains the extra tags field where you put tags separated by , and those now are placed in your sound post without any prefix! So you can control on which tags your content will appear.

It is important that you don’t remove the dsound-type and dsound-genre tags, because they are needed to be able to click a genre and those sounds get listed under that genre, for instance…

This change forced that the extra tags, that appear on the bottom of the description on the entire post view page, stopped being navigable by clicking them. These tags are now only relevant for Steemit and friends, but not for DSound. The sound type and the genre are still navigable by clicking, opening a special view showing only sounds that share that sound type or genre.

Now you may notice that your sounds link has some big number at the beginning, right after the category, and then the regular striped title without spaces.

This has many advantages, one of which is to be able to publish the same title for a track as the post describing the process of your song, for instance… Another even bigger possibility is to be able to publish the same track multiple times, to be able to monetize your catalog in a better way, since good music is timeless!

Please be careful with this. Don’t spam your audience. if you have a small catalog, then don’t overuse this…

Also the various feeds of content now only show the last publication of a certain title. This prevents your feed from getting too stuffed if you use the previous feature.

Login form with extra verifications

One of the most common errors preventing the users from logging in was that some guys wanted to put the @ sign on the username… Another was to get the wrong key, like the public key instead of the private.

So now the username field removes automatically any characters that are not valid for a username, validating as well the username conventions: at least 3 characters in each segment, that can be separated with . and only using letters, numbers or the - symbol.

The key is also now tested if it fits the rules for a STEEM private key.

So if the orange triangle at the right of these fields doesn’t go away when you input your data, then probably the data is wrong… Copy it again or double check it.

Minor internal fixes

Minor fixes here and there. Also improvement in flow from a sound to the next. And configuration now is reloaded from time to time to allow faster update of parameters and also stored locally for faster access…

Improvements in switching to local IPFS node and back

Now this process is almost unnoticeable. if you switch your local IPFS on, then after a bit DSound will switch to it automatically and all connections are routed through that node.

Similarly, when you switch your local node off, then DSound will also switch back to public gateway mode and will run the check again to use the best available gateway with the lowest latency.

House cleaner compliance

Yes, there are a few (dozens…) of copycats in the DSound arena… And we all want them out of out eyes, so now DSound only shows content that has positive weighted votes. This way, if the curation team or any other users flag some of the bad guys, they will not show up in any feed anymore.

What’s not in DSound v0.3?

Yes, there is something that I wanted so much to include, but the test phase got some major problems that need addressing, so the migration of DSound to use DSound processing and uploading nodes has to wait for the next release…

This will be the major upgrade to facilitate DSound upload but it better come out vibrant and strong!

So my apologies to all of you, but couldn’t keep you waiting longer for all the cool things that were already developed just because of this one. So broke this bundle into two and enhanced this version with the next topic, which is of major coolness!

Local IPFS node the easy way

It’s a pleasure to announce to all of you that wanted to install your local IPFS node for some time but struggled with the configuration, that now your problem is solved! And wasn’t me who did it… I just figured out the way to finalize the easy configuration to make it work with DSound.


DSound forked this project but for now it is exactly as developed by the guys from IPFS team. But I think that there are some features that may see their way to mix up in this project, because a local node may as well be a processing node, right?

So the idea is to have you playing around with this project. On my Mac it setup really easy. Just needed to change a small bit in the configuration file… Of course this will be the first thing to change for DSound fork of this project, but for now I will tell you how to do it the hard way… ;)


Please click the link above and you’ll see on GitHub page below the file browser an “Install” heading, below it you see:

“Go to the latest release …”

click there, or here because it will link to the same page… There you’ll find installation packages for Linux (rpm and deb), Mac OSX (dmg) and Windows (exe), so feel free to download the right one for your platform and install it.

When you run it for the first time you’ll see the screen below, and here you better click the “Advanced Options” button to check out where it will install the IPFS data directory in your platform. In Mac and Linux it will be in “.ipfs” directory under your home directory by default, in Windows I don’t know because I don’t use it…

Then note it down and continue the installation. It should be quite fast.

IMPORTANT NOTE: For those who already installed IPFS before in your computer, please delete the installation data directory, and then perform this installation. Most probably IPFS Desktop will not even ask you to install in the first run.

Next just quit the application and go to that directory you noted down. There you should find a file named “config”. Open it with your favorite text editor.

In this file you’ll read somewhere:


"API": {
"HTTPHeaders": null


and you need to change it so that it looks like this:


"API": {
"HTTPHeaders": {
"Access-Control-Allow-Credentials": [
"Access-Control-Allow-Methods": [
"Access-Control-Allow-Origin": [


Then start up the IPFS Desktop app again and you should be good to go! This easy! :)

Your node will be configured and running and you’ll see in DSound that the node is online in the IPFS Settings.

Please note that this is early stage software that might have some bugs and be in active development so don’t rely too much on it, but besides that it worked with me so far and it is a simpler way of starting and stopping the IPFS node when we need it.

If you use it to upload, then please give it some time after the upload to sync up with the network, so that the contents of your sound get spread through caches of other nodes. One good way to make sure is to open the content in another computer running DSound without IPFS, or just wait for people to start watching your content and commenting it, then you know that your content already have a live of its own! :)

DSound will try to pin your own files in your IPFS node, so that if the network “forgets” your content, then you can just connect the IPFS node and access the files again and they will spread again through the network…

What’s next?

Well, need to finish the processing and uploading nodes, solving those issues that prevented it to be done by now.

Then will continue down the path of the roadmap by priority…

Another thing that I want to get started with is to put out some marketing effort to bring more people to the platform. When we have the upload resolved and more nodes to make the network scalable infinitely, then the only thing that is missing is more people! And now is the time to do it… :)

Final words

Once again DSound one step closer to be the platform that frees us all and allows us to do what we love: music, sound design, recording, remixing, mashups, podcasts, or whatever is your thing… :)

I am positive about this curation incentive, as the needed fuel to bring DSound to the masses. Please pass the word to your friends! If they produce great content, they will produce even better in this platform…

Together we’ll see DSound get to the next level, tribe! :)


DSound curation initiative has done a huge impact this first month. More than 300 artist voted and 26K STEEM distributed. An average 200+ daily votes over 700+ daily uploads, from 5000+ users.

DSound v0.3 brings: Active discovery of public IPFS gateways, Extra error checking and fixes on Upload, New DSound IPFS upload gateway, SEO friendly URLs and Page Title, Extra Tags without the dsound- prefix, New convention for sound generated links, Login form with extra verifications, Minor internal fixes, Improvements in switching to local IPFS node and back, House cleaner compliance.

And also easy instructions on how to install IPFS Desktop from IPFS team to manage your local IPFS node easily!

Thanks a lot to all fellow members of DSound tribe, all steemians, developers and music addicts like me for your support and encouragement on this project!

Peace! :)

“Music is what feelings sound like”
DSound <3 Music