Veil-Project / veil

Veil-Project
MIT License
117 stars 91 forks source link

Console Command Request: CSV Wallet Transactions Export #518

Closed Rock-N-Troll closed 1 year ago

Rock-N-Troll commented 5 years ago

This function would output a csv file in a separate directory in the wallet much like the backups have their own folder.

exporttransactions [type] range

Where type is a json array that can be used to specify which transaction types to export (as defined in the wallet).

Where range would be a date range OR the most recent X transactions. TBD.

The default would be all transaction types and all range.

Users want to see their data and use their data to analyze what is going on in their own wallets. Additionally, this can help people track their Veil much more closely (without giving up privacy).

This command could also be useful if a user chooses to use a third party application that helps them keep track of their portfolio, their own transaction history, or other creative use of this data for their own benefit.

Rock-N-Troll commented 5 years ago

CSV makes the most sense for file output whereas JSON might be better for output in the console.

I think most users will want CSV output for Excel or easy File Upload whereas people/exchanges who prefer/use API will want JSON.

This might be best to be 2 tasks stemming from 1 task if that approach is useful. However, even if 2 separate tasks one of the task would need to be complete before the next task could build on it.

veilgets commented 5 years ago

Bounty price: 1444.44 Bounty Increased

veilgets commented 5 years ago

Developer: MatWaller

seanPhill commented 5 years ago

FYI. I use a Python script to convert JSON to CSV and I have to separate certain transactions (orphans/zero confirmations, sent and ones with a basecoin address, from the most common 'received' txs), because the columns get messed up when some of the transactions have some fields that don't exist on the others. Maybe you can solve that, but I just use three or four sheets instead, the fourth being orphans, which are only of transient interest.

CaveSpectre11 commented 3 years ago

Developer: darkeseed

eugene-so commented 3 years ago

Please clarify what we are actually trying to export to CSV. In the file walletbalances.h, i can see their are veil, CT, RingtCT and Zerocoin balances. Is this what we are interested in dumping? Thanks.

seanPhill commented 2 years ago

Please clarify what we are actually trying to export to CSV. In the file walletbalances.h, i can see their are veil, CT, RingtCT and Zerocoin balances. Is this what we are interested in dumping? Thanks.

I just ran exporttransactions on one of my testnet wallets (that was fresh on May 2nd) and it is definitely listing transactions that are not only mined coins, but staked, sent, received amounts, and orphans too.

It generated over 55,000 lines in a 15.4 MB CSV file, with human readable formatted dates, in a quite reasonably fast time. Hardly noticeable. About 13 seconds, for really a lot of transactions.

This is perfect! It's not only basecoins. Maybe this issue can now be closed. I don't know what to do about the merge 904 being described as basecoin transactions only.

@Rock-N-Troll are you happy with using listtransactions for JSON output (without human readable dates) in the Console, while using exporttransactions for CSV file output and nice, human readable dates, as we have? And as this has been merged for nearly a year, and included in a release wallet since January, are you happy for this issue to be closed?

ohcee commented 1 year ago

Should this still be open?

seanPhill commented 1 year ago

I presume that this issue being left open is an oversight. Closing it now. As I mentioned a year ago, it works nicely.