Hush Full Node software. We were censored from Github, this is where all development happens now.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/usr/bin/env perl
|
|
|
|
# Copyright 2016-2020 The Hush developers
|
|
|
|
# Released under the GPLv3
|
|
|
|
use warnings;
|
|
|
|
use strict;
|
|
|
|
|
|
|
|
my $supply = 0.0;
|
|
|
|
my $block = 0;
|
|
|
|
my $satoshis = 100_000_000;
|
|
|
|
my $amount = int(12.5*$satoshis);
|
|
|
|
my $halvings = 0;
|
|
|
|
|
|
|
|
# Usage: ./hush_supply &> supply.csv
|
|
|
|
|
|
|
|
# Use this to calculate when supply hits a certain value
|
|
|
|
#while ($supply <= 21_000_000*$satoshis) {
|
|
|
|
# Use this to calculate when block rewards end
|
|
|
|
while ($halvings <= 64 && $amount >= 1) {
|
|
|
|
$block++;
|
|
|
|
if ($block < 5) {
|
|
|
|
$amount = 40_000 * $satoshis;
|
|
|
|
} else {
|
|
|
|
# Halving every 840000 blocks
|
|
|
|
if ($block % 840_000 == 0) {
|
|
|
|
$amount /= 2;
|
|
|
|
$halvings++;
|
|
|
|
}
|
|
|
|
$amount = int(12.5*$satoshis) / (2**$halvings);
|
|
|
|
}
|
|
|
|
$supply += $amount;
|
|
|
|
# block, current supply, block reward amount, number of halvings
|
|
|
|
printf "%s,%s,%s,%s\n", $block,$supply / $satoshis, $amount / $satoshis, $halvings;
|
|
|
|
}
|