1. 2017/06/21 - Decred v1.0.5 released! → Release Notes  → Downloads
    Dismiss Notice

Happy Anniversary! Decred Mainnet Is One Year Old Today.

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

  1. jolan

    jolan
    Expand Collapse
    Sr. Member
    Developer

    Joined:
    Dec 7, 2015
    Messages:
    193
    Likes Received:
    224
    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
    Expand Collapse
    Full Member
    Developer

    Joined:
    Dec 7, 2015
    Messages:
    221
    Likes Received:
    125
    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
    Expand Collapse
    New Member

    Joined:
    Jan 19, 2017
    Messages:
    14
    Likes Received:
    12
    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
    Expand Collapse
    Full Member
    Developer

    Joined:
    Dec 7, 2015
    Messages:
    221
    Likes Received:
    125
    Always happy to see some perl :)
     

Share This Page