你好啊,
不知道你用过多少短网址服务,反正我见过的,基本都长一个样:一个域名 + 一张「长网址 → 短码」的映射表,而这张表躺在某个服务器的各种各样数据库里(从 MySql 到 CloudFlare KV,但是都是万变不离其宗)。
但是这有个很现实的问题,服务方数据库一挂、域名一凉、或者干脆跑路,你之前发出去的那些链接就集体变 404 了(比如最有名的 goo.gl 停服,另外致敬下了不起的 Save the Web)。
于是我想,有没有可能做一个真·没有后端的短网址?答案是可以,而且办法意外地简单。
原理很简单:
区块链上每笔交易除了转账金额,还带一个叫 calldata 的「附加数据」字段,想塞什么就塞什么,而且这笔交易会被永久记录在链上。EURL 就是把你要跳转的网址,编码后塞进这笔交易的 calldata,发给一个没人能控制、也永远不会动的死地址。而短链接的短码,就是这笔交易在链上的位置。
他的特点也很简单:
- 没有后端 —— 没有服务器、没有数据库、没有 API,只有一个静态前端。打开短链接时,页面直接去链上查那笔交易,把网址解出来再跳转。
- 永不丢失 —— 数据就是交易本身,只要这条链还在,链接就永远有效,谁也删不掉、封不掉。(当然前端没了另说,但是之后你可以自己再部署一个。后续我也会尝试下 ipfs 和 arweave 部署。)
- 连智能合约都没有 —— 不用部署合约,省一笔部署费,也彻底没有「合约被黑、管理员私钥被盗」这回事。
另外多链也支持了:Base、Arbitrum、Optimism、Ethereum 主网、BNB Chain、Polygon 等等等等(19+,理论上所有以太坊 L2、L3,高度兼容的 EVM 兼容链都可以支持)。创建成本就一笔链上 gas 费,没别的开销,你可以选择你最习惯的/最常用的/最喜欢的/最熟悉的/最便宜的(测试网免费)。

使用方法就像是这样:
连上钱包(当然你要先有个钱包,也要有一点点对应的代币支付 Gas。没有的话可用选测试网,并且去对应水龙头免费领一些),选一条链,填上你要跳转的网址,也可以顺手选个短链接域名(比如 🔗.eu.org 这种)、然后确认上链。等交易确认,你就得到一个类似这样的短链接:
然后把它发出去就行了。
接收方打开,页面会从链上解出原始网址并跳转。链接跳转前还会做黑名单检测(Google Safe Browsing + MetaMask 钓鱼拦截名单),碰到已知钓鱼地址会先拦一下。
另外顺带一提,这玩意是我完全几乎全靠一路 Vibe 出来的(也是我的第一个完全 Vibe 的项目),界面、多链、黑名单基本都是和 AI 一起搓的。
之后我也打算整理后开源,并且添加自部署相关的特性(钱包白名单、链白名单等等)。
666,支持!
还能这样,光前端的,不存储么
有意思的想法
写到链上?永久?怎么删除?
@新来的 #4
区块链特性没办法删除,永久的,写入就是写入了
这东西最不可靠了
好多web3网盘,文件系统,都打不开了
我的短链更牛,是利用DNS系统来存储信息,每条都存储在txt记录
cf基本是无限的
瞎折腾!区款链去存储。
@ptt男孩 #6
数据本身可靠性等价以太坊的可靠性,不至于以太坊主网完蛋吧
这个方案不错呀
能修改吗?如果想修改地址呢?还是扔掉重新申请