# WP1 Network Launch Code & Config

**URL:** https://forum.hypercore.one/t/wp1-network-launch-code-config/536
**Category:** HyperQube
**Created:** [October 28, 2024, 3:17pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536 "2024-10-28T15:17:46Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [October 28, 2024, 3:17pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/1 "2024-10-28T15:17:46Z")

</div>

Coordination thread for the code/config

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [November 8, 2024, 12:55am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/2 "2024-11-08T00:55:46Z")

</div>

Acceptance criteria:

Repo with a fork of go-zenon and the following changes:

- UTIL-Z and UTIL-Q tokens replacing ZNN and QSR
- Tune network constants for appropriate throughput
  - Exact parameters TBD

- Change pillar election from weight based to be round robin
  - Since we are incentivizing momentum production as part of Work Packages, this ensures that pillars do not try and use UTIL-Z and UTIL-Q to try and get more momentums.

Genesis file

- pillars from sign up
- genesis sporks for AZ and HTLC
  - bridge spork will be activated when we work on connecting mainnet and L2

Round 1 incentives based on median pillar votes

Network Launch Code & Config  
6000 / 8025 Points  
1121 / 15000 ZNN  
11215 / 150000 QSR

**Disclaimer** : The payment amounts provided herein are intended as guidelines only and do not constitute a binding offer or guarantee of payment. The HyperQube Incubator framework works with Zenon Network Pillars to signal incentives which are subject to change over multiple rounds. Actual payment amounts will be based on Accelerator-Z grants that depend on the voting rules and requirement of Accelerator-Z.

We may need to use Network Launch Bonus/Placeholder to incentive review

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [November 8, 2024, 12:57am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/3 "2024-11-08T00:57:24Z")

</div>

I will nominate myself for this work since I want to make sure this is done right.  
If there are no objections, I will begin the work.

---

<div class="post-metadata">

### Author: ![0x3639](https://forum.hypercore.one/user_avatar/forum.hypercore.one/0x3639/32/33_2.png) [@0x3639](https://forum.hypercore.one/u/0x3639)
#### Post date: [November 8, 2024, 1:55am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/4 "2024-11-08T01:55:45Z")

</div>

no objection.

> [@georgezgeorgez](#):
>
> bridge spork will be activated when we work on connecting mainnet and L2

To be clear, initially there will be no connection between the L1 and L2. Just want to make sure everyone understands that.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [November 18, 2024, 2:49pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/5 "2024-11-18T14:49:25Z")

</div>

Sorry for the late update. Been traveling full time last week and this week.  
I think I can have the code done by EOM.  
Can also have the genesis templated out waiting for pillar sign up work.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [November 30, 2024, 12:15am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/6 "2024-11-30T00:15:25Z")

</div>

hyperqube\_z node code is coming along. I have an extra goal to make the code backwards compatible with mainnet.  
Binary will probably be called hqzd  
Main features/differences from mainnet/znnd

1. custom zToken and qToken, selected through first and second genesis tokens. Also a new rpc endpoint `ledger.meta` which dumps `chainId`, `zToken`, `qToken` to allow for wallets to easily configure themselves depending on the chain.
2. uniform random pillar election. this is to discourage the native tokens from having value since pillar momentums are incentivized. still deciding how to trigger switching the election algo, probably through genesis extradata field for now which is fairly flexible for future things too
3. configurable throughput, probably again through genesis extradata

Long term, in a future work package, I want to make many of these things defined in genesis directly, and changeable through governance

As a note, the go-zenon codebase uses some global/package level variables, e.g. `types.ZnnTokenStandard`. For hyperqube\_z we’ll probably want to get rid of that over time.

I should have another update this weekend. Operational support work will be able to start soon.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 1, 2024, 3:56am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/7 "2024-12-01T03:56:53Z")

</div>

Will push some code tomorrow after updating the readme and doing some basic smoke tests.

I will also update nomctl generate-devnet command with a flag to generate a a hyperqube\_z compatible genesis.json so that others can test locally. Will also update nomctl to take advantage of the `ledger.meta` endpoint.

When it comes to configurable throughput and lowering the hardware requirements for hyperqube\_z, it would ostensibly be simple to just adjust the hardcoded plasma per momentum cap. However currently on mainnet, most momentums are empty and still some nodes struggle.

I’ve gone the more complicated route of adjusting BlockTime. I think we will go with 60 seconds, a momentum a minute, instead of mainnet’s 10 seconds. I’m not sure what the overhead of networking is, but otherwise this should reduce the node load/requirements by a factor of 6.

It seems to be working as intended, but the relevant config is not straightforward, and it’s hard to be sure with such an invasive change without further testing.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 1, 2024, 4:04am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/8 "2024-12-01T04:04:07Z")

</div>

One thing I am considering adding is a section in config for whitelisted addresses.  
When producing a momentum, pillars would first check the whitelisted addresses for transactions. Currently it is random.

This would ensure that even with low throughput, as long as pillar is producing, they will be able to get in their incubator votes.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 1, 2024, 2:19pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/9 "2024-12-01T14:19:09Z")

</div>

> <https://github.com/hypercore-one/hyperqube_z/pull/1>

---

<div class="post-metadata">

### Author: ![vilkris](https://forum.hypercore.one/user_avatar/forum.hypercore.one/vilkris/32/47_2.png) [@vilkris](https://forum.hypercore.one/u/vilkris)
#### Post date: [December 2, 2024, 2:48pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/10 "2024-12-02T14:48:58Z")

</div>

Is there something we need to consider regarding pillar registration in the embedded contract? Are non-mainnet backed pillars allowed to be launched?

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 2, 2024, 2:54pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/11 "2024-12-02T14:54:37Z")

</div>

Ah! Good call out. I forgot I was supposed to disable that pillar registration method.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 2, 2024, 9:29pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/12 "2024-12-02T21:29:18Z")

</div>

I will get the devnet code out first so that people can begin testing the current changes. Then I will fix the pillar registration.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 6, 2024, 2:26am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/13 "2024-12-06T02:26:02Z")

</div>

Will push out some more code tomorrow and then we will have a test launch planned out over the weekend for next week.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 10, 2024, 10:25pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/14 "2024-12-10T22:25:34Z")

</div>

Sorry for the delay. Pushed some more commits for [Add hyperqube\_z logic by georgezgeorgez · Pull Request #1 · hypercore-one/hyperqube\_z · GitHub](https://github.com/hypercore-one/hyperqube_z/pull/1).  
A few rabbit holes. Some concluded. Others tabled.

Some notes: moved the `applyHyperQubeConfig(config)` call before CheckGenesis to make sure tokens are changed before checks such as [hyperqube\_z/chain/genesis/shared\_tests.go at 429e853ba038be1eddc5c0708cb26cff79610101 · hypercore-one/hyperqube\_z · GitHub](https://github.com/hypercore-one/hyperqube_z/blob/429e853ba038be1eddc5c0708cb26cff79610101/chain/genesis/shared_tests.go#L91) run.

Used a spork to trigger pillar registration deactivation.

Hyperqube\_z will activate htlc spork at genesis but will not activate bridge spork until it is time to integrate hyperqube\_z with mainnet. This required a change to the logic which determines available embedded methods.

The existing code is hardcoded for mainnet where htlc is activated after bridge is activated. Future refactors will likely be needed.

I will migrate go-zdk and nomctl into hypercore-one organization.  
A few more tweaks to those repos and they will have some updates pushed as well.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 10, 2024, 11:27pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/15 "2024-12-10T23:27:19Z")

</div>

go-zdk migrated and now supports `ledger.meta` endpoint with a utility to create a client connection from it

> <https://github.com/hypercore-one/go-zdk/commit/71c9daf1857b3ae764ecffb81105d96af16106bd>

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 10, 2024, 11:37pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/16 "2024-12-10T23:37:52Z")

</div>

Oops forgot to stage all changes

> <https://github.com/hypercore-one/go-zdk/commit/3fe36eafc057b784d1728fb2fc8f4434beaf9fbf>

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 10, 2024, 11:42pm UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/17 "2024-12-10T23:42:12Z")

</div>

At some point, it will probably make sense to add Spork dependency logic. E.g, you can’t activate spork B unless spork A is active. Also in the future, I am thinking of having on-chain feature flags and other dynamic configuration.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 11, 2024, 12:18am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/18 "2024-12-11T00:18:42Z")

</div>

I am being a bit fast and loose with my changes to go-zdk and nomctl repos.  
I figure it shouldn’t impact anyone.

I’ll make it easy to review all the changes.  
And once hyperqube\_z is launched, now that the repos are under hypercore-one org, will go through proper code review for all changes.

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 12, 2024, 2:21am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/19 "2024-12-12T02:21:25Z")

</div>

When big int was activated, i think several rpc unmarshalling bugs were introduced in go-zenon.  
No one ever hits them because syrius uses the dart sdk with its own logic.

Let me see how far we can get without addressing them…

---

<div class="post-metadata">

### Author: ![georgezgeorgez](https://forum.hypercore.one/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@georgezgeorgez](https://forum.hypercore.one/u/georgezgeorgez)
#### Post date: [December 12, 2024, 2:35am UTC](https://forum.hypercore.one/t/wp1-network-launch-code-config/536/20 "2024-12-12T02:35:48Z")

</div>

> **[Blaming hyperqube\_z/rpc/api/embedded/plasma.go at master ·...](https://github.com/hypercore-one/hyperqube_z/blame/master/rpc/api/embedded/plasma.go#L149)**
>
> Contribute to hypercore-one/hyperqube\_z development by creating an account on GitHub.

This one is an easy fix. Will make an MR right now.

[Next page](https://forum.hypercore.one/t/wp1-network-launch-code-config/536.md?page=2)
