要想将 NFT 应用引入 Layer 2,非常重要的前提是拥有横跨多层创建和桥接 NFT 的方法。
撰文:Pavel Sinelnikov 翻译:Perry Wang
以太坊区块链以及第 2 层(Layer 2)解决方案面临的一个问题是资产的隔离,尤其是 NFT。在 Layer 2 上创建 NFT 时,NFT 会被困在该层,因此导致了 NFT 孤岛问题,其中 Layer 2 上的 NFT 资产无法提取到 Layer 1 公链。要想将 NFT 应用引入 Layer 2,非常重要的前提是拥有横跨多层创建和桥接 NFT 的方法。
在 Layer 2 上铸造 NFT,创建一种轻松跨层桥接 NFT 并减少 gas 需求的方法。用户可以决定何时将自己的 NFT 提取到 Layer 1。
1. NFT 所有者使用已部署的 L2_NFT_Collection 配置 L1_NFT_Collection,具体指定:
mapping(chainid => address) addresses; mapping(rangeid => chainid) range_loc;
2. 用户将认领 NFT,并指定 NFT ID。 Layer 2 上的 L2_NFT_Collection 合约将验证 ID 分配(例如,这一 Layer 2 拥有 NFT),并相应地在这一 Rollup 上铸造 NFT。 用户可以像往常一样在 Rollup 中自由转移 NFT。
3. 用户向 L2_NFT_Collection 智能合约发送交易,向 Layer 1 的目标接收者发起提款。
4. NFT 被存入 L2_Deposit 合约,它会锁定 NFT 以供之后必要时进行检索。
5. 锁定的 NFT 会触发发送至 L1_NFT_Collection 的跨链信息,使指定接收者可以在 Layer 1 上铸造 / 提取 NFT。
6. 收件人将认领 NFT,并指定 NFT ID。
7. 用户向 L1_NFT_Collection 智能合约发送交易,启动向目标 Layer 2 Rollup 上目标接收者的转移。
8. NFT 被存入 L1_Deposit 合约,它会锁定 NFT 以供以后必要时进行检索。
9. 锁定的 NFT 会触发到 L2_NFT_Collection 的跨链信息,使用户可以通过 NFT ID 在 Layer 2 上铸造 / 认领现有的 NFT。
来源链接:ethresear.ch