我在写合约的这些年里,Haskell的区块链这块领域我算是进得比较早的人。当Plutus这个东西出来的时候我就赶紧转头去做Cardano这个生态了, 感觉脑子以前用Solidity那一套的思路跟现在的状况完全是属于两个不同的世界, 里面的坑我也踩了不少, 今天也就随便聊聊天, 说说话。
haskell区块链好上手吗
转型开始的头两个月, 这个过程真的是非常让人感到磨人的。Haskell语言的类型系统是强到让编译器基本上不允许我们去犯那些低级的错误, 但是UTxO模型一上来之后, 整个关于控制流的思维方式都必须被打散并且重新进行构建。
光是去仔细阅读和分析LedgerState以及Builtin这两个东西之间的交互文档, 就花费了超过一周的时间, 以至于看得人的眼睛都觉得花了。
经过了后面的慢慢思考与领悟, 人们逐渐明白了这样一个道理, 那就是不应该总是想着如何去编写循环结构和分支结构, 而是应该把相应的逻辑部分进行拆解, 使其变成代数数据类型, 然后让类型系统来帮助自己完成正确性的证明工作, 虽然在整个过程中确实会比较缓慢, 但是生成的代码的健壮性是非常强大的。
haskell区块链值得学吗
并非每一个人都有必要去走这样的一条道路。如果你是想要能够快速地把事情给做出个结果来, 去写一个像什么去中心化金融的小规模项目的话, 那么选择使用 Rust 或者 Solidity 这些技术会显得要省事得多一些。
然而, 如果你是打算要做那种达到金融机构级别的高要求智能合约的, 并且是需要让它能够经受住严格的安全审计流程考验的, 那么 Haskell 语言在区块链技术领域所具备的发展上限和高度的话, 确实是比前两者要高出了很多的一个存在。
我们团队的核心合约现在, 全都都是用Plutus这个词来进行编写的。去年进行的审计工作, 它的通过率比以前高出了一倍不止。这个语言的热度目前是不高的, 但是, 做那类严肃业务的人, 是正在这慢慢地转变过来的。

在选择编程语言的时候, 不要盲目的去追赶什么当前的热点话题。你需要考虑的是你的这个合约项目到底要运行多少年, 以及它是否能够扛得住严格的专业安全审计, 这才是最实在、最基本的判断标准。
