Blockroma is a blockchain explorer for Ethereum web3 compatible blockchains. It is built with the modern web stack - TypeScript, KOA, React, SASS, Apollo GraphQL, TypeORM, and PostgreSQL. It is open-sourced under GPL license.
The project is still in development with an unstable version 0.1.0. As a result, there might be breaking changes before 1.0.0.
Feature List
- realtime + catchup indexer, based on web3 JSONRPC and WSS APIs, for blocks, txs, and addresses.
- GraphQL APIs and PostgreSQL Data models for blocks, txs, and addresses.
- basic web UI for home page, search bar, blocks, txs, and addresses.
- dark mode and light mode.
- i18n / internationalization / multi-language / English, Japanese, Chinese
- customizable for other blockchains.
- developer guide.
- tx contract details and logs.
- ERC20. Design
- ERC721.
- more accurate gas fee calculation.
- better error handling and loading state.
- onboard more blockchains.
git clone git@github.com:stargately/blockroma.git
This is intended for *nix users. If you use Windows, go to Run on Windows. Let's first prepare the environment.
cd blockroma/v1
npm install
# prepare environment variable
cp ./.env.tmpl ./.env
To run your project in development mode, run:
npm run watch
The development site will be available at http://localhost:4134.
It's sometimes useful to run a project in production mode, for example, to check bundle size or to debug a production-only issue. To run your project in production mode locally, run:
npm run build-production
NODE_ENV=production npm run start
npm run test
: test the whole project and generate a test coveragenpm run ava ./path/to/test-file.js
: run a specific test filenpm run build
: build source code fromsrc
todist
npm run lint
: run the linternpm run kill
: kill the node server occupying the port 5000.
Special thanks to the blockscout project. We are not fans of Elixir but we used its JS and style files, and thus comply with its GPL license.
If you like the project or want to support its future development, please give it a star ⭐️ and fork it!