Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Juno halving calculation to the Economic overview section #89

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ coverY: 255

Juno is a global, open source, permission-less network for decentralized interoperable applications.

Anyone can create & use inter-chain applications on Juno. The ecosystem is pioneering CosmWasm development and adoption, allowing developers to deploy secure & robust inter-chain smart contracts in Rust. The Juno proof of stake blockchain is built using the Cosmos SDK and reaches network agreement via Tendermint Consensus. The network is governed by delegators, who vote in changes via on-chain governance. All network processes are fueled by $JUNO the native asset of the network. Juno had its decentralized network launch on the 1st of October 2021. CosmWasm Smart Contracts went live on December 15th 2021.


Anyone can create & use inter-chain applications on Juno. The ecosystem is pioneering CosmWasm development and adoption, allowing developers to deploy secure & robust inter-chain smart contracts in Rust. The Juno proof of stake blockchain is built using the Cosmos SDK and reaches network agreement via Tendermint Consensus. The network is governed by delegators, who vote in changes via on-chain governance. All network processes are fueled by JUNO the native asset of the network. Juno had its decentralized network launch on the 1st of October 2021. CosmWasm Smart Contracts went live on December 15th 2021.

<figure><img src=".gitbook/assets/Docs.png" alt=""><figcaption></figcaption></figure>

Expand All @@ -30,7 +28,7 @@ Some of the founding principles centre around:

⚪️ **Governance by ATOM stakers which become JUNO stakers**. Stakedrop where 47% of the genesis supply goes to ATOM stakers on a 1:1 basis.

⚪️ **Eliminating potential legal limitations** (Juno has not/will not conduct any form of seed sale, private sale or public sale. All $JUNO entered circulation via the decentralized network launch on October 1st 2021)
⚪️ **Eliminating potential legal limitations** (Juno has not/will not conduct any form of seed sale, private sale or public sale. All JUNO entered circulation via the decentralized network launch on October 1st 2021)

***

Expand Down
35 changes: 14 additions & 21 deletions juno/economic-overview/asset.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,45 +9,38 @@ coverY: 260

### **Summary**

Juno Network is a completely community owned and operated smart contract platform. Therefore, the majority of the genesis supply (Over 95%) was stake-dropped to atom stakers, committed to the community pool, and committed to the development reserve for ongoing development of the Juno Network features.
Juno Network is a completely community owned and operated smart contract platform. Therefore, the majority of the genesis supply (Over 95%) was stake-dropped to ATOM (Cosmos Hub's native asset) stakers, committed to the community pool, and committed to the development reserve for ongoing development of the Juno Network features.

✅ Initial Circulating Supply: 33.036.534 $JUNO
✅ Initial Circulating Supply: 33.036.534 JUNO

✅ Initial Total Supply: 64.903.242 $JUNO‌
✅ Initial Total Supply: 64.903.242 JUNO‌

✅ Maximum Supply (Reached after 12 years (2033): 185.562.268 $JUNO
✅ Maximum Supply (Reached after 12 years (2033): 185.562.268 JUNO

![](<../../.gitbook/assets/image (17) (1).png>)

### **Token Distribution Breakdown**

⚪️ **Community Stakedrop**: 30.663.193 JUNO (Genesis Community Stakedrop - Unvested)

Free stakedrop to ATOM stakers at inception on October 1st 2021.

⚪️ **Community Stakedrop**: 30.663.193 $JUNO (Genesis Community Stakedrop - Unvested)
⚪️ **Community Pool:** 20.000.000 JUNO (Genesis Community Pool Allocation / Non circulating at genesis)

Free stakedrop to ATOM stakers at inception on October 1st 2021.&#x20;
At inception, 20 Million JUNO were allocated to the community pool. Non-circulating and owned by the public JUNO commonwealth ie. all network stakers own these funds.



⚪️ **Community Pool:** 20.000.000 $JUNO (Genesis Community Pool Allocation / Non circulating at genesis)

At inception, 20 Million $JUNO were allocated to the community pool. Non-circulating and owned by the public JUNO commonwealth ie. all network stakers own these funds.



⚪️ **Hackathons**: 2.373.341 $JUNO (50% distributed post genesis via JunoHack 1)
⚪️ **Hackathons**: 2.373.341 JUNO (50% distributed post genesis via JunoHack 1)

Allocated to HackJuno smart contract challenges. These funds are managed by the Core-1 SubDAO and assigned to various Hackathons.



⚪️ **Core** **Software** **Development Reserve** (Community owned. Managed by Core 1 SubDAO)**:** 10.084.396 $JUNO (Vested 12 years / Periodic unlocks until year 12)
⚪️ **Core** **Software** **Development Reserve** (Community owned. Managed by Core 1 SubDAO)**:** 10.084.396 JUNO (Vested 12 years / Periodic unlocks until year 12)

Genesis core software and infrastructure reserve. Owned by the public JUNO commonwealth. Managed by the Core-1 subDAO.



⚪️ **Core- 1 Developers** (Genesis allocations)**:** 1.782.312 $JUNO (Vested 12 years / Periodic unlocks until year 12)
⚪️ **Core- 1 Developers** (Genesis allocations)**:** 1.782.312 JUNO (Vested 12 years / Periodic unlocks until year 12)

Genesis core developer allocation.

## Technicals

The Juno Network native asset "JUNO" is internally, ie. on the distributed ledger maintained by Validators, represented as "ujuno", which is an integer equal to 10^-6^ JUNO. Every transaction fee and reward on the network will be accounted for in the `ujuno` base denomination.
2 changes: 1 addition & 1 deletion juno/economic-overview/disclaimer.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ No centralized exchange listing was ever paid for by anyone in the ecosystem nor

The asset has never been advertised, publicized nor was anyone ever encouraged to purchase or sell the native asset by the independent ecosystem developers.

As a decentralized network, Juno is controlled by 250000+ unique addresses ie. delegators that decide the direction of the blockchain via on-chain governance, and 150 validators that run nodes to secure the network (As of July 2022).
As a decentralized network, Juno is controlled by 260000+ unique addresses ie. delegators that decide the direction of the blockchain via on-chain governance, and 150 validators that run nodes to secure the network (As of May 2024).
57 changes: 42 additions & 15 deletions juno/economic-overview/incentive-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,71 @@ coverY: 260

### Reward Schedule <a href="#8ab1" id="8ab1"></a>

{% hint style="info" %}
The Juno rewards model distributes a fixed amount of $juno per block, which is calculated by the network and depends on the inflation rate as well as network block time. Variation in the network block time will cause variation in the calculable annual percentage rate (APR).
{% endhint %}
The Juno rewards model distributes a fixed amount of JUNO per block, which is calculated by the network and depends on the inflation rate as well as network block time. Variation in the network block time will cause variation in the calculable annual percentage rate (APR).

JUNO inflation rate and target supply were defined at genesis for each _phase_ of the network, as you can read below or check yourself from this [code of the x/mint module](https://github.com/CosmosContracts/juno/blob/main/x/mint/types/minter.go).

⚪️ **Phase 1**: Fixed inflation 40%

New Juno in year 1 = (+25.961.297)

Total supply after year 1 = 90.864.540 $JUNO
Total supply after year 1 = 90.864.540 JUNO

⚪️ **Phase 2**: Fixed inflation 20%

New Juno in year 2 = (+18.172.908)

Total supply after year 2 = 109.037.449 $JUNO
Total supply after year 2 = 109.037.449 JUNO

⚪️ **Phase 3**: Fixed inflation 10%

New Juno in year 3= (+10.903.744)

Total supply after year 3 = 119.941.194 $JUNO
Total supply after year 3 = 119.941.194 JUNO

> Once the inflation reaches 10% it gradually reduces on a fixed 1% basis each year.

⚪️ **Phase 4** = Fixed 9% (+10.794.707) Total supply = 130.735.901 $JUNO
⚪️ **Phase 4** = Fixed 9% (+10.794.707) Total supply = 130.735.901 JUNO

⚪️ **Phase 5** = Fixed 8% (+10.458.872) Total supply = 141.194.773 JUNO

⚪️ **Phase 6** = Fixed 7% (+9.883.634) Total supply = 151.078.407 JUNO

⚪️ **Phase 7** = Fixed 6% (+9.064.704) Total supply = 160.143.112 JUNO

⚪️ **Phase 5** = Fixed 8% (+10.458.872) Total supply = 141.194.773 $JUNO
⚪️ **Phase 8** = Fixed 5% (+8.007.155) Total supply = 168.150.267 JUNO

⚪️ **Phase 6** = Fixed 7% (+9.883.634) Total supply = 151.078.407 $JUNO
⚪️ **Phase 9** = Fixed 4% (+6.726.010) Total supply = 174.876.278 JUNO

⚪️ **Phase 7** = Fixed 6% (+9.064.704) Total supply = 160.143.112 $JUNO
⚪️ **Phase 10** = Fixed 3% (+5.246.288) Total supply = 180.122.566 JUNO

⚪️ **Phase 8** = Fixed 5% (+8.007.155) Total supply = 168.150.267 $JUNO
⚪️ **Phase 11** = Fixed 2% (+3.602.451) Total supply = 183.725.018 JUNO

⚪️ **Phase 9** = Fixed 4% (+6.726.010) Total supply = 174.876.278 $JUNO
⚪️ **Phase 12** = Fixed 1% (+1.837.250) Max supply = 185.562.268 JUNO

⚪️ **Phase 10** = Fixed 3% (+5.246.288) Total supply = 180.122.566 $JUNO

⚪️ **Phase 11** = Fixed 2% (+3.602.451) Total supply = 183.725.018 $JUNO
### End of phase calculation

⚪️ **Phase 12** = Fixed 1% (+1.837.250) Max supply = 185.562.268 $JUNO
The end of each _phase_ (commonly referred to as the "halving") can be estimated with the formula:

```
Time left until phase_end in seconds =
blockTime * ((targetSupply - totalSupply) / (annualProvisions / blocksPerYear))
```

where:
- **blockTime** = the time in seconds between two blocks:
- if you have access to Mintscan API you can get it directly from: `https://api.mintscan.io/v1/juno/block/blocktime?blocks=[n_blocks]`, where `n_blocks` is the number of past blocks to take into account for the estimation
- otherwise, infer it by subtracting the timestamps of two blocks queried from the official Juno API endpoints:
- most recent block time = `/cosmos/base/tendermint/v1beta1/blocks/latest`.block.header.time
- most recent block height = `/cosmos/base/tendermint/v1beta1/blocks/latest`.block.header.height
- time of an old block (by height) = `/cosmos/base/tendermint/v1beta1/blocks/15872771`.block.time
- convert the times to timestamps in seconds, subtract the old from the latest and divide by the number of blocks in between (the difference between the heights);
- **targetSupply** = defined for the end of each inflation phase as above, eg: `130735901` for Phase 4, to be multiplied by 10^6 to convert the `ujuno` ("micro juno") integer base denomination
- **totalSupply** = get it from the official _bank_ module endpoint & query for the `ujuno` native coin at `/cosmos/bank/v1beta1/supply/by_denom?denom=ujuno`.amount.amount
- **annualProvisions** = get it from the official _mint_ module endpoint at `/cosmos/mint/v1beta1/annual_provisions`.annual_provisions
- **blocksPerYear** = get it from the official _mint_ module endpoint at `/cosmos/mint/v1beta1/params`.params.blocks_per_year

{% hint style="info" %}
You will need access to a public Juno node to use its base URL before the endpoint paths listed above. See the list and all the available API endpoints in [this section](../../developer-guides/api-endpoints/).
{% endhint %}