/cita

A high performance blockchain kernel for enterprise users.

Primary LanguageRustApache License 2.0Apache-2.0

Circle CI Status

All Contributors

English | 简体中文

What is CITA

CITA is a fast and scalable blockchain kernel for enterprises. CITA supports both native contract and EVM contract, by which enterprise users can build their own blockchain applications. CITA has a unique architecture which enables enterprise users to release all their computing resources.

  • Horizontal scalability: With the microservice architecture, a logical node can be easily scaled to a cluster of servers. Node administrators can increase system capacity simply by adding more PC servers on high load. The administrator can even use dedicated servers to provide services for hot-spot accounts. Outside one node's boundary, nodes communicate with each other using P2P network; inside each node, microservices communicate with each other by messaging queue.

  • Customizable and Pluggable Components: CITA's microservices are loosely coupled and their communications are only via the message queue. Hence, it‘s flexible to improve current components with better algorithms (such as new consensus algorithms) or more appropriate technical solutions (such as new DBs or new privacy solutions). Moreover, business logic is extremely complicated in enterprise applications. With CITA, you can easily customize your blockchain with the certain feature to fit your own business requirements.

  • High Performance: In CITA, consensus and transaction execution are decoupled as separate microservices. The consensus service is only responsible for transaction ordering, which can finish independently before transaction execution, thus increase transaction processing performance. In additional, CITA also includes lots of other optimizations to fully utilize multi-cores and multi-servers' computing power. To this end, it utilizes the Rust language, a hybrid imperative/OO/functional language with an emphasis on efficiency.

  • Resiliency and Reliability: CITA provides tools to backup blockchain data by taking snapshot, which can help you to resync the blockchain data in a short time. And through Rust’s language-level memory and thread guarantees and a disciplined approach to exception-handling, we can state with a high degree of certainty that our code cannot crash, hang or bomb-out unexpectedly.

  • Compatibility: CITA supports the use of Solidity, Go, and Rust to develop smart contracts. It also supports all Ethereum development tools (Truffle, Zeppelin, Remix, etc.).

  • Chain Interoperability: We perceive that independent blockchains are constantly emerging nowadays and even more in the future. How do these chains interoperate with each other to form blockchain network? CITA Support cross-chain communication by providing a simple cross-chain protocol currently. More explorations are undertaking in CITA, aiming to amplify the value of applications running on the various chains.

  • Engineering Experience: There're many CITA networks running in banks, payment and insurance production environment, with Rivtower or CITA Integration Provider's technical support. CITA has accumulated a lot of engineering experience.

Whitepaper

For more details please check the white paper.

Document

API/SDK

CITA supports JSON-RPC and WebSocket (experimental) API/v1.

For CITA API/v1, You can use any HTTP client, or following SDKs:

Contributing

CITA is still in active development. Building a blockchain platform is a huge task, we need your help. Any contribution is welcome.

Please check CONTRIBUTING for more details.

Follow us

Weibo

License FOSSA Status

CITA is currently under Apache 2.0 license. See the LICENSE file for details.

Credits

CITA is created by Rivtower team with ❤️.

Contact us

Email: contact@rivtower.com

Contributors

Thanks goes to these wonderful people (emoji key):

kaikai
kaikai

💻
zhangyaning
zhangyaning

💻
Boyu Yang
Boyu Yang

💻
zhiwei
zhiwei

💻
漂流
漂流

💻
AsceticBear
AsceticBear

💻
yubo
yubo

💻
zhouyun-zoe
zhouyun-zoe

📖
Bicheng Gao
Bicheng Gao

💻
lhf
lhf

💻
LinFeng Qian
LinFeng Qian

💻
keroro
keroro

💻
Yaorong
Yaorong

💻
suyanlong
suyanlong

💻
Chen Yu
Chen Yu

💻
zhangsoledad
zhangsoledad

💻
hezhengjun
hezhengjun

💻
zeroqn
zeroqn

💻
urugang
urugang

💻
Jiang Jinyang
Jiang Jinyang

💻
Jan Xie
Jan Xie

💻
Sun Lei
Sun Lei

💻
hyl
hyl

💻
Terry Tai
Terry Tai

💻
Ke Wang
Ke Wang

💻
Mohanson
Mohanson

💻
quanzhan lu
quanzhan lu

💻
duanyytop
duanyytop

💻
clearloop
clearloop

💻
nokodemion
nokodemion

💻
Rain Chen
Rain Chen

💻
Daogang Tang
Daogang Tang

💻
xianliang jiang
xianliang jiang

🐛
Nov
Nov

💻
Rai Yang
Rai Yang

💻
Wenchao Hu
Wenchao Hu

💻
kaiyu
kaiyu

💻
James Chen
James Chen

💻
rev-chaos
rev-chaos

💻
Eason Gao
Eason Gao

💻
Eric Zhang
Eric Zhang

💻
Jun Jiang
Jun Jiang

💻
PRIEWIENV
PRIEWIENV

💻
The Gitter Badger
The Gitter Badger

💻
CL
CL

💻
programmer-liu
programmer-liu

💻
Jiayu Ye
Jiayu Ye

💻
liyanzi
liyanzi

🐛
JiaYi
JiaYi

📖
Timmy Zhang
Timmy Zhang

🤔
Wu Yuyue
Wu Yuyue

📖
xiangmeiLu
xiangmeiLu

📖
mingxiaowu
mingxiaowu

🐛
wangfh666
wangfh666

🐛
travis-joe
travis-joe

📖
UDLD
UDLD

📖
Yieazy
Yieazy

💻
ShenLei
ShenLei

💻

This project follows the all-contributors specification. Contributions of any kind welcome!