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 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).
A blockchain explorer service of Nervos CKB.
- PostgreSQL 14.3
- Redis 6+
- libsodium
- secp256k1
$ 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
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)
$ bundle exec rails test
$ bundle exec rails s
# start sync process
$ ruby lib/ckb_block_node_processor.rb
We suggest using Docker Compose to deploy the CKB Explorer Service.
$ docker compose build .
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
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 reference has been migrated to CKB Explorer on ReadMe
Note: Obsolete API documentation.
CKB Explorer is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.