Compare commits

..

No commits in common. "main" and "v0.1.0" have entirely different histories.
main ... v0.1.0

4 changed files with 25 additions and 25 deletions

View File

@ -93,7 +93,7 @@ The lockdrop simulation validates the Zenith Network's token distribution mechan
- Set zenith-stack version to use:
```bash
ZENITH_STACK_VERSION=v0.2.23
ZENITH_STACK_VERSION=v0.2.16
```
Check [releases](https://git.vdb.to/LaconicNetwork/zenith-stack/releases) page for version history.
@ -170,7 +170,7 @@ The lockdrop simulation validates the Zenith Network's token distribution mechan
# Run a playbook to install configure-zenith-vars
# Use the same OUTPUT_DIR used for zenith-ansible
zenith-ansible install-config-cli --install-dir "${OUTPUT_DIR}"
zenith-ansible install-config-cli --install-dir "${OUTPUT_DIR}" -K
```
Verify installation:
@ -261,7 +261,7 @@ Now, run required system setup (installs docker and laconic-so):
```bash
# sudo access required for installing docker
zenith-ansible system-setup -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible system-setup -i dev -s stage1 -K --skip-tags onboarding
```
If your machine did not have Docker installed before, the above command will install it. On Ubuntu, you will need to activate the `docker` group for your current shell:
@ -281,7 +281,7 @@ zenith-ansible setup -i dev -s tge
Setup the deployment directories and pull required docker images to sign the gentx and setup stage 1 validator node:
```bash
zenith-ansible setup -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible setup -i dev -s stage1 --skip-tags onboarding
```
These steps will create following in the [configured](#view-configuration) deployments directory:
@ -353,7 +353,7 @@ This will:
Now, we can use this genesis file to run the stage 1 validator node:
```bash
zenith-ansible start -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible start -i dev -s stage1 --skip-tags onboarding
```
After starting the node, verify it's running correctly:
@ -494,13 +494,13 @@ cd $ZENITH_STACK_DIR/ansible
Stop validator deployment:
```bash
zenith-ansible stop -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible stop -i dev -s stage1 --skip-tags onboarding
```
Clean up validator deployment:
```bash
zenith-ansible cleanup -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible cleanup -i dev -s stage1 --skip-tags onboarding -K
```
### Python Virtual Environment

View File

@ -22,8 +22,8 @@ NUM_STARS = pow(2, 16) - pow(2, 8)
NUM_PLANETS = pow(2, 32) - pow(2, 16)
# Allocation Distribution
STAR_ALLOCATION_PERCENT = Decimal('0.99')
GALAXY_ALLOCATION_PERCENT = Decimal('0.01')
STAR_ALLOCATION_PERCENT = Decimal(NUM_STARS / pow(2, 16))
GALAXY_ALLOCATION_PERCENT = 1 - STAR_ALLOCATION_PERCENT
# Lockdrop Duration (5 years including 1 leap year)
LOCKDROP_DURATION_SECONDS = 5 * 365.25 * 24 * 60 * 60

View File

@ -31,7 +31,7 @@ def print_constants_summary():
# Lockdrop Allocation Table
lockdrop_df = pd.DataFrame({
'Parameter': ['Total Supply (1 $Z per Urbit ID)', 'Lockdrop Allocation %', 'Lockdrop Allocation ($Z)'],
'Value': [f"{TOTAL_SUPPLY:,}", f"{LOCKDROP_ALLOCATION_PERCENT:.2%}", f"{LOCKDROP_ALLOCATION:,.1f}"]
'Value': [f"{TOTAL_SUPPLY:,}", f"{LOCKDROP_ALLOCATION_PERCENT:.1%}", f"{LOCKDROP_ALLOCATION:,.1f}"]
})
print_table_with_borders(lockdrop_df, "🔒 LOCKDROP ALLOCATION")
@ -46,7 +46,7 @@ def print_constants_summary():
# Penalty Schedule Table
penalty_df = pd.DataFrame({
'Lock Period': ['5 Years', '4 Years', '3 Years', '2 Years', '1 Year'],
'Penalty Rate': [f"{PENALTY_RATES[year]:.2%}" for year in [5, 4, 3, 2, 1]],
'Penalty Rate': [f"{PENALTY_RATES[year]:.1%}" for year in [5, 4, 3, 2, 1]],
'Token % of Max': ['100%', '80%', '60%', '40%', '20%']
})
print_table_with_borders(penalty_df, "⚖️ PENALTY SCHEDULE")
@ -132,7 +132,7 @@ def print_penalty_analysis(allocation_data):
penalty_analysis_df = pd.DataFrame({
'Lock Period': ['5 Years', '4 Years', '3 Years', '2 Years', '1 Year'],
'Penalty Rate': [f"{PENALTY_RATES[year]:.2%}" for year in [5, 4, 3, 2, 1]],
'Penalty Rate': [f"{PENALTY_RATES[year]:.1%}" for year in [5, 4, 3, 2, 1]],
'Star Allocation ($Z)': [f"{adjusted_max_allocation_per_star * (1 - PENALTY_RATES[year]):,.6f}" for year in [5, 4, 3, 2, 1]],
'Galaxy Allocation ($Z)': [f"{adjusted_max_allocation_per_galaxy * (1 - PENALTY_RATES[year]):,.6f}" for year in [5, 4, 3, 2, 1]],
'vs Max Allocation': ['100%', '80%', '60%', '40%', '20%']
@ -153,9 +153,9 @@ def print_participation_summary(allocation_data):
participation_df = pd.DataFrame({
'Lock Period': ['1 Year', '2 Years', '3 Years', '4 Years', '5 Years', 'Total'],
'Stars': [f"{stars_counts[year]:,}" for year in [1, 2, 3, 4, 5]] + [f"{total_stars_locked:,}"],
'% of Total Stars': [f"{stars_counts[year]/NUM_STARS:.2%}" for year in [1, 2, 3, 4, 5]] + [f"{total_stars_locked/NUM_STARS:.2%}"],
'% of Total Stars': [f"{stars_counts[year]/NUM_STARS:.2%}" for year in [1, 2, 3, 4, 5]] + [f"{total_stars_locked/NUM_STARS:.1%}"],
'Galaxies': [f"{galaxies_counts[year]:,}" for year in [1, 2, 3, 4, 5]] + [f"{total_galaxies_locked:,}"],
'% of Total Galaxies': [f"{galaxies_counts[year]/NUM_GALAXIES:.2%}" for year in [1, 2, 3, 4, 5]] + [f"{total_galaxies_locked/NUM_GALAXIES:.2%}"],
'% of Total Galaxies': [f"{galaxies_counts[year]/NUM_GALAXIES:.2%}" for year in [1, 2, 3, 4, 5]] + [f"{total_galaxies_locked/NUM_GALAXIES:.1%}"],
'Total': [f"{stars_counts[year] + galaxies_counts[year]:,}" for year in [1, 2, 3, 4, 5]] + [f"{total_stars_locked + total_galaxies_locked:,}"],
})
@ -218,8 +218,8 @@ def print_final_allocations_and_verification(allocation_data, final_data):
# Star Final Allocations Table
star_final_df = pd.DataFrame({
'Lock Period': ['5 Years', '4 Years', '3 Years', '2 Years', '1 Year'],
'Penalty': [f"{PENALTY_RATES[year]:.2%}" for year in [5, 4, 3, 2, 1]],
'Final Allocation (per star) ($Z)': [f"{final_star_allocations[year]:,.8f}" for year in [5, 4, 3, 2, 1]],
'Penalty': [f"{PENALTY_RATES[year]:.1%}" for year in [5, 4, 3, 2, 1]],
'Final Allocation ($Z)': [f"{final_star_allocations[year]:,.8f}" for year in [5, 4, 3, 2, 1]],
'Z per Block': [f"{star_z_per_block[year]:,.8f}" for year in [5, 4, 3, 2, 1]],
'Participants': [f"{stars_counts[year]:,}" for year in [5, 4, 3, 2, 1]]
})
@ -228,8 +228,8 @@ def print_final_allocations_and_verification(allocation_data, final_data):
# Galaxy Final Allocations Table
galaxy_final_df = pd.DataFrame({
'Lock Period': ['5 Years', '4 Years', '3 Years', '2 Years', '1 Year'],
'Penalty': [f"{PENALTY_RATES[year]:.2%}" for year in [5, 4, 3, 2, 1]],
'Final Allocation (per galaxy) ($Z)': [f"{final_galaxy_allocations[year]:,.8f}" for year in [5, 4, 3, 2, 1]],
'Penalty': [f"{PENALTY_RATES[year]:.1%}" for year in [5, 4, 3, 2, 1]],
'Final Allocation ($Z)': [f"{final_galaxy_allocations[year]:,.8f}" for year in [5, 4, 3, 2, 1]],
'Z per Block': [f"{galaxy_z_per_block[year]:,.8f}" for year in [5, 4, 3, 2, 1]],
'Participants': [f"{galaxies_counts[year]:,}" for year in [5, 4, 3, 2, 1]]
})

View File

@ -60,7 +60,7 @@ To reproduce the results from any one of the test runs, follow these steps to ru
- Set zenith-stack version to use:
```bash
ZENITH_STACK_VERSION=v0.2.23
ZENITH_STACK_VERSION=v0.2.16
```
Check [releases](https://git.vdb.to/LaconicNetwork/zenith-stack/releases) page for version history.
@ -139,7 +139,7 @@ To reproduce the results from any one of the test runs, follow these steps to ru
# Run a playbook to install configure-zenith-vars
# Use the same OUTPUT_DIR used for zenith-ansible
zenith-ansible install-config-cli --install-dir "${OUTPUT_DIR}"
zenith-ansible install-config-cli --install-dir "${OUTPUT_DIR}" -K
```
Verify installation:
@ -219,7 +219,7 @@ Now, run required system setup (installs docker and laconic-so):
```bash
# sudo access required for installing docker
zenith-ansible system-setup -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible system-setup -i dev -s stage1 -K --skip-tags onboarding
```
If your machine did not have Docker installed before, the above command will install it. On Ubuntu, you will need to activate the `docker` group for your current shell:
@ -239,7 +239,7 @@ zenith-ansible setup -i dev -s tge
Setup the deployment directories and pull required docker images to sign the gentx and setup stage 1 validator node:
```bash
zenith-ansible setup -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible setup -i dev -s stage1 --skip-tags onboarding
```
These steps will create following in the [configured](#view-configuration) deployments directory:
@ -318,7 +318,7 @@ This will:
Now, we can use this genesis file to run the stage 1 validator node:
```bash
zenith-ansible start -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible start -i dev -s stage1 --skip-tags onboarding
```
After starting the node, verify it's running correctly:
@ -450,13 +450,13 @@ cd $ZENITH_STACK_DIR/ansible
Stop validator deployment:
```bash
zenith-ansible stop -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible stop -i dev -s stage1 --skip-tags onboarding
```
Clean up validator deployment:
```bash
zenith-ansible cleanup -i dev -s stage1 --skip-tags onboarding,explorer
zenith-ansible cleanup -i dev -s stage1 --skip-tags onboarding -K
```
### Python Virtual Environment