diff --git a/Antigone4224_WICL1st.md b/Antigone4224_WICL1st.md index 183fc20..02b1429 100644 --- a/Antigone4224_WICL1st.md +++ b/Antigone4224_WICL1st.md @@ -510,4 +510,9 @@ contract FlatDirectory is W3RC3 { ### 7.30 提交了我自己的一部分代码,完成了桌子和对局相关的逻辑(创建牌桌,加入牌桌,提交明文,翻牌结算对局等),具体可以看项目的commit。。 +### 08.01 +修正了一下之前写的代码的报错,大体上又重新审了一遍源码,记录了一些自己觉得可能不合理的部分,等待晚上十点开语音会议讨论后面的修改和完善。 + +### 08.02 +完善了昨天语音会议提出来的代码逻辑的问题。增加了扣星和淘汰的代码,调整了桌子的创建和索引以配合前端展示等。 diff --git a/Box_WICL1st.md b/Box_WICL1st.md index 948d4e6..73863e1 100644 --- a/Box_WICL1st.md +++ b/Box_WICL1st.md @@ -177,4 +177,16 @@ - 今日学习时间:1h - Homework - 编写代码中 +- ### 08.01 +- 今日学习时间:1h +- Homework + - 编写代码中 +- ### 08.02 +- 今日学习时间:1h +- Homework + - https://github.com/web3-protocol/web3protocol-go/pull/1 因为协议的一些缺失,作业暂时搁置,完善协议中 +- ### 08.03 +- 今日学习时间:1h +- Homework + - 按照大佬的意见修改了一些内容,等待回复中 diff --git a/Bugmaker_WICL1st .md b/Bugmaker_WICL1st .md index 33887b9..aac9d8c 100644 --- a/Bugmaker_WICL1st .md +++ b/Bugmaker_WICL1st .md @@ -496,4 +496,13 @@ contract EtherStore is ReentrancyGuard { ### 07.30 - 今日学习时间:7.30 7 p.m.--12 p.m. - 学习内容小结:完成常见的Defi漏洞的学习 +### 07.31 +- 今日学习时间:7.31 5 p.m.--10 p.m. +- 学习内容小结:学习Node.js +### 08.01 +- 今日学习时间:8.1 4 p.m.--9 p.m. +- 学习内容小结:学习Node.js、npm +### 08.02 +- 今日学习时间:8.2 4 p.m.--10 p.m. +- 学习内容小结:学习hardhat diff --git a/Cora_WICL1st.md b/Cora_WICL1st.md index b7c3c7b..794a1ef 100644 --- a/Cora_WICL1st.md +++ b/Cora_WICL1st.md @@ -196,10 +196,32 @@ web3://[:]/ - 参加项目 demo 同频会; - 参加残酷共学公开课#3。 - ### 07.30 今日学习时间:0.5h - 学习内容小结:项目讨论,首页 UI、音频格式等。coding 未进行,去参加了关于 Arweave&AO 的分享会,时间安排上有些赶,明天继续首页的部分,并将其部署。 + +### 07.31 + +今日学习时间:2h + +- 学习内容小结:初始化前端,提交代码到仓库。 + +### 08.01 + +今日学习时间:3h + +- 学习内容小结: + + - 首页开发 + - 前端部署到 vercel,访问地址https://web3-sounds.vercel.app + - 参加[Layer2 与 Eclipse 丨 SVM 在 EVM 生态中的应用]会议 + + ### 08.02 + + 今日学习时间:2h + +- 学习内容小结: + - 链接钱包功能开发,已部署 diff --git a/Derick_WICL1st.md b/Derick_WICL1st.md index d4182e6..1ecbc2b 100644 --- a/Derick_WICL1st.md +++ b/Derick_WICL1st.md @@ -277,4 +277,16 @@ Web3 URL的域名部分可以是以下几种类型之一: - 参加最后一节公开课,分享了gas计算规则,以及ethstorage的创立初衷 - 团队作业的项目沟通会,确定一些大体的事项 ### 7.30 +- 学习ethstorage的内容 +- EthStorage 的工作原理 +- 数据分片: 大文件会被分割成更小的数据块,然后分发到不同的存储节点上。 +- 数据可用性证明: 每个数据块都会生成一个数据可用性证明,这个证明会被提交到以太坊链上。 +- 链上验证: 智能合约会验证这些证明,确保数据确实被存储在网络中。 +- 动态存储: 数据可以被随时更新和删除,EthStorage 会自动生成新的数据可用性证明。 +### 7.31 +- 学习FlatDirectory合约,分析里面的实现 +### 8.1 +### 8.2 +- 才注意到有homework, +- 完成homework 1 部署合约创建文件 https://0xa4a53bfa26d0f5b8fabf789d09bc19bec6222b10.w3q-g.w3link.io/test.html diff --git a/Iyi_WICL1st.md b/Iyi_WICL1st.md index 99b103c..7ca72d4 100644 --- a/Iyi_WICL1st.md +++ b/Iyi_WICL1st.md @@ -236,5 +236,30 @@ - 看录制的视频 学习视频公开课 #3 https://www.youtube.com/watch?v=ehFEfsSyuwk&ab_channel=LXDAO - Homework 部分(如果有安排需要填写证明完成) - Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) + +### 08.01 + +- 今日学习时间:0.5h +- 学习内容小结 + - 检查之前组队项目合约代码 +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) + +### 08.02 + +- 今日学习时间:2h +- 学习内容小结 + - 项目成员会议,讨论解决问题,并确定后续的时间节点 + - 修复合约代码问题 +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) + +### 08.03 + +- 今日学习时间:0.5h +- 学习内容小结 + - 开始进行合约前后端对接,修改问题 +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) diff --git a/Max_WICL1st.md b/Max_WICL1st.md index fd5f4ec..18d3b67 100644 --- a/Max_WICL1st.md +++ b/Max_WICL1st.md @@ -138,4 +138,9 @@ XXX - 今日学习时间:1h - 学习内容小结:优化一些首页的UI样式 + +### 08.2 + +- 今日学习时间:1.5h +- 学习内容小结:部署合约到本地,添加测试代码 diff --git a/Oscar_WICL1st.md b/Oscar_WICL1st.md index 1a053af..7863dfd 100644 --- a/Oscar_WICL1st.md +++ b/Oscar_WICL1st.md @@ -492,8 +492,39 @@ node . -v 'web3://w3url.eth' - freeCodeCamp出品的 [ 1 小时区块链基础课程](https://www.youtube.com/watch?v=gyMwXuJrbJQ) - [Chainlink Automation](https://docs.chain.link/chainlink-automation) 提供一个安全可靠的去中心化网络,用于自动化智能合约。它利用外部节点运营商保障多个区块链生态系统中数十亿美元的价值。通过集成Chainlink Automation,开发者可以简化智能合约操作,加速创新,并降低与集中式基础设施设置、维护和风险相关的成本。 - +### 08.01 + +- 今日学习时间:2h +- 学习内容小结: + + - [第三节公开课](https://www.youtube.com/watch?v=ehFEfsSyuwk&themeRefresh=1) 知识点消化 + - [Web3:// Sounds](https://github.com/luffythink/Web3Sounds) + - demo / logo 设计更新 + - 思考:前端放到一个智能合约,音频文件放到一个智能合约,通过 web3:// 实现调用。Web3:// 是只支持状态数据还是blob中的数据?🤔如果只是纯调用的话只支持状态数据,如果和 ETHstorage 结合,就可以支持 blob 中的数据。 + - 部署参考: + - https://github.com/ethstorage/web3url-website/tree/master + - https://github.com/ethstorage/dblog + - https://docs.web3url.io/tutorials-on-ethstorage-early-testnet/upload-your-first-file-with-ethfs-sdk + +### 08.02 + +- 今日学习时间:1h +- 学习内容小结: + + - [Web3:// Sounds](https://github.com/luffythink/Web3Sounds) + - 声音在图景上如何有趣分布? + - 声音图景或者叫「声音 Map 」背后的推荐算法。 + - 简单版本和未来理想版本,如何有趣有意思。 + - 永久记录每一个人的声音: + - 换一种表达:就是把某种声音传到区块链上,其它人都删不掉,同时大家都能很轻松的访问它。 + - 困惑点:声音如何正确引导,是符合大家理想愿景的。 + + - [去中心存储](https://news.marsbit.co/20220806170407328297.html)相关应用了解 : + - IPFS (InterPlanetary File System)、 Arweave 、EthStorage 定位区别 + + + diff --git a/Punkcan_WICL1st.md b/Punkcan_WICL1st.md index 89cea7d..9197790 100644 --- a/Punkcan_WICL1st.md +++ b/Punkcan_WICL1st.md @@ -585,6 +585,33 @@ - Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) +### 08.01 + +- 今日学习时间:0.5h +- 学习内容小结: + - 检查项目代码并进行测试 + +### 08.02 + +- 今日学习时间:1h +- 学习内容小结: + - 修正项目所需要的代码,将变量增加Get的Function + +### 08.03 + +- 今日学习时间:1h +- 学习内容小结: + - 测通项目合约 + - 修改bug + +### 08.04 + +- 今日学习时间: +- 学习内容小结: + - + - + + ### ToDo - Challenge: Use ERC6944 to return a uncompressed compressed data determine a customized MIME diff --git a/README.md b/README.md index 7acaf8d..ea931ff 100644 --- a/README.md +++ b/README.md @@ -99,61 +99,61 @@ LXDAO & ETHStorage Host 的 Web3 URL 残酷共学将邀请 [Qi Zhou](https://twi | WICL1st·Name | 7.15 | 7.16 | 7.17 | 7.18 | 7.19 | 7.20 | 7.21 | 7.22 | 7.23 | 7.24 | 7.25 | 7.26 | 7.27 | 7.28 | 7.29 | 7.30 | 7.31 | 8.01 | 8.02 | 8.03 | 8.04 | | ------------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | -| Marcus | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| Ache | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| Ziicu2019 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | | | | | | | Q | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | -| Max | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | | -| Zedz | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| Jason | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| Junhua | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| Oscar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| Ric-Li-C | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | | -| kevin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | -| Punkcan | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| monnaliya | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| XiaoLSMX | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| ARMIN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | +| huayun | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | +| Totie | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | +| Herschel | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | +| Punkcan | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ZhaoHong | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ✅ | ❌ | | | | +| An | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | +| Oscar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | +| Tommy | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | +| Tiào | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| Akagi201 | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| Kero | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ❌ | | | +| Marcus | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| hython | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | | | +| Muxin | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | Coooder | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | -| RuoYan | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | +| dylan | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | +| beavnvvv | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | Helios | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| CureDreams | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | -| Tiào | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| Peter | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| Derick | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | | | +| Bruce | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | HAPPY | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | -| Totie | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | -| ARMIN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | -| huayun | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | jasonchen | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | -| Bruce | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | -| hython | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | | -| Ray | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | -| Kero | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | | | | | -| Jacqueese | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | -| Iyi | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| Box | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | -| YuKirasawa | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | | -| Cora | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | | | k1one | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ✅ | ✅ | ✅ | ❌ | | | | | | | | +| Box | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | AricRedemption | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| ZhaoHong | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | ⭕️ | | | | | | -| Simon | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ❌ | | | | | | | | | | | | | | | | -| Tommy | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | -| Herschel | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | -| coconal | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | -| DawnBlackA | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | | | | | | -| beavnvvv | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| An | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ✅ | ✅ | ⭕️ | ⭕️ | | | | | | -| Cheney | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ❌ | | | | | | | | | | | | | | | | -| Akagi201 | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| XiaoLSMX | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| Antigone4224 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | | | +| Cora | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | +| DawnBlackA | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | ❌ | | | | | +| Ray | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | +| Ache | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| Jason | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| monnaliya | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| Junhua | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | alivez | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | +| YuKirasawa | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | | | +| Ric-Li-C | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | | | +| Simon | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ❌ | | | | | | | | | | | | | | | | +| kevin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | windwh1sper | ✅ | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ❌ | | | | | | | | | | | | | | | -| Derick | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | | | | | | -| Muxin | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| dylan | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | +| Zedz | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Ziicu2019 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | | | +| CureDreams | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | +| wayhome | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | +| Max | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | +| coconal | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | Loxia | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| Jacqueese | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | +| Iyi | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | KeShin | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| Peter | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | -| Antigone4224 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | | | -| wayhome | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕️ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | +| RuoYan | ✅ | ✅ | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | +| Cheney | ✅ | ⭕️ | ✅ | ✅ | ⭕️ | ❌ | | | | | | | | | | | | | | | | @@ -631,6 +631,41 @@ LXDAO & ETHStorage Host 的 Web3 URL 残酷共学将邀请 [Qi Zhou](https://twi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/YuKirasawa_WICL1st.md b/YuKirasawa_WICL1st.md index ac744a4..80c013e 100644 --- a/YuKirasawa_WICL1st.md +++ b/YuKirasawa_WICL1st.md @@ -470,4 +470,169 @@ Refund succeeds 之后就可以在创建者的地址上看到余额变化。 +### 07.31 + +- 今日学习时间:1 h +- 学习内容小结:尝试编写了 resourceRequest resolve mode 的 web3url 合约。 + +resourceRequest resolve mode 是 auto mode 和 manual mode 外的另一种 web3url 的解析方式。 + +它对 web3url 的处理接口为 + +``` +struct KeyValue { + string key; + string value; +} + +interface IDecentralizedApp { + /// @notice Send an HTTP GET-like request to this contract + /// @param resource The resource to request (e.g. "/asdf/1234" turns in to `["asdf", "1234"]`) + /// @param params The query parameters. (e.g. "?asdf=1234&foo=bar" turns in to `[{ key: "asdf", value: "1234" }, { key: "foo", value: "bar" }]`) + /// @return statusCode The HTTP status code (e.g. 200) + /// @return body The body of the response + /// @return headers A list of header names (e.g. [{ key: "Content-Type", value: "application/json" }]) + function request(string[] memory resource, KeyValue[] memory params) external view returns (uint statusCode, string memory body, KeyValue[] memory headers); +} +``` + +例如 web3url 中的 `/gzip.js?12=34` 会解析为参数 `resource=["gzip.js"],params=[["12","34"]]`,且返回值接口被设置为与 http 兼容的形式。 + +编写合约代码如下 + +``` +// SPDX-License-Identifier: GPL-3.0 + +pragma solidity ^0.8.18; + +struct KeyValue { + string key; + string value; +} + +contract Hello { + function resolveMode() external pure returns (bytes32) { + return "5219"; + } + + function isEqual(bytes memory a, bytes memory b) + private + pure + returns (bool) + { + if (a.length != b.length) { + return false; + } + + for (uint256 i = 0; i < a.length; i++) { + if (a[i] != b[i]) { + return false; + } + } + + return true; + } + + function request(string[] memory resource, KeyValue[] memory params) + external + pure + returns ( + uint256 statusCode, + bytes memory body, + KeyValue[] memory headers + ) + { + if (resource.length == 1) { + if (isEqual(bytes(resource[0]), bytes("a.txt"))) { + // compress data + body = hex"1f8b0800eb4aaa6602ff0bc9c82c5600a24485b4cc9c5485f2cc920c85e4fcdc82a2d4e2e2ccfc3c3d00c55e612e20000000"; + statusCode = 200; + headers = new KeyValue[](2); + headers[0].key = "Content-Type"; + headers[0].value = "text/plain"; + headers[1].key = "Content-Encoding"; + headers[1].value = "gzip"; + } else if (isEqual(bytes(resource[0]), bytes("a.js"))) { + // set Content-Type + statusCode = 200; + body = bytes('console.log("This is a js file.");'); + headers = new KeyValue[](1); + headers[0].key = "Content-Type"; + headers[0].value = "application/javascript"; + } else { + statusCode = 404; + body = bytes("Not Found"); + } + } else { + statusCode = 404; + body = bytes("Not Found"); + } + } +} +``` + +部署的地址为 `web3://0x6ef267986a6acd841013dfd4971bc3715dfaf526:11155111` + +访问 `web3://0x6ef267986a6acd841013dfd4971bc3715dfaf526:11155111/a.txt` + +响应如下 + +``` +> 0xdd473fae +* RPC provider used: https://rpc.sepolia.org +< 0x3532313900000000000000000000000000000000000000000000000000000000 +* Resolve mode: resourceRequest +* +* Path parsing... +* Contract call mode: method +* Method name: request +* Method arguments types: [{"type":"string[]"},{"type":"tuple[]","components":[{"type":"string"},{"type":"string"}]}] +* Method arguments values: [["a.txt"],[]] +* Contract return processing: decodeErc5219Request +* +* Calling contract ... +* Contract address: 0x6ef267986a6acd841013dfd4971bc3715dfaf526 +> 0x1374c46000000000000000000000000000000000000000000000000000000000...0000000000000000000000000000000000000000000000000000000000000000 +* RPC provider used: https://rpc.sepolia.org +< 0x00000000000000000000000000000000000000000000000000000000000000c8...677a697000000000000000000000000000000000000000000000000000000000 +* +* Decoding contract return ... +* HTTP Status code: 200 +* HTTP Headers: +* Content-Type: text/plain +This is a file with compression. +``` + +可以看出压缩编码的文件可以正确解压展示。 + +访问 `web3://0x6ef267986a6acd841013dfd4971bc3715dfaf526:11155111/a.js` + +``` +> 0xdd473fae +* RPC provider used: https://rpc.sepolia.org +< 0x3532313900000000000000000000000000000000000000000000000000000000 +* Resolve mode: resourceRequest +* +* Path parsing... +* Contract call mode: method +* Method name: request +* Method arguments types: [{"type":"string[]"},{"type":"tuple[]","components":[{"type":"string"},{"type":"string"}]}] +* Method arguments values: [["a.js"],[]] +* Contract return processing: decodeErc5219Request +* +* Calling contract ... +* Contract address: 0x6ef267986a6acd841013dfd4971bc3715dfaf526 +> 0x1374c46000000000000000000000000000000000000000000000000000000000...0000000000000000000000000000000000000000000000000000000000000000 +* RPC provider used: https://rpc.sepolia.org +< 0x00000000000000000000000000000000000000000000000000000000000000c8...6170706c69636174696f6e2f6a61766173637269707400000000000000000000 +* +* Decoding contract return ... +* HTTP Status code: 200 +* HTTP Headers: +* Content-Type: application/javascript +console.log("This is a js file."); +``` + +同样可以得到预期结果。 + diff --git a/Zedz_WICL1st.md b/Zedz_WICL1st.md index 7d29982..89006e4 100644 --- a/Zedz_WICL1st.md +++ b/Zedz_WICL1st.md @@ -255,4 +255,40 @@ timezone: Asia/Shanghai - TODO - 准备demo present +### 08.01 + +- 今日学习时间: +- 学习内容小结: + - 小组讨论进行中 + - 更新[Web3 E-Card](https://www.notion.so/Web3-E-Card-6bcf5fc4ac2b4e36a801deb66af5c937?pvs=4) + - 已进入代码合体阶段 +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) +- TODO + - 准备demo present + +### 08.02 + +- 今日学习时间: +- 学习内容小结: +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) +- TODO + +### 08.03 + +- 今日学习时间: +- 学习内容小结: +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) +- TODO + +### 08.04 + +- 今日学习时间: +- 学习内容小结: +- Homework 部分(如果有安排需要填写证明完成) +- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流) +- TODO + diff --git a/ZhaoHong_WICL1st.md b/ZhaoHong_WICL1st.md index 3cf4a26..a6ff284 100644 --- a/ZhaoHong_WICL1st.md +++ b/ZhaoHong_WICL1st.md @@ -335,4 +335,9 @@ w3box:从 https://github.com/ethstorage/awesome-web3 中选取第一个 app 项目想法: https://github.com/IntensiveCoLearning/Web3-URL/discussions/166 +### 07.31 + +回顾了第三周公开课,介绍了以太坊存储成本计算,通过存储32k数据的opcode消耗的gas*gasPrice可算出。 +使用ethstorage将文件hash保存到链上,并提供存储证明,期望将成本控制在以太坊的千分之一。 + diff --git a/Ziicu2019_WICL1st.md b/Ziicu2019_WICL1st.md index 73f9168..d6798c3 100644 --- a/Ziicu2019_WICL1st.md +++ b/Ziicu2019_WICL1st.md @@ -212,6 +212,16 @@ web3curl -v 'web3://w3url.eth' ### 07.29 +- 今日学习时间:0h +- 学习内容小结 + +### 07.31 + +- 今日学习时间:0h +- 学习内容小结 + +### 08.01 + - 今日学习时间:0h - 学习内容小结 diff --git a/hython_WICL1st.md b/hython_WICL1st.md index b15b43d..ce8fbca 100644 --- a/hython_WICL1st.md +++ b/hython_WICL1st.md @@ -202,4 +202,13 @@ timezone: Asia/Tokyo - 学习内容小结: - 组队项目E-Card游戏初始化配置合约优化 +### 07.31 +- 今日学习时间:21:00~21:30 共30分钟 +- 学习内容小结: + - 组队项目问题发现及优化 + +### 2024.08.02 +- 今日学习时间:22:00~22:30 共30分钟 +- 学习内容小结: + - 组队项目部署测试网及问题发现