贡献者: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/