From 3a8398d26ae4b63193df831da2e4d33c26d19a53 Mon Sep 17 00:00:00 2001 From: Steven Baltakatei Sandoval Date: Sat, 30 Apr 2022 07:55:11 +0000 Subject: [PATCH] feat(user/bkots):Run ots separately for each calendar - note: 'ots' 0.7.0 fails if any of the default calendars are unavailable; it may exit before trying a calendar that is responsive. Therefore, the best backup solution is to run 'ots' multiple times: each run with a different calendar specified. --- user/bkots | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/user/bkots b/user/bkots index fa9b7da..dba0ef5 100644 --- a/user/bkots +++ b/user/bkots @@ -5,6 +5,12 @@ declare -Ag appRollCall # Associative array for storing app status declare -Ag fileRollCall # Associative array for storing file status declare -Ag dirRollCall # Associative array for storing dir status declare -ag arrayPosArgs # Associative array for processArgs() function +declare -g ots_delay; ots_delay=1 # minimum time in seconds between ots operations +declare -ag calendars; +calendars+=("https://finney.calendar.eternitywall.com"); +calendars+=("https://btc.calendar.catallaxy.com"); +calendars+=("https://alice.btc.calendar.opentimestamps.org"); +calendars+=("https://bob.btc.calendar.opentimestamps.org"); # Declare functions yell() { echo "$0: $*" >&2; } # print script path and all args to stderr @@ -193,7 +199,7 @@ showVersion() { vbm "DEBUG:showVersion function called." cat <<'EOF' -bkots 0.0.1 +bkots 0.0.3 Copyright (C) 2022 Steven Baltakatei Sandoval License GPLv3: GNU GPL version 3 This is free software; you are free to change and redistribute it. @@ -359,8 +365,8 @@ main() { # [2] How to find files containing newlines in their names https://stackoverflow.com/a/21727028 local -a file_list file_list_pruned; local -a files_to_verify files_to_upgrade files_to_stamp - local -a files_to_verify_pruned files_to_upgrade_pruned files_to_stamp_pruned - + local -a files_to_verify_pruned files_to_upgrade_pruned files_to_stamp_pruned + # Process args processArgs "$@"; @@ -611,11 +617,14 @@ main() { fi; vbm "DEBUG:Attempting to upgrade proof file:path_prf:$path_prf"; if [[ ! $option_dry_run == "true" ]]; then - ots upgrade "$path_prf"; + #ots upgrade "$path_prf"; + for url in "${calendars[@]}"; do + ots -l "$url" --no-default-whitelist upgrade "$path_prf"; + done; else yell "DEBUG:DRY RUN:Not running:\"ots upgrade $path_prf\""; fi; - + sleep "$ots_delay"; done; ## Verify files @@ -629,11 +638,14 @@ main() { vbm "DEBUG:Attempting to verify source file:path_src:$path_src"; vbm "DEBUG: against proof file: path_prf:$path_prf"; if [[ ! $option_dry_run == "true" ]]; then - ots verify -f "$path_src" "$path_prf"; + #ots verify -f "$path_src" "$path_prf"; + for url in "${calendars[@]}"; do + ots -l "$url" --no-default-whitelist verify -f "$path_src" "$path_prf"; + done; else yell "DEBUG:DRY RUN:Not running:\"ots verify -f $path_src $path_prf\""; fi; - + sleep "$ots_delay"; done; ## Stamp files @@ -645,11 +657,14 @@ main() { fi; vbm "DEBUG:Attempting to stamp source file:path_src:$path_src"; if [[ ! $option_dry_run == "true" ]]; then - ots stamp "$item"; + #ots stamp "$item"; + for url in "${calendars[@]}"; do + ots -l "$url" --no-default-whitelist verify stamp "$item"; + done; else yell "DEBUG:DRY RUN:Not running:\"ots stamp $item\""; fi; - + sleep "$ots_delay"; done; }; # main program -- 2.30.2