{"id":14958602,"url":"https://github.com/wtfacademy/wtf-ethers","last_synced_at":"2025-05-13T21:09:40.606Z","repository":{"id":50573055,"uuid":"516963300","full_name":"WTFAcademy/WTF-Ethers","owner":"WTFAcademy","description":"我最近在重新学ethers.js，巩固一下细节，也写一个“WTF Ethers.js极简入门”，供小白们使用，每周更新1-3讲。Now supports English! 官网: https://wtf.academy","archived":false,"fork":false,"pushed_at":"2025-02-20T07:30:00.000Z","size":20402,"stargazers_count":3305,"open_issues_count":32,"forks_count":540,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-04-28T17:02:41.579Z","etag":null,"topics":["ethereum","ethers","ethersjs","javascript","nodejs","solidity","typescript","web3"],"latest_commit_sha":null,"homepage":"https://wtf.academy","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WTFAcademy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-23T05:07:16.000Z","updated_at":"2025-04-28T15:04:51.000Z","dependencies_parsed_at":"2024-03-27T05:42:30.174Z","dependency_job_id":"cb45da2d-abb5-4f50-8d73-0902ed5d2173","html_url":"https://github.com/WTFAcademy/WTF-Ethers","commit_stats":{"total_commits":487,"total_committers":53,"mean_commits":9.18867924528302,"dds":0.5872689938398357,"last_synced_commit":"fae81cdcc35de8edd2e0ba612a440a9c928f0a01"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WTFAcademy%2FWTF-Ethers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WTFAcademy%2FWTF-Ethers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WTFAcademy%2FWTF-Ethers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WTFAcademy%2FWTF-Ethers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WTFAcademy","download_url":"https://codeload.github.com/WTFAcademy/WTF-Ethers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029001,"owners_count":22002283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ethereum","ethers","ethersjs","javascript","nodejs","solidity","typescript","web3"],"created_at":"2024-09-24T13:17:31.496Z","updated_at":"2025-05-13T21:09:35.569Z","avatar_url":"https://github.com/WTFAcademy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./img/logo_ethers.jpeg)\n\n:globe_with_meridians:\t**[English Version](https://github.com/WTFAcademy/WTF-Ethers/blob/main/en/README.md)** :globe_with_meridians:\t\n\n# WTF Ethers\n我们最近在重新学ethers.js，巩固一下细节，也写一个“WTF Ethers极简入门”，供小白们使用，每周更新1-3讲。\n\n这是[WTF Solidity极简教程](https://github.com/AmazingAng/WTFSolidity)姊妹篇，由[WTF Academy](https://wtf.academy)社群荣誉出品。\n\n\u003e 注意: 本教程的版本基于最新的 Ethers.js v6版本，之前 v5 版本的教程见 [链接](https://github.com/WTFAcademy/WTF-Ethers/tree/wtf-ethers-v5)。\n\n\n\n路线图根据本仓库star数量来定：\n- [x] 64 :star: 建立社群：[discord](https://discord.gg/5akcruXrsk) | [微信群](https://docs.google.com/forms/d/e/1FAIpQLSe4KGT8Sh6sJ7hedQRuIYirOoZK_85miz3dw7vA1-YjodgJ-A/viewform)\n\n- [x] 128 :star: 出进阶内容\n\n- [ ] 256 :star: 发课程认证\n\n### VScode运行\n\n需要安装[VSCode](https://code.visualstudio.com/download)和[Node.js](https://nodejs.org/zh-cn/download/)，然后运行：\n\n```shell\nnpm install\nnode 01_HelloVitalik/HelloVitalik.js\n```\n### 在线编辑器运行\n\n`javascript`在线编辑平台：\n* [replit.com](https://replit.com/)\n* [playcode.io](https://playcode.io)\n\n## 入门\n**第1讲：HelloVitalik（6行代码）**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/01_HelloVitalik)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/01_HelloVitalik/readme.md)】\n\n**第2讲：Provider 提供器**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/02_Provider)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/02_Provider/readme.md)】\n\n**第3讲：读取合约信息**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/03_ReadContract)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/03_ReadContract/readme.md)】\n\n**第4讲：发送ETH**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/04_SendETH)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/04_SendETH/readme.md)】\n\n**第5讲：合约交互**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/05_WriteContract)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/05_WriteContract/readme.md)】\n\n**第6讲：部署合约**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/06_DeployContract)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/06_DeployContract/readme.md)】\n\n**第7讲：检索事件**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/07_Event)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/07_Event/readme.md)】\n\n\n**第8讲：合约监听**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/08_ContractListener)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/08_ContractListener/readme.md)】\n\n\n**第9讲：事件过滤**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/09_EventFilter)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/09_EventFilter/readme.md)】\n\n**第10讲：单位转换**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/10_Units)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/10_Units/readme.md)】\n\n## 进阶\n\n**第11讲：CallStatic**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/11_StaticCall)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/11_StaticCall/readme.md)】\n\n**第12讲：识别ERC721**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/12_ERC721Check)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/12_ERC721Check/readme.md)】\n\n**第13讲：编码calldata**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/13_EncodeCalldata)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/13_EncodeCalldata/readme.md)】\n\n**第14讲：批量生成钱包**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/14_HDwallet)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/14_HDwallet/readme.md)】\n\n**第15讲：批量转账**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/15_MultiTransfer)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/15_MultiTransfer/readme.md)】\n\n**第16讲：批量归集**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/16_MultiCollect)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/16_MultiCollect/readme.md)】\n\n**第17讲：MerkleTree脚本**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/17_MerkleTree)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/17_MerkleTree/readme.md)】\n\n**第18讲：数字签名脚本**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/18_Signature)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/18_Signature/readme.md)】\n\n**第19讲：监听Mempool**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/19_Mempool)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/19_Mempool/readme.md)】\n\n**第20讲：解码交易数据**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/20_DecodeTx)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/20_DecodeTx/readme.md)】\n\n## 应用\n\n**第21讲：靓号生成器**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/21_VanityAddress)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/21_VanityAddress/readme.md)】\n\n**第22讲：读取任意数据**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/22_ReadAnyData)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/22_ReadAnyData/readme.md)】\n\n**第23讲：抢先交易脚本**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/23_Frontrun)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/23_Frontrun/readme.md)】\n\n**第24讲：识别ERC20**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/24_ERC20Check)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/24_ERC20Check/readme.md)】\n\n**第25讲：Flashbots**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/25_Flashbots)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/25_Flashbots/readme.md)】\n\n**第26讲：EIP712 签名脚本**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/26_EIP712)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/26_EIP712/readme.md)】\n\n## 工具\n\n**ET01：连接钱包**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/ET01_Metamask)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/ET01_Metamask/readme.md)】\n\n**ET02：钱包签名登录**：【[Code](https://github.com/WTFAcademy/WTFEthers/blob/main/ET02_SignInWithEthereum)】 【[教程](https://github.com/WTFAcademy/WTFEthers/blob/main/ET02_SignInWithEthereum/readme.md)】\n\n## WTF Ethers贡献者\n\u003cdiv align=\"center\"\u003e\n  \u003ch4 align=\"center\"\u003e\n    贡献者是WTF学院的基石\n  \u003c/h4\u003e\n  \u003ca href=\"https://github.com/WTFAcademy/WTF-Ethers/graphs/contributors\"\u003e\n    \u003cimg src=\"https://contrib.rocks/image?repo=WTFAcademy/WTF-Ethers\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## 参考\n- [Ethers.js Docs](https://docs.ethers.org/v5/)\n- [A beginner’s guide: 4 ways to play with Ethers.js](https://dev.to/yakult/a-beginers-guide-four-ways-to-play-with-ethersjs-354a)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtfacademy%2Fwtf-ethers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwtfacademy%2Fwtf-ethers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtfacademy%2Fwtf-ethers/lists"}