配色: 字号:
区块链学习笔记
2018-03-29 | 阅:  转:  |  分享 
  
区块链学习笔记第一次听说阿三联盟,还以为是印度的一个爱国团体。后来不断的听到牛逼的银行和国际知名投资机构加入,才知道R3联盟是全球金融领域最
大的区块链联盟组织。今天详细的给大家讲一讲R3到底是一个什么来头,他们是干什么的,R3联盟跟传智播客区块链课程有什么关系。R3区块
链联盟,是由一家总部位于纽约的区块链创业公司R3CEV发起,在2015年9月15成立的,至今已吸引了上百家巨头银行的参与,其中包括
富国银行、美国银行、纽约梅隆银行、花旗银行、德国商业银行、德意志银行、汇丰银行、三菱UFJ金融集团、摩根士丹利、澳大利亚国民银行、
加拿大皇家银行、瑞典北欧斯安银行(SEB)、法国兴业银行等。微软和因特尔也是R3区块链的支持者。在中国,中国平安,招商银行,中国外
汇交易中心,民生银行,恒生银行,汇丰银行等也先后加入了R3区块链联盟。区块链是一种分布式的信任系统,他可以缩短结算时间,节约对账成
本。使用基于区块链的系统可以显著缩短交易的结算时间,甚至是从几天缩减到数小时。这也可以帮助减少全流程的资本需求、运营成本和托管费用
。R3区块链的产品叫corda,遵循阿帕奇2.0协议开源,代码托管在github上,这是第一个真正落地,且真实商用的区块链项目,所
有代码都是kotlin写的。我们来请corda的高级技术经理讲一讲,为什么项目决定选用kotlin作为开发语言吧。大家从gith
ub上fork出来corda的代码研读,很快就能发现corda的代码竟然是用kotlin写的,JetBrains公司开发的一款“小
众”编程语言.作为企业级的开发,特别是金融类型的项目,竟然用一门没有大众验证过的语言,背后的原因是什么呢。(编者注:corda是
在2015年开始研发,在2015年kotlin确实是一门小众编程语言,kotlin在2017年被谷歌正式宣布为官方编程语言,被sp
ring官方指定为一等支持语言)为什么选kotlin?我们列出来所有候选人:JVM,.NET,NodeJs,Python
/Ruby,Go,Haskellorc语言编写本地代码?选哪个呢?如果选JVM平台,用什么jvm语言呢?JavaSc
alaCeylonClojureKotlinPythonRubyJavascriptorHaskelltous
e(这些语言都有JVM的实现)选择JVM作为平台的原因在企业应用中是很容易理解的,可以这样说,如果您想要一个可伸缩的、线程安全的
、带垃圾收集的、跨平台运行时环境,并且需要大量的文档库来解决常见的业务任务,只有JVM平台可以选择。在Corda开始开发的时候,它
没有名字,也不清楚它会不会发展成为一个产品。事实上,当2015年12月成为Corda的项目负责人(我上任的第一天),只是想使用区块
链技术创建一个通过智能合约来解决UTXO问题的原型,我们尚不清楚这些原型是否会变成任何东西。我们面临着一个棘手的选择:一方面,我们
希望快速探索算法和数据结构。另一方面,这个产品构建出来要满足大型企业的需求,我们需要能迅速迭代这些产品。Java显然符合这些要求,
但它缺乏现代的便利,生产效率低,使用它还会降低开发人员的士气。动态类型语言python不能满足需求:因为类型的正确性、工具和性
能优势是不容忽视的问题。另外我们希望能够雇用金融行业领域专家,同时建立一个开发团队,Haskell这样的语言绝不是不可能的,有银
行业经验人都很懒,让他们重头学习一门新的函数式语言是很危险的。此外,产品的本质意味着我们要有“用户”,换句话说就是插件和应用程序开
发人员,要求他们学习全新的编程语言和工具链是没有意义的,我们的语言选择不应该过多地限制我们的用户。这些要求让我们有了Kotlin,
Scala和Ceylon。它们都是相当相似的语言,都很吸引人。最后我们选择了Kotlin,原因如下:①与Java100%兼容
因为Kotlin代码非常紧密地转换成等价的Java,几乎所有现有的面向Java的工具都能在这个新语言中工作。这种情况并不总是适用于
其他语言,例如,Quasar很难使用Scala代码。②优秀的文档和小巧的标准库使它成为一门非常快上手的语言。我们没有明确地宣传我们
的职位,因为我们需要Kotlin的经验,并且已经雇佣了一些不知道它的人,新人1-3天就可以快速上手这门语言。③IntelliJ是最
受欢迎的IDE。④我之前使用过kotlin,使用它是令人愉快的,所以我感到有信心的新团队成员也会喜欢它。如果当年不存在kotlin
语言,我们可能会选用scala,这两门语言有竟然的相似性。结论:经过一年多的大规模实战应用,项目状态良好,每个开发人员都很开心。我
们的代码效率很高。虽然在项目开始时选择一种未经证实的编程语言是一种风险,但这是经过计算的。如果再让我们选择一遍,我们还会选择kot
lin。外号:传智播客区块链课程采用kotlin为主要编程语言,kotlin目前是一门广泛接受的高性能的编程语言,一种语言可以完
成跨平台的开发,kotlin可以运行在jvm上,可以编译成javascript运行在浏览器中,可以编译成二进制nativie代码,脱离java虚拟机在嵌入式设备上运行。Kotlin是一门全栈的跨平台编程语言。
献花(0)
+1
(本文系大大的大大...首藏)