【我的 FunC 学习之旅】从激战到驾驭,编程之路的新篇章

King 发布于 2024-08-07 阅读 4217

近期,我全力以赴投入TON链智能合约的学习,过程虽充满挑战,但收获颇丰。今天,我想与大家分享一下过去一个月以来的学习之旅。学习的初衷很直接:在10亿+用户规模的背景下,不紧跟时代步伐,实属不该。以下是我在学习过程中的点滴感悟和经验。引言大家好,今天我想和大家分享一段特别的旅程——

image.png

近期,我全力以赴投入TON链智能合约的学习,过程虽充满挑战,但收获颇丰。今天,我想与大家分享一下过去一个月以来的学习之旅。

学习的初衷很直接:在10亿 + 用户规模的背景下,不紧跟时代步伐,实属不该。以下是我在学习过程中的点滴感悟和经验。

引言

大家好,今天我想和大家分享一段特别的旅程 —— 我的 FunC 学习之路。在 TON 这个充满挑战的世界里,我历经一番激战,终于成功攻克了难以驾驭的 FunC!

在初次接触 TON 时,我仿佛看到了当年编写 Erlang 代码时的影子,那些熟悉的 Actor 模型让我倍感亲切。这种似曾相识的感觉,让我对 FunC 产生了浓厚的兴趣,也激发了我深入探索的决心。

不得不说,FunC 的入门之路实属不易。我最近废寝忘食地投入到 FunC 的学习和调试中,每一个深夜的思考和每一次代码的调试,都是我迈向 FunC 高峰的坚实步伐。如今,我终于迈过了这道门槛,那份成就感满满,让我觉得所有的努力都是值得的。

阶段

我的学习之旅可以分为以下几个阶段:

1、一天速成Tact,打下基础

在正式踏入 FunC 的世界之前,我用一天时间快速掌握了 Tact,这为我后续的学习奠定了基础。

使用 Tact 的好处:可以帮你自动生成 FunC 合约和 TypeScript 脚本,方便前后端使用;缺点是 Gas 费比纯手工打造的 FunC 合约要昂贵一些,因为 Tact 在编译 FunC 时,会产生大量的辅助脚本。

  • Tact 中文教程:https://www.tact-lang.cn/
  • Tact 样例:https://tact-by-example.org/

2、啃透官方文档,构建知识框架

我耐心地阅读了所有 FunC 的官方文档,虽然信息量庞大,但我努力提炼出核心要点,为我的 FunC 学习构建了一个扎实的知识框架。

  • 智能合约:https://docs.ton.org/mandarin/develop/smart-contracts/
  • 智能合约地址: https://docs.ton.org/mandarin/learn/overviews/addresses
  • FunC语言:https://docs.ton.org/mandarin/develop/func/overview
  • TVM基础:https://docs.ton.org/mandarin/learn/tvm-instructions/tvm-overview
  • 分片原理:https://docs.ton.org/mandarin/develop/blockchain/shards
  • Gas 费:https://docs.ton.org/mandarin/develop/smart-contracts/fees
  • Exit Code(重点):https://docs.ton.org/mandarin/learn/tvm-instructions/tvm-exit-codes
  • Cell数据结构:https://docs.ton.org/mandarin/develop/data-formats/cell-boc
  • 发送消息:https://docs.ton.org/mandarin/develop/smart-contracts/messages
  • All in One 工具:https://github.com/ton-org/blueprint

3、Tact与FunC的对话,深入理解

回到 Tact,通过编译代码来观察生成的 FunC,这个过程让我对 FunC 有了更深入的理解,也让我看到了两种语言之间的紧密联系。

4、反复研磨,对比学习

我不断地编写和修改 FunC 代码,与 Tact 编译出的 FunC 进行对比,这种反复研磨的学习方法让我逐渐掌握了 FunC 的精髓。

5、实战演练,Jetton 与 NFT 的挑战

最终,我通过编写业务代码,尤其是实现Jetton和NFT的发放,完成了从理论到实践的飞跃。这两个项目让我遇到了无数的挑战,但同时也让我体验到了编程的乐趣。

  • NFT 教程:https://docs.ton.org/mandarin/develop/dapps/tutorials/collection-minting
  • Jetton 教程:https://docs.ton.org/mandarin/develop/dapps/asset-processing/jettons
  • Ton-Dynasty Jetton 教程:https://ton-dynasty.github.io/docs.contracts/docs/category/tutorial---jetton
  • Ton-Dynasty NFT 教程:https://ton-dynasty.github.io/docs.contracts/docs/category/tutorial---nft
  • Ton-Dynasty NFT 进阶教程(碎片化交易):https://ton-dynasty.github.io/docs.contracts/blog/nft-enforced-royalty/

总结

在TON的世界里,我不仅重温了编程的激情,更在FunC的学习之路上获得了成长。每一次调试的成功,每一次代码的优化,都是我在这场激战中取得的胜利。感谢FunC,让我在编程的道路上又迈出了坚实的一步。

在此,我想对同样在编程之路上奋斗的你说:不要畏惧挑战,坚持不懈,我们都能在TON的世界里找到属于自己的一片天。让我们一起,驾驭FunC,书写编程的新篇章!

感谢大家的阅读,希望我的分享能给你们带来启发和动力。继续前进,我们在编程的世界里不见不散!

相关文章

3 条评论

怎么文字的AI味这么浓哈哈哈

2024-08-08 10:38
fake 回复 Crypto0xCat

不过很好用

2024-08-08 14:59
King 回复 Crypto0xCat

哈哈,这年头基本上都会AI优化一下文字描述,不过,整个大纲都是这一个月下来的经历,关键里面每一篇文章链接都是一点一点记录下来,并深入读过的好文,这些AI是做不到的。

2024-08-09 08:41