lbryio / lbrycrd

The blockchain that provides the digital content namespace for the LBRY protocol
https://lbry.com
MIT License
2.57k stars 178 forks source link

Normalization hard fork testing and support #210

Closed alyssaoc closed 5 years ago

alyssaoc commented 6 years ago

The Issue

With the blockchain upstream and normalization changes in the upcoming hard fork, as blockchain developer, I want to identify as many automated and manual tests as possible so that the hard fork does not break anything.

DOD/Acceptance Criteria

Identify all interactions with the blockchain and document Identify and document possible testing scenarios for those interactions

As a goal, we should build a test environment for repeatable testing of future changes

kaykurokawa commented 6 years ago

In a fork , we must first identify the difference between the old chain and the new chain. For each test listed below, we should make sure that all the difference in the hard fork is thoroughly covered (i.e. if we are testing normalization hard fork, we must make claims that triggers normalization after the hard fork)

For Regtest : -Increment past the fork height -Increment past the fork height and decrement it back to before the fork height -Increment past the fork height , and restart it , making sure that it doesn't crash and can keep incrementing blocks

For Testnet / Mainnet: -Check that a fresh node (no blockchain data) can sync up to the hard fork height and after -Check that a node with block chain data before the hard fork height can sync up to the hard fork height and after -Check that a node that has synced past the hard fork height can decrement to back before the hard fork height (by using invalidateblock command)

BrannonKing commented 6 years ago

For the string normalization, I've attached a document with the names that would change (as of 26 Sep 2018). It has about 53k items. The document shows a number of claims of this pattern: ak-WVyroHDWyCk. It's obviously generated data; do we really want to lowercase those? withCaps.txt

tzarebczan commented 6 years ago

I don't think we are actually changing anything to be lowercase, but instead, they will be treated as if all the characters were lowercase in the claimtrie. So it there was another claim (unlikely) at ak-wvyrohdwyck, the one with the highest bid would resolve at ak-wvyrohdwyck or ak-WVyroHDWyCk or AK-WVYROHDWYCK.

kauffj commented 6 years ago

Btw @BrannonKing, claims with that pattern are from the YouTube program