想象一下,你是一位满怀激情的区块链工程师,站在 Web3 技术的最前沿。你看到了无数的机会:
Acala 上有 30% APY 的流动性挖矿
Moonbeam 上有优质的借贷机会
Astar 上线了热门 NFT 项目
但是要把这些机会连接起来,你需要面对:
智能合约开发
跨链技术的基本原理
跨链交易的安全性
构建实际的跨链应用场景
代码审计和安全性分析
为了更科学、更合理地编写代码,你还需要深入研究:
一些顶尖的跨链项目
基础设施型 DApp 的代码和合约地址
这一切似乎让人望而却步!
然而,你不禁思考,是否存在一种工具,能够让你绕过复杂的跨链原理、安全性的顾虑,甚至免去代码学习的艰辛,让你能够将大部分精力集中在跨链场景的构建和用户体验的优化上。幸运的是,波卡的跨链协议: XCMP ,可能就是你寻找的答案。
为什么要关注 XCM ?
XMC 与传统跨链桥的区别
安全性对比
功能对比
XCMP 简单介绍
主角登场:什么是 XCM
深入之前,你还应该知道
XCM 初探
WithdrawAsset,
ReserveAssetDeposited,
ReceiveTeleportedAsset,
TransferAsset,
TransferReserveAsset,
DepositAsset,
DepositReserveAsset,
ExchangeAsset,
InitiateReserveWithdraw,
InitiateTeleport,
ClaimAsset,
BurnAsset,
ExpectAsset,
LockAsset,
UnlockAsset,
InitiateTransfer,
SetAppendix(Xcm<Call>),
SetErrorHandler,
Trap,
ClearError,
ClearTransactStatus,
ExpectPallet,
ReportError,
ReportTransactStatus,
ExpectOrigin(Option<Location>),
ClearOrigin,
DescendOrigin,
ExecuteWithOrigin,
UniversalOrigin(Junction),
Transact,
跨链乐高:XCM 的可组合性
[
InitiateTeleport, // 扣押并销毁发送地址上的资产
ReceiveTeleportedAsset, // 通知目标链
DepositAsset // 目标链直接增发资产至接收地址
]
Withdraw-deposit: reserve-asset-transfer
[
WithdrawAsset, // 源链上扣押发送者资产
InitiateReserveWithdraw, // 通知资产发行链
DepositReserveAsset, // 路由至资产发行链,扣押源链主权账户上的资产
ReserveAssetDeposited, // 在资产发行链上,对目标链主权账户增发资产
DepositAsset // 在目标链的接受者地址上存入资产
]
头脑风暴:XCM 如何构造性感的跨链应用
// 2. 设置价格检查
ExpectAsset {
assets: expected_output.clone(),
effects: vec![
// 如果价格不满足则回退
BuyExecution {
fees,
weight_limit: Limited(1_000_000)
},
RefundSurplus,
DepositAsset { beneficiary: sender }
]
},
// 3. 执行最优路径交易
Transact {
origin_type: OriginKind::Native,
require_weight_at_most: 5_000_000,
call: router::swap_with_best_route(
input_amount,
min_output,
dex_routes,
deadline
).encode()
}
]);
// 跨链借贷
let cross_chain_lending = Xcm(vec![
// 1. 锁定抵押品
WithdrawAsset(collateral_assets.clone()),
// 2. 验证抵押率
Transact {
call: lending::check_collateral_ratio(
user_account,
collateral_amount,
borrow_amount
).encode()
},
// 3. 设置清算条件
Transact {
call: lending::set_liquidation_params(
threshold: 150, // 150% 清算阈值
penalty: 5, // 5% 清算惩罚
grace_period: 24 * 3600 // 24 小时宽限期
).encode()
},
// 4. 发放贷款
Transact {
call: lending::borrow_assets(
asset_id,
borrow_amount,
recipient
).encode()
},
// 5. 设置自动还款
SetAppendix(Xcm(vec![
QueryHolding {
query_id: 2,
dest: ParaId(2004),
assets: repayment_asset,
max_response_weight: 1_000_000
},
Transact {
call: lending::auto_repay(
loan_id,
repayment_schedule
).encode()
}
]))
]);
// 跨链治理
let governance_xcm = Xcm(vec![
// 1. 验证提案权重
QueryHolding {
query_id: 3,
dest: dao_location,
assets: governance_token,
max_response_weight: 1_000_000
},
// 2. 提交投票
Transact {
call: governance::cast_vote(
proposal_id,
vote_direction,
vote_weight
).encode()
},
// 3. 锁定投票权重
LockAsset {
assets: governance_token,
duration: 7 * 24 * 3600 // 锁定一周
},
// 4. 设置自动执行
SetAppendix(Xcm(vec![
// 当提案通过时自动执行
Transact {
call: governance::execute_proposal(
proposal_id,
execution_params
).encode()
}
]))
]);
XCM,波卡开发者的新机遇
About Us
关于我们
Twitter: https://twitter.com/OneBlock_ Medium: https://medium.com/@OneBlockplus Telegram: https://t.me/oneblock_dev Discord: https://discord.gg/fE8deY4UbP Bilibili: https://space.bilibili.com/1650224419 YouTube: https://www.youtube.com/channel/UCWo2r3wA6brw3ztr-JmzyXA
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。