You are viewing a single comment's thread from:

RE: Fake STEEM, SBD, witness, market, condencer and so on: Let's test steem for real from now on!

in #steemit6 years ago (edited)

What you describe as far as the testnet was pretty much what was done for hardfork 20. We had a working testnet that was a clone of the mainnet, did not have the full historical set of data (to keep the block_log size low), and was even getting a copy of the new mainnet transactions mirrored over in real time. There was also a testnet condenser: https://condensertestnet.steemitdev.com.

Sort:  

Yes @timcliff, you are right, so I should elaborate my proposal a bit more. To be more specific, I'm against straight dumping content from mainnet into the testnet, that is why I suggested AI and I should add statistical analysis as well, which should mimic human behavior with an smaller database of content "recycled" (statistically down-scaled) from the mainnet. In means that we should end up with a lightweight fake steem blockchain that can still provide meaningful feedback. I know that it might sound very complicated, but let the big data experts debunk this alternative. I still prefer to let the community play with fake steem freely, AI can come later.

I get what you are going for, but I still don’t think it would generate the conditions we need to simulate a “real” test.

The community had access to test hardfork 20.

and was even getting a copy of the new mainnet transactions mirrored over in real time.

How was this done ? Is there any code or documentation available ?

The official Steemit, Inc. testnet was originally announced here:

https://steemit.com/hardfork20/@steemitdev/hardfork-20-testnet-details

It bootstrapped and activated HF20 the same day.

I'm not against it but some people stated (some top20 witnesses included) that it is almost impossible to fully test a hardfork upfront, and I want to say contrary, it is perfectly possible and we can start right away.

There were specific things that we were looking for with the original testnet deploy. We wanted to know how it transitioned from HF19 to HF20, and that looked good. We wanted to know how transactions from mainnet copied over to testnet would fair, and that looked good too:

https://github.com/steemit/tinman#gatling-transactions-from-mainnet

One of the things we could have probably tested in the month prior to HF20 was to delay transition between the bootstrap of the testnet on HF19 to HF20. Maybe a 5 or 7 day HF20 activation delay would have revealed a hint about the difficulty in the new features, but we didn't test that scenario.

So, there was possibly a lack of imagination. But at least we have that knowledge moving forward.

Let's prefix everything "fake-", so that we have: Fake-STEEM(fsteem), Fake-SBD(fsbd), Fake-witness(fwitness), Fake-market(fmarket), fake-steem.com, fake-steemconnect.com, fake-you-name-it. If we make everything functional, we can have a working simulation, where we can freely experiment without the worries.

That's pretty much what we do by using a chain-id (without the prefix, just using different asset symbols instead). We use a unique chain-id for the testnet so that transactions cannot be mixed up between blockchains. Have a look:

https://condensertestnet.steemitdev.com/

Indeed @inertia, the concept of testnet is very similar but it still needed some adjustments IMHO. More than the technical aspects, my proposal is about how to involve all the steem community on the testing process. That is even why I use an easy word for the non-tech savvy: "fake". Also, we should actively invite people to participate in testing, don't let it pass unseen, it should be a testing party or festival actually (easy words again). Otherwise, it makes no sense to open source the project, let's make it easy for regular people to contribute something! Testing is a great opportunity.

Oh to that end, there's also talk of adding a financial incentive to use the testnet (one or the open issues in that repo). But that would be implemented by the community, if it happens.

Thanks @inertia, this will help us a lot. Working on creating public environment for testing hard forks with @bobinson and on ways to motivate steemians to help with testing.

Thank you @inertia and @timcliff

@inertia : Tinman has under gone lots of changes from the last time we were using it! We had reported an issue in May ( https://github.com/steemit/tinman/issues/59 )

Syncing the transactions is a wonderful feature you guys have added. I will revert with comments/doubts after going through the all "wizarded-up Tinman! "

@intertia we have few doubts and giving them below. I hope this will help to do a RCA.

cc: @timcliff @ura-soul @yuriks2000 @yehey @develcuy

Questions

  • Date on which TESTNET was live ? ( 2018-08-25 as per the @steemitdev post)

  • what is the version of the offiical TESTNET ?

  • How many transactions are happening in the MAINNET per week ? (7 x 86400 seconds)

  • How many transactions happened in the official TESTNET ?

  • What was the highest TPS on the ofifcial TESTNET ?

  • Can we create scenarios like upvote which will test the official testnet ?

  • Do we have a list of scenarios and transactions that cannot be effectively tested on the TESTNET ?

  • so can we identify the difficult areas like RC and test them ?

  • Which are the difficult scenarios that was not tested by the automated test environment ?

I don’t know much about it other than what is here: https://github.com/steemit/tinman

@inertia may be able to explain more.

Thank you @timcliff Do you think the witnesses can help to increase the number of users and test cases + code coverage on the official TESTNET ?

We are planning on that and a lot of other things for the next hardfork.

"We" as in ?

Also, I hope you have seen this work ( https://hackmd.io/s/ByT1BuG5m)