STEEM 2 Blockchain Parser (S2DB) Budget Proposal

in budget •  7 months ago

S2DB

5000 SBD or 10 x 500 SBD monthly:

Hi all,

I am the initiator and main developer behind STEEMPUNK-NET (@dehenne).
We are building a Massive Multiplayer Online Role Playing Game directly on the STEEM Blockchain.

To make it work, we need the STEEM data in a relational database and not only within the blockchain. We used SBDS from steemit.inc for several months, which unfortunately turned out to be extremely unstable and not fitting to our needs.

At times SDBS caused server loads of 120 and thus was setting hardware under extreme stress. (Normal loads are between 0.5 and 2)
We wanted to and have already solved this problem by writing our own STEEM to database parser.

Features already developed:

  • Version 2 currently in development
  • First stable version is successfully used by STEEMPUNK-NET
  • Upgrade to version 2 will follow in the next weeks
  • Version 2 is:
    • freely available and open source (https://github.com/pcsg/pcsg-steem-blockchain-parser)
    • completely flexible, it can be determined what kind of data should be written to the database
      • If someone wants to write a software which only needs transfer data, this is no longer a problem.
      • the developer don't need 1TB of data
    • You can determine from which block you want to start parsing
    • Multithreads implemented
      • It parses a single block or a range of blocks
    • Multiserver implemented
      • Multiple servers can be requested, not always just one. This distributes the load.

What's next?

If STEEM is to come of age, then real applications have to be written and not just kindergarten bots that are casting votes on articles. This cannot be done directly with the block chain. Real applications must be able to limit, filter, compress, group or bundle data. This is possible with the S2DB.

What we want to integrate in the future:

  • Independent database type

At the moment only MySQL is supported. Postgre, MSSQL etc are only a few we would like to support

  • CLI API System

Developers should have an easier solution to build their own database structure. At the moment we are following the SBDS structure. This is strongly orientated to the blockchain, which is not needed for most applications at all.

  • Finished database dumps are missing

It takes several days to build up a complete database right from the start, since at the moment all blocks have to be queried and transferred from the servers. This could be improved massively by having database dumps available.

What is the money being used for?

I would use the money to support S2DB, SPN and other STEEM projects.
This means that this is not only supporting SPN but also other external developments would be made possible by using S2DB.

The money would also support S2DB support, which I can't really provide without funding.
For instance, I can help Developers to integrate and set it up. For example the D-A-CH (the german speaking) Community would like to use it. A lot of developers ask for STEEM 2 Database solutions.

This solution would save time in every development, since it is a database ready to use with all the variables you will ever need within the Steem Ecosphere.

I know that asking this amount of Steem is sounding like alot, but I can assure you that this is an invest into the direct future for Steem and all applications that are going to be built around it.

This post is a fundraising post for the budget proposal system from jerry banfield. https://steemit.com/budget/@jerrybanfield/introducing-steem-budget-proposals

Thanks @jerrybanfield for this opportunity!

Kind regards
Hen

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

As one of the long-time players (now I feel old!) I have witnessed how hard the developers have been working since last year to get this game running well, and as soon as they have finished one portion they jump right into the next phase.

They also listen to the players, and incorporate good ideas into the game. I think they have a solid, well-thought-out plan which they are dedicated to - and yes, this is all done in their spare time.

I've also seen how frustrating it can be when something is out of their control with regards to Steem, etc. (Not that I am tech-savvy enough to understand much of it). The guys get a lot of pressure from frustrated players when something doesn't go right - and there are now a lot of players in the game, which is fabulous, but again it puts more pressure on the developers to keep things running smoothly; and I've watched them handle it all with such good grace and patience.

I, for one, know they would be a solid investment; and whatever they do is definitely all positive for Steemit.

·

Thanks raven for the kind words!

Thats so fuckin' awesome :DDDD can't wait to see more... you got followed :3

·

Awesome.

Playing Game directly on the STEEM Blockchain will be a big add up to the community. Can't wait to see it get started

·

Its already startet:

and meanwhile at steemit there are a lot of more games, for example:

This is awesome! SBDS has been picky sometimes with weird errors. I'm trying S2DB and I'm liking it already. Especially that I'm a PHP fan.

·

thanks for using it. now that i am finally out of my vacation, i can answer all your questions if you have some :-)

·
·

I made a pull request for the proposed change, I tested it and it's working fine. Check it out and let me know what you think. :)

·
·
·

Thank you! I have changed the code stile minimally. otherwise it fits.

There was a bit of chaos. I have another gitlab instance that syncronizes with github, but now it works. :-)

·
·
·
·

Is the function parseFromBlockChain() used at all? It uses loadDataFromChain() which doesn't seem to do anything. Although it's called in Parser.php, maybe it's doing something else.

Instead, the code I added in loadDataFromArray( (called by parseArray()seems to be the one adding the raw data into the database.

·
·
·
·

Nice. However, you removed the code that I added in the function loadDataFromArray(), thus insertion of the raw data doesn't work anymore, it inserts a NULL instead!

·
·

Actually I do have a suggestion. Can you add an option in config.ini.php to save the raw block content? I see that you set it to "raw" => "", in Database.php. It saves a lot of space, but it would be nice to have the blocks for other custom queries and purposes.

@jerrybanfield when you wonder if all this is correct.
why i wrote with the @pcsg-dev account is, this is the developer account ;-)

I wish you good luck that you will achieve your fund raising goals. You really have a good project going on and the new Steem Database would be a great improvement for all Developers.