Starcoin Scan 区块浏览器

简介

本文主要介绍starcoin区块浏览器的维护,及其后台索引的维护,主要由以下几个部分组成

  1. Elasticsearch 服务,主要负责数据存储和查询。

  2. Postgres DB,负责存储一些统计信息

  3. 浏览器前端 https://github.com/starcoinorg/starcoin-explorer

  4. Java 服务端 https://github.com/starcoinorg/starcoin-search

    1. starcoin-scan-api ,负责为前端拉取数据时的服务

    2. starcoin-indexer,负责从链上拉取数据到ElasticSearch服务

Requirements

需要预先安装阿里云k8s环境

维护

查看

~ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE actions-runner-system actions-runner-controller-6bfcf564f5-98zph 2/2 Running 1 561d actions-runner-system actions-runner-controller-github-webhook-server-7b5ddf6f49l4d2m 2/2 Running 0 561d cert-manager cert-manager-76b7c557d5-g46x9 1/1 Running 0 567d cert-manager cert-manager-cainjector-655d695d74-8rfzh 1/1 Running 1 561d cert-manager cert-manager-webhook-78bd968fbf-g4pkx 1/1 Running 0 567d default scan-api-deployment-6fcb97d6-rrrtx 1/1 Running 0 554d default starcoin-db 1/1 Running 0 15d default swap-stat-api-deployment-7d7577c885-8l6nf 1/1 Running 0 248d ... starcoin-barnard starcoin-indexer-deployment-544fcc458b-r76sk 1/1 Running 0 59d starcoin-halley starcoin-indexer-deployment-755d6f68d6-9nc9s 1/1 Running 0 29m starcoin-main starcoin-indexer-deployment-84b59b787b-pbf42 1/1 Running 0 29d starcoin-main starcoin-indexer-swap-deployment-7fdc4f88c9-26gmj 1/1 Running 0 526d starcoin-proxima starcoin-indexer-deployment-8447c644-9blvk 1/1 Running 0 137d

 

上述starcoin-indexer开头的pods为indexer部分,scan-api 开头的Pods为Scan-API

PostgreSQL数据库维护

一般情况下,不需要对数据库登录操作,如果需要登录,则需要按照以下方式来进行

  1. 需要以starcoin-db作为跳板机来连接线上数据库,找到上面名为starcoin-db 的数据库,执行命令进入,如果这个Pods已经没有了,需要执行第二条命令再创建一下,维持时间可以自己设置

    # Run starcoin db pods $ kubectl exec starcoin-db --stdin --tty -- sh $ kubectl run starcoin-db --image=alpine --restart=Never -- sleep 1d
  2. 执行命令安装PostgreSQL(下简称pg)客户端

    apk add postgresql-client
  3. 此处需要数据库连接密码,则需要通过密钥管理服务获取,执行下列命令获取密码

  4. 连接即可

ES服务维护

维护入口https://search-starcoin-es2-47avtmhexhbg7qtynzebcnnu64.ap-northeast-1.es.amazonaws.com/_plugin/kibana/app/login?nextUrl=%2F_plugin%2Fkibana%2F

修复

当线上测试网络,如halley、barnard、proxima网络需要重置,以及数据回滚时,会产生区块回滚,进而产生分叉,当产生分叉后就需要对数据进行修复,参考文档:barnard 回滚区块浏览器数据清理步骤