Conversation
edmundnoble
left a comment
There was a problem hiding this comment.
Generally looks good. Ideally test this with a small network locally just to make sure it's good.
| SlowEpoch -> AllChains $ ForkAtBlockHeight $ BlockHeight 0 | ||
| Vuln797Fix -> AllChains $ ForkAtBlockHeight $ BlockHeight 0 | ||
| PactBackCompat_v16 -> AllChains $ ForkAtBlockHeight $ BlockHeight 0 | ||
| OldTargetGuard -> AllChains $ ForkAtBlockHeight $ BlockHeight 0 | ||
| SkipFeatureFlagValidation -> AllChains $ ForkAtBlockHeight $ BlockHeight 0 | ||
| SkipTxTimingValidation -> AllChains $ ForkAtBlockHeight $ BlockHeight 2 | ||
| ModuleNameFix -> AllChains $ ForkAtBlockHeight $ BlockHeight 2 | ||
| ModuleNameFix2 -> AllChains $ ForkAtBlockHeight $ BlockHeight 2 | ||
| CoinV2 -> onChains $ [(unsafeChainId 0, ForkAtBlockHeight $ BlockHeight 3)] <> [(unsafeChainId i, ForkAtBlockHeight $ BlockHeight 4) | i <- [1..19]] | ||
| OldDAGuard -> AllChains $ ForkAtBlockHeight $ BlockHeight 13 | ||
| PactEvents -> AllChains $ ForkAtBlockHeight $ BlockHeight 40 | ||
| SPVBridge -> AllChains $ ForkAtBlockHeight $ BlockHeight 50 | ||
| Pact4Coin3 -> AllChains $ ForkAtBlockHeight $ BlockHeight 80 | ||
| Pact42 -> AllChains $ ForkAtBlockHeight $ BlockHeight 90 | ||
| EnforceKeysetFormats -> AllChains $ ForkAtBlockHeight $ BlockHeight 100 | ||
| CheckTxHash -> AllChains $ ForkAtBlockHeight $ BlockHeight 110 | ||
| Chainweb213Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 95 | ||
| Chainweb214Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 115 | ||
| Chainweb215Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 165 | ||
| Pact44NewTrans -> AllChains $ ForkAtBlockHeight $ BlockHeight 185 | ||
| Chainweb216Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 215 | ||
| Chainweb217Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 470 | ||
| Chainweb218Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 500 | ||
| Chainweb219Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 550 | ||
| Chainweb220Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 560 | ||
| Chainweb221Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 580 | ||
| Chainweb222Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 590 | ||
| Chainweb223Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 600 | ||
| Chainweb224Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 610 | ||
| Chainweb225Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 620 | ||
| Pact5Fork -> AllChains $ ForkAtBlockHeight $ BlockHeight 640 | ||
| Chainweb228Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 650 | ||
| Chainweb230Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 680 | ||
| Chainweb231Pact -> AllChains $ ForkAtBlockHeight $ BlockHeight 690 | ||
| Chainweb31 -> AllChains $ ForkAtBlockHeight $ BlockHeight 700 |
There was a problem hiding this comment.
You may as well activate these at genesis.
There was a problem hiding this comment.
Why not activate step by step ? More fun ... lol.
| [ [(unsafeChainId i, HashTarget $ maxBound `div` 100_000) | i <- [0..19]] | ||
| ] | ||
| -- TODO Setup Genesis time properly | ||
| , _genesisTime = AllChains $ BlockCreationTime [timeMicrosQQ| 2019-07-17T18:28:37.613832 |] |
There was a problem hiding this comment.
Yes this is important to make sure that difficulty is right.
| , _versionBootstraps = domainAddr2PeerInfo testnet06BootstrapHosts | ||
| , _versionGenesis = VersionGenesis | ||
| -- TODO Setup properly here | ||
| { _genesisBlockTarget = onChains $ concat |
There was a problem hiding this comment.
This is probably good, it should work for CPU mining.
| , _disableMempoolSync = False | ||
| } | ||
| , _versionVerifierPluginNames = AllChains $ | ||
| (600, Set.fromList $ map VerifierName ["hyperlane_v3_message"]) `Above` |
There was a problem hiding this comment.
Similarly you can just activate this from genesis.
| , _keysets = Just "pact/genesis/testnet06/keysets.yaml" | ||
| , _allocations = Just "pact/genesis/testnet06/allocations.yaml" | ||
| , _namespaces = Just testNs | ||
| , _coinContract = [fungibleAssetV1, coinContractV1, gasPayer] |
There was a problem hiding this comment.
I recommend using up to date coin/ns contracts here, see the devnet ones.
There was a problem hiding this comment.
This comes together with the "progressives forks", or "Fork all at Genesis".
If the "Progressive fork" solution is used, Coin V1 should be used at genesis. Cause more recent versions of coin requires modern Pact versions.
As the old Testnet was completely broken, we are launching a new Testnet version called Testnet06.
I
Not tested for now.
To not create confusion, I suggest to keep it in a separate branch, not merged, with separate binary distribution (tagged Testnet). Until the next Chainweb version is released.