“Solidity-100-Days”课程是一个全方位、高度详细的在线学习项目,旨在为希望全面了解Solidity和区块链开发的初学者和有经验的开发者提供知识支持。课程跨越100天,系统地设计,旨在深入了解Solidity语法、语义、智能合约、各种开发实践和实际应用。这是一个立足于推动区块链技术在全球范围内的深入理解和广泛应用的项目。致力于为所有想要深入学习并掌握Solidity语言的人提供全方位的教育资源和实践指南。
至少,从目前看,项目的愿景是:通过提供系统性、高质量的Solidity在线教程,降低学习难度,提高学习效率,使更多的开发者有能力参与到区块链技术的开发和应用中来,推动区块链技术的进步和应用的广泛性。
我相信,区块链技术和智能合约有潜力改变许多行业的运作方式,包括但不限于金融、供应链、版权保护、保险、物联网、身份认证等领域。因此,希望通过“Solidity-100-Days”项目,帮助开发者们掌握这一关键的编程语言,从而能够积极地参与到这一变革中来。
实际上开发项目的同时也是对于我自己的一种考验,如果有问题,或者贡献,feel free to open a pull request !
### 第一部分:Solidity基础(1-50天)
第1天: Solidity介绍与环境设置
第2天: Solidity和智能合约的基础概念
第3天: 基础语法 - 变量和类型
第4天: 基础语法 - 函数
第5天: 基础语法 - 控制结构
第6天: Solidity中的数据结构 - 数组和映射
第7天: Solidity中的异常处理
第8天: Solidity中的内置全局变量和函数
第9天: 创建和部署第一个智能合约
第10天: Solidity中的事件
第11天: 构造函数和回退函数
第12天: Solidity的继承
第13天: Solidity中的抽象合约和接口
第14天: 合约的布局和状态变量的存储
第15天: Solidity的库
第16天: Solidity的修饰符
第17天: 理解Gas和交易成本
第18天: 合约的生命周期和自杀函数
第19天: 访问控制和权限管理
第20天: Code Examples
第21天: Solidity中的代理和委托调用
第22天: Solidity中的数学运算和安全库
第23天: Solidity中的时间和日期函数
第24天: 使用Assembly
第25天: Solidity的错误处理和断言
第26天: ERC20代币和智能合约
第27天: Solidity在函数和事件中的内存关键字
第28天: Solidity中的状态机模式
第29天: Solidity的代理模式
第30天: Solidity中的支付模式
第31天: Solidity中的随机数生成
第32天: Solidity的Oracles
第33天: 合约的升级
第34天: Solidity的工厂模式
第35天: Solidity中的复杂数据类型
第36天: Solidity中的多签名合约
第37天: Solidity和Web3.js的交互
第38天: Solidity和Truffle的交互
第39天: Solidity和Ganache的交互
第40天: Solidity和Metamask的交互
第41天: Solidity和IPFS的交互
第42天: Solidity在实际应用中的应用场景
第43天: Solidity合约的性能优化
第44天: Solidity的合约调试
第45天: Solidity合约的单元测试
第46天: Solidity合约的安全性检查
第47天: Solidity合约的审计
第48天: Solidity中的形式化验证
第49天: Solidity的最新特性和进展(依据更新进行)
第50天: Solidity基础复习和总结
第51天: DeFi(去中心化金融)介绍
第52天: Uniswap智能合约理解
第53天: Compound智能合约理解
第54天: Aave智能合约理解
第55天: Balancer智能合约理解
第56天: Yearn.finance智能合约理解
第57天: MakerDAO智能合约理解
第58天: Synthetix智能合约理解
第59天: 介绍DAO(去中心化自治组织)和Aragon
第60天: 介绍NFT(非同质化代币)和CryptoKitties
第61天: Decentraland的虚拟现实世界
第62天: 跨链协议 - Polkadot
第63天: 跨链协议 - Cosmos
第64天: 预言机 - Chainlink
第65天: 深入理解Ethereum 2.0
第66天: 隐私协议 - Aztec
第67天: 存储协议 - Filecoin
第68天: DEX协议 - Kyber Network
第69天: 资产代币化 - RealT
第70天: 去中心化身份验证 - uPort
第71天: 分布式计算 - Golem
第72天: Layer 2解决方案 - Plasma和Raiden Network
第73天: Layer 2解决方案 - Rollups和Sidechains
第74天: Solidity合约的性能优化进阶
第75天: Solidity合约的安全性进阶
第76天: Solidity合约的形式化验证进阶
第77天: Solidity在企业级应用中的实践
第78-80天: Solidity在金融应用中的深入研究
- 第78天:稳定币设计与实现
- 第79天:P2P借贷平台的设计与实现
- 第80天:预测市场的设计与实现
第81-83天: Solidity在游戏中的应用
- 第81天:CryptoKitties的智能合约分析
- 第82天:开发一个基本的区块链游戏
- 第83天:NFT在游戏中的应用
第84-86天: Solidity在供应链中的应用
- 第84天:区块链在供应链中的角色和价值
- 第85天:开发一个供应链智能合约
- 第86天:IoT与区块链供应链的整合
第87-89天: Solidity在保险中的应用
- 第87天:去中心化保险的原理和应用
- 第88天:开发一个保险智能合约
- 第89天:Oracle在保险智能合约中的作用
第90-92天: Solidity在物联网中的应用
- 第90天:区块链在IoT中的角色和应用
- 第91天:开发一个IoT相关的智能合约
- 第92天:IoT数据在区块链上的验证与存储
第93-95天: Solidity在身份认证和数字身份中的应用
- 第93天:区块链身份认证的价值和实施方法
- 第94天:开发一个身份认证智能合约
- 第95天:隐私保护和区块链身份认证
第96-98天: Solidity在版权保护中的应用
- 第96天:区块链在版权保护中的角色
- 第97天:开发一个版权保护智能合约
- 第98天:NFT在版权保护中的应用
第99天: Solidity在其他新兴领域的应用(依据最新趋势)
第100天: Solidity进阶实践总结和未来展望