Crypto Chasers 技术周报 20231031

贡献者：Script Money
全栈工程师，熟悉 Web3 开发生态，编写过一些技术教程

本文是 CryptoChasers 出品的技术双周报第六期（20231018-20231031），资料来源于个人收集和社区群聊。主要面向 Web3 开发和 Crypto 活动的偏实践类内容。

板块设置说明：
本周精选：由作者推荐的最近 3 条最值得关注的信息
工具推荐：由作者推荐的 3 个值得试用的开发者工具
群友热议：社区群聊里本周 + 历史某周的 3 条热门主题
开发者活动：未来几周可以参与的 grant 和黑客松
友情推荐：群友项目，招聘，广告等

欢迎在评论区或私聊作者投稿

本周精选

ParadigmCTF write up

网址：https://github.com/fuzzland/writeup
推荐理由： Fuzzland 的群友 @0xAWM_eth 提供了 ParadigmCTF2023 的解答，他们也获得了第 4 的好成绩。

ZK-Hunt：全链游戏实现隐藏信息的新尝试

网址：https://xlog.app/post/captainz/ZK-Hunt-quan-lian-you-xi-shi-xian-yin-cang-xin-xi-de-xin-chang-shi-md
推荐理由：很有深度的区块链技术设计文章，链接是中译版，适合做零知识证明或者全链游戏的开发者学习。

Laputa

网址：https://github.com/Cygnusfear/laputa
推荐理由：刚结束的 ETH global online 2023 共获了 4 个奖的优质项目，合约用了 MUD2.0，前端是 react-three-fiber，实现了纯 web3D 的交互界面，代码全开源。适合做前端和对 MUD 感兴趣的朋友学习。

工具推荐

heygen

网址：https://www.bilibili.com/video/BV1Gh4y1i7bU/
推荐理由：heygen 是最近爆火的视频换嘴型 + 语言所使用的工具。链接是由 @数字黑魔法 带来的技术解析视频。

latent consistency model

网址：https://github.com/replicate/latent-consistency-model
推荐理由：快速出图的新采样器，大幅减少所需步数和图片生成时间。官方提供了 Mac 的库，想要用在 WebUI 里也能搜到插件。有个试玩链接 https://replicate.com/luosiallen/latent-consistency-model

Fe

网址：https://fe-lang.org/docs/index.html
推荐理由：以太坊生态的 Fe 语言，类似 Rust，代替 Solidity 写智能合约。接下来将举行的 ETH 伊斯坦布尔，有单独的 Prize 给用 Fe 搭建的应用，可见基金会是重视这个工具的，感兴趣的可以学习下。

群友热议

主题 1：如何在 Rust 中实现任务调度和日志记录

Rust 可以通过脚本调用 rust-script 执行。

xxl-job 的 SDK 主要支持 Java，其他语言需要使用 shell 或 http API 调用。

使用 crontab 进行任务调度。

使用 http 调度和负载均衡。

使用云服务的日志存储功能。

使用 ELK 配 K8S 的 cronjob。

使用 betterstack 进行日志记录和聚合分析。

使用 Render 云服务集成 crontab 和日志记录。

主题 2：讨论关于使用 Flask 编写的服务遇到不明 IP 请求的问题

使用 nginx 配置 basic auth 进行鉴权。

将请求方式从 GET 改为 POST。

检查请求的具体内容，例如密码是否被直接发送。

检查请求的来源 IP，判断是否有多个 IP 在尝试碰撞。

使用加密传输，如 HTTPS。

将 API 参数从 URL 中移除。

使用网络服务商进行安全防护。

记录日志，分析请求的详细信息。

使用 UUID 作为密码，错误时不响应或 sleep 几秒。

设置服务器白名单，仅允许白名单内的 IP 请求。

限制 IP 段，只允许特定来源的请求。

主题 3：讨论关于 Solidity 存储布局 (storage layout) 中数组操作遇到的问题

确保数组的第一个 slot 是长度，后面才是元素。

尝试在 slot+1 或者 slot+2 的位置进行操作失败

注意数组的存储方式，不需要使用 keccak256，是挨着存储的。

确保在写入数据时没有问题，问题可能出在获取数据时。

使用 sload 获取正确的值。

确保在 slot 写入长度后，才能读取数组。

调整位移操作，使其与 push 操作一致。

黑客松 & 活动

新活动不多，过往活动可到上期查看

https://community.starknet.io/t/announcing-the-early-community-member-program/102092 StarkNet 的社区贡献申请，有任何帮助 StarkNet 发展的贡献都可以报名，截止到 11 月 23 日

https://permahacks.arweave.dev/ arwearve 的黑客松 10 月 30 日 - 11 月 10 日

友情推荐

非常好用的 Twitter API https://apidance.pro/

区块链安全分析 Fuzzland 正在招聘，需要有 Rust 和 Web3 经验，最好有 Fuzzing 经验，全远程工作 https://fuzzland.notion.site/We-Are-Hiring-af638527ff654395a950121a2f0809fc

漏洞发现 ZKP 平台 https://www.0xhacked.com/

Fuzzland 举办的 CTF，12 月 1 日开始，为期 2 天 https://ctf.blaz.ai/