Skip to content

Commit ba86c06

Browse files
committed
Merge remote-tracking branch 'origin/main'
To make local files up to date
2 parents 4d63c83 + 7994b04 commit ba86c06

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2456
-163
lines changed

ARMIN_WICL1st.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@
6262

6363
举例示范:
6464

65-
- 今日学习时间:XXXX
66-
- 学习内容小结:XXXX
65+
- 今日学习时间:1.5h
66+
- 学习内容小结:学习了 PPT 中的内容,有些地方不太懂,明天继续
6767
- Homework 部分(如果有安排需要填写证明完成)
6868
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)
6969

Ache_WICL1st.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
--
2+
timezone: Asia/Shanghai
3+
---
4+
5+
> ⚠️本打卡表默认为北京时间 UTC+8 时区,正确格式如下:
6+
>
7+
> timezone: Asia/Shanghai
8+
>
9+
> ⚠️如果你所在地区非北京时间,请根据你所在时区自行更改,请注意填写的正确格式。
10+
>
11+
> 时区请参考以下列表:
12+
>
13+
> timezone: Asia/Shanghai # 中国标准时间 (UTC+8)
14+
>
15+
> timezone: Asia/Tokyo # 日本标准时间 (UTC+9)
16+
>
17+
> timezone: Pacific/Auckland # 新西兰标准时间 (UTC+12)
18+
>
19+
> timezone: Australia/Sydney # 澳大利亚东部标准时间 (UTC+10)
20+
>
21+
> timezone: Pacific/Honolulu # 夏威夷-阿留申标准时间 (UTC-10)
22+
>
23+
> timezone: America/Anchorage # 阿拉斯加标准时间 (UTC-9)
24+
>
25+
> timezone: America/Los_Angeles # 太平洋标准时间 (UTC-8)
26+
>
27+
> timezone: America/Denver # 山地标准时间 (UTC-7)
28+
>
29+
> timezone: America/Chicago # 中部标准时间 (UTC-6)
30+
>
31+
> timezone: America/New_York # 东部标准时间 (UTC-5)
32+
>
33+
> timezone: America/Halifax # 大西洋标准时间 (UTC-4)
34+
>
35+
> timezone: America/St_Johns # 纽芬兰标准时间 (UTC-3:30)
36+
>
37+
> timezone: America/Sao_Paulo # 巴西利亚时间 (UTC-3)
38+
>
39+
> timezone: Atlantic/Azores # 亚速尔群岛时间 (UTC-1)
40+
>
41+
> timezone: Europe/London # 格林威治标准时间 (UTC+0)
42+
>
43+
> timezone: Europe/Berlin # 中欧标准时间 (UTC+1)
44+
>
45+
> timezone: Europe/Helsinki # 东欧标准时间 (UTC+2)
46+
>
47+
> timezone: Europe/Moscow # 莫斯科标准时间 (UTC+3)
48+
>
49+
> timezone: Asia/Dubai # 海湾标准时间 (UTC+4)
50+
>
51+
> timezone: Asia/Kolkata # 印度标准时间 (UTC+5:30)
52+
>
53+
> timezone: Asia/Dhaka # 孟加拉国标准时间 (UTC+6)
54+
>
55+
> timezone: Asia/Bangkok # 中南半岛时间 (UTC+7)
56+
>
57+
58+
59+
# Web3 URL 残酷共学第 1 期残酷指引
60+
61+
> ⚠️ 正式开始前请确保你在身体上和精神上都处于合适的状态,请刻意练习,残酷面对 🆒。为方便检索 The First Web3 URL Intensive CoLearning 简写为 WICL1st,第 2 期即为WICL2nd,第 3 期即为 WICL3rd,以此类推。
62+
> ⚠️ 报名需要按要求认真填写下面 [ XXX ] 部分,方可通过报名审核,通过审核即可开始自主学习。
63+
---
64+
65+
# [ 你的名字 ]
66+
67+
1. **自我介绍:**
68+
69+
Ache: LXDAO 运营小组的成员,参与 Web3 URL 的残酷共学是想在学一些 Web3 的技术,目前有一些 Javascript、Soldity 和 Python 的基础
70+
71+
2. **组队期待:**
72+
73+
目前没有期待,有人愿意带带最好
74+
75+
3. **你认为你会完成本次 Web3 URL 的残酷学习吗?**
76+
77+
英语完成了 18/21 所以我认为 Web3 URL 我争取20/21
78+
79+
---
80+
81+
## 第 1 期共学时间计划
82+
83+
- **7 月 8 日 - 7 月 14 日**
84+
85+
- 自我介绍:大家按要求更新上方自我介绍,方面大家互相了解,及后续自由组队方向。
86+
87+
- [Web3 URL 残酷共学频道](https://t.me/LXDAO/8748)报道:大家可以自由在残酷共学群里交流分享,互动答疑,根据自身学习阶段情况随时开启自由组队。
88+
89+
- 课前学习:了解残酷共学流程,GitHub 协作共学基础;Web3:// 协议课前学习。
90+
91+
- **7 月 15 日 - 7 月 21 日**
92+
93+
- **7 月 15 日 周一晚 8 点- 9 点(北京时间):** 第 1 次公开课分享
94+
- **本周共学内容:** 涉及 Web3:// 的背景和演进历史;支持 Web3:// 协议的访问方式 (gateway 和 EVM browser)来浏览以太坊上面的数据;熟悉使用 Web3:// 和 EthStorage 早期测试网来部署简单的去中心化网站。
95+
- **Homework1:**[课程 PPT](https://docs.google.com/presentation/d/1egJUKJrjC9wjkmOF9sLBkTSwHpd6hl8FXkWehPW7kFk/edit#slide=id.g1754f50a55c_0_11)
96+
97+
- **7 月 22 日 - 7 月 28 日**
98+
- **7 月 22 日 周一晚 8 点- 9 点(北京时间):** 第 2 次公开课分享
99+
100+
- **本周共学内容:** 涉及 Web3:// 高级开发工具,包括:在命令行通过 web3curl 来通过 Web3:// 协议下载数据,通过 ethfs-uploader 批量上传网页数据,通过 manual 模式来搭建去中心化多人交互全链网站;及深入理解以太坊的存储模型和 gas 开销等。
101+
- **边学边用实战开发:** 根据组队情况自由安排。
102+
- **Homework2:**[课程 PPT](https://docs.google.com/presentation/d/1egJUKJrjC9wjkmOF9sLBkTSwHpd6hl8FXkWehPW7kFk/edit#slide=id.g1754f50a55c_0_11)
103+
104+
- **7 月 29 日 - 8 月 4 日**
105+
- **7 月 29 日 周一晚 8 点- 9 点(北京时间):** 第 3 次公开课分享
106+
- **本周共学内容:** 涉及实际应用案例分享及未来以太坊基础设施在 Web3:// 的重要作用及开发方向等。
107+
- **边学边用实战开发:** 根据组队情况自由安排。
108+
- **结营分享:** 具体时间及详情另在「Web3 URL 残酷共学频道」通知。
109+
110+
---
111+
112+
## 笔记证明 Notes Proof
113+
<!-- Content_START -->
114+
### 07.15
115+
116+
举例示范:
117+
118+
- 今日学习时间:XXXX
119+
- 学习内容小结:XXXX
120+
- Homework 部分(如果有安排需要填写证明完成)
121+
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)
122+
123+
124+
125+
### 07.16
126+
127+
XXX
128+
129+
### 07.17
130+
131+
XXX
132+
<!-- Content_END -->

An_WICL1st.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,17 @@
5555

5656
## 笔记证明 Notes Proof
5757
<!-- Content_START -->
58-
### 07.15
59-
6058
举例示范:
6159

6260
- 今日学习时间:XXXX
6361
- 学习内容小结:XXXX
6462
- Homework 部分(如果有安排需要填写证明完成)
6563
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)
6664

65+
### 07.15
66+
- 今日学习时间:60 min
67+
- 学习内容小结:WEB3 URL 介绍和结构、测试例子[笔记](https://pinto-zinnia-ba1.notion.site/Web-URL-9120a5e5456f48d1be74c5b33166d5a1)
68+
6769

6870

6971
### 07.16

Antigone4224_WICL1st.md

Lines changed: 79 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
1. **自我介绍:**
1212

13-
我是Antigone,cuit区块链准大三学生,想通过共学计划进一步,学习并参与到web3://这样新兴的协议中。
13+
我是Antigone,cuit区块链准大三学生,想通过共学计划进一步,学习并参与到web3://这样新兴的协议中。本次共学的笔记会发在[我的博客](https://antigone4224.github.io/)
1414

1515
**组队期待:**
1616

@@ -55,12 +55,85 @@
5555
<!-- Content_START -->
5656
### 07.15
5757

58-
举例示范:
58+
- 今日学习时间:2h
59+
- 学习内容小结:详情见[我的博客](https://antigone4224.github.io/web3-url-colearing-day1),预习了一下slides里的内容,对于web3-url有了一个大致的了解。
5960

60-
- 今日学习时间:XXXX
61-
- 学习内容小结:XXXX
62-
- Homework 部分(如果有安排需要填写证明完成)
63-
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)
61+
预习了一下第一次的 [slides](https://docs.google.com/presentation/d/1egJUKJrjC9wjkmOF9sLBkTSwHpd6hl8FXkWehPW7kFk/edit#slide=id.g1754f50a55c_0_11),简单的介绍了一下web3://协议
62+
63+
ERC-4804提出了使用RFC 2396 URI来表示一个以太坊消息调用,给予了我们一种直接访问以太坊区块链的方式,也就是web3 url,从此不再需要经过http://或者ipfs的代理。
64+
65+
可以参考下面这张图(直接从slides里扒的链接,可能会没法加载= =)
66+
67+
下面的标识是对应URI的RFC标准,上面的标识是对应了对于区块链中具体寻址的对应。
68+
69+
![img](https://lh7-us.googleusercontent.com/slidesz/AGV_vUcpijLKlO-0God_BdgVPYw8-B1CSb0YvALN8_5X4tXih74cxO9O_35jEs8nUlHKo6ba4NkSgxihzte_nqw-Q53i49ZkHJ-_bjI2IlJPIXT-1A-ghRAGLGQQsgBtx51hNyWWOEQMOe3VnLAOpqj65W7kvLrWFqmz=s2048?key=0jO8rkPrChFDCniaDj_L9Q)
70+
71+
可以看到web3:// 支持大多数http://的功能,就是对标以太坊生态中的http://,与ipfs://不同的是,web3://是直接对接到链上的,虽然看起来都是去中心化的一种应用层协议,但是ipfs://对接的是共享文件的peer节点,web3://对接的是以太坊或者EVM生态的区块链网络。
72+
73+
slides里提供了两种使用web3:// 协议的方式,一种是[火狐浏览器插件](https://addons.mozilla.org/en-US/firefox/addon/web3url/),这种访问还是经过了gateway 经过http://代理来实现的访问(看起来只是将请求转换成了url请求发送给gateway),然后就是一个[EVM Browser](https://github.com/web3-protocol/evm-browser) 这个在我仅仅只看Readme的情况下,需要一个https的链接指定rpc,,翻了下[源码](https://github.com/web3-protocol/web3protocol-js/blob/main/src/chains/client.js),还真是http call rpc,,
74+
75+
```
76+
async #rpcCall(rpcUrl, args) {
77+
if(this.#rpcCallCounters[rpcUrl] === undefined) {
78+
this.#rpcCallCounters[rpcUrl] = 0;
79+
}
80+
this.#rpcCallCounters[rpcUrl]++;
81+
82+
let postData = {
83+
jsonrpc: "2.0",
84+
id: this.#rpcCallCounters[rpcUrl],
85+
method: "eth_call",
86+
params:[
87+
args,
88+
"latest"
89+
]
90+
}
91+
92+
const response = await fetch(rpcUrl, {
93+
method: 'POST',
94+
headers: {
95+
'Content-Type': 'application/json'
96+
},
97+
body: JSON.stringify(postData)
98+
})
99+
100+
if(response.status != 200) {
101+
throw new Error("RPC returned an error HTTP code: " + response.status);
102+
}
103+
104+
const json = await response.json()
105+
106+
if(json.error) {
107+
throw new Error("RPC returned an error: " + json.error.message);
108+
}
109+
110+
if(json.result === undefined || json.result === "" || json.result == "0x") {
111+
throw new Error("No data returned");
112+
}
113+
114+
115+
// We got some data!
116+
return json.result;
117+
}
118+
```
119+
120+
121+
122+
感觉独立协议的部分应该还是未完全完成的状态?
123+
124+
按照ppt的指引,通过web3://访问
125+
126+
![](https://github.com/antigone4224/blog-img/blob/main/image-20240715131149029.png?raw=true)
127+
128+
浏览器抓包也能很明显看出还是隐式的使用了https
129+
130+
<img src="https://github.com/antigone4224/blog-img/blob/main/image-20240715132058280.png?raw=true" alt="image-20240715132058280" style="zoom: 200%;" />
131+
132+
后面slides还讲了一堆将常规web2应用迁移到web3的例子,展示了web3://代替http://的可能性。
133+
134+
随后 slides里列出了对该erc进行拓展的[ERC-5018](https://eips.ethereum.org/EIPS/eip-5018):实现一个在合约类文件系统的接口给合约访问/上传资源,让合约应用显得更贴近web应用,更加符合常规web应用开发的逻辑。
135+
136+
[ERC-6944](https://eips.ethereum.org/EIPS/eip-6944):希望添加一种请求资源的参数解析模式(erc-4804提出了manual和auto两种,前者并不会自动填充参数,所以应该会产生参数缺失无法成功访问的问题),应该也是为了优化web3网页的体验。
64137

65138

66139

Bruce_WICL1st.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
timezone: Asia/Shanghai
3+
---
4+
5+
# Web3 URL 残酷共学第 1 期残酷指引
6+
7+
> ⚠️ 正式开始前请确保你在身体上和精神上都处于合适的状态,请刻意练习,残酷面对 🆒。为方便检索 The First Web3 URL Intensive CoLearning 简写为 WICL1st,第 2 期即为 WICL2nd,第 3 期即为 WICL3rd,以此类推。
8+
9+
> ⚠️ 报名需要按要求认真填写下面 [ XXX ] 部分,方可通过报名审核,通过审核即可开始自主学习。
10+
11+
---
12+
13+
# Bruce Xu
14+
15+
1. **自我介绍:**
16+
17+
大家好,我是 Bruce Xu,LXDAO 核心成员,Web developer。之前一直对 Web3 URL 比较好奇,但是没有很好的时间和机会来学习和讨论,这次报名跟大家一起学习。
18+
19+
2. **组队期待:**
20+
21+
暂时没什么想法,到时候学习过程中可能会出现吧。
22+
23+
3. **你认为你会完成本次 Web3 URL 的残酷学习吗?**
24+
25+
50%,期间会前往 EDCON 大会,会在路上,所以又可能没有时间学习。
26+
27+
---
28+
29+
## 第 1 期共学时间计划
30+
31+
- **7 月 8 日 - 7 月 14 日**
32+
33+
- 自我介绍:大家按要求更新上方自我介绍,方面大家互相了解,及后续自由组队方向。
34+
35+
- [Web3 URL 残酷共学频道](https://t.me/LXDAO/8748)报道:大家可以自由在残酷共学群里交流分享,互动答疑,根据自身学习阶段情况随时开启自由组队。
36+
37+
- 课前学习:了解残酷共学流程,GitHub 协作共学基础;Web3:// 协议课前学习。
38+
39+
- **7 月 15 日 - 7 月 21 日**
40+
41+
- **7 月 15 日 周一晚 8 点- 9 点(北京时间):** 第 1 次公开课分享
42+
- **本周共学内容:** 涉及 Web3:// 的背景和演进历史;支持 Web3:// 协议的访问方式 (gateway 和 EVM browser)来浏览以太坊上面的数据;熟悉使用 Web3:// 和 EthStorage 早期测试网来部署简单的去中心化网站。
43+
- **Homework1:**[课程 PPT](https://docs.google.com/presentation/d/1egJUKJrjC9wjkmOF9sLBkTSwHpd6hl8FXkWehPW7kFk/edit#slide=id.g1754f50a55c_0_11)
44+
45+
- **7 月 22 日 - 7 月 28 日**
46+
47+
- **7 月 22 日 周一晚 8 点- 9 点(北京时间):** 第 2 次公开课分享
48+
49+
- **本周共学内容:** 涉及 Web3:// 高级开发工具,包括:在命令行通过 web3curl 来通过 Web3:// 协议下载数据,通过 ethfs-uploader 批量上传网页数据,通过 manual 模式来搭建去中心化多人交互全链网站;及深入理解以太坊的存储模型和 gas 开销等。
50+
- **边学边用实战开发:** 根据组队情况自由安排。
51+
- **Homework2:**[课程 PPT](https://docs.google.com/presentation/d/1egJUKJrjC9wjkmOF9sLBkTSwHpd6hl8FXkWehPW7kFk/edit#slide=id.g1754f50a55c_0_11)
52+
53+
- **7 月 29 日 - 8 月 4 日**
54+
- **7 月 29 日 周一晚 8 点- 9 点(北京时间):** 第 3 次公开课分享
55+
- **本周共学内容:** 涉及实际应用案例分享及未来以太坊基础设施在 Web3:// 的重要作用及开发方向等。
56+
- **边学边用实战开发:** 根据组队情况自由安排。
57+
- **结营分享:** 具体时间及详情另在「Web3 URL 残酷共学频道」通知。
58+
59+
---
60+
61+
## 笔记证明 Notes Proof
62+
63+
<!-- Content_START -->
64+
65+
### 07.15
66+
67+
- 今日学习时间:1h
68+
- 学习内容小结:
69+
70+
- ERC-4804 / 6860: Web3 URL to EVM Call Message Translation - an IANA Registered URI Scheme,看起来感觉是 web3:// 访问协议可以把 http 访问转换成 EVM Call
71+
- IANA 是 Internet Assigned Numbers Authority 用来协调全球 DNS 根域名、数字资源、协议等。如果创建新的协议,需要进行注册,例如 https、ftp 协议等,这些名字需要在 IANA 注册 https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
72+
- web3:// 被 Qi Zhou 注册了 https://www.iana.org/assignments/uri-schemes/prov/web3 这种标准化的思维非常值得学习
73+
- URI vs URL vs URN: URI 是统一资源标识符,包含 URL 和 URN;URL 是统一资源定位符,用于指定资源的位置,如 https://www.example.com;URN 是统一资源名称,用于唯一标识资源,如 urn:isbn:978-3-16-148410-0。
74+
- 这个 URI 的设计挺有意思的,借鉴了 http 和 ftp 的设计,但是含义有所不同
75+
![image](https://github.com/user-attachments/assets/f9e5963c-979e-4cf4-b44b-e08364935eec)
76+
77+
- 这里可能存在几个问题:
78+
- chainid 用数字表示不太容易看懂是什么链,然后似乎只是 EVM based 的链,可能无法扩展到其他链比如 BTC 或者 Solana
79+
- 如果没有 ENS,这个 URI 地址会非常长,不是人类可读,不过 ENS 就是为了做这个的,毕竟之前也是因为 IP 地址不好记
80+
- L2 的 ENS 读取咋实现?
81+
- 从目前的这个 case 来看,获得的 return 是合约返回的,普通常见的合约似乎只能原始返回 string 等,甚至不是 JSON 格式,不确定返回的 Content Type 能否指定,还是只能 text/plain。
82+
- 如果需要托管 Web Server 的话,需要合约实现 HTML Template 引擎,根据其他信息合并生成 HTML 返回才能渲染。
83+
84+
- 很多信息目前在链上,但是没有像是 http 一样可以直接读取链上信息的协议或者方法,提供一种新的协议直接调用或者交互合约,所以 web3:// 出来了
85+
86+
- 等待浏览器直接原生内置估计需要起码 5 - 15 年,可以跟 Brave 这种浏览器聊合作。部分浏览器可能支持插件进行重定向或者代理,不然就是自己做一个浏览器,太难了。
87+
- 在此之前只能使用 Gateway,但是可能会存在其他问题,比如 Gateway 的审查或者稳定性
88+
- web3://eth-store.eth/ => https://eth-store.w3eth.io/
89+
- w3link.io is the current gateway for multi-chain: web3://w3url.eth:11155111/ => https://w3url.11155111.w3link.io/
90+
91+
-
92+
93+
- Homework 部分(如果有安排需要填写证明完成)
94+
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)
95+
96+
TODO:
97+
98+
- 查看对应的 ERC 原文
99+
- https://eip.fun/eips/eip-4804
100+
- https://eip.fun/eips/eip-6860
101+
- 查看官网 https://web3url.io/
102+
- 原生支持的浏览器实现 https://github.com/web3-protocol/evm-browser
103+
104+
### 07.16
105+
106+
- 今日学习时间:0.5h
107+
- 学习内容小结:
108+
109+
- Homework 部分(如果有安排需要填写证明完成)
110+
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)
111+
112+
### 07.17
113+
114+
XXX
115+
116+
<!-- Content_END -->

0 commit comments

Comments
 (0)