solidity-expert, a GitBook tutorial that ships as a GitHub Pages site
4年打磨-2022年海外一线大厂-以太坊开发教程(a solidity tutorial makes you a dapp expert)WIP
At a glance
- What is it?
- solidity-expert is a personal Solidity learning project published as a GitBook-style book, with a Chinese and an English version, a Mermaid plugin, a chapter outline schema and a deployment script that publishes to GitHub Pages. It is a reading curriculum rather than a library, and it says so in its disclaimer.
- Who is it for?
- Adopt this book if you are moving from front end work into EVM contract development and want one ordered path that starts at Solidity syntax and ends with a deployed project, and skip it if you need reference documentation for a specific protocol or a maintained library, because this is a course with a disclaimer that it is personal notes for study rather than for commercial use.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- Mainly Solidity, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 7, 2026, and from our analysis. They are not legal advice.
Star history
- dukedaily/solidity-expert1,472 ★ · +1
| Repository | 2026-10-17 | 2026-11-07 |
|---|---|---|
| dukedaily/solidity-expert | 1.5k | 1.5k |
1 Stars in the last 21 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
A curriculum, not a library
The repository presents itself as a tutorial for EVM chain dapp full stack development, and the repository layout matches that framing. The listed learning goals run from Solidity basics and advanced usage through contract security, then out to third party tooling such as the OpenZeppelin contract library, infrastructure services like Moralis, Chainlink and Tenderly, the mainstream web3 libraries web3.js and ethers.js, off-chain tooling such as subgraphs and block scanning services, major protocols including Uniswap, Compound, Aave, staking and NFTs, and the React knowledge needed to put a front end on top. There is also a hands-on project link. The disclaimer is unusually direct for an open source project: the tutorial is to be understood as personal study notes, for learning use only and not for commercial purposes, and parts of the content reference other authors, with links given and an invitation to point out any infringement. That framing is important, because it tells you what kind of artifact you are reading before you start.
A book built with honkit and a pile of GitBook plugins
The toolchain tells you how old this project is and what maintaining it involves. The `package.json` lists two dev dependencies, `hardhat` at `^2.11.1` and `honkit` at `^3.7.1`, and three scripts.
"scripts": {
"build": "honkit build",
"serve": "honkit serve",
"deploy": "gh-pages -d _book"
}The dependency list is a long tail of GitBook plugins: an outline schema package, gh-pages, gitalk for comment support, anchors, canonical links, codeblock labels, a collapsible menu, a custom favicon, Google Analytics, GitHub links, issue feedback, heading anchors, include-codeblock, a JavaScript console, a language picker, outline, a page table-of-contents button, rich quotes, a section extension, a sidebar ad, toggle chapters, a summary-to-path helper and a Mermaid plugin. That is roughly thirty packages, most of them community plugins, and each one is a place where a build can break on a dependency bump.
Two editions, one book configuration
The repository layout shows a bilingual book rather than a single site. The top level holds `cn/` and `en/` directories side by side, plus `docs/`, a `book.json` configuration, a `LANGS.md` file, a `package.json`, a `publish.sh` script, an `.nvmrc` file that pins the Node version used for the build, and a `package-lock.json` that locks the plugin tree exactly. The `LANGS.md` file and the paired language directories are the standard arrangement for a GitBook project that publishes multiple editions, where the language list is declared in one place and the root `book.json` is shared. The `publish.sh` script and the `deploy` npm script together suggest the release path is a local shell step that runs the build and pushes the `_book` output to the `gh-pages` branch, which is what puts the site at the address given as the project homepage.
Diagrams and code blocks are first class in the book
Two of the plugins carry most of the pedagogical weight. The Mermaid plugin means diagrams in the text are written as Mermaid source and rendered at build time, which suits a curriculum that has to explain protocol flows, contract interactions and request sequences rather than just list syntax. The include-codeblock plugin does the same for code: sample contracts live in their own files and are pulled into the chapter text, so the code in the book and the code in the repository cannot drift apart. The language picker plugin supports a multi-language book, the codeblock labels plugin annotates code blocks, and the collapsible menu and toggle chapters plugins control how a long table of contents behaves in the sidebar. Add the Google Analytics plugin for traffic measurement and gitalk for issue-based commenting, and the project is a fairly complete reading platform rather than a set of Markdown files.
The author's framing and the wider material
The README introduces the author as one of the first blockchain educators in China, focused on blockchain education since 2017 across Bitcoin, Ethereum and Fabric, currently based in Singapore and working on overseas DeFi, DEX and metaverse business directions. Alongside the repository, the project points to a more advanced tutorial site, a video course channel on YouTube and a Bilibili series, a personal site and a Telegram group. That distinction matters if you are choosing what to read: the book is the entry point and the rest are the paid or extended path. The description of the repository also frames the project as a GitHub open source project and asks readers to star it, and the topic tags name smart contracts, Solidity, Solana and a work in progress marker. The Solana tag is the one loose end, since nothing in the README explains what Solana content the book contains, and the Solidity content is the subject the goals list describes.
What you get and what you do not
It is worth being clear about the shape of the payoff. This is a reading path with a fixed order: syntax first, then the tooling around it, then the libraries, then the off-chain services, then real protocols, then the front end, then a project. It is not a reference you can query for a single function, and it is not a toolchain you can install to ship a contract faster. The hardhat dev dependency signals that the examples were written against a hardhat project, and hardhat is pinned at the `^2.11.1` line, so a reader following along today will be adapting a project setup that was current when the book was written. There are no GitHub releases, no tags and no versioning of the text, so there is no way to tell whether a chapter was revised after a protocol change. The project also does not state a licence, and the disclaimer restricts use to personal study, which is a different thing from an open source licence grant.
Editorial conclusion
Adopt this book if you are moving from front end work into EVM contract development and want one ordered path that starts at Solidity syntax and ends with a deployed project, and skip it if you need reference documentation for a specific protocol or a maintained library, because this is a course with a disclaimer that it is personal notes for study rather than for commercial use. Verify three things before you commit time to it: that the English edition covers the same chapters as the Chinese one, since the repository keeps them in separate `en/` and `cn/` directories; whether the topic list matches your intent, since it names Solidity and smart contracts but also carries Solana, which the README does not explain; and that the tooling still builds, since the project depends on an older hardhat line and on honkit and a long list of GitBook plugins.
Frequently asked questions
What is the solidity-expert tutorial?
It is a GitHub repository holding a book for learning EVM dapp full stack development, published as a GitBook-style site at dukedaily.github.io/solidity-expert. The book covers Solidity basics and security, tooling like OpenZeppelin, Moralis, Chainlink and Tenderly, web3.js and ethers.js, subgraphs, protocols such as Uniswap, Compound, Aave, staking and NFTs, React, and a hands-on project.
How do I build and publish the solidity-expert book locally?
The package scripts are `honkit build` to build the book, `honkit serve` to preview it, and `gh-pages -d _book` to publish the built output. The repository also carries a `publish.sh` script, a `book.json` configuration and a `package-lock.json` that pins the plugin tree.
Is the tutorial available in English?
The repository keeps a `cn/` and an `en/` directory side by side, with the language list in `LANGS.md` and a shared `book.json`, so the book is published in Chinese and English.
Can I use the solidity-expert material commercially?
The disclaimer states the tutorial is to be understood as personal study notes, for learning use only and not for commercial use, and that parts of the content reference other authors with links given. The repository also states no open source licence.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dukedaily-solidity-expert)Star history chart for your README
[](https://hysenlabs.com/projects/dukedaily-solidity-expert)Was this useful?