认识
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-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
参考