区块链的公链开发这个项目, 它是横跨了底层协议、共识算法还有状态管理这些多个不同的技术栈子的, 所以它的入门门槛是不低的。这篇教程, 是把核心的链路给大家捋得清清楚楚的, 是打算帮你先去建立一个完整的技术认知框架, 然后再去动手写代码的。
公链开发用什么语言
目前,在公链底层开发这个领域里头, 大家普遍都会去选择 Go 语言还有 Rust 语言。前者这个东西, 特点是比较容易上手, 而且生态发展得比较成熟, 具体来说, Cosmos 和 Tendermint 这样的项目, 他们都是使用 Go 语言来进行开发的。
后者这个语言呢, 它的性能上限会更高一些, 同时在内存安全这方面的保障也要更好, Solana 这个区块链底层架构就是基于 Rust 语言构建起来的。如果你打算去做应用层的 SDK, 或者是轻客户端相关的工作, 那么 TypeScript 以及 Python 这两种编程语言, 也都是完全可以够用的。
在选型的时候, 千万不要依靠拍脑袋来决定, 建议先去把一条开源公链的完整源码给跑通一遍。把 BFT 共识流程和 EVM 字节码执行引擎这两个部分的代码, 逐行地进行阅读和理解一番, 这样做实际上可比去翻阅几十篇博客文章要来得更为实在和有效得多。
公链架构怎么设计
一条公链的最小骨架是由共识层、数据层、网络层与执行层这四个方面所组成的。其中, 共识层的任务是对出块以及最终性进行管理, 数据层的职责是关于账本存储和状态转换的管理, 网络层主要是进行P2P消息的广播工作, 而执行层则是用来运行智能合约或者处理交易逻辑的。这四层之间的接口边界需要被想清楚。
其中, 状态根哈希是连接共识层与执行引擎的核心的纽带。在每一轮进行出块操作之后, 执行引擎会计算出来一个全新的 Merkle 根节点路径, 然后再把这个结果交给共识层来进行验证。如果这个环节里面的设计得不够妥当, 那么链上面的数据一致性方面就会产生非常严重的问题。

把上面提到的那些个层次全都消化吸收得清清楚楚, 然后再动手去照着具体的公链源代码进行实际操作, 那么关于如何进行公链开发这方面的路子, 就会变得清楚明白起来。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://m.zmdyd.cn/zbimqbxz/10652.html
