Grincoin.org - blockchain explorer

Minimum for a node is 2 GB ram, e.g. an older Raspberry Pi.
However, a newer Raspberry Pi with at least 4 GB ram and 20 GB for OS + chain is recommended for a good experience. If you want an archive node and want to be future proof, perhaps increase the SSD size since they are dirt cheap anyway.
If you want to be amazingly fast, go for Raspberry Pi 5 since they have M2 SSD support.

2 Likes

I did a test and got this error at the end:

root@test:~/grin-explorer# ./target/release/grin-explorer
[ INFO    ] Starting up Explorer.
[ INFO    ] Starting up Rocket engine.
🚀 Rocket has launched from http://127.0.0.1:8000
thread 'rocket-worker-thread' panicked at src/requests.rs:213:62:
called `Result::unwrap()` on an `Err` value: Error { kind: NotFound, message: "No such file or directory (os error 2)" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

And did you have to build reverse proxy in ngix or apache to let this web service be public?

Did you install grin node? Explorer can’t find "~/.grin/main/chain_data“ directory.

It’s not strictly necessary to use nginx, you can just change the following in Rocket.toml file:

address = “0.0.0.0”

But in production nginx is preferred.

You can DM in telegram @aglkm

2 Likes

@ardocrat what is the agent name of Grim? Or it’s using the native version like grin-node? As I do not see any Grim entries here

@bruges, This is A.M.A.Z.I.N.G. Nice work.

Regarding:

By changing from “Powered by CoinGecko” to “Price data powered by CoinGecko” it might honor their requirement without creating confusion about who is providing the awesome explorer. I only bring this up because when I initially saw their name I hit ‘view source’ to see if they had trackers in the site. They don’t (as you obviously know), but the current text led me to question it for a moment. Up to you of course.

One other comment. It might be interesting for viewers if you listed two blockchain sizes,

  • Blockchain ~3.9G
  • Archive Node ~18.71G.

Obviously this is not critical, but it kind of shows off the fact that Grin enables a full node/Blockchain audit with much less data. It might be too hard to implement since the explorer obviously wants an archive node and thus likely doesn’t know the size of a non-archive node. Maybe an easier path for your consideration would be to add one of your info bubbles next to node size with a short text explaining something like, “The grin blockchain is only ~20% of this size and grows in proportion to the quantity of unspent UTXO…”.

Anyway. The site is amazing even if you don’t make either of these changes. Thank you so much for your contribution. It is GREAT WORK!

3 Likes

yeah, same idea, it was exactly my thinking that the site is made by Coingecko, quite misleading.

Is there a reason for only showing 2 days of stats for each chart? Personally I’d check it more if it was quarterly or semi-annual as that shows meaningful trends.

Charts will show up to 30 days of the stats, just need to wait for the data to grab, each day new data is added.

For longer periods I would need to add a db to save the data, didn’t want to do it, because of additional complexity, but it’s possible… I will think about it. Just wanted the explorer to be as easy to deploy and maintain as possible for everyone.

But all suggestions are welcome.

3 Likes

30 days sounds good to me, I really appreciate your efforts.

Alternatively to a database, you can also just save the moving average (so less data points) for a long term overview.

Since you asked for suggestions I will throw in my two cents. I like it simple (no database) just like you have it. I have a VM running my node and your explorer and my wallet (and nothing else). I really like how lightweight it is (I also like how using a local explorer doesn’t risk leaking information about which hashes people are checking up on… though I know you are not tracking that. The local version is just about good practice).

3 Likes

@bruges I like how you added the Unspent Outputs size (~222MB) and and Kernels size (589MB). That is a good way of doing it. Not sure why my Blockchain is 3.9G… maybe it is because of the data and other things within blocks that are not truly needed to audit. Perhaps non archival nodes can be even smaller.

1 Like

Non archival node hold blocks for some time before pruning.

But now I’m wondering if my block size formula can be more accurate :thinking:

For now it’s: block_size = (num_kernels * kernel_size) + (num_inputs * input_size) + (num_outputs * output_size).

2 Likes

Under the hood Grim is using native grin node and wallet implementations, but afaik, it has minor modifications, like DNS nodes list.

Maybe it would be useful to have a separate user agent for Grim, e.g. MW/Grin 5.3.3 (Grim). That would also give us the statistics for Grim usage.

3 Likes

While I would appreciate knowing the Grim usage statistic in this way, I think it would be detrimental. The node itself is the reference rust node and so it’s not really a true metric to alter the name in node count metics. My great interest and appreciation for Grim comes from its use of unmodified grin crate.io. To change it even in this one way would open the door for other changes… As I understand it, Grim is an amazing GUI to access the unmodified rust grim-wallet via API. The grin-wallet in turn accesses the unmodified rust grin node. Obviously not my call but I highly recommend it stay that way.

(If any changes are ultimately made to the reference node or reference wallet, I do highly recommend they be clearly defined somewhere on the website)

4 Likes

Just a small thing. When you enter anything followed by a space in to the search it errors. Could you set it to trim the input to correct this?

3 Likes

I like this explorer. Good for checking network status and sleek look. I would love to see the charts expanded even if it shows 1 year of daily data shouldn’t be too difficult without a database. Overall nice look, I will contribute if I can.

3 Likes

To integrate better data for the charts, could you add the statistics into a fork of the grin source code? For example, there is already a total difficulty statistic for each block which you could use to compute hashrate quite simply. Since I saw you wrote this explorer in Rust, you might know how to integrate your own statistics into the grin source code, and re-sync the chain. Then all the info would be stored in your node’s database. Cheers.

1 Like

I’m going to add sqlite database for the charts, with the option to run it in memory, so nothing will change for someone hosting the explorer locally.

6 Likes

That’s great news, can’t wait to customize the UI and host my own instance once you have that done.

2 Likes