SteemWorld ~ Weekly Support ~ #27

in #steemworld6 years ago (edited)

[EN]


This post is intended to cover the server costs for SteemWorld.org and to enable me to continue my development in the future.

In case you missed the first part:
SteemWorld ~ Weekly Support ~ #1

[DE]


Dieser Post ist dafür gedacht die Serverkosten für SteemWorld.org zu decken und mir in Zukunft weitere Entwicklungen zu ermöglichen.

Falls du den ersten Teil verpasst haben solltest:
SteemWorld ~ Weekly Support ~ #1

Updates


The past week proceeded not exactly as I had planned before and I ended up with optimizing the implemented data caching methods for all clients on SteemWorld. Don't ask me how I got there, but I'm glad to announce that users now can open as many accounts as desired simultaneously without longer increasing the server load on my main data server.

As some of you might know, I don't make all required Steem RPC requests from each client to the connected nodes directly. I solved it in a way so that my server does the requests once a minute and stores the request results in a 'requests' table. The client (your browser) just sends a get_status request to my API once every 30 seconds and receives all data like new mentions, new followers and the cached Steem requests with only one request.

That takes much load from the public Steem RPC nodes, but of course, it increases the load on my side a bit, therefore I needed to make a few changes to the existing logic.

The following Steem API requests are being cached on my server:

const CACHED_GET_DYNAMIC_GLOBAL_PROPERTIES    = 1;
const CACHED_GET_CURRENT_MEDIAN_HISTORY_PRICE = 2;
const CACHED_GET_REWARD_FUND                  = 3;
const CACHED_GET_HARDFORK_VERSION             = 4;
const CACHED_GET_NEXT_SCHEDULED_HARDFORK      = 5;
const CACHED_GET_ACCOUNT_COUNT                = 6;
const CACHED_GET_WITNESS_COUNT                = 7;
const CACHED_GET_TICKER                       = 8;
const CACHED_GET_CHAIN_PROPERTIES             = 9;

A week ago my server always answered each get_status request with all cached data, because it didn't know what the current client exactly needs. That is now not longer the case and the clients send the required cached requests data IDs along the status request as shown here (abstract request):

{
    "type"   : "get_status",
    "params" : 
    {
        "ids"          : [ 1, 2, 8 ],
        "user"         : "steemchiller",        
        "last_follow"  : 94172775,
        "last_mention" : 94238931
    }
}

The example above would return all new mentions since the in field last_mention defined unix timestamp, all new followers since the in last_follow defined timestamp and all in the field ids defined cached requests (in this case GET_DYNAMIC_GLOBAL_PROPERTIES, GET_CURRENT_MEDIAN_HISTORY_PRICE and GET_TICKER).

After receiving the cached requests the client stores them in the browser's local storage, so that all other simultaneously opened SteemWorld tabs can share the same result and each of them knows about what is being required for the next get_status call. The good thing about using such a caching method is that it decreases the server load significantly and also the clients benefit from using more locally cached data, because they do not need to load blindly all data via internet connection each time.

Improved Content Security Policy (CSP) Headers


Special thanks go to @scorer for mentioning SteemWorld's bad CSP headers in my last post! To be honest, I didn't take care of the CSP prior to his comment, but I'm glad to have achieved a very good rating now:

Sites can be tested with:
https://securityheaders.com/?q=steemworld.org&hide=on&followRedirects=on

To Firefox users:
If you should encounter any issues when loading the site, please let me know and I will adapt the (now very strict) CSP settings. I say this, because when using Firefox there appear two logs in the Developer Console stating 'The page’s settings blocked the loading of a resource at eval/inline (“script-src”)', which don't make sense on my site (might just be a FF bug, but I will try to find out more about it in the coming days).

Continuing Main Mission


Building the Post Editor (yes, it can be used to create new posts and comments too) is still my main mission on a daily basis. There is not much to say about it currently, but I can tell you that I'm doing my best to get it running soon ;)

I wish you all a wonderful week!

Planned Open Source Steem Data Service (SDS)


  • Runs on Linux, Mac and Windows
  • Can be run locally or as public web service
  • Enables each of us to analyze and work with the Steem blockchain data in a simple and very efficient way (SQL and custom queries can be used too)
  • Syncing is possible via available public instances (very fast) or regular Steem nodes
  • Provides automatic downloading of already parsed data (no need to start from block 1)
  • No need to setup any database services (all file-based -> no layers in between -> lightning fast)
  • Offers configurable datasets (if you just need a DB with all transfers for example, you can run an instance with only the desired parser module 'transfers' enabled)
  • JS developers can easily implement own parser modules (just add a custom script in the modules path and the service will call the parseBlock, parseTransaction, parseOperation and parseVirtualOperation methods within your script for each block)
  • Also 'virtual operations' can be parsed (or downloaded from one of my servers that will provide all parsed datasets in nearly realtime)
  • Highly compressed data (some crazy stuff and a bit of magic involved here, more details on this soon)
  • Interfaces to other database systems planned
  • Completely free to use, will be released under MIT license

In the making


   ( A )


  • Post Viewer and Editor
  • SDS
  • More details in Coming Rewards (number of posts and comments, pie charts)
  • Improved Coming Curation Rewards
  • Thinking about if/when to start a witness node

   ( B )


  • Different views, no limit in the Posts Overview (requires SDS)
  • Account Operations without limits, custom date ranges and filters, jump to day x (requires SDS)
  • Exact (separated SP, STEEM and SBD) All Time Rewards in the Stats Section (requires SDS)
  • Rewards Overview Tool with searching capabilites (requires SDS)

   ( C )


  • RC costs calculation
  • New responsive SteemWorld that can be run locally (Open Source)

Links


EN  |  What is SteemWorld?
-> Welcome to SteemWorld.org!

DE  |  Was ist SteemWorld?
-> Willkommen auf SteemWorld.org!

Thank you for supporting my work!


Positive thoughts create a positive world. It all begins with connecting our thoughts with emotions. What we focus on is what becomes powerful. We are the creators of our world.

Much love,

Sort:  

Thanks for your work 👍

Vielen Dank für deine tollen Verbesserungen.
Wenn du dich dafür entscheidest auch ins Witnessbecken zu hüpfen dann bekommst viel support von uns allen =)

Posted using Partiko Android

Thank you for your latest report on all you are doing on our behalf @steemchiller.

"Building the Post Editor (yes, it can be used to create new posts and comments too) is still my main mission on a daily basis."

With this as your primary focus, in your next update, I would be interested to know where this feature ...

"Enables each of us to analyze and work with the Steem blockchain data in a simple and very efficient way (SQL and custom queries can be used too)"

... of SDS is on your "roadmap" for future deployment.

Beyond just Steem activities @steemchiller, wondering about your overall welfare in general and more specifically, where you might be in your deliberations about maybe moving to another place. Are you still actively considering that possibility?

All the best to you!

Thank you @roleerob! It's always good to see one of your nice and well-thought comments on my blog ;)

... of SDS is on your "roadmap" for future deployment.

That's a good question. I took much of my time for developing SDS in the past months and it's nearly finished or let's say 'ready to be tested/used'. Hopefully I can give it the final touch in about a month or so. As crypto prices keep being suppressed (held on the same price levels for weeks by trading bots, which creates the illusion that we have an infinite amount of sellers, mirrored order books tell us the truth), I needed to change priorities again.

Offering a post editor, profile and feeds like on Steemit will bring me enough beneficiary rewards to be able to complete my planned roadmap in a more 'healthy' way.

Are you still actively considering that possibility?

After ~ 8 month! (never seen before) of nearly zero sunshine and a daily doses of grey, heavily clouded skies here in North Germany I can say that I feel like I aged a few more years in that time. It seems like Germany is no longer inhabitable for people who want to live a healthy life, so my decision to leave the country didn't change and it will not. We (my girlfriend and I) are already preparing for the new life and are selling our stuff on eBay. I won't mention the exact destination until we arrived (for specific reasons). One thing I already can tell is that a sun exists in the place we are heading to :)

All the best to you!

Okay, very good @steemchiller ...

"As crypto prices keep being suppressed (held on the same price levels for weeks by trading bots, which creates the illusion that we have an infinite amount of sellers, mirrored order books tell us the truth), I needed to change priorities again."

... to know your thoughts behind your priorities. Makes sense. Too bad we all have to suffer through the impact of those with ... uhhhh ... "less than honorable" intentions. But I suppose it has always been this way in the real world, as the new crypto asset class cannot escape from the reality of human nature "in all its glory" ... 😔

"... so my decision to leave the country didn't change and it will not. ... One thing I already can tell is that a sun exists in the place we are heading to :)"

Well, obviously one of the big "Ys in the road of life" decisions has been made and you are resolutely working to see it through. It will be very interesting to "hear" about your chosen new home, once you have decided to reveal it.

I genuinely wish you well and glad to "know" one of of the truly "good guys" here on our Steem blockchain. Thanks for all you do for all of us. I hope you will enjoy many happy returns some day for all of your hard work.

Until we "meet" again, all the best to you and yours for an even better tomorrow!

I have just seen Steemworld is verified for BAT Tokens. @steemchiller you have my monthly contribution forever as well ;-)
p.s: You should advertise it!!!

Thanks for the heads up @toofasteddie

I sent @steemchiller 5 BAT

Klasse Arbeit.
Hab dich auch in unserer FB Gruppe als pinned Post gemacht.
Danke dir.

As always thank you for your hard work. My STEEM experience would not be the same without SteemWorld.

Are you interested in solving a mystery? I hope so...
Why does my vote display as 20 cents when it should be 3 cents?

Here is the information of my vote:
Link: https://steemit.com/steemmonsters/@simplymike/re-mellofello-giving-back-to-the-steem-community-win-a-7-day-delegation-for-a-near-gold-level-account-20190320t092921590z

What's even more strange is that the 3 votes by fulltimebot** does not show up at all:

Looks like it's related to a bug on Steemit. The total payout amount seems to be correct, but the other voters are missing. I guess they are testing something with their new nodes structure.

The voting details on SteemWorld show the following:

Ah, thank you for looking into this. My friends were shocked when they saw that my vote was worth 20 cents, and wondered why they didn't get one too, haha. Now I can send them the detail.

Vielen Dank und liebe Grüße Kadna

Thanks for all your hard work @steemchiller! Always look forward to seeing what new tweaks and updates you have added... what you have created here definitely makes Steem a more enjoyable experience!

@steemchiller You ROCK !! Steemworld is awesome, thank you, keep up the great work ;)

https://steemit.com/steem/@steemchiller/welcome-to-steemworld-org

There's always something that needs attending to, eh, @steemchiller. :) I'd say an A-plus rating is awesome for anything, particularly if it has anything to do with security.

As far as the post editor goes, if it's your main mission, I have no doubt it will get done. It's really cool to have these updates, by the way. I know there's a financial side to it, but in a very distant way (meaning, you're doing all the work), the rest of us get a glimpse at the behind the scenes build. For me, at least, it's been very cool to read about week to week.

Onward and upward. :)

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63350.70
ETH 2595.60
USDT 1.00
SBD 2.85