导读: 当时领导拍着桌子说要用Go语言来搞区块链技术, 我一下子就急了。虽然从实际情况来看, 用Go语言去写P2P节点的并发模型确实比较顺手...
当时领导拍着桌子说要用Go语言来搞区块链技术, 我一下子就急了。虽然从实际情况来看, 用Go语言去写P2P节点的并发模型确实比较顺手, 但是你如果非要拿它去写智能合约或者是写共识算法, 那确实属于完全没有必要的折腾, 所以根本就不要硬凑在一起使用。
我已经亲眼看到了很多团队拿着Goroutine去模拟BFT共识, 这个状态非常不稳定, 稍微抖一下就会乱套, 而且消息丢了他们都不知道在哪里出了差错。
在网络层用Go语言进行编程, 这点完全没有问题, 但是在共识算法和状态机的部分最好老老实实地使用Rust或者C++, 千万不要把所有东西都赌在某一种编程语言上面, 如果真的发生了故障, 那么最后没有人可以承担得起责任。

对于小型团队来说,应当选择将Go语言与Rust语言混合使用的开发策略, 切勿追求规模上的庞大。据我所知, 曾有一个小组全程使用Go语言开发了八个月的区块链项目, 但在系统上线的当天, 三个节点同时发生了崩溃故障, 导致他们不得不花费整整三周的时间来编写回滚程序, 大家千万不要学习这种做法。
转载请注明出处:财经热点,如有疑问,请联系()。
本文地址:https://gyszyy.net/imgwrk/11501.html
