「CITA」- 区块链服务

认识

CITA(Cryptape Inter-Blockchain Technology Architecture)是一个开源的区块链解决方案,旨在为企业和开发者提供高度可定制的区块链平台。

主页 | https://citahub.com/#/cita
文档 | https://docs.citahub.com/zh-CN/welcome

组成

CITA 采用了多链架构,可以支持并行处理多个区块链,并提供高性能和高度可扩展性;

构建

通过二进制部署

https://docs.citahub.com/zh-CN/cita/getting-started/run-cita

CITA Monitor

docker buildx build --output type=image,push=true \
    --file /srv/cita-monitor/agent/cita_exporter/Dockerfile --tag citamon/agent-cita-exporter:20.2.2 \
    --platform linux/amd64,linux/arm64 /srv/cita-monitor/agent/cita_exporter

docker buildx build --output type=image,push=false --file /srv/cita-monitor/agent/process_exporter/process-exporter.git/Dockerfile \
    --tag citamon/agent-process-exporter:0.4.0 --platform linux/amd64,linux/arm64 /srv/cita-monitor/agent/process_exporter/process-exporter.git

docker buildx build --output type=image,push=true \
    --file /srv/cita-monitor/agent/rabbitmq_exporter/rabbitmq_exporter.git/Dockerfile \
    --tag citamon/agent-rabbitmq-exporter:1.0.0-RC --platform linux/amd64,linux/arm64 \
    /srv/cita-monitor/agent/rabbitmq_exporter/rabbitmq_exporter.git

docker build \
    -f /data/cita-monitor/agent/cita_exporter/Dockerfile \
    -t citamon/agent-cita-exporter:20.2.2 /data/cita-monitor/agent/cita_exporter

sudo docker-compose -f docker-compose-with-build.yml config \
  | yq -r '.services | .[] | select(.build != null) | [.build.dockerfile, .image, .build.context] | @tsv' \
  | while IFS=$'\t' read -r dockerfile image context
  do
      echo  docker buildx build \
          --output "type=image,push=false" \
          --file "${context}/${dockerfile}" \
          --tag "${image}" \
          --platform "linux/arm64" \
          "${context}"
  done

# cita_exporter
docker buildx build --output type=image,push=false \
    --file /data/cita-monitor/agent/cita_exporter/Dockerfile \
    --tag citamon/agent-cita-exporter:20.2.2 \
    --platform linux/arm64 \
    /data/cita-monitor/agent/cita_exporter

# process-exporter
docker buildx build --progress plain --output type=image,push=false \
    --file /data/cita-monitor/agent/process_exporter/process-exporter.git/Dockerfile \
    --tag citamon/agent-process-exporter:0.4.0 \
    --platform linux/arm64 \
    --build-arg http_proxy="http://192.168.0.192:8123" --build-arg https_proxy="http://192.168.0.192:8123" \
    /data/cita-monitor/agent/process_exporter/process-exporter.git

# rabbitmq_exporter
docker buildx build --output type=image,push=false \
    --file /data/cita-monitor/agent/rabbitmq_exporter/rabbitmq_exporter.git/Dockerfile \
    --tag citamon/agent-rabbitmq-exporter:1.0.0-RC \
    --platform linux/arm64 /data/cita-monitor/agent/rabbitmq_exporter/rabbitmq_exporter.git

性质

CITA 还支持智能合约和跨链交互,使不同的区块链网络能够相互通信和协作;
CITA 具有灵活的共识算法和权限管理机制,可以根据不同的需求进行定制和配置;
它还提供了丰富的开发工具和文档,方便开发者构建和部署自己的区块链应用;

经济模型

https://docs.citahub.com/zh-CN/cita/economics/model

应用

CITA 已经在多个实际应用场景中得到了验证,并受到了广泛的关注和采用;

获取区块信息

https://docs.citahub.com/zh-CN/cita/rpc-guide/rpc

# 获取当前区块高度
curl -X POST --data '{"jsonrpc":"2.0","method":"blockNumber","params":[],"id":1}' 127.0.0.1:1337 | jq

# 获取区块信息
curl -X POST --data '{"jsonrpc":"2.0","method":"getBlockByNumber","params":["0xF9", true],"id":1}' 127.0.0.1:1337 | jq

删除共识节点

CITA/ 节点管理 / 共识节点管理

获取当前的共识节点列表:

# cita-cli scm NodeManager listNode --url http://127.0.0.1:1337
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0x0000000000000000000000000...973332f1f85ae1e2e75e"
}

发送交易,以删除共识节点(节点将被降为只读节点):

# cita-cli scm NodeManager deleteNode \
    --address 0x59a316df602568957f47973332f1f85ae1e2e75e \
    --admin-private 0x5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6 \
    --url http://127.0.0.1:1337
{
  "id": 3,
  "jsonrpc": "2.0",
  "result": {
    "hash": "0x01a4eac643589780090d5ed9fa1ac56d139776dd79ebc74a6414594d4d607393",
    "status": "OK"
  }
}

查看交易回执信息:

# cita-cli rpc getTransactionReceipt \
    --hash 0x01a4eac643589780090d5ed9fa1ac56d139776dd79ebc74a6414594d4d607393 \
    --url http://127.0.0.1:1337

查看当前的共识节点数:

# cita-cli scm NodeManager listNode --url http://127.0.0.1:1337
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0x000000000000000000000000...f602568957f47973332f1f85ae1e2e75e"
}

修改链 Operator 信息

scm SysConfig setOperator \
        --operator "cita" \
        --admin-private 0x3ef2627393529fed043c7dbfd9358a4ae47a88a59949b07e7631722fd6959002

rpc getTransactionReceipt --hash 0xffc216326945016e13b4b28be6723a09a3685997ac4f20a5b3695ad04e7513e9

rpc getMetaData

获取创世区块

curl -X POST --data '{"jsonrpc":"2.0","method":"blockNumber","params":[],"id":83}' \
    127.0.0.1:1337

# 获取创世区块 https://docs.citahub.com/zh-CN/cita/rpc-guide/rpc#getblockbynumber

curl -X POST --data '{"jsonrpc":"2.0","method":"getBlockByNumber","params":["0xF9", true],"id":1}' 127.0.0.1:1337 | jq

scripts/upgrade/allowance-to-v1.4.sh 0x3ef2627393529fed043c7dbfd9358a4ae47a88a59949b07e7631722fd6959002 http://127.0.0.1:1337 secp256k1 0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523 127.0.0.1:4000

改进

CITA Cloud

参考

溪塔科技_CITA