Giter Club home page Giter Club logo

professional-solidity's Introduction

Solidity 高级程序设计

前置说明:本教程的面向群体不是零基础 solidity 小白,不适合第一次接触 Solidity 的初学者;你需要在掌握 solidity 的基本用法这个前提下,才能更好的阅读和理解;最起码你需要有其他语言的生产级项目的编码水平,并且浏览过 Solidity 的官方 API 文档。本教程默认读者已经掌握了 Solidity 语言的基本用法,供查漏补缺和深入学习使用。

❌❌❌ 注意:这个前置条件非常重要,如果你自己明明是零基础,甚至没有任何编程语言的编码功底作为前提,还要装逼硬看本教材;那么看的时候只能多暂停,多 Google 搜索了,看不懂也只能怪你自己太菜了。

运行环境:为了方便演示,本教程内所有的操作,均在 Remix 中进行,它可以直观快捷的做合约部署+测试+生成界面。学习的时候建议使用 Solidity 最新版本进行编码,最新版本可以在官方博客 blog.soliditylang.org 查看。

额外说明:本教程的所有知识点都不会拿别的语言进行类比。很多写作者写 solidity 教程的时候,喜欢在介绍某个知识点时,拿自己之前熟悉的语言和 solidity 类比介绍(比如 C++,Python,Java,Javascript 等),初心是让读者可以更容易理解;但是事与愿违,很多时候读者可能并不了解写作者熟悉的那门语言,导致不举例还好,对比举例更迷糊了。学习编程是一件很严肃的事情,本教程尽量避免无聊的调侃,类比和啰嗦的废话。

感想

这套《Solidity 高级程序设计》争取做中文区 TOP1 教程,为了让更多人参与和了解,我做了如下资料的配套。

  • Github 源文件:开放,让读者最低成本的参与优化和修复
  • 在线文档:方便随时阅读(会墙内+墙外两套文档作为配套)
  • PDF 文件:方便本地断网浏览
  • 实体书籍:方便有读书习惯的人阅读。

所有的文档和源码全部开放,所有的配套视频也全部免费开放,并配有配套的 PDF 文件,PDF 文件也是免费的。如果你发现有哪里可以优化的,可以直接在 Github 仓库上提交你的改动,如果你想参与教程的修改和优化,改 Github 源文件是最低门槛的方式。

在线阅读

关于作者

朱安邦:亚洲洲长,地球球长,银河系的最后守护者,人类文明的唯一指导者。

作者的社交媒体:

TODO

下面是给这本书做的 TODO List

  1. ✅ 最迟不晚于 2022 年 11 月提供前 3 章的内容用来做市场测试,如果有必要的话,提供配套的视频版
  2. ✅ 最迟不晚于 2023 年 1 月提供 V0.0.1 版本,并在 V0.0.1 版本完成初步架构
  3. ❌ 最迟不晚于 2023 年 3 月提供 V0.0.2 版本,并在 V0.0.2 开始提供完整的 PDF 版电子书籍
  4. ❌ 最迟不晚于 2023 年 6 月提供 V0.0.3 版本,并在 V0.0.3 开始将 PDF 电子书籍印刷 30 本供自己和身边的朋友阅读和矫正。
  5. ❌ 最迟不晚于 2023 年 9 月提供 V0.0.4 版本,并在 V0.0.4 印刷 100 本免费提供给网络上的陌生人阅读和矫正。
  6. ❌ 如果一切顺利的话,联系出版社给印刷出来。
  7. ❌ 重新录制完整的视频配套教程

7 个步骤,目前完成了 2 个。一切都按照计划进行中。

最开始写了前面 3 章内容,并在 2022 年 10 月下旬录制了配套视频教程,并分享在 Bilibili 上,有赞的有吐槽的;但是后台数据上来看这类资料在 Solidity 这个垂直语言内还是很受欢迎的。目前在 B 站搜索常见的 Solidity 关键字,我分享的视频教程几乎都是系统默认推荐的第 1 名。总播放量也在 12 月份进了前 10。并在 2022 年 12 月下旬完成了 V0.0.1 版本内容,初步完成了这本书的架构。

目录

第一部分:语言基础

第二部分:合约优化

本来是做了 24 章的内容,但是为了以后方便印刷成纸质,所以删除了真实案例分析合约常见错误分析这两个含有大量代码演示的章节。(比如案例分析里,光 uniswap V2/V3 和 Compound 这 3 个合约,每个印出来都是几十页的内容,太浪费篇幅了,以后单独放出来)

本地运行文档

克隆本仓库到你的电脑

git clone [email protected]:anbang/professional-solidity.git

安装 Sphinx

yum -y install git make python3 python3-pip
pip3 install sphinx
pip3 install sphinx-autobuild
pip3 install sphinx_rtd_theme
pip3 install recommonmark
pip3 install sphinx_markdown_tables

本地运行:根目录执行如下命令

# 第一种
sphinx-autobuild docs build/html

# 第二种
./start.sh

professional-solidity's People

Contributors

anbang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.