Zebra-zaino-zallet - retrieve block from node

Zaino Build Info:
Version: 0.1.2

Network: Mainnet
Zebra Build: v2.5.0
Zebra Subversion: /Zebra:2.5.0/

2025-09-05T07:42:57.584691Z INFO zaino_state::local_cache: Launching Local Block Cache..
2025-09-05T07:42:57.584696Z INFO zaino_state::local_cache::non_finalised_state: Launching Non-Finalised State..
2025-09-05T07:42:57.647254Z INFO zaino_state::chain_index::mempool: Launching Mempool..
got txvalue
got txvalue
got txvalue
got txvalue
2025-09-05T07:42:57.748585Z INFO zallet::components::json_rpc: Spawning RPC server
2025-09-05T07:42:57.748620Z INFO zallet::components::json_rpc: Trying to open RPC endpoint at 127.0.0.1:8234…
2025-09-05T07:42:57.748694Z INFO zallet::components::json_rpc::server: Opened RPC endpoint at 127.0.0.1:8234
got txvalue
got txvalue
2025-09-05T07:42:57.751754Z INFO initialize: zallet::components::sync: Initializing wallet for syncing
2025-09-05T07:42:57.755814Z INFO initialize: zallet::components::sync::steps: Sapling tree has 1126 subtrees
2025-09-05T07:42:57.797410Z INFO initialize: zallet::components::sync::steps: Orchard tree has 750 subtrees

Failed to synchronize zallet: Fetch(TonicStatusError(Status { code: Unknown, message: “Error: Failed to retrieve block from node. Server Error: Custom error: unexpected error response from server: RPC Error (code: -5): block height not in best chain”, source: None }))

Trying to connect zallet to zaino + zebra. I believe its a basic config issue in the zallet config file?

Any ideas?

1 Like

Basic Start: z3

2025-09-11T08:12:16.474311Z INFO zaino_state::local_cache::non_finalised_state: Block at height [3060974] with hash [000000000050a2ad63e413adfff0b2b7f11ae88f254a5a7557ff5e1177f00bca] successfully committed to non-finalised state.
2025-09-11T08:12:16.483226Z INFO steady_state: zallet::components::sync: New chain tip: 3060974 000000000050a2ad63e413adfff0b2b7f11ae88f254a5a7557ff5e1177f00bca
2025-09-11T08:12:16.483256Z INFO steady_state: zallet::components::sync::steps: Fetching block 000000000050a2ad63e413adfff0b2b7f11ae88f254a5a7557ff5e1177f00bca
2025-09-11T08:12:16.490131Z INFO poll_transparent: zallet::components::sync: Fetching mined UTXOs
2025-09-11T08:12:16.490679Z INFO steady_state: zallet::components::sync: Scanning ChainTip(3060974..3060975)
2025-09-11T08:12:16.515583Z INFO steady_state: zallet::components::sync: Reached chain tip, streaming mempool

zallet3.toml = zallet configuration file

[builder]
[builder.limits]
[consensus]

#Network type.
network = “main”

[database]
[external]
[features]

as_of_version = “0.0.0”

[features.deprecated]
[features.experimental]
[indexer]

validator_address = “127.0.0.1:8232”

#Enable validator RPC cookie authentication.
validator_cookie_auth = true

#Path to the validator cookie file.
validator_cookie_path = “/home/computer/.cache/zebra/.cookie”

#Full node / validator Username.
#validator_user = “”

#Full node / validator Password.
#validator_password = “”

db_path = “/home/computer/zainodb”

[keystore]
[note_management]
[rpc]

bind = [“127.0.0.1:8237”]

###Steps Taken
###updated zainod
cd zaino
git branch
git pull origin dev
cargo build --release
export PATH=“$PATH:/home/computer/zaino/target/release”
sudo reboot

start zebra - fully sync

start zaino - fully sync

##update zallet

move into zallet datadir

cd /home/computer/.zallet

clear old attempted files

sudo rm encryption-identity.txt
sudo rm .lock
sudo rm wallet.db

pwd
/home/computer/.zallet
rage-keygen -o encryption-identity.txt
rage -p -o encryption-identity.txt <(rage-keygen)
zallet -d /home/computer/.zallet init-wallet-encryption
zallet generate-mnemonic

start zallet

zallet -d /home/computer/.zallet -c zallet3.toml start

Hope it helps!

1 Like

Once zainod is synced you don’t need it running. Zallet will start it for you.

Once zallet is running you can use curl to access the rpc server, but this is easier:

cargo build -r --features rpc-cli

then

./target/release/zallet rpc help

will display rpc’s and you can call them with

./zallet rpc <insert rpc here>

3 Likes