An API and test-app that exposes zcash functionality for app consumption

Overview

Zingolib

license codecov This repo provides both a library for zingoproxyclient and zingo-mobile, as well as an included cli application to interact with zcashd via lightwalletd.

WARNING! Experimental

  • This is experimental software.
  • It should not be used in production!
  • It should not be relied upon for custody, transfer, or receipt of ZEC!
  • Please use only if you know specifically what you are doing!!

Zingo CLI

zingo-cli is a command line lightwalletd-proxy client. To use it, see "compiling from source" below. Releases are currently only provisional, we will update the README as releases come out.

Privacy

  • While all the keys and transaction detection happens on the client, the server can learn what blocks contain your shielded transactions.
  • The server also learns other metadata about you like your ip address etc...
  • Also remember that t-addresses don't provide any privacy protection.

Note Management

Zingo-CLI does automatic note and utxo management, which means it doesn't allow you to manually select which address to send outgoing transactions from. It follows these principles:

  • Defaults to sending shielded transactions, even if you're sending to a transparent address
  • Sapling funds need at least 5 confirmations before they can be spent
  • Can select funds from multiple shielded addresses in the same transaction
  • Will automatically shield your transparent funds at the first opportunity
    • When sending an outgoing transaction to a shielded address, Zingo-CLI can decide to use the transaction to additionally shield your transparent funds (i.e., send your transparent funds to your own shielded address in the same transaction)

Compiling from source

Pre-requisites

  • Rust v1.37 or higher.
    • Run rustup update to get the latest version of Rust if you already have it installed
  • Rustfmt
    • Run rustup component add rustfmt to add rustfmt
  • Build tools
    • Please install the build tools for your platform. On Ubuntu sudo apt install build-essential gcc
  • Protobuf Compiler
    • Please install the protobuf compiler for your platform. On Ubuntu sudo apt install protobuf-compiler
git clone https://github.com/zingolabs/zingolib.git
cd zingolib
cargo build --release
./target/release/zingo-cli

This will launch the interactive prompt. Type help to get a list of commands.

Notes:

  • If you want to run your own server, please see zingo lightwalletd, and then run ./zingo-cli --server http://127.0.0.1:9067
  • The default log file is in ~/.zcash/zingo-wallet.debug.log. A default wallet is stored in ~/.zcash/zingo-wallet.dat
  • Currently, the default, hard-coded lightwalletd server is https://zuul.free2z.cash:9067/. To change this, you can modify the DEFAULT_SERVER const in config/src/lib.rs

Running in non-interactive mode:

You can also run zingo-cli in non-interactive mode by passing the command you want to run as an argument. For example, zingo-cli addresses will list all wallet addresses and exit. Run zingo-cli help to see a list of all commands.

Options

Here are some CLI arguments you can pass to zingo-cli. Please run zingo-cli --help for the full list.

  • --server: Connect to a custom zcash lightwalletd server.
    • Example: ./zingo-cli --server 127.0.0.1:9067
  • --seed: Restore a wallet from a seed phrase. Note that this will fail if there is an existing wallet. Delete (or move) any existing wallet to restore from the 24-word seed phrase
    • Example: ./zingo-cli --seed "twenty four words seed phrase"
  • --recover: Attempt to recover the seed phrase from a corrupted wallet
  • --data-dir: uses the specified path as data directory.
    • Example: ./zingo-cli --server 127.0.0.1:9067 --data-dir /Users/ZingoRocks/my-test-wallet will use the provided directory to store zingo-wallet.dat and logs. If the provided directory does not exist, it will create it.

Regtest

There is an experimental feature flag available with zingo-cli, in which the cli works in regtest mode, by also locally running zcashd and lightwalletd.

Please see zingolib/regtest/README.md for a detailed explanation.

Comments
  • Regtest mode generated blocks don't show up

    Regtest mode generated blocks don't show up

    When I run in regtest mode, I get

    zcashd is starting in regtest mode, please standby...
    zcashd start section completed, zcashd should be running.
    lightwalletd is about to start. This should only take a moment.
    lightwalletd is now started in regtest mode, please standby...
    lwd start section completed, lightwalletd should be running!
    Standby, Zingo-cli should be running in regtest mode momentarily...
    regtest detected and network set correctly!
    Creating a new wallet
    Lightclient connecting to http://127.0.0.1:9067/
    Error with response: Status { code: Unknown, message: "Cache is empty. Server is probably not yet ready", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None }
    Ready!
    

    After using zcash-cli to generate blocks, those blocks never show up on the zingo-cli, even after running rescan.

    opened by AloeareV 14
  • WIP: zingo-cli regtest mode invocation

    WIP: zingo-cli regtest mode invocation

    Working toward #17 - For now this is just a README update.

    If you'd like to see the abstract path setup or specific naming of what I'm about to build into the tool this is a good moment to comment.

    Problem: I couldn't get the zcashd to write to the debug.log file at all. I saw this issue on zcash's page, which is listed as a 'good first issue' but it's a bit beyond me, at least at a glance, wasn't sure if it could be a lead on this issue but I'd like another dev to confirm this isn't working for them, or point out what I've done wrong.

    Maybe there's other logging or metrics you'd like to capture @zancas ? I was thinking about trying to timestamp log files, for example.

    I'm concerned about these kinds of issues too, so I'd like to have those kinds of updates(or reassurance I shouldn't worry!) in place before moving around more Rust.

    opened by dannasessha 10
  • Add regtest mode

    Add regtest mode

    WIP!

    Following up on an older issue.

    Solves #6 with first commit.

    Currently a non-functional flag that is recognized when running the compiled binary (ex, ./target/release/zingo-cli --regtest).

    opened by dannasessha 10
  • Logging with witnesses_update

    Logging with witnesses_update

    LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 973, "total_blocks": 1000, "trial_decryptions_blocks": 875, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 352} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 449} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 409} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 33} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 417} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 423} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 429} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 435} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 441} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 67} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 503} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 522} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 480} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 482} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 112} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 501} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 554} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 558} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 133} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 570} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 146} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 583} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 589} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 169} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 612} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 621} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 627} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 635} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 204} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 209} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 659} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 662} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 221} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 675} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 680} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 687} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 690} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 696} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 705} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 710} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 669} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 724} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 730} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 734} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 745} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 751} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 761} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 767} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 774} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 779} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 738} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 743} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 796} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 800} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 803} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 810} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 391} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 395} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 401} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 407} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 839} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 845} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 853} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 434} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 444} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 874} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 878} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 885} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 463} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 893} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 900} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 480} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 915} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 491} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 930} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 940} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 511} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 519} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 912} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 918} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 921} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 925} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 542} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 547} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 941} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 947} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 951} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 960} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 570} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 973} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 588} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 594} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 598} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 995} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 999} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 618} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 638} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 643} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 668} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 678} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 691} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 697} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 712} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 719} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 740} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 752} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 771} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 774} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 787} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 801} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 818} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 831} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 840} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 850} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 868} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 883} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 887} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 911} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 922} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 935} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 949} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 958} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 975} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 984} LOG sync status {"batch_num": 0, "batch_total": 31, "end_block": 1860849, "in_progress": true, "last_error": null, "start_block": 1861848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 994} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 0, "total_blocks": 1000, "trial_decryptions_blocks": 0, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 48, "total_blocks": 1000, "trial_decryptions_blocks": 0, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 123, "total_blocks": 1000, "trial_decryptions_blocks": 37, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 173, "total_blocks": 1000, "trial_decryptions_blocks": 125, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 248, "total_blocks": 1000, "trial_decryptions_blocks": 250, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 298, "total_blocks": 1000, "trial_decryptions_blocks": 250, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 348, "total_blocks": 1000, "trial_decryptions_blocks": 250, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 398, "total_blocks": 1000, "trial_decryptions_blocks": 375, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 448, "total_blocks": 1000, "trial_decryptions_blocks": 375, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 498, "total_blocks": 1000, "trial_decryptions_blocks": 500, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 548, "total_blocks": 1000, "trial_decryptions_blocks": 500, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 623, "total_blocks": 1000, "trial_decryptions_blocks": 625, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 673, "total_blocks": 1000, "trial_decryptions_blocks": 625, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 723, "total_blocks": 1000, "trial_decryptions_blocks": 625, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 773, "total_blocks": 1000, "trial_decryptions_blocks": 750, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 848, "total_blocks": 1000, "trial_decryptions_blocks": 750, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 873, "total_blocks": 1000, "trial_decryptions_blocks": 875, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 923, "total_blocks": 1000, "trial_decryptions_blocks": 875, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 0} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 659} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 719} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 56} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 61} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 71} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 82} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 96} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 105} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 118} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 132} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 136} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 166} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 177} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 182} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 212} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 221} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 232} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 239} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 254} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 268} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 279} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 291} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 308} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 311} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 324} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 340} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 354} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 361} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 372} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 383} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 401} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 411} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 415} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 437} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 453} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 464} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 473} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 487} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 493} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 505} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 513} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 520} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 531} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 546} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 578} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 578} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 589} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 608} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 612} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 629} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 641} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 650} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 655} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 662} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 688} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 693} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 706} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 722} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 731} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 737} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 759} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 772} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 797} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 803} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 816} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 844} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 857} LOG sync status {"batch_num": 1, "batch_total": 31, "end_block": 1861849, "in_progress": true, "last_error": null, "start_block": 1862848, "sync_id": 1, "synced_blocks": 1000, "total_blocks": 1000, "trial_decryptions_blocks": 1000, "txn_scan_blocks": 0, "witnesses_updated": 868}

    opened by juanky201271 6
  • update readme 2

    update readme 2

    This is working for me locally. 127.0.0.1 should be less permissive about what it is allowed to connect with, or at the very least it is more clearly limited to local connections.

    fixes #18 .

    opened by dannasessha 6
  • regtest mode isn't working for me

    regtest mode isn't working for me

    I ran cargo build against this commit: 64ae88b494c680597dfcdb1b0bca776830458828

    Then I ran the following (after symlinking as directed in the README):

    ./target/debug/zingo-cli --regtest --data-dir regtest/datadir/zingo --server=127.0.0.1:9067
    zcashd datadir: --datadir=/home/mherder/src/zingolabs/zingolibs/dev/regtest/datadir/zcash/
    zcashd conf file: --conf=/home/mherder/src/zingolabs/zingolibs/dev/regtest/conf/zcash.conf
    zcashd is starting in regtest mode, please standby about 10 seconds...
    zcashd start section completed, zcashd should be running.
    Standby, lightwalletd is about to start. This should only take a moment.
    Using config file: /home/mherder/src/zingolabs/zingolibs/dev/regtest/conf/lightwalletdconf.yml
    Starting insecure server
    lwd start section completed, lightwalletd should be running!
    Standby, Zingo-cli should be running in regtest mode momentarily...
    Error during startup:Error with response: Status { code: Unavailable, message: "error trying to connect: tcp connect error: Connection refused (os error 111)", source: Some(hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }))) }
    If you repeatedly run into this issue, you might have to restore your wallet from your seed phrase.
    
    opened by zancas 5
  • Make arguments for launching `lightwalletd` and `zcashd` with configuration files using `cli` flags

    Make arguments for launching `lightwalletd` and `zcashd` with configuration files using `cli` flags

    Requesting further comments, or details to follow.

    Posting here a message I've received: "Why not pass the zcashd and lightwalletd binaries to --regtest as arguments? Force a user to figure out where to get those binaries from..."

    Sounds fairly reasonable to me. I could probably easily also include default values that fail if they don't find something.

    opened by dannasessha 5
  • Update crate names reorg buffer tests

    Update crate names reorg buffer tests

    These enhancements came to light when I was reviewing 0-reorg.

    We'll need to coordinate with @juanky201271 and @Oscar-Pepper as I am proposing changes to the crate names.

    opened by zancas 4
  • Set the rust toolchain to nightly.

    Set the rust toolchain to nightly.

    This PR provides a rust-toolchain.toml that ensures nightly is used, regardless of the developer's default / ambient toolchain.

    Problem

    I attempted to follow the compiling from source README instructions and got error messages about experimental nightly features. My ambient / default rust toolchain is stable.

    Solution Verification

    After placing this file in the repository root, cargo build succeeds.

    opened by nathan-at-least 4
  • checks for ready zcashd and lwd daemons in regtest mode

    checks for ready zcashd and lwd daemons in regtest mode

    Chasing #34 and #36 - probably a WIP. This no longer has a hard coded waiting duration for the daemons to start, instead there is a check every half second against the log files. I considered several more exotic solutions, for example, splitting the stdout into multiple outputs like tee in the shell, and I would like to move toward an async solution, but this is working for me.

    I also added a simple error check for zcashd, which only works in regtest mode, and logging for lightwalletd's stdoutinto a file.

    Implementing async could or will be a further refinement, with a timeout of the attempts and so on. I'd also like to have more consideration of error detection, including if that should be ported to other "modes" like mainnet usage.

    See also #27 .

    DRAFT 
    opened by dannasessha 4
  • Basic regtest mode elegant startup

    Basic regtest mode elegant startup

    Part of the incomplete #56 PR - Still aiming for #34 and #36 .

    These are not completed features (because we want to handle this with async for a variety of good reasons), but should be working for users. Therefore I advocate this should be merged.

    opened by dannasessha 3
  • build_zingo-mobile CI job builds feature branch HEAD not specific commit

    build_zingo-mobile CI job builds feature branch HEAD not specific commit

        test revealed that zingo-mobile will build HEAD of feature branch and not the specific commit that trigger the test. improvements can be made to build specific commits instead of using github ref
    

    Originally posted by @Oscar-Pepper in https://github.com/zingolabs/zingolib/issues/227#issuecomment-1372650692

    opened by Oscar-Pepper 0
  • Add 'fee' field to transaction

    Add 'fee' field to transaction

    To calculate a transaction fee, we need to determine the value of any transparent outputs spent in the transaction, and the transaction's fee_paid function should handle the rest. This will simplify some zingo-mobile code, and will also be useful user-facing info in a post-ZIP317 world.

    enhancement 
    opened by AloeareV 0
  • std::\thread\::yield_now may be inefficient

    std::\thread\::yield_now may be inefficient

    We need to audit its use to determine whether or not there's a more efficient way of coordinating among readers and writers:

    https://doc.rust-lang.org/std/thread/fn.yield_now.html

    opened by zancas 0
  • Bump secp256k1 from 0.21.3 to 0.22.2

    Bump secp256k1 from 0.21.3 to 0.22.2

    Bumps secp256k1 from 0.21.3 to 0.22.2.

    Changelog

    Sourced from secp256k1's changelog.

    0.22.2 - 2022-12-05

    0.22.1 - 2022-03-10

    • Reintroduce accidentally removed possibility to create SharedSecret from byte serialization

    0.22.0 - 2022-03-08

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • duplicate nullifier error

    duplicate nullifier error

    running 13 tests ......FF..... failures:

    ---- send_mined_sapling_to_orchard stdout ---- zcashd is starting in regtest mode, please standby... zcashd start section completed, zcashd reports it is done loading. Generating initial block generated block [ "08ad2a4199e9d8d8a5dcb6e19d5bc487b1c84c545cc0615c0db871f4a9bac4c9" ]

    lightwalletd is about to start. This should only take a moment. lightwalletd is now started in regtest mode, please standby... lwd start section completed, lightwalletd should be running! Standby, Zingo-cli should be running in regtest mode momentarily... 0: Creating transaction sending 5000 ztoshis to 1 addresses 0: Selecting notes Selected notes worth 625000000 0: Adding 1 sapling notes, 0 orchard notes, and 0 utxos Adding sapling spend 0: Adding output 0: Building transaction 4: Progress: 1 5: Progress: 2 6: Progress: 3 13: Transaction created Transaction ID: 77bdbc8f793058a50b2460787738906db25c20aed500b7f3fbf9d72e7a886e3c thread 'send_mined_sapling_to_orchard' panicked at 'called Result::unwrap() on an Err value: "Error: SendResponse { error_code: -26, error_message: "18: bad-txns-sapling-duplicate-nullifier" }"', cli/tests/integration_tests.rs:107:14 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

    ---- rescan_still_have_outgoing_metadata stdout ---- zcashd is starting in regtest mode, please standby... zcashd start section completed, zcashd reports it is done loading. Generating initial block generated block [ "0cb68d0b03fbc9e9ad1bf2173e2feb474e2edac01cabba047fd2d8a68d5150f1" ]

    lightwalletd is about to start. This should only take a moment. lightwalletd is now started in regtest mode, please standby... lwd start section completed, lightwalletd should be running! Standby, Zingo-cli should be running in regtest mode momentarily... 0: Creating transaction sending 1000 ztoshis to 1 addresses 0: Selecting notes Selected notes worth 625000000 0: Adding 1 sapling notes, 0 orchard notes, and 0 utxos Adding sapling spend 0: Adding output 0: Building transaction 4: Progress: 1 4: Progress: 2 4: Progress: 3 9: Transaction created Transaction ID: d5552365570942af68a6ad80315598f15cf0d67cda09e9c7f81c307a31c790cc thread 'rescan_still_have_outgoing_metadata' panicked at 'called Result::unwrap() on an Err value: "Error with get_latest_block response at http://127.0.0.1:18062/: Status { code: Unavailable, message: "error trying to connect: tcp connect error: Connection refused (os error 111)", source: Some(hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }))) }"', cli/tests/utils/mod.rs:8:32

    failures: rescan_still_have_outgoing_metadata send_mined_sapling_to_orchard

    test result: FAILED. 11 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 44.69s

    error: test failed, to rerun pass -p zingo-cli --test integration_tests

    opened by zancas 0
Owner
ZingoLabs
Advanced zingo research and development
ZingoLabs
Zcash - Internet Money

Zcash 4.3.0 What is Zcash? Zcash is an implementation of the "Zerocash" protocol. Based on Bitcoin's code, Zcash intends to offer a far higher standar

Zcash 4.7k Jan 4, 2023
An ongoing Rust implementation of a Zcash node. 🦓

Contents Contents About Beta Releases Getting Started Known Issues Future Work Documentation Security License About Zebra is the Zcash Foundation's in

Zcash Foundation 311 Dec 28, 2022
Formats output of Solana's cargo test-bpf/test-sbf command

solfmt Formats output of Solana's cargo test-bpf/test-sbf command. Installation cargo install solfmt Usage Run the your test command as usual (cargo t

Thorsten Lorenz 4 Dec 22, 2022
Cross-platform atomic wait and wake (aka futex) functionality for Rust.

Cross platform atomic wait and wake (aka futex) functionality. This crate only supports functionality that's available on all of Linux, Windows, and m

Mara Bos 38 Dec 15, 2022
Key derivation and cryptographic signing functionality for Ethereum applications (ethers-rs)

ethers-signer-factory ethers-signer-factory is a Rust crate that provides functions for key derivation and signing of Ethereum transactions and messag

Ilia 3 Sep 27, 2023
zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.

zink! Smart Contract Macros This is a helper library for developing ink! smart contracts. It contains useful Rust macros that extend functionality and

Scio Labs 3 Nov 3, 2023
Reference library that implements all the necessary functionality for developing a client that is compatible with TAPLE's DLT network.

⚠️ TAPLE is in early development and should not be used in production ⚠️ TAPLE Core TAPLE (pronounced T+ ?? ['tapəl]) stands for Tracking (Autonomous)

Open Canarias 6 Jan 25, 2023
A simple test on interacting between languages with JS and Rust.

NODE-JS-RUST-FFI A simple test on interacting between languages with JS and Rust. How to run Requirements nodejs rustc + cargo Compile First compile t

Eder Lima 3 Aug 25, 2022
Parser and test runner for testing compatable common Ethereum full node tests against Polygon Zero's EVM.

EVM Test Parses and runs compatible common Ethereum tests from ethereum/tests against Polygon Zero's EVM. Note: This repo is currently very early in d

Mir Protocol 3 Nov 4, 2022
Tiny CLI for submitting large calldata transactions to EVM networks to stress test the networking layer. Main motivation: EIP4844blobs.

stress4844 Tiny CLI for submitting large calldata transactions to EVM networks to stress test the networking layer. Main motivation: EIP4844 blobs. ca

Paradigm 50 Jan 4, 2023
Tiny CLI for submitting large calldata transactions to EVM networks to stress test the networking layer

Tiny CLI for submitting large calldata transactions to EVM networks to stress test the networking layer. Main motivation: EIP4844blobs.

Paradigm 50 Jan 4, 2023
Fast way to test a Substrate Runtime via RPC (eg. PolkadotJS UI).

runstrate Fast way to test a Substrate Runtime via RPC (eg. PolkadotJS UI). Build & Run git clone https://github.com/arturgontijo/runstrate cd runstra

Artur Gontijo 3 May 9, 2023
Girl Friend <- Generate Foundry Fork Test from Attack Transaction

girlfriend Girl Friend <- G F <- Generate Foundry Fork Test from Attack Transaction She is truly a great friend. Prerequisites # Install abi-guesser g

fuzzland 92 Jul 24, 2024
reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no extra setup alongside exposing a API ready to query the data.

reth-indexer reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no e

Josh Stevens 306 Jul 12, 2023
The Mullvad VPN client app for desktop and mobile

Mullvad VPN desktop and mobile app Welcome to the Mullvad VPN client app. This repository contains all the source code for the desktop and mobile vers

Mullvad VPN 3k Jan 2, 2023
NFT & Marketplace Contracts with royalties and fungible token support. Sample React app included.

NFT Market Reference Implementation A PoC backbone for NFT Marketplaces on NEAR Protocol. Reference Changelog Changelog Progress: basic purchase of NF

NEAR App Examples 156 Apr 28, 2022
All the data an IC app needs to make seamless experiences, accessible directly on the IC. DAB is an open internet service for NFT, Token, Canister, and Dapp registries.

DAB ?? Overview An Internet Computer open internet service for data. All the data an IC app needs to make a seamless experience, accessible directly o

Psychedelic 58 Oct 6, 2022
Enigma Core library. The domain: Trusted and Untrusted App in Rust.

Enigma Core library Service Master Develop CI Badge Pure Rust Enclave && Untrusted in Rust. Core is part of the Enigma node software stack. The Core c

SCRT Labs 89 Sep 14, 2022
A node API for the dprint TypeScript and JavaScript code formatter

dprint-node A node API for the dprint TypeScript and JavaScript code formatter. It's written in Rust for blazing fast speed. Usage Pass a file path an

Devon Govett 431 Dec 24, 2022