As promised last week in my previous post, here’s an update on the “frontend” work we’ve been working of for the past few months.
The block explorer project was created because I wanted us to have an fast, easy-to-deploy, open source block explorer that could be hosted in a decentralized manner.
Our team has accomplished our main goals on this project, so I recently approached
@mcfarhat to take over development of the project (his team had already been contributing to the project for a while).
As part of this, one of our UI programmers will be joining his team full time and one of our backend programmers will also assist them part-time during the transition period. If you haven't already voted for his proposal, I highly encourage you to do so:
https://hive.blog/hive-139531/@mcfarhat/hive-dev-proposal
New features and functional improvements
- The block explorer is nearly ready to be released. Here is a MR covering most of the new work: https://gitlab.syncad.com/hive/block_explorer_ui/-/merge_requests/424
- Support for account value displayed in the wallet card: https://gitlab.syncad.com/hive/block_explorer_ui/-/merge_requests/442
- Better support for mobile platforms such as cellphones and tablets
- Witness schedule page: https://gitlab.syncad.com/hive/block_explorer_ui/-/merge_requests/411
- Theme support improvements (e.g. dark theme)
- Security updates: https://gitlab.syncad.com/hive/block_explorer_ui/-/merge_requests/413
Bugfixes
- Fixed bugs related to VESTS presentation using HP values
- Improved copying a operations on block page (to get their original content)
- UI improvements: https://gitlab.syncad.com/hive/block_explorer_ui/-/merge_requests/422https://gitlab.syncad.com/hive/block_explorer_ui/-/merge_requests/376
For GUIs, a picture is worth a thousand words, so here’s some screenshots:
New features and functional improvements
- Improving support for wallet related functions
- Covered blog functionality fully matching condenser’s feature set
- Using Optimistic UI patterns to show user activity in the application, then confirmed or rejected by API node
- Support for oauth server to allow chat integration
- Reduced resource usage
Bugfixes
- Improvements in the post editor: https://gitlab.syncad.com/hive/denser/-/issues/486 https://gitlab.syncad.com/hive/denser/-/issues/488 https://gitlab.syncad.com/hive/denser/-/issues/482 https://gitlab.syncad.com/hive/denser/-/issues/487
- Fixes related to post rendering issues
- Posts pinning is handled correctly
Here's a screenshot of Denser (it looks very much like Condenser, but it is really entirely new software!):
Transaction inspector is a new application which visually renders info about a Hive transaction to help solve authority & validity problems. This tool is especially useful when trying to determine why a transaction was rejected by a blockchain node.
The codebase for the transaction inspector is under intensive development, although it works already for most of cases. Lately we decided to do some internal refactoring of the code to achieve two goals:
- Improve regression testing to simplify preparing and verifying specific transactions
- Make it easier to import the app’s algorithms for performing transaction processing into 3rd party applications.
Near term improvements include:
- Add algorithms to test for bugs in transactions, so that applications can verify they’ve constructed valid transactions.
- Implement a transaction/operation binary view which will help analyze and show how a transaction has been serialized internally in the blockchain. This could help to solve issues related to the dreaded “missing authority” errors, since a user will be able to see the transaction contents in the "Hive blockchain" language. This should especially be useful for Hive developers.
Here’s some screenshots of the transaction inspector:
Clive is being designed as a wallet for “power users” who want to have high security and full control over the way they create Hive transactions. As such it will have much more fine-grained control on how a Hive transaction can be created and signed than typical wallets. It will also support advanced features such as easy offline signing for cold wallets.
Clive comes in two versions: a command-line version and and a more friendly “terminal user inteface” (TUI) version which is similar to a graphical user interface, but can run on a terminal console that doesn’t support graphics.
Clive is written in python and we’re also using it to test and improve the python version of Wax.
New features and functional improvements;
- Support for tracked/known/exchange/bad account list to make blockchain transfers safer. Known accounts are accounts you've made transfers to in the past. Exchange accounts are specially marked because they often require a special memo and only take specific currencies. Bad accounts are suspected/known "phishing" accounts.
- Easier to switch to a different working account (the account used for transaction creation)
- Significant improvements in application TUI to simplify its usage
- Developed simple startup script to simplify application start
- Support for custom json & recurrent transfer operations
A detailed view of the changes can be found in the release notes below:
I didn't include any screenshots for Clive this time, due to the number of planned changes to the UI, but I will add some to my next post.
What’s next for the UI apps?
The block explorer API and UI will be officially released as part of the next update to Hive API nodes (planned for December). This means that every API node by default will supply the block explorer API (which can be used by any Hive block explorer) and they will also be able to easily deploy their own copy of the block explorer UI, so we should have very decentralized hosting of the block explorer.
Denser is also getting closer to release, but I think it will be released after the Hive API node release. My best guess is somewhere in 2nd quarter of 2025. Currently most of the remaining work is related to wallet features.
The Transaction Inspector is targeted at a smaller audience (primary developers and power users). As such it is already useful for developers who want to analyze transactions, and soon it should be possible to easily incorporate it’s functionality into other applications.
Because of the many changes and improvements currently being simultaneously made to Clive, the release date is a little difficult to predict (a lot of testing will be necessary), but I’m hopeful that it will also be officially released in December, but probably after the Hive API node release.