一龙在Rust大会分享
12月26日-27日,由Rust中文社区发起的首届中国Rust语言大会在深圳举行,众多一线公司技术负责人、工程师等齐聚一堂,共同分享在Rust语言开发过程中的技术心得,交流行业资讯。NEAR联合创始人一龙于27日参加大会,并作题为《大型分布式系统中的开发、测试和发布过程中的Rust实践》的演讲。
一龙认为,在实际开发过程中,订立一些基本规则是十分重要的。首先是代码所有者(codeowners),每个代码库/组件应至少拥有两个所有者,且二人都对代码的设计和语言逻辑十分熟悉。
大咖零距离 | 牛市来了 还可以在什么点位上车:2月12日16:00,金色盘面邀请区块链KOL安迪做客金色财经《大咖零距离》直播间,将分享《牛市来了,还可以在什么点位上车?》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/2/12]
然后是在开始开发前就要制定测试计划,代码测试驱动代码检查,如果测试工作不够,需要扩大测试范围然后再继续代码检查。
今晚8点袁煜明将做客《金色讲堂》 深入解读“什么是区块链思维”:今晚20:00,火币区块链应用研究院院长袁煜明将做客《金色讲堂》深入解读“什么是区块链思维”。袁煜明将从股份制的种种弊端出发对区块链的出现给行业所带来的改变进行一一讲解。同时,袁煜明还会对区块链机制目前所存在的问题进行全方位的解读。详情请关注今晚8:00的《金色讲堂》。[2018/4/10]
最后,序列化需要保证确定性,目前很多序列化方法无法保证字节到字节的确定性,或者运行速度十分缓慢。为了解决这个问题,NEAR团队开发了BORSH(BinaryObjectRepresentation
SerializerforHashing,谐音也是东欧经典菜肴罗宋汤),该方法不仅解决了序列化的问题,而且运行速度较快,使用较为方便。
IT记者刘韧:区块链和互联网一样是创业公司机会,没BAT什么事:知名IT记者刘韧今日发表朋友圈说:“1996年到2004年,我对互联网的错误认识。1.1998年完成《知识英雄》,可以去做门户,但我选择写作《企业方法》,我当时的想法和现在很多人对区块链的认识相同,互联网还处在早期,我先将中国IT史写完,互联网机会有的是,等技术成熟了,我再介入不迟。结果到2000年我只有做Donews的机会了。2.《中国.com》很多篇幅写联想怎样转型互联网。我提问《杨元庆会不会掉队?》但依然看好杨元庆。区块链和互联网一样是创业公司机会,没BAT什么事,更不必去看京东的白皮书。3.以传统企业为本,传统企业崇拜,但传统企业使用互联网或互联网化,和互联网公司是两码事。今天传统企业Tokenize,肯定也不是区块链公司,别跟。”[2018/3/22]
美众议院金融服务委员会:正深入研究如何更好地监管加密行业:金色财经报道,据官方推特消息,美国众议院金融服务委员会正在关注加密货币作为长期投资的影响,并正在深入研究如何更好地监管这个快速增长的行业。[2021/7/1 0:18:18]
之后,一龙继续就系统升级这一话题进行分享。众所周知,一个真正的去中心化协议在升级上十分困难,因为验证节点、矿工分布在世界各地。为此,NEAR采用了向后兼容一个版本的方法,确保新版本的系统仍然可以和上一个版本兼容,比如新版本可在旧版本的节点数据之上运行,操作旧版本的节点等。
币情观察室 | 揭秘庄家操盘手法 主力是如何血洗散户?:4月9日19:00,金色盘面邀请行情大V 币圈缠论狙击手做客金色财经《币情观察室》直播间,将分享《揭秘庄家操盘手法 主力是如何血洗散户?》,敬请关注,扫描下图二维码即可观看直播![2020/4/9]
接着,一龙就更新数据框架进行了展示。一龙认为,节点应该仍然可以处理旧版本的数据,NEAR使用BORSH的enum作为版本号,BORSH的序列化器/反序列化器可自动处理所有的版本问题。通过扩展enum和添加新版本的数据结构,开发人员可以轻松地添加新的版本。NEAR开发团队为每个版本的协议都配置了一个名称以及一个与其相关联的号码。每当对协议进行更改时,就会生成一个名称,用以对具体的更改做出解释。
此外,NEAR使用了一种被称为FeatureFlag的方法,可允许开发人员在执行多种开发任务的同时添加新的功能。无论是在runtime级别、底层的链级别还是在网络级别开发,其操作都不会对主网或彼此构成影响。
接着,一龙继续为大家介绍了NightlyProtocol。该协议借用了Rust编译器的特点,对协议收录的功能进行了定义,允许将不稳定的代码并入主干代码,同时不会影响稳定发布。
之后,一龙分享了他在开发中的测试环节的一些看法。一龙认为,大量的测试工作可以大大提高开发进程。为此,NEAR采用了持续集成(continuousintegration)的工程流程,最终顺利实现了开发流程的优化。接着,一龙介绍了NEAR开发团队进行了大量的和非密闭式的测试,有些测试因为过于复杂导致无法在每个commit上运行,有些测试则需要开放的端口或严重依赖CPU以实现并行运行。
之后,一龙介绍了集群测试。一龙认为,去中心化协议也应该在对抗性环境和复杂环境中测试,为此NEAR团队对协议进行了集群测试,该测试会对整个节点网络进行编排,确保其在对抗性环境下接受考验。接着,一龙介绍了NightlyTest,该测试会在最新的mastercommit上运行,大概持续4小时,一旦发现问题,可以对代码进行回滚。
之后,一龙对网络测试进行了分享。NEAR的测试网分为两个级别,分别是betanet和testnet,前者运行nightly_protocol,由专门的节点运营商进行去中心化协议测试,工具开发者也开始在此期间集成新的功能。后者则运行预先生产的协议版本,开发者会对新版本进行“金丝雀测试”,确保其向后兼容,节点运营商对基础设施和二进制进行测试,开发者则对其开发的应用进行测试。
最后一龙对本次演讲做了总结,他表示区块链是由不同协议构成的一个大家庭,在开发和采用特定应用协议上大大减轻了工作人员的协调工作。协议的创新速度定义了其成功程度。Rust为任务关键型协议的快速开发提供了最佳环境。为保证创新的速度,拥有完备的开发流程以及对协议进行稳健测试是十分重要的,需要引起开发者的重视。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。