主办方: Cregis
主持人: Cici
时间: 2023年8月10日晚上9点
嘉宾: Cregis科学家Aaron、Cregis技术开发者dim1tp1、POMP核心贡献者Crystal、Openbuild开发者社区发起人Ian Xu
回顾
什么是Anychain?
Anychain是一个rust库,旨在简化多链钱包的开发和实现过程。Aaron老师在介绍区块链技术的广泛性时,强调了涉及多种编程语言和技术的复杂性。例如,不同的区块链项目可能使用Go语言、C语言等编写,每个项目的结构也各不相同,如比特币采用UTXO模型,以太坊采用EVM账户模型。
对于开发者而言,如果只是使用现有的区块链应用进行开发,问题不大。但在许多业务场景下,例如开发一款链游,可能需要在浏览器上嵌入应用,或者构建不同类型的交易。这就要求开发者深入了解协议的本质和接口规范,并实现它们。此外,跨平台编译的需求,如在安卓、iOS和PC端的实现,也会增加使用成本,不利于整个区块链生态的发展。
为了解决这些问题,Anychain团队决定将基础功能抽象出来,做成一个库。在选择实现语言时,他们经过调研,最终选择了Rust语言。尽管某些库的支持程度不足,需要从头开始实现,但Rust能够实现更安全和高效的代码。目前,整个运转情况良好,新版本也将使用这个库,团队自己也会优先试用。如果大家觉得体验良好,可以放心使用Anychain的库来构建自己的功能,从而促进区块链技术的普及和发展。
Rust在做区块链开发时有什么优势?
Ian Xu老师认为选择Rust主要出于两方面的考虑:首先是安全性,Rust在内存安全方面的表现卓越;其次是高性能,它本身就是与C++相匹敌的编程语言。除此之外,Rust在并发和异步处理方面也展现出了极高的水准。
虽然目前使用Rust的开发者可能相对较少,或者说Rust的学习门槛较高,但Ian Xu老师坚信,随着区块链行业的不断发展和成熟,Rust将会得到更广泛的关注和应用,行业的协同性也会逐渐增强。
Anychain的价值和它如何帮助开发者构建更复杂的应用?
Aaron老师深入探讨了开发者如何选择与区块链交互的问题。以一个浅显的例子来说,假如开发一款在线链游,开发者可能希望用户直接通过MetaMask等钱包进行交互。然而,许多应用背后的流程远非如此简单,它们需要服务器端与链进行复杂的交互。
当前阶段,用户可以直接在钱包中,如MetaMask,进行展示和交互。但Aaron老师认为,这仅仅是一个初级阶段。随着区块链性能的不断提升,未来可能会涌现更多去中心化应用,甚至达到手机APP级别的真实应用。在这种情景下,是否仍以钱包作为统一入口,还有待深入探讨。
目前,我们所有与链的交互都依赖于钱包提供的功能。但未来若要自主与链交互,就像使用微信小程序时若要使用操作系统级别的功能,就需要其他工具。这正是Anychain的价值所在,它能够协助开发者构建更为复杂的应用。
Aaron老师进一步指出,随着行业的成长,企业对原生链的调用需求将逐渐增多。因为目前的钱包,特别是个人版钱包,其功能相对单一,只能满足个人的基本需求。许多企业级需求,如去中心化的供应链金融系统或去中心化的银行业务,中间流程无法仅通过个人钱包来完成,需要原生链的调用。因此,Anychain的工具可以为解决这些问题提供关键支持。
Rust作为钱包开发语言具有哪些优势?
Dim1tp1老师从一线开发的角度分享了他对使用Rust编写钱包的经验和心得,他认为Rust在以下方面具有明显优势:
1. 内存安全:Rust的编译器在编译阶段就能有效防止悬垂指针、空指针引用、缓冲区溢出等问题,大大提高了代码的安全性。
2. 高效:Rust的编译器生成的机器码非常高效。尤其在开启release模式后,生成的机器码体积小、运行速度快。当然,这也取决于编程者的习惯和对Rust的了解程度。例如,如果经常使用引用而非频繁复制,代码会运行得更高效。
3. 跨平台支持:Rust的跨平台支持能力强,这主要得益于Cargo。通过Cargo,开发者可以轻松配置多个目标平台,并直接在目标平台上编译和执行。
4. 并发安全:虽然许多人赞誉Rust的并发性能,Dim1tp1老师却认为它的并发性能不一定优于Go。Rust的真正优势在于其在类似C和C++的语言中做出的并发安全改进。例如,如果开启一个线程,而该线程中途崩溃,资源的回收是由编译器保证的,从而避免了像C语言中那样编写繁琐的回收逻辑。
公链崛起,未来区块链生态和跨链技术的价值和重要性是什么?
Crystal老师认为在整个区块链行业中,公链众多,生态呈现出百花齐放的景象。随着一波又一波的技术浪潮,更多优秀的公链不断涌现并活跃在市场中。
Crystal老师所在的团队支持多链的资产证明,允许用户在连接钱包后,证明他们在不同链上持有的不同资产,包括token和NFT。他们的目标不仅在于支持现有的链,还希望未来能够支持更多链的资产证明。
这样做的初衷是什么呢?他们考虑到未来可能会有更多支持不同链的应用崛起。随着各种不同公链的兴起,他们希望能够扮演一个支持者的角色,让用户在各个链上(包括Layer 1和Layer 2)持有和验证不同的NFT或token,并将其应用到不同的场景中。
更重要的是,他们的努力也旨在降低开发者进入Web3世界的门槛,使他们更容易融入这个充满创新和机遇的世界,感受到Web3和区块链的独特魅力,并逐步深入探索和技术开发。
总结
在本次Twitter Space活动中,各位嘉宾分享了他们在区块链技术和开源技术方面的见解和经验。他们普遍认为Rust语言在区块链开发中具有显著优势,包括内存安全、高效性、跨平台支持和并发安全等。Anychain作为一个库,能够简化多链钱包的开发和实现过程,有助于降低开发者进入Web3世界的门槛。随着公链数量的不断增加,区块链生态和跨链技术的价值和重要性也将逐渐提升。