https://github.com/crcdng/tezos_statz
Get a Tezos balance and transactions from the TzPro API
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.9%) to scientific vocabulary
Repository
Get a Tezos balance and transactions from the TzPro API
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Tezos Statz Demo

A demonstration app written in Flutter that allows to view Tezos blockchain data (balance and list of transactions). On Android and iOS it includes a QR code scanner to scan the Tezos address.
Tezos Statz Demo calls the TzPro REST API (formerly TzStats) provided by Blockwatch https://blockwatch.cc/.
The TzPro API is documented here: https://docs.tzpro.io/. It requires an API key from Blockwatch that you can get for free here: https://tzpro.io/. When you generate the key, klick the "Edit" button and look for a field called "HMAC Secret". Delete the contents of that field and click "Save".

How to run the code
This repository contains only the source code. You have to build the app yourself. Get Flutter here https://flutter.dev/docs/get-started/install. Clone this repository and run flutter create . or add the target platforms (e.g. Web, iOS, Android, Mac) in your code editor.
The API key is provided via an environment variable. Run your app with:
flutter run --dart-define TZPRO_KEY=<YOUR_API_KEY>
More info about handling API keys in Flutter, obfuscation and other issues: https://codewithandrea.com/articles/flutter-api-keys-dart-define-env-files/ as well as https://docs.tzpro.io/intro/access for securing API keys in general. Make sure you understand the implications of API key management, especially if you are not on the free API tier.
If you deploy to macOS, you need to edit both macos/Runner/DebugProfile.entitlements and macos/Runner/Release.entitlements and add the following key:
<key>com.apple.security.network.client</key>
<true/>
If you deploy to Android, you need to edit AndroidManifest.xml as shown:
<manifest xmlns:android...>
...
<uses-permission android:name="android.permission.INTERNET" />
<application ...
</manifest>
If you deploy to iOS, you need to edit iOS/Runner/Info.plist and add the following key for the QR Code scanner to work:
<key>NSCameraUsageDescription</key>
<string>This app uses the camera to scan QR codes of Tezos addresses.</string>
Support development
You can support development and creative digital artwork curation by donating to crcrtn.tez / tz1ffYDwFHchNy5vA5isuCAK2yVxh4Ye9pnk
3rd party contributions
Blip sound by: http://jazzy.junggle.net/ (CC BY 3.0)
STATUS
Rewrite completed the app is working with the new TzPro API, rewritten in lightweight clean architecture and adding tests is in progress
TODO
- add tests for the ui layer: widget tests
- add integration test
- test platform specific feature (qr code scanner)
test on mobile device
better error ui
check remaining TODO markers
improve transaction handling (currently limited to 100) https://docs.flutter.dev/cookbook/lists/long-lists
improve information on transactions
add a filter for transactions types, e.g. transfers
refactor dependency on SharedPreferences in main into LocalStorage
improve / expand the color theme
add a detail view for transactions
add statistics (view)
add .tez domain support
add view support for specific tokens
support originated addresses (KT1)
DONE
Version 1.0 "minimal prototype"
- create a minimal implementation, model-free (just functions) 🤯
- pull to refresh
- tap to copy donation address
- balance: show balance in Tz and USD
- make workable Web version (without QR Code scanner)
- store address in Shared Preferences
- animate screen change
- address: show current address
- balance: fix refresh bug
- fixed parse URL scan
- animate USD / Tz switch
- fixed transaction type filter
- address: UI flow Text entry
- address: UI flow QR Code scan
- address: QR scan sound
- fix late initialization and setState after dispose
Version 1.1 "new API"
- update Flutter and dependencies
- replace deprecated TzStats API with TzPro API
- handle API key via ENV variable
Version 1.2 "rewrite architecture"
- overhaul architecture
- add unit tests
- fix bug in "About" page URIs
Version 1.3 "rewrite architecture again and test thoroughly"
- refactor to lightweight clean architecture
- refactor: get rid of constants.dart
- refactor unit tests
- add additional unit tests
- add tests for the ui layer: notifiers
--
This code is published under the Apache license. It is not affiliated with Blockwatch or Tezos.
Owner
- Name: crcdng
- Login: crcdng
- Kind: user
- Website: https://crcdng.com
- Twitter: crcdng
- Repositories: 78
- Profile: https://github.com/crcdng
may the farce be with you
GitHub Events
Total
Last Year
Dependencies
- animations 2.0.11
- async 2.11.0
- audio_session 0.1.18
- boolean_selector 2.1.1
- characters 1.3.0
- clock 1.1.1
- collection 1.18.0
- crypto 3.0.3
- cupertino_icons 1.0.6
- fake_async 1.3.1
- ffi 2.1.2
- file 7.0.0
- fixnum 1.1.0
- flutter 0.0.0
- flutter_test 0.0.0
- flutter_web_plugins 0.0.0
- http 1.2.1
- http_parser 4.0.2
- js 0.6.7
- just_audio 0.9.36
- just_audio_platform_interface 4.2.2
- just_audio_web 0.4.9
- leak_tracker 10.0.0
- leak_tracker_flutter_testing 2.0.1
- leak_tracker_testing 2.0.1
- matcher 0.12.16+1
- material_color_utilities 0.8.0
- meta 1.11.0
- path 1.9.0
- path_provider 2.1.2
- path_provider_android 2.2.2
- path_provider_foundation 2.3.2
- path_provider_linux 2.2.1
- path_provider_platform_interface 2.1.2
- path_provider_windows 2.2.1
- platform 3.1.4
- plugin_platform_interface 2.1.8
- qr_code_scanner 1.0.1
- rxdart 0.27.7
- shared_preferences 2.2.2
- shared_preferences_android 2.2.1
- shared_preferences_foundation 2.3.5
- shared_preferences_linux 2.3.2
- shared_preferences_platform_interface 2.3.2
- shared_preferences_web 2.3.0
- shared_preferences_windows 2.3.2
- sky_engine 0.0.99
- source_span 1.10.0
- sprintf 7.0.0
- stack_trace 1.11.1
- stream_channel 2.1.2
- string_scanner 1.2.0
- term_glyph 1.2.1
- test_api 0.6.1
- typed_data 1.3.2
- url_launcher 6.2.5
- url_launcher_android 6.3.0
- url_launcher_ios 6.2.5
- url_launcher_linux 3.1.1
- url_launcher_macos 3.1.0
- url_launcher_platform_interface 2.3.2
- url_launcher_web 2.3.0
- url_launcher_windows 3.1.1
- uuid 4.3.3
- vector_math 2.1.4
- vm_service 13.0.0
- web 0.5.1
- win32 5.3.0
- xdg_directories 1.0.4
- flutter_test --- !ruby/hash:ActiveSupport::HashWithIndifferentAccess sdk: flutter development
- animations ^2.0.11
- cupertino_icons ^1.0.6
- flutter --- !ruby/hash:ActiveSupport::HashWithIndifferentAccess sdk: flutter
- http ^1.2.1
- just_audio ^0.9.36
- qr_code_scanner ^1.0.1
- shared_preferences ^2.2.2
- url_launcher ^6.2.5