Skip to content

ayyagarijohn/concordium-scan

 
 

Repository files navigation

CCDScan

CCDScan is a full blockchain explorer on Concordium.

It consists of two main parts:

Docker Compose

The project ships a Docker Compose spec for deploying a CCDScan Backend with a TimescaleDB (v14) instance.

Parameters

  • CCDSCAN_BACKEND_IMAGE (default: concordium/ccdscan:test): Image to use for the backend. The default value is not an existing public image: Using it will make Compose build the image from local sources. Note that to use an existing public image, the image must already have been pulled (using e.g. docker-compose pull) before running up. Otherwise, Compose will proceed to build the image without first checking if the image can be pulled.
  • CCDSCAN_BACKEND_PORT (default: 5000): Port on which to expose the backend. Mac users should set this to another value as the port might already be used by the system.
  • CCDSCAN_NODE_GRPC_ADDRESS (default: http://172.17.0.1:10000): URL of the gRPC (APIv1) interface of a Concordium Node. The default value is the default address of a Node running on the host.
  • CCDSCAN_DOMAIN (default: testnet.concordium.com): URL of the network's domain (mainnet.concordium.software for mainnet and <network>.concordium.com for the other official networks). Used as part of the URL for fetching data from the public network dashboard.

Example

Run backend on port 5001 from public image concordium/ccdscan:<tag> against a local mainnet node:

export CCDSCAN_BACKEND_IMAGE=concordium/ccdscan:<tag>
export CCDSCAN_BACKEND_PORT=5001
export CCDSCAN_DOMAIN=mainnet.concordium.software
docker-compose pull
docker-compose up

See the description of CCDSCAN_BACKEND_PORT for an explanation of why Mac users in particular might want to set this value.

Database restore

In ./timescaledb-restore a description is given how to spin up and restore CCD scan database locally from Stage- or Testnet backups.

Rust-bindings

The CCD scan does interops to compiled code from rust. The .csproj file is dependent on compiled binaries which is why one manually needs to run below

make build-rust-bindings

This is only needed to be done once. They will be recompiled on later changes as part of dotnet build.

Unstable features

  • GraphQL endpoints for contracts and modules should currently be seen as unstable, indicating that the query models are likely to undergo changes.

Releases

No releases published

Packages

No packages published

Languages

  • C# 67.0%
  • Vue 18.6%
  • TypeScript 12.0%
  • HCL 1.0%
  • Rust 0.4%
  • Shell 0.3%
  • Other 0.7%