一龙在Rust大会分享
12月26日-27日,由Rust中文社区发起的首届中国Rust语言大会在深圳举行,众多一线公司技术负责人、工程师等齐聚一堂,共同分享在Rust语言开发过程中的技术心得,交流行业资讯。NEAR联合创始人一龙于27日参加大会,并作题为《大型分布式系统中的开发、测试和发布过程中的Rust实践》的演讲。
一龙认为,在实际开发过程中,订立一些基本规则是十分重要的。首先是代码所有者(codeowners),每个代码库/组件应至少拥有两个所有者,且二人都对代码的设计和语言逻辑十分熟悉。
谷歌搜索趋势:如何购买黄金和比特币的搜索量激增:金色财经报道,在美国银行业动荡期间,谷歌趋势显示与黄金收购相关的搜索量显着激增,搜索查询在 2023 年 4 月的第一周达到满分 100。同样,搜索两周前,即 2023 年 3 月 20 日,术语“如何购买比特币”达到了相同的分数。除了黄金,谷歌趋势数据还显示,人们对黄金的兴趣在搜索词“如何购买比特币”中的排名也有所上升,根据 90 天的统计数据,在 2023 年 3 月 20 日达到了 100 的高分。Bitcoin.com News数据显示,从 3 月中旬到 4 月,搜索查询“比特币”也在增加。[2023/4/28 14:32:37]
Polychain Capital实习生展示如何使用100美元对CheapETH进行51%攻击:风险投资公司Polychain Capital的18岁实习生Anish Agnihotri展示了51%攻击的工作方式,以达到教育目的。Agnihotri选择了CheapETH来进行实验。为了发动攻击,Agnihotri租用了能够每秒执行14.4亿哈希的挖矿设备。这样一来,他就可以占据该网络哈希率的72%左右。此外,他还租用了虚拟机来运行区块链。总费用不到100美元。(The Block)[2021/5/18 22:12:59]
然后是在开始开发前就要制定测试计划,代码测试驱动代码检查,如果测试工作不够,需要扩大测试范围然后再继续代码检查。
日本金融厅长官:日本要密切关注如何克服发行CBDC的挑战:日本金融厅长官HIMINO表示,日本不仅需要对央行数字货币(CBDC)进行学术研究,要更密切地关注如何克服发行央行数字货币可能带来的挑战。如果只是解除对比特币和其他加密货币的管制,这可能只会增加投机交易,并不一定会促进技术创新。不考虑推动加密货币交易的新举措,希望更多地关注如何将区块链技术与增强公共福利的政策结合起来。[2020/8/5]
最后,序列化需要保证确定性,目前很多序列化方法无法保证字节到字节的确定性,或者运行速度十分缓慢。为了解决这个问题,NEAR团队开发了BORSH(BinaryObjectRepresentation
SerializerforHashing,谐音也是东欧经典菜肴罗宋汤),该方法不仅解决了序列化的问题,而且运行速度较快,使用较为方便。
直播|条子哥 > Chainlink如何在一年内将生态扩大了400%?:金色财经 · 直播主办的《 Focus 价值50》深度解析 6 大TOP50 项目,白话分享,刷新共识!6月16日16:30准时开播,本期Chainlink中国区负责人 条子哥将在直播间聊聊“Chainlink如何在一年内将生态扩大了400%?”,该项目刚刚被当选世界经济论坛技术先锋,感兴趣的朋友扫码移步收听![2020/6/16]
之后,一龙继续就系统升级这一话题进行分享。众所周知,一个真正的去中心化协议在升级上十分困难,因为验证节点、矿工分布在世界各地。为此,NEAR采用了向后兼容一个版本的方法,确保新版本的系统仍然可以和上一个版本兼容,比如新版本可在旧版本的节点数据之上运行,操作旧版本的节点等。
动态 | 欧盟议会报告揭示银行如何打败比特币:7月24日消息,欧洲议会政策部发布的一份报告中解释了央行发行的加密货币如何胜过比特币。ECON委员会在报告中称,中央银行发行的数字货币将对当前的加密货币市场产生重大影响,并将私人发行的数字货币(如比特币)与中央银行发行的数字货币区分开,将它们相互对立。报告还指出:中央银行和商业银行基本上可以通过阻止用户访问交易所或钱包或通过拒绝服务,来对比特币7708.68以及其他加密货币进行定价。[2018/7/24]
接着,一龙就更新数据框架进行了展示。一龙认为,节点应该仍然可以处理旧版本的数据,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为任务关键型协议的快速开发提供了最佳环境。为保证创新的速度,拥有完备的开发流程以及对协议进行稳健测试是十分重要的,需要引起开发者的重视。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。