Browse Source
For generating checkpoints in SDA. Modify start/end and run ./contrib/sda_checkpoints.pl > checkpoints.jsonpull/279/head
fekt
1 year ago
1 changed files with 48 additions and 0 deletions
@ -0,0 +1,48 @@ |
|||
#!/usr/bin/perl |
|||
# Copyright (c) 2016-2022 The Hush developers |
|||
# Distributed under the GPLv3 software license, see the accompanying |
|||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html |
|||
|
|||
# This script is used to generate the checkpoint data used by the SilentDragon Android SDK |
|||
# https://git.hush.is/fekt/hush-android-wallet-sdk/src/branch/main/sdk-lib/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet |
|||
|
|||
use warnings; |
|||
use strict; |
|||
my $hush = "./src/hush-cli"; |
|||
my $getblock= "$hush getblock"; |
|||
my $gethash = "$hush getblockhash"; |
|||
my $gettree = "$hush getblockmerkletree"; |
|||
my $start = shift || 1190000; |
|||
my $end = shift || 1260000; |
|||
my $stride = shift || 10000; |
|||
|
|||
my $blocks = qx{$hush getblockcount}; |
|||
if($?) { |
|||
print "ERROR, is hushd running? exiting...\n"; |
|||
exit 1; |
|||
} |
|||
|
|||
if ($end > $blocks) { |
|||
print "The block $end is beyond how many blocks this node knows about, exiting...\n"; |
|||
exit 1; |
|||
} |
|||
|
|||
if ($start < 1) { |
|||
print "Invalid start block $start, exiting...\n"; |
|||
exit 1; |
|||
} |
|||
|
|||
my $block = $start; |
|||
while (1) { |
|||
last if $block > $end; |
|||
my $blockhash = qx{$gethash $block}; |
|||
my $blocktime = qx{$getblock $block | grep time}; |
|||
my $merkle = qx{$gettree $block}; |
|||
chomp $merkle; |
|||
chomp $blockhash; |
|||
chomp $blocktime; |
|||
$blocktime =~ s/^\s+|\s+$//g ; |
|||
print qq{{\n\t"network": "main",\n\t"height": "$block",\n\t"hash": "$blockhash",\n\t$blocktime\n\t"saplingTree": "$merkle"\n},\n}; |
|||
|
|||
$block += $stride; |
|||
} |
Loading…
Reference in new issue