这就是 AI !
1.23 更 再一次 还以为 Opus 终于写错了,暗自庆幸 结果是我配置错了 以后数据库操作也让 AI 来代劳吧🤣 Claude Opus 4.5 已经让我心服口服了 我还在高傲地以为它不过如此,一直提出问题质疑的时候 一个详尽又合理的路径分析摆在面前,最后还送一句问号 击碎我对人工编码的所有自信 没有经过 AI 审计的代码已经没有任何意义
1.23 更 再一次 还以为 Opus 终于写错了,暗自庆幸 结果是我配置错了 以后数据库操作也让 AI 来代劳吧🤣 Claude Opus 4.5 已经让我心服口服了 我还在高傲地以为它不过如此,一直提出问题质疑的时候 一个详尽又合理的路径分析摆在面前,最后还送一句问号 击碎我对人工编码的所有自信 没有经过 AI 审计的代码已经没有任何意义
AI Agent + Web3 调研 DeFAI & AgentFi: AI 自主交易,收益优化 Agent 通过收集市场信息,预测未来走势,自主进行交易投资,获取收益。Agent 相对于人更可能保持理性,长期来看收益率会更高。 Agent 为用户管理资金,监控市场,发现有高收益的机会,可以提前进入抢占市场,赚早鸟收益。或是发现有负面消息,预测到亏损提前跑路来进行避险。或者可以根据价格自动 rebalance 来保证用户提供的流动性一直能赚收益。 Agent + Web3 MCP 钱包 Agent 扮演的角色主要是理解用户的意思,把自然语言翻译到具体的操作或是意图(Intent 也可以持续分析市场趋势和用户行为来改进功能,提供个性化的投资建议 MCP 端需要提供一些语言模型不适合做的功能,比如查询链上信息,查询合约源码和 ABI,根据 ABI 和参数构造交易,对交易签名,让 Agent 可以只提供相关操作的参数就实现相关功能 半自动 这种适合做一个智能钱包,用户提出需求,Agent 通过 mcp 查询信息和构造交易,每笔交易需用户手动签名确认,安全风险会小很多 效果像是这样 DawnWallet 全自动 这种实现就可以让 Agent 在后台自动进行交易,比如可以做个 Virtuals 里那些自主交易的 Agent 一种方案是让 Agent 直接控制整个私钥,或者通过信任服务器托管私钥,签名都走 mcp,当然这就有一定风险了,比如 Agent 被欺诈之类 另一种是用户授权一次,对交易次数,时间,开销,合约调用等等进行限制,Agent 就可以在授权范围内一直交易而无需用户再次确认。 这种就可以通过 ERC 4337 + 权限控制模块来实现,Agent 发送 4337 的 UserOp,在钱包的 validateUserOp 里实现权限验证,再由 bundler 打包上链。 还可以搭配 7702 让 EOA 用户也能使用。 ...
0115 更新 笑死了,早就有现成的了还自己在这画来画去 😅 https://mcp-auth.dev/docs/tutorials/todo-manager 这两天自己试着开发一些 mcp server 来玩,多用户的时候要考虑授权问题 现在这些 Agent 的实现都是在连接到 mcp server 或者说初始化的时候就要进行授权 梳理了一下两种 MCP OAuth 流程,方便后续开发参考 三方 App 本身支持 OAuth 的情况,比较简单,直接去三方 App 授权,然后 Agent 就可以通过正常调用工具了 三方不支持 OAuth 的,那就要搭一个 OAuth Web/App 来代理一下才行
真的要赛博飞升了,现在每天和我交流最多的是 Gemini 🤣 这两天把 MCP 狠狠补了课,还有 Agent 的不同设计,多 Agent 架构之类的 以前还以为都是 ReAct 套壳,结果都发展到 LangGraph 了 😅 本地跑模型还有 ollama 这种神器 看得越多越觉得机会多啊,好多想法都做不过来,买了个 Claude Pro 可以先绕过 Agent 的开发直接用 Claude App 测试 MCP 服务器,太牛逼 还是拥抱晚了,不开窍啊
用了 AI Agent 之后真是茶饭不思了,这玩意用好了效率太离谱 一晚上加一上午,纯靠 AI 撸了个把多个模型集合起来讨论的 Slack Bot,真就一行代码都没写过,甚至好几次提交是纯躺床上在 slack 里发需求,Github App 自动就创建 pr 写好了,再让 Copilot 自己 review,作为人只需要稍微看一下,直接合并,再到处去复制 api key 和掏钱🤣
终于到达 AI 的限制了么
已经离不开了,就适合我这种懒狗 配置了个 Hashicorp Vault 用来存各种配置和私钥,配合 Coder,新建工作区,GitHub 一登,Agents 改代码提交推送部署一条龙,顺滑得想哭🥲 再每个项目配置上 AGENTS.md 防呆,妈呀,未来已来 以后要用 AI Token 消耗量来衡量文明程度了 试用了一天 Opus 4.5,这位更是重量级,就是太慢了
再次被震撼,这就是 AI,这就是 Vibe coding 已经不再局限于找 bug 和改代码,现在本地有什么文件操作,服务器上需要查问题和修复,直接 Agent 一把梭,啊这 每天的工作就是打字告诉 AI 要干啥,然后一直点确认😅 现在一个人真的就是一个团队,任何人离改变世界都只差一个创意🤣
啊这,自己问 Gemini 各种搜索翻 Github 一个小时都没解决的问题,Copilot Agent + Gemini 3 Pro 只 5 分钟就改好了😅 疑似有点太高效了 疑似我有点太低效了
简介 最近从 Ethernaut 学习到了很多,抛开那些比较基础的,记录一些 ECDSA 相关的 以下公式中小写字母代表一个值,大写字母代表一个点,除了 N 是曲线的 order 我们知道 ECDSA 依赖于椭圆曲线上的离散对数问题,对于私钥 privkey,公钥 PubKey 是椭圆曲线上的一个点并且有 $\text{PubKey} = \text{privkey} \cdot G$,其中 G 是椭圆曲线的生成元,正是因为椭圆曲线上的离散对数问题,已知 PubKey 和 G 求 privkey 是困难的,才让数字签名得以可能 Sign 签名公式 $$ s = k^{-1} \cdot (h + r \cdot \text{privkey})\mod{N} $$k 是随机数,RFC6979 提供了生成方法,不建议真的随机生成,因为重用会导致私钥泄漏,后续会提到 h 是要被签名的 hash 值 r 是 k * G 这个点的 x 轴坐标 计算出 s 后,和 r 共同构成签名 (r, s),但在签名恢复的过程还会产生歧义,有两种结果,所以还要引入一个 v 来确认是哪一个结果,后续会提到 1import hashlib 2from eth_hash.auto import keccak 3from ecdsa import SECP256k1 4from ecdsa.rfc6979 import generate_k 5 6CURVE = SECP256k1 7N = CURVE.order 8G = CURVE.generator 9 10priv_key = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 11 12h = keccak(b'hello') 13print(f'hash: 0x{h.hex()}') 14 15h_int = int.from_bytes(h, 'big') 16 17# random k, important 18k = generate_k( 19 order=N, 20 secexp=priv_key, 21 hash_func=hashlib.sha256, 22 data=h, 23) 24 25R = k * G 26r = R.x() % N 27k_inv = pow(k, -1, N) 28 29# s = k^-1 * (h + r * pk) 30s = (k_inv * (h_int + r * priv_key)) % N 31 32print(f'sig : 0x{r.to_bytes(32, 'big').hex()}{s.to_bytes(32, 'big').hex()}') 33print(f'r : 0x{r.to_bytes(32, 'big').hex()}') 34print(f's : 0x{s.to_bytes(32, 'big').hex()}') Recover 签名恢复公式,即从签名 (r, s) 中恢复出公钥 Pub ...