• Stars
    star
    323
  • Rank 130,051 (Top 3 %)
  • Language
    Shell
  • License
    MIT License
  • Created about 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

《Solidity 高级程序设计》面向专业开发者的Solidity教程!目前已经完成了最初的 V0.0.1 版本

Solidity 高级程序设计

前置说明

这个教程的目标读者是那些已经熟悉 Solidity 语言基本用法的人,他们可能已经编写过一些简单的智能合约,并对 Solidity 的核心概念和语法有一定的了解。如果您已经掌握了 Solidity 的基本用法,这个教程可以帮助您填补一些知识的空白,并深入学习更高级的概念和技术。

对于更好地阅读和理解这个教程,确实需要具备一定的 Solidity 基础知识,并且最好具备其他语言的生产级项目编码水平。

对于完全零基础的 Solidity 小白来说,这个教程可能并不适合作为他们初次接触。

如果您是一个初学者,我建议您首先学习 Solidity 的基础知识。您可以通过阅读 Solidity 的官方文档和教程来入门,掌握 Solidity 的基本语法、数据类型、控制流程等。一旦您对 Solidity 有了一定的了解,您可以尝试编写简单的智能合约,以加深对 Solidity 的理解。

在学习 Solidity 的过程中,如果您遇到任何问题,都可以随时向我提问。我将尽力帮助您理解和解决问题。

注意:

这个前置条件非常重要,对于没有编程基础的人来说,阅读这个教程可能会非常困难。如果您没有掌握 Solidity 的基本用法或其他编程语言的经验,确实建议您先学习编程的基础知识和其他语言,然后再尝试深入学习 Solidity。

如果您在学习 Solidity 的过程中遇到困难,可以随时向我提问。我会尽力为您提供帮助和解答。同时,使用搜索引擎和参考其他教程和资源也是一个很好的学习策略,因为这样可以获取更多的知识和解决问题的方法。

另外,关于Solidity学习资源的地址,一下是一些常用的学习资源,供大家参考:

关于作者&加入我们Twitter Discord

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

一位热衷于区块链技术和 Solidity 的开发者。他具有丰富的经验和知识,并致力于推广和教育 Solidity 的使用。他的目标是帮助更多的人学习和了解 Solidity,并在区块链领域做出贡献。

您可以通过以下方式与作者互动和获取更多信息:

  • 推特: Twitter (欢迎关注)
  • 交流群:Discord (Discord)

运行配置 & 环境说明

运行环境

为了方便演示,本教程内所有的操作,均在 Solidity 在线编译器 Remix 中进行,它可以直观快捷的做合约部署+测试+生成界面。

学习的时候建议使用 Solidity 最新版本进行编码,最新版本可以在官方博客 blog.soliditylang.org 查看。

额外说明

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

感想

为了促进更多人的参与和了解,《Solidity 高级程序设计》教程力争成为中文区域领先的教程之一。为此,我为教程准备了一系列配套资料,以便读者更好地学习和掌握相关内容。

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

如果你喜欢这个项目,请给它点一个GitHub stars(GitHub上的点赞按钮)。

贡献

我们欢迎并鼓励您对所有文档、源代码以及相关视频的开放与免费访问。此外,我们还提供了配套的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

More Repositories

1

javascript-notes

朱安邦的 JavaScript 学习笔记;JavaScript学习总结;前端变化太快,只有把JS基础打扎实了,才能游刃有余;为了让我的JavaScript基础异常牢固,思路更加清晰,我会把以前总结过的知识和平时看到的资料放在这里,把以前零零散散的知识点全部串起来!这个项目也许写到最后会是一个非常不错的JavaScript教程,希望可以帮到更多的人;收藏请点star;如果发现我有写错误的,欢迎随时帮我改正,或者增加新的观点,谢谢!
HTML
2,205
star
2

ethereum-wallet-by-electron-vue

一个通过Electron-vue写的以太坊钱包,支持Win、Mac、Linux运行,支持104种语言,本人已通过本程序完成转账,本程序无需像Mist那样同步节点数据到本机,源码已公开,欢迎Review和Start
Vue
44
star
3

my-resume-like-tmall

电商风格的简历模板,图片放大镜效果,拖拽效果,鼠标跟随效果,地址的省市区三级联动;兼容到IE56789;欢迎star;
JavaScript
29
star
4

snowflake

JavaScript/Node.js 版本实现的雪花算法
JavaScript
13
star
5

zhubangbang-nodejs-notes

朱安邦的nodejs学习笔记
JavaScript
8
star
6

douban

豆瓣首页布局,兼容到IE6
HTML
7
star
7

learn-angularJS

学习angular的笔记
HTML
5
star
8

translation-by-gulp

一个可以使用谷歌、百度、有道的Api进行免费翻译的演示DEMO
JavaScript
4
star
9

blog

开个仓库做博客,占占Github便宜,写写代码,维持下生活.
4
star
10

moyu-fiction-answers

魔域小说知多少的答题器
JavaScript
3
star
11

bilibili-fans

B站粉丝牌项目
JavaScript
3
star
12

new-concept-english

新概念英语
3
star
13

zhubangbang-vuejs-notes

我的vue.js学习笔记
JavaScript
2
star
14

pancake-smart-contracts

Pancake Smart Contracts 源码的详细解读
Shell
2
star
15

zhubangbang-web3js-notes

web3.js的笔记
JavaScript
2
star
16

opensea-smart-contracts

opensea-smart-contracts
Shell
1
star
17

learn-gulp

学习gulp的记录
CSS
1
star
18

MetaCoin

MetaCoin by tron
JavaScript
1
star
19

czr-account

JavaScript
1
star
20

json-rpc-client

JSON RPC
JavaScript
1
star
21

deno-ex

Deno演示使用的-阿西河前端教程
TypeScript
1
star
22

czr-test

test
1
star
23

baidu-map-bus

基于百度地图,通过关键词爬取所有地图上的商家
JavaScript
1
star
24

web3_contract

web3 合约研究
JavaScript
1
star
25

douban-by-vue2

JavaScript
1
star
26

smart-contract-by-ethereum

Smart contract by Ethereum
JavaScript
1
star
27

testPub

HTML
1
star
28

lowdb-demo

JavaScript
1
star
29

zhubangbang-jquery-notes

jquery源码解析/分析,基于jQuery v2.1.0
JavaScript
1
star
30

zhubangbang-bootstrap-notes

bootstrap的试验记录
HTML
1
star
31

professional-javascript-for-web-developers-4th-edition

JavaScript高级程序设计(第4版)的读书笔记,Professional JavaScript for Web Developers, 4th Edition
1
star
32

Learn-ECMAScript6

1
star
33

wechat-dev-notes

微信开发的学习笔记
JavaScript
1
star
34

Opensea-Nfts-Batch-Uploader

Opensea Nfts Batch Uploader
JavaScript
1
star
35

download-by-nodejs

nodejs下载的DEMO,包含大文件下载卡死时的回滚下载
JavaScript
1
star
36

okexchain-transaction-cli

这只是为了测试okexchain普通转账和发起合约内交易的测试
JavaScript
1
star
37

static-server

用nodejs实现的一个静态文件服务器 1. 可能通过浏览器访问 2. 根目录/代表server.js所在的目录。 3. 访问根目录时可以列出根目录下所有的文件和文件夹。 4. 点击文件夹时进入下一级目录。 5. 点击文件则可以该文件。比如是图片就显示图片,是html就显示html
JavaScript
1
star