/staketaxcsv

python repo to create blockchain CSVs

Primary LanguagePythonMIT LicenseMIT

staketaxcsv

  • Python repository to create blockchain CSVs for Algorand (ALGO), Cosmos (ATOM), Chihuahua (HUAHUA), Fetch.ai (FET), IoTex (IOTX), Juno (JUNO), Osmosis (OSMO), Solana (SOL), Stargaze (STARS), and Terra (LUNA) blockchains
  • CSV codebase for https://stake.tax
  • Community contribution and PRs are most welcome, especially to fix/support new types of protocols/transactions.

Usage

  • Same arguments apply for report_algo.py (ALGO), report_atom.py (ATOM), report_fet.py (FET), report_huahua.py (HUAHUA), report_juno.py (JUNO), report_iotex.py (IOTX), report_osmo.py (OSMO), report_stars.py (STARS), report_sol.py (SOL), report_terra.py (LUNA):

    # Load environment variables from sample.env (add to ~/.bash_profile or ~/.bashrc to avoid doing every time)
    set -o allexport
    source sample.env
    set +o allexport
    
    cd src
    
    # Create default CSV
    python3 report_terra.py <wallet_address>
    
    # Create all CSV formats (i.e. koinly, cointracking, etc.)
    python3 report_terra.py <wallet_address> --format all
    
    # Show CSV result for single transaction (great for development/debugging)
    python3 report_terra.py <wallet_address> --txid <txid>
    
    # Show CSV result for single transaction in debug mode (great for development/debugging)
    python3 report_terra.py <wallet_address> --txid <txid> --debug

Install

  1. Install python 3.9 (one way)

  2. Install pip packages

    pip3 install -r requirements.txt

Docker

See Docker to alternatively install/run in docker container.

Contributing Code

  • See Linting to see code style feedback.

  • Providing a sample txid will expedite a pull request (email support@stake.tax, DM @staketax, etc.):

    # For a given txid, your PR (most commonly) should print different output before/after:
    python3 report_terra.py <wallet_address> --txid <txid>

Reference

See README_reference.md: