The Diem Explorer is an open-source web-based UI for Diem flavored blockchains which is going to provide a suite of introspection tools for the blockchain.
- Make exploration of on-chain data simple, fast and accessible
- Expose web-based tools for interacting with the Diem Blockchain
- Install yarn, make
- Run
yarn install
to install dependencies - Run
make start
to start the web app locally - Configure Hasura at [http://localhost:8888/console]
Hasura must be configured to connect to a database.
TODO: describe what this database is and where to get the credentials.
Track the following tables and views:
accounts
accounts_balances
burn_events
diem_in_circulation_dynamic
diem_in_circulation_realtime_aggregates
gas_payments
preburn_events
realtime_account_balances
receivedmint_events
sentpayment_events
transactions
Explorer uses make
to automate development tasks.
In general, every development task related to the application lifecycle can be controlled via make
.
The following commands are provided:
start
: Launch the application and all runtime dependencies for ordinary local developmentstop
: Shut down the application and all runtime dependenciestest
: Run all tests. Equivalent to runningintegration_test
,contract_test
, andacceptance_test
lint
: Lint all application code. Returns a nonzero exit code if any issues are foundship
: Lints and tests all code, then, if successful, executegit push
build
: Compile the application for deploymentfmt
: Autoformat all application code with Prettierlist
: Display all available Make targetslintfix
: Lint all application code and automatically fix issues that can be fixed. Returns a nonzero exit code if any unfixable issues are found
integration_test
: Run Jest unit tests for the applicationcontract_test
: Validate the GraphQL client is being used without type errorsacceptance_test
: Run Codecept UI tests headlessly. In this configuration, the application uses Wiremock for all runtime dependenciesacceptance_test_ui
: Run Codecept UI tests with the Codecept runnerstart_for_e2e
: Start the application and the dependencies that are used for acceptance tests (i.e. Wiremock)hasura_start
: Start the Hasura server, for local developmenthasura_stop
: Stop the Hasura serverwiremock_start
: Start the Wiremock server, for acceptance testswiremock_stop
: Stop the Wiremock server Edit the Makefile directly if you need to change the URL of theopenapi.yaml
file used.generate_gql_client
: Regenerate the auto-generated Zeus GraphQL client from the configuration of the Hasura server
Helm must be installed to use the charts. Please refer to Helm's documentation to get started.
Once Helm is set up properly, add the repo as follows:
helm repo add diem-explorer https://diem.github.io/explorer
You can then run helm search repo diem-explorer
to see the charts.
- Land changes on Main branch
- Build the helm package
helm package helm/ helm repo index . --url https://diem.github.io/explorer/
- Add the new package binary on
gh-pages
branch and update indexgit checkout gh-pages helm repo index . --url https://diem.github.io/explorer/ # git add should pickup the changes of the new binary file, and the index.yaml file git add . git commit -m "[helm-chart] release new version"
- Push the changes to
gh-pages
branch