Skip to content

nervosnetwork/ckb-explorer

Repository files navigation

About CKB

CKB is the layer 1 of Nervos Network, a public/permissionless blockchain. CKB uses Proof of Work and improved Nakamoto concensus to achieve maximized performance on average hardware and internet condition, without sacrificing decentralization and security which are the core value of blockchain.

CKB Explorer

CKB Explorer is a Nervos CKB blockchain explorer built with React and Ruby on Rails.

It supports searching block, transaction, address and includes two parts: frontend and backend server (this project).

CKB Explorer Server

License TravisCI Codecov Discord

A blockchain explorer service of Nervos CKB.

Prerequisites

Initial Project

$ cd ckb-explorer/
$ cp .env.example .env # (in this config file, please modify the items according to your local environment)
$ touch .env.local # (overwrite `.env` config if you need in `.env.local`, such as DATABASE_URL,CKB_NODE_URL...)
$ bin/setup

Create & Setup database

bundle exec rake db:create                     # (create db for development and test)
bundle exec rake db:schema:load                # (run migration for development db)
bundle exec rake db:schema:load RAILS_ENV=test # (run migration for test db)

Running Test

$ bundle exec rails test

Run Project

$ bundle exec rails s

# start sync process
$ ruby lib/ckb_block_node_processor.rb

Deploy

We suggest using Docker Compose to deploy the CKB Explorer Service.

Build Docker Image

$ docker compose build .

Start Services

The service is composed of 4 processes:

  • web: for serving the API
  • worker: for processing background job
  • blocksyncer: for synchronizing the data from CKB chain
  • scheduler: for scheduling some timer tasks

You can see these processes in the Procfile file. The web & worker process can be scaled horizontally. And the blocksyncer and scheduler process are both singleton, so you can only start one instance for each process.

$ docker compose up -d

How to Contribute

CKB Explorer Server is an open source project and your contribution is very much appreciated. Please check out CONTRIBUTING.md for guidelines about how to proceed.

API Documentation

API reference has been migrated to CKB Explorer on ReadMe

Note: Obsolete API documentation.

License

CKB Explorer is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.