Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
linghuccc committed Jul 29, 2024
2 parents 96e98b3 + 7987f00 commit 8daa65b
Show file tree
Hide file tree
Showing 17 changed files with 283 additions and 58 deletions.
8 changes: 8 additions & 0 deletions An_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,5 +120,13 @@
- 今日学习时间:120 min
- 学习内容小结:复习公开课[1](https://www.youtube.com/watch?v=hmN77o-ex8I)[2](https://www.youtube.com/watch?v=z207TQYNSdM)


### 07.28

- 今日学习时间:30 min
- 学习内容小结:浏览一下discussions[discussions](https://github.com/IntensiveCoLearning/Web3-URL/discussions)



XXX
<!-- Content_END -->
2 changes: 2 additions & 0 deletions Antigone4224_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,8 @@ contract FlatDirectory is W3RC3 {
- [ ] 前端开发工程师:实现前端界面,允许用户进行交易和查看结算结果。

我负责后端开发工程师c的工作。。
### 7.28
今天在折腾合约开发部署环境的问题,gpt建议的truffle,我看了下已经停止维护了,,consensys建议使用hardhat,项目结构也差不多,也考虑了foundry,但hardhat可以前后端一起测试。还在等大家一起商量出项目具体的开发测试环境。


<!-- Content_END -->
5 changes: 5 additions & 0 deletions Box_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,4 +159,9 @@
- 今日学习时间:1h
- 学习内容小结:
- 昨天遇到了一些问题,现在只能用替代方案了
- ### 07.28

- 今日学习时间:1h
- Homework
- 构建完成生成手动模式数据的url
<!-- Content_END -->
3 changes: 3 additions & 0 deletions Bugmaker_WICL1st .md
Original file line number Diff line number Diff line change
Expand Up @@ -487,4 +487,7 @@ contract EtherStore is ReentrancyGuard {
### 07.27
- 今日学习时间:7.27 9 p.m.--12 p.m.
- 学习内容小结:学习闪电贷漏洞
### 07.28
- 今日学习时间:7.2 6 p.m.--8 p.m.
- 学习内容小结:学习常见的Defi漏洞
<!-- Content_END -->
9 changes: 8 additions & 1 deletion Cora_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,16 @@ web3://<contract>[:<chainId>]/<path>
- 问题一:例子中第 6 步-t 参数的 type 值代表什么?
- 问题二:例子中第 7 步访问的示例链接是https://0xedDC3d17a23eD3e1DeBfF90534eB54532755049F.3336.w3link.io/,但为什么不是web3://……这种形式呢?
- Idea: 关于项目内容的一些想法有以下几点

- 项目类型:游戏
- 玩法类型:① 关卡类;② 多人对战类。(旨在增加更多用户)
- 项目研发:github 上找开源 web 小游戏
- 收费模式:① 游戏本身免费,道具等收费;② 达到一定 UV 后插入广告等……
- 推广运营:社群等……
- <!-- Content_END -->

### 07.28

今日学习时间:1h

- 学习内容小结:查看讨论中项目,寻找灵感。一个是 Outlaw Voyage,一个是 Web3:// Sounds。尝试加入学习~
<!-- Content_END -->
2 changes: 2 additions & 0 deletions Derick_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -269,5 +269,7 @@ Web3 URL的域名部分可以是以下几种类型之一:
- 删除音频
- 播放音频
### 7.27
- 完成一些测试合约的开发和测试
- 学习https://github.com/ethstorage/w3box 项目,前端与合约交互方式,上传逻辑
### 7.28
<!-- Content_END -->
25 changes: 25 additions & 0 deletions Iyi_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,5 +195,30 @@
- 组队项目需求讨论
- Homework 部分(如果有安排需要填写证明完成)
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)

### 07.27

- 今日学习时间:1h
- 学习内容小结
- 确定组队项目需求的分工 负责的部分
- 理解相关的设计思路
- Homework 部分(如果有安排需要填写证明完成)
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)

### 07.28

- 今日学习时间:0.5h
- 学习内容小结
- 合约开发项目初始化 以及相关配置
- Homework 部分(如果有安排需要填写证明完成)
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)

### 07.29

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

<!-- Content_END -->
15 changes: 15 additions & 0 deletions Kero_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,19 @@ function get_metadata(name) -> (length_of_chunks, size_of_file)
- `SimpleNameService.sol` 可能这个合约是为了展示 web3url 的用途。
- `SimpleW2box.sol` 可能这个合约是为了展示 web3url 的用途。

### 07.28

- 今日学习时间:0.5 hour
- 学习内容小结:如何区分 client side 和 server side 代码;一个 React 项目是如何运行的(dist);

#### Note by ChatGPT4

运行React项目时使用到Node.js主要是因为Node.js提供了npm(Node Package Manager),这是一个包管理工具,用于安装和管理项目依赖。React项目通常会依赖许多外部库和工具,例如React本身、React-DOM以及可能的路由和状态管理库等,这些都可以通过npm轻松安装和更新。

此外,Node.js环境支持使用Webpack、Babel等工具来构建和打包JavaScript代码。这些工具可以帮助开发者将React的JSX语法转换为浏览器能理解的JavaScript代码,同时还可以优化应用的性能,比如通过压缩文件来减少加载时间。

虽然理论上你可以不使用Node.js直接在浏览器中使用React(例如通过CDN直接引入React库),但这种方式通常只适用于非常简单的项目。对于大多数现代的、复杂的React应用来说,使用Node.js及其生态系统中的工具是非常必要的,因为它们提供了构建、测试、开发和部署等一系列自动化和优化功能,极大地提高了开发效率和项目的可维护性。

总的来说,虽然不是绝对必须,但在大多数情况下,使用Node.js来运行和管理React项目会更加高效和方便。

<!-- Content_END -->
5 changes: 5 additions & 0 deletions Max_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,9 @@ XXX

- 今日学习时间:5h
- 学习内容小结:完成前端基础页面布局。

### 07.28

- 今日学习时间:1h
- 学习内容小结:部署前端项目到vercel
<!-- Content_END -->
13 changes: 12 additions & 1 deletion Oscar_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -456,8 +456,19 @@ node . -v 'web3://w3url.eth'

### 07.28

- 今日学习时间:
- 今日学习时间:1 小时
- 学习内容小结:
- [Web3:// Sounds](https://github.com/luffythink/Web3Sounds) 项目建设中
- 产品简介
- 产品团队
- 产品进度
- 产品功能框架
- 产品用户旅程


### 07.29

- 今日学习时间:1 小时
- 学习内容小结:


Expand Down
96 changes: 89 additions & 7 deletions Punkcan_WICL1st.md
Original file line number Diff line number Diff line change
Expand Up @@ -457,17 +457,101 @@

### 07.28

- 今日学习时间:
- 今日学习时间:1h
- 学习内容小结:
- 分析了两个TerraformNavigator的合约,一个5219 mode 一个manual mode
- manual 采用fallback的模式,5129采用了function来处理,例如request
- 5219 设置了设置响应头,但manual则是直接回传数据
- 针对request进行了理解
```
function request(
string[] memory resource,
KeyValue[] memory params
) external view returns (
uint statusCode,
string memory body,
KeyValue[] memory headers) {

// 如果 resource 数组为空,则表示请求的是主页
if(resource.length == 0) {
body = indexHTML(1); // 生成第一页的 HTML 内容
statusCode = 200; // 设置状态码为 200(成功)
headers = new KeyValue ;
headers[0].key = "Content-type"; // 设置响应头
headers[0].value = "text/html"; // 内容类型为 text/html
}
// 处理 /index/[uint] 路径
else if(resource.length >= 1 && resource.length <= 2 && ToString.compare(resource[0], "index")) {
uint page = 1;
if(resource.length == 2) {
page = ToString.stringToUint(resource[1]); // 将第二个元素转换为页码
}
if(page == 0) {
statusCode = 404; // 如果页码为 0,设置状态码为 404(未找到)
}
else {
body = indexHTML(page); // 生成对应页码的 HTML 内容
statusCode = 200; // 设置状态码为 200(成功)
headers = new KeyValue ;
headers[0].key = "Content-type"; // 设置响应头
headers[0].value = "text/html"; // 内容类型为 text/html
}
}
// 处理 /view/[uint] 路径
else if(resource.length == 2 && ToString.compare(resource[0], "view")) {
uint terraformsTotalSupply = ITerraforms(terraformsAddress).totalSupply(); // 获取 Terraforms 的总供应量

uint tokenId = ToString.stringToUint(resource[1]); // 将第二个元素转换为 tokenId
if(tokenId == 0 || tokenId > terraformsTotalSupply) {
statusCode = 404; // 如果 tokenId 为 0 或大于总供应量,设置状态码为 404(未找到)
}
else {
body = viewHTML(tokenId); // 生成对应 tokenId 的 HTML 内容
statusCode = 200; // 设置状态码为 200(成功)
headers = new KeyValue ;
headers[0].key = "Content-type"; // 设置响应头
headers[0].value = "text/html"; // 内容类型为 text/html
}
}
// 处理 /view/[uint]/svg 路径,代理 SVG 请求直到 ERC-7087 被接受
else if(resource.length == 3 && ToString.compare(resource[0], "view") && ToString.compare(resource[2], "svg")) {
uint terraformsTotalSupply = ITerraforms(terraformsAddress).totalSupply(); // 获取 Terraforms 的总供应量

uint tokenId = ToString.stringToUint(resource[1]); // 将第二个元素转换为 tokenId
if(tokenId == 0 || tokenId > terraformsTotalSupply) {
statusCode = 404; // 如果 tokenId 为 0 或大于总供应量,设置状态码为 404(未找到)
}
else {
body = ITerraforms(terraformsAddress).tokenSVG(tokenId); // 获取对应 tokenId 的 SVG 数据
statusCode = 200; // 设置状态码为 200(成功)
headers = new KeyValue ;
headers[0].key = "Content-type"; // 设置响应头
headers[0].value = "image/svg+xml"; // 内容类型为 image/svg+xml
}
}
else {
statusCode = 404; // 如果上述条件都不满足,设置状态码为 404(未找到)
}
}

```
-
-
- Homework 部分(如果有安排需要填写证明完成)
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)


### 07.29

- 今日学习时间:
- 今日学习时间:0.5
- 学习内容小结:
- 主要是处理一下作业,作业累积有点多
- ethfs-uploader还是装不上,原因不明
- Homework 部分(如果有安排需要填写证明完成)
- Upload a file via web3box and paste link
- https://galileo.web3q.io/file.w3q/0xe08635b4793d7e64d4ce51a023e1167ff75e4204/%E5%85%AD%E9%81%93%E9%87%91%E5%88%9A%E5%92%92.png
- Write a blog and paste link
- https://dblog.w3q.w3q-g.w3link.io/#/blog/punkcan.w3q/0
- Question and Ideas(有什么疑问/或者想法,可以记在这里,也可以分享到共学频道群讨论交流)


Expand All @@ -490,11 +574,9 @@
### ToDo


- 研究0x2b51A751d3c7d3554E28DC72C3b032E5f56Aa656的架构
- 了解网关如何架设
- Claim EthStorage Testnet tokens(Use a new address)
- Upload a file via web3box and paste link
- Write a blog and paste link

-
-
- Use ethfs-uploader to upload a folder
- Challenge: Use ERC6944 to return a uncompressed compressed data determine a customized MIME
- 研究如果使用web3protocol-js,是否可以不用网关就获取数据
Expand Down
Loading

0 comments on commit 8daa65b

Please sign in to comment.