Gamify Steemit's future Soft/Hard Forks testing - The SteemCommunity Organization

in #utopian-io6 years ago (edited)

Repository

https://github.com/SteemCommunity/steem


Image Source

After seeing the success and failures of the 20th HardFork I have logged in to the witness channel of steem.chat with one question. I and wanted to find out what can be done so that HardForks are tested better so that the changes are implemented smoothly. Five minutes later I found other witnesses who are willing to do the same.

This is how I met @bobinson

@gtg, the wizard of Steemit proposed to making own TESTNET and stated that it is needed not only for hard forks. This is where I met @bobinson. He is also a witness and was interested in the exact same thing as I. Both of us want to build a Testnet and to motivate ever stakeholder (every account on Steemit) to stress test it and report any bugs, so that the new hard/soft forks are bulletproof before actual implementation.

To make it simple: Copy Steemit.com website and steem blockchain to another domain and test all the new versions there, on a separate blockchain.

What happened during 20th Hard Fork?

The new Hard Fork 20 was scheduled to happen on 25th of September 2018. As soon as it was implemented most users were not able to do anything on Steemit because the new Resource Credits (RC) which allow people to make transactions (upvotes, comments, transfers) were broken. RC were given out in minus numbers for most of the users. For my account it was somewhere in the - 2,000,000 or even less and I could not upvote, comment or do anything. And these RC were not recovering. It took 5 patches of the Hard Fork 20 to fix things up.

It was just terrible experience, but we are all happy that Steemit eventualy recoverd. So learn from this and lets prepare for next hard forks so that this does not happen again.

What can be done?

@bobinson and I had a discussion about this and we are actually building the exact copy of Steemit on another domain right now. https://steemtest.com will be used, right now we are in the process of setting things up. Everyone will be able to log in with their regular posting key just like on Steemit.com, to make all kinds of transactions (upvotes, comments, transfers, posts, trades, powerdowns, etc, everything possible) but these changes will be only visible on the TESTNET, not on actual Steemit.com.

Something like, "What happens in Las Vegas, stays in Las Vegas".

Gamify it

Why not Gamify the testing process? Lets make it fun!

sport-562154_1280.jpg

Image Source

People will be rewarded for doing these kinds of transactions and for reporting bugs and proposing pull requests to steem github. Right now I am discussing this rewards system for reporting steem bugs with @elear, the founder of @utopian-io and other community managers. @elear stated that it will be possible to reward people for finding bugs in the steem code through utopian-io. Steemit Inc. should also help reward bug contributors.

@reggaemuffin already forked the steem code on github to make it even easier for developers to propose pull requests and to make patches and submit bugs. You can read more about it here.

We are also planning to reward people for the TOP Commenter, TOP Upvoter, TOP Transactions on the TESTNET.

Why do we need it?

Of course, it is the responsibilities of all witnesses to test those changes in the steem code, I agree that this is our fault that HF 20 happened as it did. But it is really hard to make a real-life test without a lot of people participating in the process. There have been many tests from a lot of top witnesses. I have read that @gtg, @timcliff, @followbtcnews, @pfunk and tested the HF 20, but still, it was not enough. Steem is an open source project, so let's all unite our efforts as steem shareholders (all steem users).

Only real life testing for one full month of a copy of Steemit, would have allowed us to spot the RC problem and many others.

There are a lot stakeholders and dApps on Steemit who have suffered from the 20th Hard Fork. All of us suffer from the fact that people are leaving Steemit and when people actually see the problems we have experienced as a blockchain. Lets not let this happen.

What has been done so far?

  1. @bobinson has posted an open document on Hackmd.io about What? Why? How? Who https://hackmd.io/s/ByT1BuG5m
  2. @yuriks2000 deployed a copy of Steemit using Steem Condenser at https://steemtest.com with the help of @yehey and his detailed instructions on how to set up the condenser.
  3. @bobinson started to set up the full rpc server with version 0.20.6 (with Tinman) of steem so that we can point it to condenser, with the help of @gtg, @inertia, @reggaemuffin
  4. @yuriks2000 set up the Discord channel https://discord.gg/zCjTqT to get help from the witness to help set everything up. Everyone is invited to join! Lets use our open source community!
  5. @reggaemuffin has forked Steem so that it will be easier to post patches, pull request, bugs and to be rewarded through utopian-io. Link to the post here
  6. @bobinson posted TESTNET RCA Document:
    https://cdn.discordapp.com/attachments/497378619342192640/4980449628946432

I am not a professional at running the condenser, but as a Steem witness I am willing to learn and to help our community grow. I cheer everyone who is willing to do the same. Witnesses have got to be eager to learn more about the code and to find out how everything actually works.

What needs to be done

  1. Finish setting up condenser
  2. Finish setting up steem rpc server
  3. Tune the gamification process
  4. Implement gamification
  5. Set up the rewards system

Sorry if I have missed any of the contributors. If so, let me know.

Please join us for the sake of Steemit

If you feel that you can help and contribute in any way, we will be more than glad to have you join us.

Join our discord here: https://discord.gg/QTUbtm


Brought to you by @yuriks2000, your loyal Steemit Witness team and a CEO of BoomApps developing SteemApp, a completely free app for Steemians

Please consider voting for witnesses involved

@yuriks2000, @bobinson, @yehey, @reggaemuffin, @gtg, @inertia

Go to https://steemit.com/~witnesses

Or vote for us through steemconnect

Have a lovely day!

If you would like to download our SteemApp free Steemit mobile application, click on the iOS or Android images below

App_Store_icon 1.png

Available_in_Google_Play.png

Sort:  

This is a great idea, and one I absolutely support. I like virtuous uses of gamification.

I will caution that setting "this never happens again" as an objective may be a bit unrealistic. All the testing in the world cannot replicate the reality of going live with tens of thousands of active users. Minimizing the chance? Sure. That's worth the effort, and its realistic.

I would definitely recommend going through the post's text. There were significant issues of style, grammar, and proofreading that made it a bit difficult to read at times. I'd be happy to point out some examples in a follow-up comment, if you wish.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thank you! I agree with you, it is hard to never let this happen again. But it is a goal we would like to work on. There was a saying, which fits well here :)

“Shoot for the moon. Even if you miss, you'll land among the stars.” by Norman Vincent Peale.

Please do write some examples on how I can improve, because I would like to improve my writing skills as well.

I often say "perfect is a goal, not a destination," so we are in agreement. Now, to the examples!

After seeing the success and failures of the 20th HardFork I have logged in

The word "have" is redundant. It makes the sentence present perfect, and it should be simple past: "I logged in."

I and wanted to find out what can be done so that HardForks are tested better so that the changes are implemented smoothly.

A few issues here. Starting with that redundant "and" at the start, which I guess may have been left over from a different form of the sentence? There's also no punctuation. Punctuation is good!

@gtg, the wizard of Steemit proposed to making own TESTNET and stated that it is needed not only for hard forks.

Whose own testnet? @gtg's? All of yours? Also, again, punctuation. Let's do a sample edit:

"@gtg, the wizard of Steemit, proposed making our own TESTNET. He stated that it is not needed only for hard forks." (A comment here: I guessed at @gtg's gender based on Gandalf being male. I would have considered using the singular they if it were my post and I didn't know the gender).

so that the new hard/soft forks are bulletproof before actual implementation.

Let's make this simpler and more accurate: "So that future hard/soft forks are bulletproof before implementation."

Thanks a lot for your effort @didic. Very good advice. Will try to improve!

Thank you for your review, @didic!

So far this week you've reviewed 26 contributions. Keep up the good work!

Resteemed and upvoted with joy and hope! This is true leadership in action. Big thanks!!

Also, I kindly suggest you to consider implementing a blockchain reset. Here is a discussion on this regard: https://steemit.com/steemit/@smitop/re-develcuy-fake-steem-sbd-witness-market-condencer-and-so-on-let-s-test-steem-for-real-from-now-on-20181005t192446714z

The main purpose of a fresh start is to speed up testnet deployments which then will allow real Test Driven Development (TDD) with automated testing, regressions, integrations and all its goodies.

I see you have great ideas and experience. Please join us on discord. Will be awesome to have you there!

Good idea, yes. I looked into this previously and was told that Steem and Steemit are not whitelisted for utopian, but the only explanation I got was that Steemit inc. weren't seeking to do that (for reasons unknown to me). If Utopian and Steemit can arrange that it would be great.

I suggested already to use a system like http://www.testquality.com/ to organise the testing. Part of the challenge is gaining oversight into what has been done and what needs to be done. When lots of people who are decentralised try to work together it is common for things to be overlooked or unnecessarily repeated - I think a system like this will help and it is free for public repos too.

Excellent advise @ura-soul, will look into it. This is the main change, to connect steemians, developers and witnesses, so that everyone is aware about what needs to be done and what has been done. Already second time I am seeing this service, testquality.com

Would be great to incentivize and empower people who are willing to help with testing and development of steem.

Great, ok. I did paste the link to this in the witness chat room but no-one replied about in detail there yet.
By combining reliable testnets with the community repo on github and a management app like this, we will be in a much better position going forward.

Agree with you 100%. That is the plan, truly decentrialize and open source. Not the way things are right now...

Hey, @yuriks2000!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Hi @yuriks2000, I'm @checky ! While checking the mentions made in this post I noticed that @bobynson doesn't exist on Steem. Did you mean to write @bobinson ?

If you found this comment useful, consider upvoting it to help keep this bot running. You can see a list of all available commands by replying with !help.

Hi @yuriks2000!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hi, @yuriks2000!

You just got a 13.05% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.