说明
智能合约的工作主要划分为5个模块(见右侧二级目录),当然一切的前置条件还是业务导向。
由于合约有一定的局限性(例如手续费,上线不可修改等)一般为先了解已有的业务系统,整合其它工具库代码,如同拼接积木一样搭成自己需要的一套系统,需要先对市面上主流合约有一定了解。
现存不足
目前合约风控,监控通知系统
运行环境:
本文主要以eth 的evm为唯一编译、运行环境(适用eth、bsc、heco、matic 等)。语言使用solidity。(tron和vision 有自己的小修改,可用但需要调试)
如果是其他链如 solana,polkadot,ckb 等,可能需要另行学习。
如 solana只能用rust写合约(rust正在学习中,地址:Rust编程语言入门教程(Rust语言/Rustlang)【已完结】_哔哩哔哩_bilibili);
相关内容
1、寻找可参考实现调研
登链社区、链闻、律动、github 等可以找到至少80%可用资料
例如:热门defi分析
2、合约开发
官方文档:
中文版solidity开发文档: Solidity 最新(0.8.0)中文文档 — Solidity中文文档 — 登链社区
文本资料:
2022 年合约语言选择:汇总工具
从入门到发币:solidity 从入门到发币(eth)
基础语法详解:Solidity智能合约快速入门
视频资料:
一起写智能合约(老韭菜):https://www.youtube.com/watch?v=DKzKARM-NQI&list=PLQ2Pa3Y8i714gFed0Nd75crDkKqtUQk1g
3小时快速入门(崔棉大师):崔棉大师3个小时的智能合约基础课_哔哩哔哩_bilibili
3、合约交互
需要先了解区块链相关概念,再熟悉工具的分类与简单应用,geth、remix、etherscan、web3(或ethers)、Truffle(或hardhat)、Ganache(或Ganache CLI)等
编译与部署:Truffle
本地调试 :remix,Ganache,console.log
单元测试(欠缺)
提供 sdk 或 api (欠缺)
4、合约安全(审计+单元测试+代码扫描)
智能合约攻防:https://www.odaily.com/post/5138281
完整的单元测试 (欠缺)
安全扫描工具--代码扫描
可以选择:Mythril,Slither,Manticore,MythX,Echidna,Oyente
代码扫描使用视频:「Rebase 大学」Solidity 安全工具演示_哔哩哔哩_bilibili
扫描工具文档: https://github.com/rebase-network/Dapp-Learning/tree/main/basic/50-solidity-security
常见的十大合约安全问题:Solidity 十大常见安全问题 | 登链社区 | 深入浅出区块链技术
5、合约监控(欠缺)
thegraph 区块链缓存框架 https://www.bilibili.com/video/BV12y4y177ph
或使用诸如Dagger, Blocknative Notify, Tenderly,或Alchemy Notify之类的专用服务。
配套工具
remix
ChainIde (中文全栈工具)
ChainList (快速适配网络)
geth
Truffle(hardhat)
web3(ethers.js)
thegraph
值得关注的博主/up主
rebase 大学,专注解读项目 https://space.bilibili.com/382886213
崔棉 大师,评书形式讲代码 崔棉大师的个人空间_哔哩哔哩_Bilibili
leekDao 友商,一起做项目 https://www.youtube.com/channel/UCN-efD164Q8kgQd3ikkk_Yw
finematics, 超棒简笔画 https://www.youtube.com/c/Finematics
kol:区块先生、陈默bitouq、赛博兔sara
资料网站
登链社区(目前做的最好的)
万向区块链
官网 (Home | ethereum.org)
项目实战
1、uniswap手把手开发
uniswapV2白皮书解读:Uniswap V2 白皮书讲解_哔哩哔哩_bilibili
uniswapV2代码解读:手把手教你开发去中心化交易所-Uniswap交易所开发课程 以太坊区块链智能合约系列课程 学习去中心化金融DeFi 去中心化交易所Dex 最专业视频_哔哩哔哩_bilibili
uniswapV2详细部署:将UniswapV2部署到所有区块链--去中心化交易所Uniswap多链部署教学视频_哔哩哔哩_bilibili
uniswapV3白皮书解读:Uniswap V3——白皮书解读_哔哩哔哩_bilibili
uniswapV3代码解读:(上)Uniswap V3——代码解析 (1)_哔哩哔哩_bilibili
(下)Uniswap V3——代码解析 (2)_哔哩哔哩_bilibili
2、moondoge项目分享
3、代币归集(golang)
合约调试:智能合约调试文档(eth)
4、花式发币
详见readme文档 https://github.com/eziokenway061/MintCoin/
5、代币空投
6、闪电贷
详见分享:2021-07-21 了解与使用闪电贷
7、NFT实战(未完成)
nft应用场景:非同质物的同质化:NFT 的金融化 | 登链社区 | 深入浅出区块链技术
在poloygn上搭建全栈nft 在Polygon网络上构建应用的全栈开发指南 | 登链社区 | 深入浅出区块链技术
3连入门nft
用flow和ipfs创建nft NFT教程 - 用Flow和IPFS创建NFT | 登链社区 | 深入浅出区块链技术
展示nft:NFT教程 - 如何展示Flow和 IPFS 上的NFT收藏品 | 登链社区 | 深入浅出区块链技术
做一个交易市场 NFT教程 - 如何用IPFS在Flow上创建一个NFT交易市场? | 登链社区 | 深入浅出区块链技术
8、多签交易(偏底层)
原理:Genosis Safe | 登链社区 | 深入浅出区块链技术
代码结构:GnosisSafe - 合约结构分析 | 登链社区 | 深入浅出区块链技术
9、ERC20转账 也有这么多学问!
安全的处理 ERC20 转账(解决非标准 ERC20 问题) | 登链社区 | 深入浅出区块链技术
10、手把手编译pancake 前端
linux:pancakeswap 前端源码编译及部署-linux | 登链社区 | 深入浅出区块链技术
windows:pancakeswap 前端源码编译-windows | 登链社区 | 深入浅出区块链技术
11、 100个项目助你全面掌握区块链
BitTiger/Blockchain at master · Fabsqrt/BitTiger · GitHub
12、compound 项目详解
13、aave项目解读
14、底层相关
15、ohm 项目解读
番外:超棒的合约专栏
全面掌握solidity
热门defi分析
rust 与智能合约