33复杂美区块链Chain33开发语言

2022-03-02 08:41:46 浏览数 (2)

系统特点

一个语言是否成熟的语言,一个重要的标志就是开发过非常大型的系统。云计算领域的两个核心系统docker和k8s都是用go语言开发的。目前大部分区块链系统也是选择用go语言开发,可以说,要做区块链,go语言是必须要学的一种语言。

开发人员数量

一个语言的入门成本比较低,但是要精通类库和最佳实践,必须要经过数年的学习时间。所以非常小众的语言肯定不在考虑在内,目前go语言在全世界多如牛毛的语言中排行第十名,受到较多的开发者肯定。

语言的工程特性

Go语言在设计的时候,就考虑到了工程实践的问题,一个问题的解决方案基本上都只有一种写法,甚至只是把if写成这样都是非法的。go 提供了gofmt,会自动格式化代码,这样每个人写出的代码风格都非常一致,互相交流起来就不会有障碍。

面向大部分普通程序员

选择go语言的一个很重要的原因,就是一个中等水平的程序员,就能写出非常不错的go代码。这主要的原因还是go语言非常简单,特性非常的少,官方类库又非常丰富,大部分程序员都可以非常容易的上手开发。

 高度模块化,遵循 KISS原则的设计:可插拔,易升级

Chain33的模块化设计,在对区块链的底层架构、应用开发的不同功能和需求进行分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合可以构成不同的产品,以满足市场的不同需求。

开发一个软件其实是一个不断迭代进化的过程,Chain33因此采用“从混沌走向秩序的开发模式”,方便开发者随时调整和扩充。此外,有些开发者可能会在开发过程中发现,有些比较特殊的业务逻辑,需要专门定制某些模块来配合这个业务逻辑。

从迭代和重构、以及系统的可拓展性等角度考虑,Chain33将区块链的底层架构、不同应用开发的功能和需求纳入考量,将系统进行了模块化设计。包括 mempool的排队方式,加密签名的方式,共识的模式,RPC的函数,命令行的命令,钱包的内在逻辑,数据库存储的方式等等,区块链核心的所有模块都可以定制。

采用模块化的设计,这就好比用积木搭建一个机器人,手脚等身体各部分都按照类别放置,可以根据自己的意愿选择组装。在Chain33中,为大家提供了共识、加密和储存等多种模块,开发者在Chain33提供的架构下,可自由组合应用,开发简易,因此仅需基础的编程能力,即可打造一条公链,无需耗费大量成本自己开发区块链底层。

共识部分:

• pbft(联盟链,beta)

• tendermint(联盟链)

• raft(私有链)

• ticket(公链)

• solo (测试链)

加密部分:

• sep256k1 (bitcoin, ethereum)

• ed25519 (tendermint,sc)

• sm2 (国密支持)

store:

• mavl (tendermint 提供的后端数据存储方式)

• mpt (以太坊提供的数据存储方式)

• kvmvcc(目前性能最高的区块链后端存储方法)

执行器部分:

• evm (以太坊虚拟机支持)

• wasm (目前没有开源)

• cert (联盟链权限管理)

• hashlock (hash锁定,和btc,eth 跨链使用)

• paracross (平行链,注意,平行链只是我们的一个插件,可见内核非常的小)

• privacy (类似门罗币的隐私保护实现,这个例子可以好好学习一下,它显示我们系统可扩展性的强大,门罗币是utxo模型,但是也可以在我们系统里面兼容账户模型)

• trade (内置一个币币交易所,可以支持链上所有资产的交易)

Chain33开发平台可用于公链、联盟链及私链开发部署,以及各类商业场景的DAPP应用开发。

公链案例

目前,chain33上已经成功搭建的公链案例包括:比特元区块链网络(BTY),企业级区块链SaaS平台-原链(YCC),Dapp开发者可基于以上公链开发,或自主部署公链、平行链;

联盟链、私链案例

小米与复杂美合作的联盟链等。

平行链案例

上链购-区块链商城、chat33-区块链聊天社交软件、火食-区块链进口食材溯源系统、艺术藏品行业-金丝楠木链、工业锅炉及节能产业-节能链、星晴-区块链医疗智能穿戴设备、区块链游戏—游戏竞猜剪刀石头布等平行链。

各类商业场景的区块链结合

Chain33的性能已证明足以支持商业级应用,包括供应链金融、仓单交易、票据撮合系统等,并可应用在多种产业,如:制造业、物流业、金融业等,不同的产业可在不同的平行链上开发公链,平行链和平行链之间不相互影响。

供应链系统应用

区块链应收款

区块链预付款

供应链金融与管理平台

金融租赁、金融仓储区块链平台

区块链仓单抵押流转与融资、区块链金融租赁等

区块链积分,支付系统

区块链交易所等

0 人点赞