Skip to content

Conversation

@kdafriend
Copy link

As the old Testnet was completely broken, we are launching a new Testnet version called Testnet06.

I

  • Created the Version file based on DevnetRecap but with 20 chains at Genesis
  • Generated the Genesis transactions (credentials are in the private repos)
  • Integrated properly within Chainweb

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.

Copy link

@edmundnoble edmundnoble left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good. Ideally test this with a small network locally just to make sure it's good.

versionMap = unsafePerformIO $ do
traverse_ validateVersion knownVersions
newIORef $ HM.fromList [(_versionCode v, v) | v <- [mainnet, testnet04]]
newIORef $ HM.fromList [(_versionCode v, v) | v <- [mainnet, testnet04, testnet06]]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might as well delete testnet04 here too.

Comment on lines +45 to +79
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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may as well activate these at genesis.

[ [(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 |]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes this is important to make sure that difficulty is right.

, _versionBootstraps = domainAddr2PeerInfo testnet06BootstrapHosts
, _versionGenesis = VersionGenesis
-- TODO Setup properly here
{ _genesisBlockTarget = onChains $ concat

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably good, it should work for CPU mining.

, _disableMempoolSync = False
}
, _versionVerifierPluginNames = AllChains $
(600, Set.fromList $ map VerifierName ["hyperlane_v3_message"]) `Above`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend using up to date coin/ns contracts here, see the devnet ones.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants