Introducing - mixing a traditional blog style with the steem blockchain

in #steem4 years ago (edited)

Every blog I start needs a few things: a custom domain, a theme and an engine to power it. Wordpress? Ghost? Why not steem? I decided create a proof-of-concept showing how it's possible to use the steem blockchain to create a personal blog.

Introducing is a website for viewing steem blockchain blog posts (not comments, yet) in a traditional blog format. It is the result of a mini-hackathon over the past 24 hours and is in no way complete. It's likely there's a few bugs.

If you'd like, you can continue reading this post on my blog over on SteemPress:

It's powered by the steem blockchain, templated and routed through PHP (I know, I know), and uses a custom theme I downloaded off github.

Can you see where this could go from here? Developers can use it for software documentation, companies could use it for their blogs, prominent bloggers could have their own websites - the possibilities are endless. All while integrating into the steem ecosystem and earning rewards.

Here's a few blogs that I caught up on by using SteemPress:

As a web developer, this kind of blockchain tech blows my mind, especially steem.

The "why" behind

Yesterday I started thinking about ways to organize the tags on steemit in an effort to help people surface their blog content. If I start a blog, I want it to be easy to find. Tags are the area to address, right?

The problem was that I was a bit too laser focused, specifically on tags. Then I started thinking about what it's going to take for me to use the steemit platform for blogging. I want a few things:

  • A custom domain I can give to people (instead of
  • A way to customize the experience for my readers.
  • SEO relevance for the subject matter I'm writing.

Why not just use the blockchain? Why not let everyone?


Fun fact: BYOD (bring your own domain)

Did you notice above how I used You techie/web folk out there should realize the potential in this. Any username can be used as a subdomain in the URL. Which also means that you can use cname DNS records to point your own domain to the service...

I created a cname record of blog on the domain that points to Now my blog on is powered by, which in turn is powered by the steem blockchain! Steemception!

A warning for those interested in cname/subdomains (thanks @dasher!): Please be aware that if you use a CNAME record, the cookies you set on your domain will be passed to while visiting. Please make sure you're not passing any sensitive information or session information in your cookies!

Where does this go from here?

Well, it depends on how many of you like this idea. Like I said, this is a project that's less than 24 hours old. It could go a million ways though:

  • Should it be an open source thing you can install on any server?
  • A commenting interface could be added
  • A voting interface could be added
  • The ability to create blogs based on multiple users
  • The ability to create blogs based on tags
  • Support for youtube videos (not working yet)
  • It could load more than 10 posts (infinite scrolling)
  • Custom Layouts/CSS/Themes so you could make it look however you want

I'm really excited by the potential of steem. I've been lurking in the crypto space since 2013 when the bitcoin rockets caught my eye. I haven't been this excited in a long time.

I hope this small project helps inspire you and helps everyone realize the potential here. This type of technology opens the doors to so many people who wouldn't otherwise bat an eye at cryptocurrencies.


AMAZEBALL! You have my upvote on this! are my suggestions

  1. Duplicate content is a huge SEO issue, so how about making sure there is a canonical link to the original on
  2. Being able to add meta title, meta description to the page would be amazing for SEO optimization of the website

SteemPress could be big...REAL big.

  1. Great point on the canonical link, I'll get that added in the next build. Since right now it's the most recent 10 posts all on one page (based on the username), I'll make the canonical link point to the user's blog page.
  2. Do you mean as you're creating the posts? Right now I don't even have a database on SteemPress, I'm 100% using the blockchain itself. So if we wanted to be able to add additional fields for that kind of data, we'd need to add it to Steem itself. But I think it's an excellent idea!

Holy crap. Nice work! I just had visions of a whole blockchain CMS. One too many beers to think it through right now though.

I've had some of the same thoughts :)

I'm not a PHP fan like yourself though. I have used Ghost before. Then I played with numerous static site generators. Ended up really liking Grav ( even though it uses PHP on the server side. It's ultimately much more powerful than a static site generator but much less complex than a bloated WP install. I'd choose flat-files over a standard database any day. :)

It would be interesting to use the blockchain instead of flat-files for sure.

PHP isn't perfect but it's the hero we have, just like Mothman!


This is amazing. I have a question. I use IPFS and it doesn't seem to render those images. Am I doing something wrong?


This is fantastic! I'm also a PHP dev (let's get #PHP going, yo!) and have played around with a couple simply scripts related to the Steem Interest rate. I'd love to know more about the technical side of what you're doing here. I've really wanted to dive into Steem and start building out tools for analyzing the data more (sort accounts by posting value, curation value, percentage per post, etc). I've tinkered a bit with Piston and have looked at the API a bit, but I'm not really sure where to get started. Are you just running your own steemd and then making calls to it directly via PHP? Would love to know more! Very cool. Following for sure.

We should! I could write some fun articles ;)

Yeah, I'm running my own JSON-RPC steemd on a server, and I'm using fguillot/json-rpc's RPC client. I had to do some hacky stuff to actually get the content, and the code is a complete mess right now, but I definitely could share some examples.

Going this route I was pretty much able to do anything that the RPC client allowed.

I was looking to do something very similar locally. If you want to contribute here, that would be fantastic: And I totally understand as far as code quality goes. I'm just prototyping things at this point. I wrote a couple posts here and here on what I was playing around with. I haven't yet put anything on a server. I'm just tinkering with local cli scripts for now.

Thanks for the tip on fguillot/json-rpc! If you share some examples, leave a comment for me so I can come check it out. Hopefully the follow functionality will be implemented soon.

Oh I am too, no worries about me judging your code lol. SteemPress's code is in no way "good" at the moment, it's got some massive functions in it that really need some love. But that's what prototyping is for!

And sure, I'd be more than happy to share some code snippets on how I used fguillot/json-rpc to access the API. Maybe that's an idea for a blog post in #PHP :)

I love this!!

Admit it... it's fun and exciting to draw content, from a decent blockchain like steem... :)

It's not only fun, it's exciting!

When I develop the data I tend to work with is content. Not precise things (like currencies) that typically exist in blockchains. But these brilliant guys over here decided to put the content IN the blockchain! hah :)

Very nice idea!
I want to report a bug, that you might be already aware of.
On the left side of the posts the link STEEMIT.COM links to a 404 error.

Fixed! Should take you directly to the post on now. Thanks for pointing that out!

Thank you for the nice service.

Thank you, I feel honored to be on the list!

Cool idea.

Just tried it though and it seems some images are not rendering. For example (, my hosted images are not working right now.

Should be fixed. Looks like there's a few variations of how they store content that I didn't anticipate.

Thanks for the heads up!

Indeed, it's working now. Thumbs up on the quick feedback!

Very cool! However, a couple things are broken:

  1. Lists
  2. apostrophes
  3. Links
  4. Youtube embedding

Glad you enjoyed and thanks for the bug report!

Quick responses, to your bugs:

  1. I saw the lists in a few of your posts that didn't format properly. I'll dig into it. It's likely that the markdown parser I'm using isn't the same specification as the one used here on steemit. May have to ask around and see which implementation it is that they use.
  2. Huh.. strange. I see those on your post about from july 2nd. I think I have a fix, I'll try to get it in soon.
  3. & 4. These should be easy fixes.

I'll add these to my todo list and get them out in the next few days. Thanks again for pointing them out!

Could see this becoming a powerful tool to help promote bloggers even more in this space. Very slick.

I really think so too.

I've spent a lot of time recently reading blog posts, code tutorials and other "social media" type materials. Almost all of these have helped me tremendously learn some new technologies for a job I'm doing. I wish I could have up voted them, as I could with steem, and actually shown them my appreciation.

With something like steempress, we can. We just need to show them it can be done, and easily!

Hey this is a great start. I had to come check it out. I see that you are starting to realize some of same things about empowering the standard user to use Steemit. Thanks for your reply on my thread. and have a look at

Power To The Steemple .. lol

You asked if I had a specific idea, I do.

I think I have ideas that address probably primary and secondary summery info. .i.e abstract level of sumarization and then contextual level of query and both qualitative and quantitative information in a organized tabular possibly coupled with the ability to transact with that information.

More and more people will slowly realize how powerful this platform really can be, especially for the users.

I'm incredibly excited for where this is all going!

@jesta Wanted you to see this. I can see a bunch of possibilities...
You asked if I had a specific idea, I do.

I think I have ideas that address probably primary and secondary summery info. .i.e abstract level of sumarization and then contextual level of query and both qualitative and quantitative information in a organized tabular possibly coupled with the ability to transact with that information.

If you keep improving it, I will support it.

With the excitement I have towards the project, I'm pretty sure that'll happen. Thank you.

I think my plan is to finally do an intro post today and hopefully that'll provide some insight into how I handle these types of projects!

Once the base it's done, everything is possible, so you sir, deserve a jar of cookies and a medal.

I'll enjoy my jar of cookies while I earn the next medal!

And whoops, didn't realize I swapped accounts here. Planning on using this one to programmatically publish patch notes as another experiment ;)

I proposed something similar in a past post. Love your approach!

You inspired me to go look up some of your posts :)

I really like the idea of the specific channels you mentioned, being able to make combinations of criteria to create specific series of information. I'll see if I can get something like that working. Do you have a set of actual tags that you'd like me to test against? I was hoping you had a tcpip series of posts hah.

Great service!
Yes, I think it's should be open sourced and become a great example how to interact with Steem blockchain.

I think that's the plan! Right now it's using some obscure frameworks that don't work on most PHP servers, so I'll have to replace those parts with more open source parts before it happens though.

Expect the code to be released after I get all that squared away. I think it would be a great learning tool.

Steemit has so many potential applications, thank you for sharing!

It really does. Now that I know how to parse content from the blockchain, it opens some crazy doors. I've had a few ideas already since I wrote this post and stopped working.

great idea!
but you can always improve and you will succeed.
Good luck!

(excess symbol and does not display video YouTube)

Nice! I am following your work, @jesta and wish I had seen this post earlier!

Thanks! I'll probably have an update + open sourcing here in the near future. I'm also going to use it as an example blog for how to use steempress, and probably write a tutorial to go along with it.

I ask please that you see my post, with your vote I can put my business and thus have a job and be able to feed my children. With just a few clicks you can change my life. Thanks in advance. Nicolas

Great initiative, keep up the good work!

Thanks and will do!

Very interesting article, nice to know this.

Is it possible to vote on steempress or do you have to go back to steemit to do that?

Right now you have to do that on steemit. I don't have any code in place to know who you are. When I add that, I want to make sure it's done right, since it involved your posting access key.

You could use steemjs-lib to add a simple login and vote functionality.

Oh wow. I had glanced over steemjs-lib a few days ago but didn't realize it could actually use JS to authenticate a user (and securely). I'll definitely see what I can do with it. That opens up a whole realm of possibilities!

Wow its really cool to see where this going. Steem is just pure genius you have my vote bro

Good service, but it does not correctly display the Russian text. Can you fix it?

I'm sure I can, and I'll see what I can do for the next version I release.

That's great. I just noticed that your page doesn't supprt special characters like "ü" or "ä"

I'll dig into it and see if I can't get that fixed. Probably something to do with the encoding I'm using on the pages and hopefully it'll be a pretty easy fix.

If you have an example of someone's profile where this is happening, example links are always welcome :)

Brilliant! Especially the BYOD feature. Question - are the posts updated instantly or is there a delay?


Answer - It's as fast as the blockchain updates. The website doesn't autorefresh, so you'd manually have to reload the page if you wanted to see new content.

I choose to go that route since it was simpler, and as you're reading full length posts, typically you don't want the page moving around :)

This is inspired; really really nice work!

This thing is amazing!!! I think you receive too little for this site what you did! Develop please!

Nice Work! thx a lot

@jesta This is awesome work! Are you planning on releasing the code as open source on github or something?

This is what i wanted. Thank you.

You are an asset to the steem community. Thank you!

My most recent posts titled The Emotional Roller Coaster of Investing and The Power Of Minnows.
Vote with your steem dollars.

Very nice! These are the kind of projects I can't wait to see spring up around Steem. Great job.

Love that your into hackathons or starting off your mini-hackathons....We like participating in them, too. will show you what we were up to ...after it's done within the day. :)

Can't wait to see it! You've got me intrigued now, if you're in hit me up, I'd love to know what you've got cooking!

Hey @jesta, I love the idea! I was also instantly a fan of Steemstats, thanks for the contribution to the community =)

I am seriously considering giving the design for Steempress a go!

So what happened to

It turned into Reprint, which has a demo mode site running on, and powers as well as a number of other blogs :)

Now that #steemconnect is available, I assume authoring, curation and other blockchain-manipulation be done through Reprint?

If the interfaces were built out for it - yes.

There's a v2 of steemconnect coming at some point, I've been waiting for that :)