官方 Wiki 精选丨 Asset Hub 上的资产转移
2025-03-13 18:00
Polkadot生态研究院
2025-03-13 18:00
订阅此专栏
收藏此文章

波卡知识图谱是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第 175 期,本文介绍的是波卡 Asset Hub 上的资产转移。




资产转移是一种基于 Uniswap V2(详情请参见:
https://github.com/Uniswap/v2-core)逻辑的简单自动做市商(AMM)机制,作为一个模块(pallet,详情请参见:
https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/asset-conversion)部署波卡在 Asset Hub 上。在 AMM 模型中,通证的价格由流动性池中通证比例的数学公式决定,这与使用订单簿的传统交易所不同。这将是一个通过 Polkadot OpenGov 控制的“无需信任”的去中心化交易所(DEX)。

注:AssetHub 的流动性池的资产对将始终包含中继链的原生通证作为其中一种资产。不允许为任意资产对组成的池提供流动性。

只要存在流动性池,Asset Hub 上的资产转移就允许使用任何资产支付费用,这样费用处理者(在这种情况下是 Collator)只接收原生资产。

资产转移模块允许:

  • 使用中继链的原生通证和某一资产创建流动性池,详情请参见:
https://docs.rs/pallet-asset-conversion/latest/pallet_asset_conversion/pallet/struct.Pallet.html#method.create_pool
  • 提供流动性并获得相应的流动性提供者(Liquidity Provider,LP)通证,详情请参见:
https://docs.rs/pallet-asset-conversion/latest/pallet_asset_conversion/pallet/struct.Pallet.html#method.add_liquidity
  • 将 LP 通证换回资产,详情请参见:
https://docs.rs/pallet-asset-conversion/latest/pallet_asset_conversion/pallet/struct.Pallet.html#method.remove_liquidity
  • 如果已创建了流动性池,则可以交换资产,详情请参见:
https://docs.rs/pallet-asset-conversion/latest/pallet_asset_conversion/pallet/struct.Pallet.html#method.swap_exact_tokens_for_tokens
  • 通过运行时调用端点查询交换价格,详情请参见:
https://docs.rs/pallet-asset-conversion/latest/pallet_asset_conversion/trait.AssetConversionApi.html#method.quote_price_exact_tokens_for_tokens
  • 查询流动性池的大小,详情请参见:
https://docs.rs/pallet-asset-conversion/latest/pallet_asset_conversion/trait.AssetConversionApi.html#method.get_reserves

资产转移的用户指南和教程可在此处获取,详情请参见:
https://wiki.polkadot.network/docs/learn-guides-asset-conversion



用任意资产支付费用 - 钱包



没有资产转移模块,只能使用 DOT 和足够的资产(详情请参见:
https://wiki.polkadot.network/docs/learn-assets#sufficient-assets)来支付交易费用。在部署了资产转移模块后,钱包可以让用户通过池中的 DOT 或足够的任意资产来支付交易费用。更具体地说,这一功能是通过资产转移交易支付模块(Asset Conversion Transaction Payment Pallet,详情请参见:
https://github.com/paritytech/polkadot-sdk/tree/cdc8d197e6d487ef54f7e16767b5c1ab041c8b10/substrate/frame/transaction-payment/asset-conversion-tx-payment)实现的,它允许包含该模块的运行时使用除链的原生通证以外的资产支付交易费用。

处理低流动性池:钱包和用户界面应确保向用户发出必要的警告信息,以防止用户意外地花费全部资金在一个没有流动性或流动性低的池上进行交换。



用任意资产支付费用 - 平行链



平行链可以使用AssetHub 上具有流动性池的任意资产来支付其跨链消息传递(XCM)执行费用



用外来资产创建流动性池 - 平行链



资产模块使用 XCM 的多重位置(MultiLocations)来表示资产,并使用它们相应的来源来控制这些资产。

钱包和交易所原生集成平行链通证的痛点之一在于,它们需要运行单独的平行链基础设施(如全节点)来处理存款,并且需要额外的代码来处理提款,因为它们需要在每个平行链上构建和广播交易。这些平行链可能会使用不同的余额模块或不同的排序方式。当波卡托管数百条(甚至可能数千条)平行链时,从网络支持的角度来看,这将成为一个巨大的负担。这与增加对额外 ERC20 通证的支持形成鲜明对比;由于以太坊节点已经提供了所需的所有数据,因此增加对 ERC20 通证支持的边际工作量非常小。

在 Asset Hub 对这些资产的支持,交易所 / 托管机构可以监控一条链上的存款(应用程序和用户界面需要提供转移到 Asset Hub 的选项)。对于提款,用户可以选择将资金提取到他们在 Asset Hub 上的地址。这里有两个提升用户体验的好处:

  • 交易所 / 托管机构只需在一条平行链上进行交易,并且无需提升任何基础设施,就可以访问其他所有的平行链。
  • 对于用户来说,他们实际上根本不需要“看到”AssetHub。它完全隐藏在平行链钱包 / 应用程序或交易所 / 托管机构之后。


原文出自 Polkadot Wiki,详情可査看:
https://wiki.polkadot.network/docs/learn-asset-conversion-assethub






欢迎大家加入我们 Polkadot 生态研究院的电报:

https://t.me/polkadot_eri






精选文章



平行线程 | 经济模型 |Slash | 通货膨胀 | NPoS | Web3 基金会
Staking
 | Gavin Wood | 跨链 | 平行链 |国库Parity
DOT | Web3.0 | 网络效应 | Grant 指南
Statemint | 区块链 SBP 计划 | 新计划
XCVM | BEEFY | XCM
Wasm





【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

Polkadot生态研究院
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开