关于以太坊多个layer2的一点思考

英文描述:https://twitter.com/bobjiang123/status/1664421394262917120

英文可能写的不明确
其实是2个问题

开发者视角

  1. 对于合约开发者(部署),这么多链,每个都要部署一份。有没有什么方案可以最小化开发者的努力?(目前已知的layer2, 都有4,5个了,每个都要部署,有的合约还要略微调整,管理多个版本,每次部署都要gas)

最终用户视角

  1. 第二个问题,是对于最终用户的。
    有多个layer2之后,用户每次用一个服务前,还要切换到对应的layer2网络,并且需要有这个layer2网络的gas,才能正常使用。用户体验,很差!
1 Like

从最好的用户体验来讲,最好是开发者写完合约,然后点击部署,可以看到兼容的链或者勾选要发布的。最后算一个总 gas fee。对于认证过或者生态合作的优质良心开发者,可以由公链、组织报销,有公司的话,用公司报销。不要操心这个事情。

用户来说,自动读取钱包当前的链,直接切换过去用就可以,可能是自动从别的链拿到 token 抵 gas。然后背后还要有比较好的跨链机制和数据共享。

这个需求背后能拆出来五六个大方向啊。

第二个问题,即使不是layer2,在layer1上,如果gas不够(大部分用户平时都是U的形式),也会因为gas不足导致用户需要多一步swap操作,又要多花一笔钱(几美元)

真的是太多因素阻止用户上链呀!

1 Like

some discussion from twitter

https://twitter.com/0xPaella/status/1663952469972353045

作为一个每天都写智能合约的开发者,说一下我的看法

  • 其实部署合约不像后端发版那么频繁。部署合约算是一个低频的操作,需要手动部署,完成后做很多自动和手动的检查。所以虽然麻烦,也不会有很多工作量。
  • 不同 layer2 的差异确实很大,感觉能做的一个就是扫描代码的插件,然后提示出可能存在不兼容的地方。
  • 代部署合约感觉存在一个鉴权的问题,虽然合约是去中心化的,但很多地方需要中心化的信息(比如 etherscan)。一个有 owner 的合约,是可以根据 owner 验证然后 update tag。没有 owner 的合约,deployer 就可以 update tag。如果是代部署合约,合约的开发者是谁就感觉有点说不清楚了。
  • 切网络主要是 metamask 等钱包的 UX 问题。如果用 web3oauth 等方案,sdk 接入 dapp 就不会有切钱包的流程。
  • 需要不同 layer2 gas 就是要解决 gas 代付的问题了。
1 Like

不是代部署合约,而是代付 gas fee

这个 web3oauth 是这个项目吗? https://web3auth.io/ 还是什么其他的

对,应该是我名字打错了…

明白,那感觉需要抽象账户成熟一点才比较好搞

here is a tool built by a friend to solve this problem.
(similar problem, deploy to multi-chains)