• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Platform Explorer

pshenmic

Member
Dash Support Group
Hey folks, I would like to introduce you a new project that we have started with Dash Incubator.

There are no actively maintained tenderdash explorers yet and people just can't see whats up in the project, however there are already few dapps that are actively used by people in the network (like DashMoney). Explorer also shows you the latest data on the network allowing community to monitor the state of the system, and faster react on accidental issues.

There are few maintained tendermint (cosmos) explorers that I plan to fork as well, because that will allow us to list platform on their official explorers (BigDipper, as an example). Listing platform chain on other explorers is also possible, as it will gain additional traffic into the network.

The point of this tool is observing network and its objects, because there isn't any tool for this yet (either ui or cli). This project also serves an API that incoming developers can use in their projects

Screenshot 2023-07-28 at 15.11.04.png

https://platform-explorer.com/

Source: https://github.com/pshenmic/platform-explorer

With MVP version you are able to:
* You can search transactions, blocks
* See latest blocks and transactions
* Decode transaction data (simple)

In the next releases I plan to add more detailed transactions data, more wise searching and a better design.

I would like to add more features to the this project, what would you like to see? Share with me in the thread (y)
 
This is great! Please continue to expand this allow the user to drill on all the details and expand the contracts to the data, or as far as we can go. On the main page, in the list of 'main transactions', please add the height, time of the block, I guess in UTC and the number of TXes in the block and perhaps the size of the block in bytes (optional). Also, when clicking on the transactions, can it show the id of the node that proposed it?

Example.

Platform_blocks.png




Platform_transactions.png
 
@xkcd

Thanks, the tasks are on board (y)
 
Sup folks, there has been a lot of great changes in the Platform Explorer since my last post here, so I'm going to let you all know :devilish:

The project development line consists of ~2-week iterations and Github Projects is used to track all the stuff. You can always check whats happening in the project here https://github.com/users/pshenmic/projects/1/views/1?layout=roadmap


Iteration 1 [Jul 17 - Jul 30]
Bootstrap Project


Architect, bootstrap and deploy minimum Proof of Concept (backend + frontend) of the project. As a deliverable, user is able to see an UI interface that allow you to go and search through L2 Tenderdash blocks, transactions and let you decode state transitions on the client side.

Iteration 2 [Aug 12 - Sep 05]
Platform Indexer Rust Service


Introducing an Indexer module in the project, that can listen to every incoming L2 block from Tenderdash RPC, and decode it. Indexer is able to parse and read every incoming state transition and continuously sync in the background. Rust was chosen as a low overhead framework for reading state transitions - platform protocol was written in Rust, so we can skip redundant WASM translations.

Iteration 3 [Sep 06 - Sep 19]
Indexer PosgtresSQL Processor (persistence)


Implement a PostgreSQL processor module in the Indexer service that takes incoming blocks and state transitions and persist it to the SQL database. Frontend and Backend now read everything straight from the database, as the indexer continuously writes the data in. It allows to reorganize backend code and get a good start for decoding platform entities, like identities, data contracts, documents, etc.

only CreateDataContract state transition was implemented during sprint

Iteration 4 [Oct 02 - Oct 13]
Data Contracts & Documents


Implement DataContractUpdate and DocumentsBatch state transitions together with the relevant entities in the database. Add ability to keep different revisions of the data contracts and documents and implement an UI to explore through them. Data contracts schemas and documents content are stored decoded as JSON in the database, so now can be easily showed to the user in a human-readable way. Lists on the API and Frontend routes are now paginable.

A lot of backend and frontend work was done in this iteration, frontend interface was enhanced and beatified, and you can now search not only blocks and transactions, but also data contracts and documents.


Screenshot 2023-10-14 at 14.25.10.png
Screenshot 2023-10-14 at 14.25.28.png
Screenshot 2023-10-14 at 14.26.00.png
Screenshot 2023-10-14 at 14.26.24.png
 
Hey everyone! We just have finished another platform explorer development iteration that finally brings Identity features live! 🥳😎

Iteration 5 [Oct 23 - Nov 03]
Identities & Redesign


Now you can search, view and see Identities - check your balance, transactions and credit transfers straight from the Platform Explorer interface. This release also includes a pretty decent UI redesign, we included an UI library called chakra and made interface more human readable and tight. I hope you enjoy it.

The backend work done by me and frontend handled by @alexeyandreevsky

Screenshot 2023-11-06 at 23.21.30.png
Screenshot 2023-11-06 at 23.21.44.png
Screenshot 2023-11-06 at 23.22.09.png
Screenshot 2023-11-06 at 23.22.25.png
 
With the balance containing such a high number of Credits, it is difficult for users to put a meaningfull value to those Credits.
It would be nice if you could see for how much dash those Credits can be converted to.

Maybe show both the internal conversion rate between Credits and dash and also show a balance of theoretically convertible dash ?
Also it would be nice to see the total number of Credits, stored in the Credit Pool.
 
Last edited:
@pshenmic with regards to the Credit Pool see : https://github.com/dashpay/dash/pull/5026

When Dash Core v20 activates on Mainnet, a portion of the blockrewards from Evonodes will flow into a Credit Pool and is distributed to Evonodes from that Credit Pool every 9.125 days, in the form of Credits. It does this every Epoch.

1 Epoch for Evonode =9.125 days / 3.333 Epochs per 30 days / 40 Epochs per 365 days

I think DIP-0027 (not yet published, see https://github.com/dashpay/dips where it is still missing) is behind this all. It will arrange the flow of Credits into the Credit Pool and also the convertion of Credits to Dash (for both Evonode owners and normal users).

See : https://github.com/dashpay/dash/pull/5674/commits/d9d098c91b9fe5c0efb6638b77ce1f0821422416

## Asset lock and unlock transactions

The asset lock process provides a mechanism for locking and unlocking Dash in a
credit pool. This credit pool mirrors the available credit supply in Dash
Platform. When a certain amount of Dash is locked, a proportional number of
credits are issued to the identity specified by the transaction issuer. The
identity then uses the credits to pay fees for operations done on Dash
Platform. Masternode identities receive the fees and can convert them back to
Dash by withdrawing them from Dash Platform. Please refer to [DIP-0027](https://github.com/dashpay/dips/blob/master/dip-0027.md) (__TODO__: NOT MERGED)
for more information.

## Coinbase Changes

Once v20 activates, Coinbase transactions in all mined blocks must be of
version 3.

Version 3 of Coinbase will include the following three fields:
- `bestCLSignature` (`BLSSignature`) will hold the best Chainlock signature
known at the moment
- `bestCLHeightDiff` (`uint32`) is equal to the diff in heights from the mined
block height
- `creditPoolBalance` (`int64`) is equal to all the duff locked in all previous
blocks minus all the duff unlocked in all previous blocks plus all the block
subsidy paid to evonodes on Platform.

RPC: currently locked amount (credit pool) is available through rpc call getblock.

I think the balance of the Credit Pool in coinbase is currently named 'creditPoolBalance' and should be fetchable by now on Testnet (assuming Dash Core v20 sucessfully activated on Testnet and triggered the flow of Credits into the Credit Pool).
 
Last edited:
Back
Top