0xMiden / 0xMiden/examples

Miden blockexplorer - next iteration

オープン
#205 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
21
フォーク
28
PR マージ指標
30日以内にマージされた PR はありません

説明

DRAFT

# Goal: next iteration of the block explorer
On our explorer (https://testnet.midenscan.com/), we want to have a couple of updates and fixes.

## General
- [x] Can you change the Account Ids to bech32. After we closed this [issue](https://github.com/0xMiden/miden-base/issues/1965) it should be clear what that means.

## Main page (2 changes)
- [ ] Let's remove the "account updates" box - this should always be the same as the number of transactions. Can you find out why this differs?
- [ ] Add a status information of the testnet / devnet (red or green icon), you can leverage our endpoint.

## Blocks

### Overview tab (2 changes)
- [ ] Here again we have "Account Updates" and "Transactions". I think they should be the same thing. Not sure why the numbers are not the same currently, let's sync with the protocol and Node team.

#### Account Updates & Transactions
- [ ] The "Commited Block Number" seems always to reference to the block. So we can get rid of this info or put in the overview
- [ ] We should describe the transaction and the underlying account together (a transaction is defined as the account state change)

## Accounts
- [ ] Again, merge Transactions and Account Updates
- [ ] Move "Procedure Digests" under "Code" similar to what Etherscan does. Then we need to find a way to split the procedures in "Read contract" and "Write contract".

Image

### Vault Assets
- [ ] Rename "Vault Assets" to "Assets"
- [ ] The assets in the explorer should show the token symbol, three letters, e.g., POL. However, we do not know the token symbol for every asset. We can provide you with an easy way how to read the token symbol.
- [ ] We should also show the token's decimals. The token symbol and the decimals are stored in the account in slot 1 (for public faucet accounts).
- [ ] We should not only show the Faucet Prefix ID but the whole Faucet Account ID in bech32 encoding.

### Code tab (2 changes)
- [ ] For known digests (code snippets from the Miden Standard Library), we can show the MASM or even the Rust code. For that, we need to store a mapping from digest to MASM code. If the account code only consists of known digests, we can add a green hook symbol that this account is "verified". In addition to this, we'll also need to show storage offset and storage size. See below in the comment a mapping of known Digests and their MASM name.
- [ ] We should allow users to connect their wallet and read and write on the contract similar to Etherscan.

### Storage
- [ ] We want to show the account's storage. There are two ways to store something in the account.

1. There are 255 Storage slots, each a `Word`. But usually will be much fewer - e.g., a basic wallet has only 1 storage slot.
2. There are key-value maps (StorageMaps). We need to show the leaves and the root of the tree. We should probably show a table (e.g., with 2 columns) with currently populated key-value pairs.

- [ ] We should show the `Word` = `[Felt, Felt, Felt, Felt]` if we don't know what the value is. For most known account components ("verified contracts") we know how to read that data and we should display it in a human readable form.

### Upload accounts - can be implemented in the future
- [ ] We want to be able to upload an account to the explorer. Accounts are serialized as `*.mac` files. So when I click on a private account, there needs to be an upload button; I then upload my account, and if the account hash matches, all data should be shown as if the account were a public account.

## Note Tags
- [ ] We want to be able to search notes by `TAG`. The `TAG` is in the note metadata. There should be a separate "Note tags" page where we list all tags and then when we click on a specific tag, we can see all notes which have this tag.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

This is a large redesign of the Miden block explorer frontend. Start by examining the existing codebase at https://testnet.midenscan.com/ to understand the current structure. The work involves coordinating with protocol and Node teams, implementing new data displays (like bech32 encoding, asset symbols, storage views), and potentially adding wallet connectivity. 'Done' means all checklist items in the issue are implemented and tested.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
nextjs, react, typescript
領域
blockchain, frontend, web-dev
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。