Happy Anniversary! Decred Mainnet Is One Year Old Today.

Discussion in 'Off-Topic' started by jolan, Feb 8, 2017.

  1. 2017/09/23 - Decred v1.1.0 released! → Release Notes  → Downloads
  1. jolan

    jolan Sr. Member
    Developer

    Dec 7, 2015
    197
    226
    Male
    Decred Team Member
    Today marks the first anniversary of the launch of the main Decred network.

    Thank you all for your patience when things didn't work/go right, for your assistance in debugging and improving the various software that makes up Decred, and for nagging us when we neglected some aspect of the ecosystem.

    Hopefully the next year goes more smoothly :)
     
    Shadowlance and adam2312 like this.
  2. jcv

    jcv Full Member
    Developer

    The best thing is that depending on how we want to count, there are lots of anniversaries to choose from. Mainnet launch, testnet launch, initial commit:

    jcv@triforce dcrd $ git lg | grep "Initial Decred Commit"
    * | 5076a00 2016-01-20 John C. Vernaleo Initial Decred Commit.​

    Not sure when the real first commit before that squash was unfortunately.
     
  3. atweiden

    atweiden New Member

    Jan 19, 2017
    14
    12
    Male
    Portland
    happy bday Decred. For fun I did this calculation. Decred's block count should surpass Bitcoin's Q4 2023 (at block #: ~799,xxx):

    Code:
    use v6;
    
    =begin pod
    =head NAME
    
    block-count.pl6
    
    =head SYNOPSIS
    
    =begin code
    perl6 block-count.pl6
    =end code
    
    =head DESCRIPTION
    
    C<block-count.pl6> returns the approximate date when Decred's block
    count will surpass Bitcoin's.
    =end pod
    
    =begin pod
    =head2 Current Block Count
    
    The current block height of Bitcoin and Decred respectively.
    
    B<optional>: invert commented and uncommented code to obtain current
    block height from btcd and dcrd.
    =end pod
    
    my UInt:D $current-block-count-btc = 453_929;
    my UInt:D $current-block-count-dcr = 109_166;
    # my UInt:D $current-block-count-btc =
    #     run(qw<btcctl getblockcount>, :out).out.slurp-rest.trim.UInt;
    # my UInt:D $current-block-count-dcr =
    #     run(qw<dcrctl getblockcount>, :out).out.slurp-rest.trim.UInt;
    
    =begin pod
    =head2 Block Rate
    
    The block rate of Bitcoin and Decred respectively.
    =end pod
    
    my UInt:D $blocks-per-day-btc = 6 * 24;
    my UInt:D $blocks-per-day-dcr = 12 * 24;
    
    =begin pod
    =head2 subroutine C<get-future-block-count>
    
    C<get-future-block-count> returns the future block count given the
    current block count, a block rate and a number of days.
    =end pod
    
    sub get-future-block-count(
        UInt:D $current-block-count,
        UInt:D $blocks-per-day,
        UInt:D $days
    ) returns UInt:D
    {
        my UInt:D $future-block-count =
            $current-block-count + ($blocks-per-day * $days);
    }
    
    =begin pod
    =head2 subroutine C<get-days-remaining>
    
    C<get-days-remaining> returns the number of days remaining until Decred's
    block count surpasses Bitcoin's.
    =end pod
    
    sub get-days-remaining(
        UInt:D $days = 0
    ) returns UInt:D
    {
        my UInt:D $future-block-count-btc = get-future-block-count(
            $current-block-count-btc,
            $blocks-per-day-btc,
            $days
        );
    
        my UInt:D $future-block-count-dcr = get-future-block-count(
            $current-block-count-dcr,
            $blocks-per-day-dcr,
            $days
        );
    
        my UInt:D $d = $future-block-count-btc > $future-block-count-dcr
            ?? get-days-remaining($days + 1)
            !! $days;
    }
    
    =begin pod
    =head2 Output
    =end pod
    
    my UInt:D $days-remaining = get-days-remaining();
    
    my UInt:D $future-block-count-btc = get-future-block-count(
        $current-block-count-btc,
        $blocks-per-day-btc,
        $days-remaining
    );
    
    my UInt:D $future-block-count-dcr = get-future-block-count(
        $current-block-count-dcr,
        $blocks-per-day-dcr,
        $days-remaining
    );
    
    my Date:D $current-date = Date(now);
    my Date:D $target-date = $current-date + $days-remaining;
    
    qq:to/EOF/.trim.say;
    Current date:\t\t$current-date
    Target date:\t\t$target-date
    Days remaining:\t\t$days-remaining
    Bitcoin block count:\t$future-block-count-btc
    Decred block count:\t$future-block-count-dcr
    EOF
    
     
  4. jcv

    jcv Full Member
    Developer

    Always happy to see some perl :)
     

Share This Page