You are viewing a single comment's thread from:

RE: [piston.web] First Open Source Steem GUI - Searching for alpha testers

in #piston8 years ago

I'm so geeked about this... I feel like I just need to take the day off and dive right in (though I also want to do a code review). This, to me, is the key to this whole experiment which will, in a sense, save the Internet. This gets us closer to what the Internet was supposed to be: an interconnected web of decentralized content which could be modified with a POST or PUT and retrieved with a GET. When people can run a copy of their own favorite social media platform from any device any where in the world and "the server" never goes down because there is no server besides the blockchain, that's just amazing. Might also be amazing to have contributor keys which allow people to edit/post on shared accounts. Man, the possibilities are mind blowing.

Thanks for putting this out there, @xeroc.

Sort:  

Wow, I think I get what you are saying here... I've never thought of it like this... that's amazing. I'm thinking the server is replaced with a peer to peer datasource/database ? (Well I guess that's what the blockchain is). Kind of operates like DNS? So each node doesn't need to store the whole blockchain, just the parts it has accessed. Something like that, or am I missing it?

There are public API nodes (such as this.piston.rocks) that run the same database as steemit.com (technically, that database is a blockchain). That said, you can

  • use steemit.com and their semi-public API
  • connect to this.piston.rocks and use that one
  • or deploy your own node and use that one

Technically, there is a way for public APIs to profit from offering a public API node and that is: People are asking for the latest posts in a category with a certain sorting, but no one prevents the API provider to put their own posts higher in the ranking. No one actually even prevents them to give your wrong data. That said, you shouldn't trust any public API unless you trust the operator but on the other hand, the API provider can use it to monetize their public api service.
This of this as a google ranking. If you get the posts from steemit.com, you will see their ranking while when you use another service, you will see another ranking (potentially added extra posts to fund their server) .. the only way to get a neutral picture is to use your own server or maybe pay for a neutral party to provide a neutral point of view.

As a note, this.piston.rocks currently provides the most neutral point of view there is but that might, or might not change ..

Ok, yes I see.
I'm wondering if there is a way to avoid having to store the entire blockchain on a node. There are probably many problems with this idea. But I can see blockchains growing very large over time. I'm sure the steem or other blockchains have figured this problem out or are working on it.
Now that I think about it, my idea of not storing the entire blockchain, violates one of the fundamental ideas of blockchains, trust. But as you said, you also have that problem when using someone else's API to the blockchain.
Sorry, just thinking out loud here.

The idea is to let them be hosted by companies and witnesses and people only interact with the public API nodes .. pretty much like blockchain.info or electrum use light-weight clients.

Hey am new on steemit please support me to grow.
Hope you will help me out....

https://steemit.com/mgsc/@cryptoturdz/countries-from-where-whales-belongs-in-cryptocurrency

Similar to SP, SMD tokens cannot be purchased directly on an external exchange. SMD are primarily earned through contributing but can be purchased by converting STEEM tokens to SMD tokens.

Actually Steem Dollars can now purchased on external exchanges !
https://poloniex.com/exchange#btc_sbd
https://bittrex.com/Market/Index?MarketName=BTC-SBD

PS Abbreviation of SBD = Steem Backed Dollars
or just SD = Steem Dollars (not SMD please edit)

"from any device any where in the world and "the server" never goes down because there is no server besides the blockchain, that's just amazing"

This! Remember all the times your favorite sites have downtime and/or DDOS and/or something else. No downtime on blockchain, ever!

Currently, there still is a central point of failure and that is the this.piston.rocks API server. However, I plan to extend this quite a bit and use geolocated DNS with several servers around the globe to make it more robust ..

I think it would be more impotent to have a way for independent community members to run API nodes them self, then having a nice geo redundant deployment managed by one party.

What dose the API Server consists of? Is this just the API of steemd or is there another service involved and if so would it be possible to have the code available to play around with and try to build a independent setup connecting to a local steem-node?

Not to be ungrateful, my first reaction to this post was off course: awesome, finally a way to use steem independent of steemit.com like a real decentralized app. And it still locks to me a lot like that, only this small part seems missing, so thanks a lot for this awesome project!

Loading...

Wouldn't it be a good idea to offer an incentive for running an API server in steemd itself? Like Masternodes for DASH, or an Incentive Node for VCASH.

Absolutely, I think it can be easily done by just asking Steem to pay for their public APIs. A post about the APIs statistics now and then might bring in enough money to continue service. Time will tell.

Is it hard to run your own API server?

I think someone has even created a docker image for steem .. search on steemit or github

Funny, my original comment mentioned having thousands of clones of this.piston.rocks, but I ended up removing that part before I posted and talked about how this gets us a step closer. Maybe some day that code can also be decentralized, self-hosted, and distributed. Either way, thanks again for all your hard work, @xeroc! To me, stuff like this is the difference between success and... something else that isn't success. :)

In the realm of decentralized services, I think that consul is really, really overlooked, especially the potential of consul, coupled with ultra-low-cost servers. Once a machine is in a consul cluster, it is "bound" to the consul master and that master can execute commands on it as though it were root.

Consul also manages services and service discovery.

It can be run alongside Nomad, which can schedule anything that can be run on linux in an extremely neat, tight fashion.

Hey am new on steemit please support me to grow.
Hope you will help me out....

https://steemit.com/mgsc/@cryptoturdz/countries-from-where-whales-belongs-in-cryptocurrency

I wanted to add the ability to change the API node. piston allows that already, but the gui has no feature for that yet. It will come for sure.

It's not entirely correct. The default piston setup connects to this.piston.rocks as the backend API server. However you can already change it to your own node by running

piston set node ws://ip:port

There will be a nicer gui feature to do this eventually.

WoW 40 grand dollar fot this post, thats way beyond sick :o

Would be interesting if this became a successful method for funding open source projects wouldn't it?

Absolute ;)

Considering the work Xeroc does? This is like maybe half what a single developer would make in a year. Xeroc has been giving away tons of free code for the bitshares community as long as there has been a bitshares. I just did the math at 40g's he's made about $1.50 per hr.

Yeah it's sick. This man is probably the least appreciated contributor here. This tool is friggin awesome! I don't do python but I'm reading the code and learning the internals of how this stuff works, which is great because our devs don't do documentation.

Wish there was a tipping option for people like Xeroc!

WoW 40 grand dollar fot this post, thats way beyond sick :o

I tend to agree. Thought it might reach a couple $k, but >$40k is .. quite some appreciation :)

Me also. But you deserve it. You did an super jobb making this. This is why steemit is so amazing. It helps out who deserve it. Keep up the good work mate. Im suprised

A dream come true :D

I still have that Acidyo BitcoinTalk account available for sale 60 Steem and its yours.

Hey am new on steemit please support me to grow.
Hope you will help me out....

https://steemit.com/mgsc/@cryptoturdz/countries-from-where-whales-belongs-in-cryptocurrency

I need to learn how to build/install it. Do you know any good tutorial on how to build this kind of built?

Tutorials will come when the product is read for the masses. The current code is rather a Proof of Concept and in Alpha stage, even though it can already be used for quite some things. Give me some time to improve it further and I am sure I can release something stable in a bit .. (no ETAs in software development)

one step closer and piston is crushingit :)

Buufaaaa... Uuuuuuh buaaaaaahhh 44.000$ and increasing! ! Its a buuuuuuuuuufff....

i asked myself how is it possible to make so much cash for few words

I'm more geeked by the fact that pistons can generate steem, piston, steem, seewutididthar?

Thanks @trogdor!

I don't think the early Internet pioneers were as excited as we are right now. When they typed out SMTP commands in their terminal or transferred a file from one university campus to another, I can't imagine they had any idea what they were birthing. We, on the other hand, live with those results all around us. It's hard not to imagine an even more amazing future given the results of the past we currently enjoy.

Hey am new on steemit please support me to grow.
Hope you will help me out....

https://steemit.com/mgsc/@cryptoturdz/countries-from-where-whales-belongs-in-cryptocurrency

but the blockchain rely on infrastructure no?

As in internet connectivity between nodes? Yes. This is also something people are working to solve by building mesh networks, custom wifi networks, or even balloons such as the Google Loon project. https://outernet.is/ is another interesting example using micro satellites. Hopefully soon we will decentralize all the things!

Already been solved, you just need to use it.
https://en.wikipedia.org/wiki/AMPRNet

Yep, one more I forgot to mention in my list! :)

It might sound great in theory, but in reality it might be much harder to realize. Due to the blockchain size after a few years you might need a very powerful computer to host the blockchain, which isn't possible for "normal" devices. Just my 2 steem.
Anyway xeroc's libraries are always top notch. Thump up for him.

I don't think you will need a lot of "power" to host the Steem network long-term. You will need a lot of disk space, but disks are cheap. The only difficult things for the node to do is a replay. Those currently take about 2 minutes (a joke if you conpare to other blockchain techs). Either way, the underlying technology is soooo awesome, that I don't see a scalability issue in near future.

Oh, btw, on this.piston.rocks, there are actually two witness nodes running in parallel, connected to nginx via fail-over/load balancing. That means, I can update the code and replay the one node, while still serving the traffic with the other node and vise versa :)

I read your codes and learn a lot from it. Thanks Fabian.

Cool GUI bro.

Hey am new on steemit please support me to grow.
Hope you will help me out....

https://steemit.com/mgsc/@cryptoturdz/countries-from-where-whales-belongs-in-cryptocurrency