Problem: Exporting transaction history to JSON/CSV from UFVK/seed
I have several wallets. Zcashd let me export transactions from one of them, a wallet file. Good. I have several other wallets that have seed phrases, with a mix of transparent and shielded transactions. I have unified viewing keys for them. I can’t import any of these into zcashd. I can import them into apps like Zashi, Ywallet/Zkool, Zingo etc, but they all have really terrible export options - nowhere close to the information you get from zcashd, and also most often the transaction history is incomplete even though they are fully synced (Using Zashi as the benchmark here - it always shows all transactions, but the “tax” export in Zashi contains almost no information, not even txids). I could perhaps do zingo-cli up to a lightwalletd server, but then I have to expose my seed phrase to the cli-tool, and unified viewing keys are apparently not supported (yet?). I did spin up zebrad/zallet, but zallet is alpha stage, I did not get as far as to fetch transaction history via an rpc call. I also tried using viewing keys on cipherscan/zypherscan - did not work as intended. I experimented with the Zcash web wallet tool on testnet also, no success. I exported private data from Zashi and looked at the DB-file to see if I could extract meaningful transaction information from it, no success.
Knowing this background information: Does anyone have any other ideas on how to fetch and export detailed transaction histories (like zcashd) from wallets using unified viewing keys?
As a full node, zcashd stores the complete tx down to the raw bytes. Wallets won’t go to this level of detail, therefore you should be more explicit about what you want to see.
Added an exportToJSON script for those who want a quick way to get a JSON from a viewkey or seed phrase using zingo-cli. May have a few bugs but have tested with a few of my accounts and its coming along
Still working on outgoing sapling and transparent but otherwise is complete.
Absolutely, I agree. From a wallet export function I would like to see almost everything that zingo-cli outputs: txid, datetime, kind (send/receive, memo etc), fee, any notes connected, to/from addresses
Most of this becomes easier one there are no “legacy” shielded pools in the mix, I guess. But as I commented to dismad just now I might get this done with zingo-cli using the viewkey import, so that’s good!
@dismad cool scripts @snacks you can get this stuff from Zkool without programming using the GraphQL API. For instance:
query a {
transactionsByAccount(idAccount: 1, height: 3000000) {
account
fee
height
id
notes {
address
diversifier
height
memo
pool
scope
}
outputs {
address
id
memo
pool
value
vout
}
spends {
address
diversifier
memo
height
pool
scope
value
tx {
txid
}
}
time
txid
value
}
}