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
A blockchain explorer service of Nervos CKB.
Prerequisites
- PostgreSQL 14.3
- Redis 6+
- libsodium
- secp256k1
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 DB_USERNAME, DB_PASSWORD...)
$ touch config/settings.local.yml # (overwrite `config/settings.yml` to config available hosts)
$ bin/setup
Create & Setup database
bundle exec rake db:create # (create db for development and test)
bundle exec rake db:migrate # (run migration for development db)
bundle exec rake db:migrate 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
Please see this 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.