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