图解Wormhole (虫洞)
Wormhole(虫洞)正如其名,它是区块链的爱因斯坦-罗森桥,是一种跨链消息传递协议。

一键发币: SUI | SOL | BNB | ETH | BASE | ARB | OP | POLYGON | AVAX | FTM | OK
"墙不仅是为了把敌人挡在外面,也是为了把我们的兄弟锁在里面。" ——鲁米,波斯诗人
从平面角度来看,区块链是完全独立的。它们通常无法与链下世界或其他区块链进行交互。它们是自成一体的孤岛。
这种独立性本身是区块链的一个基本属性。
每条区块链都是自我包含的。它有自己的规则和交易历史,并且不需要依赖其他系统来运行。如果一条区块链出现问题,不会影响其他区块链。
这一特性在某些方面非常出色,但也付出了代价,流动性和用户分散在不同的链上。

这意味着加密资产、身份和流动性被局限于特定的链上。这使得在多个链之间导航(每个链都有自己的钱包、工具和协议)变得相当麻烦且耗时。
但如果这些碎片可以被利用为一个整体潜力呢?
众多之中,合一
在我的副标题中,我写道“连接孤立区块链的桥梁”。
在上下文中,“孤立”指的是不同区块链生态系统之间的隔离或缺乏连通性,每个生态系统都独立运作,有自己的规则、协议和原生资产。
“桥梁”一词表示一种连接或接口,用于在这些孤立的区块链之间传输资产、数据或交易。
最常见的桥梁类型是跨链桥。
简单来说,跨链桥是一个(虚拟)链接,允许消息在两条区块链之间传递。任何比特序列都可以用作消息(例如,将NFT或代币从链A转移到链B)。
假设你想将比特币从以太坊转移到Solana,你需要执行以下两个步骤:
- 从以太坊源账户提取比特币。
- 将比特币转移到指定的Solana账户。
但由于缺乏直接通信,无法在一个交易中同时触及两条链,因此需要一个中间人,他在这两条链上都有比特币并能协助你完成以下两个步骤:
- 将比特币从你的源账户转移到他们的以太坊账户。
- 将比特币(或其等值物)从目标的Solana账户转移到你的账户。
所以,跨链桥 = 中间人。
但这种方式存在一些困难……
- 如何确保这两个操作同步发生——即要么两者都成功,要么两者都失败?如果你或桥梁中的任何一个失败,你可能会损失资金。
- 如何确保消息准确发送到目标账户而不是其他账户——即只发送一个比特币,不是一只狗狗币,也不是其他硬币或两个比特币,并且发送到你的目标账户?
- 如何确保消息只发送一次(例如,他们的Solana账户永远不会向你的目标账户发送两次)?
什么回答了这些问题?
1、Wormhole (虫洞)
虫洞就像时空中的隧道,可以连接非常遥远的空间区域,甚至是不同的宇宙——约翰·惠勒
某个地方,正等待着令人难以置信的事情被发现——卡尔·萨根
Wormhole正如其名,它是区块链的爱因斯坦-罗森桥,是一种跨链消息传递协议。

最初,虫洞的设计是作为Solana和以太坊之间的跨链代币包装和交换协议。
自这个原始设计和实现以来,虫洞已扩展为一个跨链消息层,不仅允许链之间的代币包装和交换,还通过利用虫洞的跨链状态认证模型和消息传递功能,使外部协议能够在其基础上构建。
作为一个跨链消息协议,虫洞消息传递充当开发人员可以构建在其上的基础架构。它也是开源的。
消息传递提供了一种基本语言和框架,用于在不兼容的两个系统之间安全地发送数据。核心虫洞桥通过在源链(数据当前所在的链)和目标链(数据将要移动到的链)上运行智能合约来运作。

同时,顶层协议可以满足其他用例,例如代币桥(如Portal、Allbridge)、跨链DEX(如Mayan Swap、Hashflow)和货币市场(如Pike、Synonym)。

2、Wormhole的架构
虫洞不仅仅限于代币转移。它扩展了能力,支持独特数字资产如NFT和DAO的转移。
那么虫洞是如何实现这一点的呢?
虫洞的架构包括既相互协作又共同工作的链上和链下组件,以实现安全高效的跨链通信。

链上组件
链上组件始于与虫洞核心合约交互以发布消息的发射器合约。此操作会在交易日志中记录一个事件,提供关于发射器和序列号的详细信息以识别消息。
多个合约可以充当发射器,包括:
- 资产转换和桥接的x资产合约
- 消息分发跨链的中继合约
- 启用Dapp跨链功能的虫洞路由器合约
链下组件
链下组件构成了虫洞架构的另一半。
链下组件包括:
- 监护人网络:由点对点网络中的验证者组成。
- 监护人:这些验证者为VAA多签做出贡献。
- 间谍:帮助扩展VAA分布的验证者。
虫洞基于这样一个理念而构建:一组去中心化的“监护人”(即节点/验证者)可以被信任,以警惕地观察、验证和确认来自每个支持链上的虫洞核心桥合约的消息。监护人网络由19个验证者或监护人组成。

虫洞还具有一个API,允许您检索VAA或监护人网络的详细信息。

最后,Relayers——链下进程将VAA传递到目标链。这包括自动Relayers,它们形成一个去中心化的网络,交付链上请求的消息,以及专门的Relayers,它们处理特定协议或跨链应用的VAAs,并在链下执行自定义逻辑以节省gas成本并提高跨链兼容性。
3、Wormhole的VAAs
简单来说,Guardians就像你试图进入不同国家时的边境官员,他们会盖章确认签证是否有效。
他们创建了可验证的操作批准(VAAs),即对观察到的消息的签名证明。
他们实现了emitVAA()
和verifyVAA()
函数。emitVAA()
和verifyVAA()
函数被实现。可验证的操作批准(VAA)是一个结构体,包含Guardian签名和消息负载。
每个VAA都表示为一个两部分的字节数组,称为Body和Header。
在Header中可以找到Guardian及其签名的信息:
byte version (VAA Version)
u32 guardian_set_index (Indicates which guardian set is signing)
u8 len_signatures (Number of signatures stored)
[][66]byte signatures (Collection of ecdsa signatures)
Body中包含消息的完整详细信息,包括消息负载、序列、发送者链、发送者地址和源交易的时间戳
:
u32 timestamp (Timestamp of the block where the source transaction occurred)
u32 nonce (A grouping number)
u16 emitter_chain (Wormhole ChainId of emitter contract)
[32]byte emitter_address (Emitter contract address, in Wormhole format)
u64 sequence (Strictly increasing sequence, tied to emitter address & chain)
u8 consistency_level (What finality level was reached before emitting this message)
[]byte payload (VAA message content)
VerifyVAA接受VAA并与Guardian的签名进行比较,以确保证明的有效性。emitVAA读取并发布消息到VAA的“内存池”。
VAA负载如下:
// head
byte version // VAA Version
u32 guardian_set_index // Indicates which guardian set is signing
u8 len_signatures // Number of signatures stored[][66]byte signatures // Collection of ecdsa signatures
// body
u32 timestamp
u32 nonce
u16 emitter_chain
[32]byte emitter_address
u64 sequence
u8 consistency_level
[]byte payload
每个Guardian独立观察并签署消息,结果收集的签名代表了Wormhole网络对某条消息达成一致的证明。所有这些签名随后组合并保存在stored[][66]byte
中。
具体来说,序列
在保证每条消息的VAA都是唯一的方面起着关键作用(也就是说,两条具有相同消息内容的不同消息会有不同的VAAs)。每次调用publishMessage
函数时,useSequence
函数会将序列
号增加1:


这确保了相同的消不会被传递两次。
消息内容包含在负载
字节数组中。例如,在代币转移中,包括转移金额、代币地址、代币链、接收者地址、目标链ID、转移费用等:
struct Transfer {
// PayloadID uint8 = 1
uint8 payloadID;
// 转移的金额(大端uint256)
uint256 amount;
// 代币地址,如果少于32字节则左填充零
bytes32 tokenAddress;
// 代币的链ID
uint16 tokenChain;
// 接收者的地址,如果少于32字节则左填充零
bytes32 to;
// 接收者的链ID
uint16 toChain;
// 用户愿意支付给Relayer的代币金额(大端uint256),必须小于等于Amount。
uint256 fee;
}
记住,只有当2/3以上的Guardians签署了消息后,该消息才是有效的。这类似于用户在Gnosis多签钱包中独立签署交易。
4、Wormhole查询
Wormhole查询功能允许您快速且安全地访问存储在区块链上的数据,即使您当前正在其他区块链上工作。

在Wormhole查询之前,为了获取某个链的状态数据,需要将智能合约放置到另一个区块链上,定期“推送”(发布)数据。另一种访问跨链数据的方式是使用Wormhole查询,它为用户提供了一种“拉取”机制,可以从Wormhole Guardian处寻求信息并获得证明。通过拉取查询,气体费用减少了约84%,使此操作比以前更便宜更快。

开发人员可以通过Guardian网络提交查询并从兼容的区块链检索状态数据,从而消除Guardian广播数据的需求。
Guardian网络接收查询请求,通过执行RPC节点将其发送到所需链,接收结果,验证请求并返回所需的数据。
经过验证的响应成为结果。
5、Wormhole Portal桥接
xLabs团队创建了Portal,这是一个令牌桥接器,使用Wormhole的消息协议实现锁定和铸造程序来在链之间移动资产。

锁定和铸造程序本质上涉及锁定资产在一个智能合约中,而不是在源链上烧毁资产。接下来,在目标链上创建IOU,即代币的包装版本。
源链发出一条消息,表明代币已被锁定,其结构如下:
u8 payload_id = 1 转移
u256 amount 转移的代币数量。
u8[32] token_address 来源链上的代币地址。
u16 token_chain 来源链的数字ID。
u8[32] to 目标链上的地址。
u16 to_chain 目标链的数字ID。
u256 fee 金额的一部分支付给Relayer。
然而,这种事件中并未指定代币是如何锁定的。代币桥的实现将决定它们是被托管还是由智能合约持有。
用户可以通过Portal连接任何Wormhole支持的链之间的代币。截至2月18日,Wormhole支持42个区块链(包括测试网)。
Circle构建的USDC桥接器能够在CCTP支持的链之间无Gas费桥接USDC。CCTP使用烧毁和铸造过程,并支持Arbitrum、Avalanche、Base、Ethereum、Noble、OP Mainnet和Polygon PoS,预计很快将支持Solana。
除了代币桥接,Wormhole的消息层也可以用于NFT桥接。

最著名的例子之一是DeGods和y00ts的迁移,它们最初分别从Solana迁移到Ethereum和Polygon。这次迁移是通过Wormhole使用烧毁和铸造过程完成的。
Solana上的NFT持有者通过智能合约烧毁他们的原始NFT,并直接在其钱包中赎回在Ethereum和Polygon上新铸造的ERC-721代币。

关于费用,有两种类型的费用:
- 桥梁为促进跨链服务而收取的交易费用
- 发送方和接收方链上需要支付的气体费用。
气体费用通常在目标链上支付,因为交易在那里得到解决。如果用户在目标链上没有原生货币,他们可以利用桥梁通过中继器支付部分发送的代币。然后由中继器覆盖目标链上的气体成本。为了使其更易于使用,基于Wormhole开发的去中心化应用程序(dapps)通常通过元交易补偿用户。
像BSC和Solana这样的原生链通常收取较低的气体费用。然而,如果转移涉及稳定币,则可能会收取额外的稳定性费用。
以太坊的气体费用远高于其他链,经常飙升至两位数,这使得涉及以太坊的跨链转移可能更加昂贵。
尽管Wormhole目前最受欢迎的用例是资产桥接,但该协议还支持其他更成熟的用例,如跨链治理和预言机。
例如,Uniswap利用Wormhole进行 跨链治理。Uniswap治理位于以太坊主网上,这意味着决策是在以太坊上通过代币投票做出的。然而,Uniswap存在于许多链上,包括L2和alt-EVM。
在这些部署中,持有者必须能够参与并继承在以太坊主网上做出的治理决策。这可以通过Wormhole的消息层以去中心化的方式完成,使Uniswap治理能够将数据从以太坊主网发送到目标链。
Wormhole的另一个相关用例是其被Pyth所利用。Pyth是一个低延迟、拉取式的预言机网络,提供跨多个链的价格馈送。Pyth利用Wormhole的消息层在链间发送价格馈送和数据。
Pyth从做市商、金融机构等处获取数据,这些机构将价格馈送广播到Pythnet——一个Solana SVM的分支,目的是从不同的发布者那里聚合价格馈送。Wormhole使Pyth能够通过收集聚合的数据并在链之间桥接,将这些价格馈送跨链传递给所有Wormhole支持的链上的dApps。
6、掌握工具
Wormhole有两种与协议交互的方式:
- Wormhole Connect
- Wormhole SDK
名为Wormhole Connect的前端嵌入式小部件使开发人员轻松地集成使用Wormhole消息传递的桥梁。它允许在应用内进行跨各种区块链的桥接,无需离开应用即可进行转账,并支持无gas和gas-dropoff(仅在源链上支付气体)的转账。
虽然功能与Wormhole Connect相同,但Wormhole SDK需要更多的工作和实现。与Connect一样,Wormhole SDK使开发人员能够在Wormhole消息传递的基础上创建协议,并使用TypeScript模块与Wormhole支持的链进行通信。
Wormhole有一个SDK,作为构建在Wormhole网络上的门户。
该SDK当前支持流行的编程语言如Rust、JavaScript和Go,允许开发人员选择他们喜欢的环境。它提供了无缝资产转移、数据消息交换以及与Guardian网络交互的API。
Wormhole的SDK可以在核心存储库这里找到,并且可以在npm上获得。
可以使用npm安装:
npm i @certusone/wormhole-sdk
这些RPC节点由Guardians维护,以帮助获取VAAs并查询Wormhole网络。对于主网Guardian RPC:
const MAINNET_GUARDIAN_RPC: string[] = [
"https://api.wormholescan.io", // 探索器提供了一个相当于Guardian的端点来获取VAAs
"https://wormhole-v2-mainnet-api.mcf.rocks",
"https://wormhole-v2-mainnet-api.chainlayer.network",
"https://wormhole-v2-mainnet-api.staking.fund",
]
对于测试网Guardian RPC:
const TESTNET_GUARDIAN_RPC: string[] = [
"https://api.testnet.wormholescan.io", // 探索器提供了一个相当于Guardian的端点来获取VAAs
]
对于测试网Guardian公钥:
const TESTNET_GUARDIAN_PUBKEY: string = "0x13947Bd48b18E53fdAeEe77F3473391aC727C638"
7、将理论付诸实践
让我们使用Wormhole从Solana向以太坊传输消息。
在Solana上,调用另一个合约的方法需要我们提供某些账户。这可以通过跨程序调用(CPI)来实现。
为了方便这个过程,Wormhole TypeScript SDK有一个方便的函数叫做getWormholeCpiAccounts
,我们将使用它来获取所需的账户。
const wormhole = getWormholeCpiAccounts(
CORE_BRIDGE_PID, // Solana的Wormhole核心合约
KEYPAIR.publicKey,
program.programID, // 您的Solana程序ID
// 下面是一个用于序列跟踪器账户的PDA
deriveAddress([Buffer.from("sent"), 0], program.programID)
);
上述提到的函数将在Anchor中返回以下账户:
#[account(
mut,
seeds = [wormhole::BridgeData::SEED_PREFIX],
bump,
seeds::program = wormhole_program,
)]
pub wormhole_bridge: Account<'info, wormhole::BridgeData>,
#[account(
mut,
seeds = [wormhole::FeeCollector::SEED_PREFIX],
bump,
seeds::program = wormhole_program
)]
pub wormhole_fee_collector: Account<'info, wormhole::FeeCollector>,
#[account(
init,
payer = owner,
seeds = [WormholeEmitter::SEED_PREFIX],
bump,
space = WormholeEmitter::MAXIMUM_SIZE
)]
pub wormhole_emitter: Account<'info, WormholeEmitter>,
#[account(
mut,
seeds = [
wormhole::SequenceTracker::SEED_PREFIX,
wormhole_emitter.key().as_ref()
],
bump,
seeds::program = wormhole_program
)]
pub wormhole_sequence: UncheckedAccount<'info>,
#[account(
mut,
seeds = [
SEED_PREFIX_SENT,
&wormhole::INITIAL_SEQUENCE.to_le_bytes()[..]
],
bump,
)]
pub wormhole_message: UncheckedAccount<'info>,
pub clock: Sysvar<'info, Clock>,
pub rent: Sysvar<'info, Rent>,
完成这些配置后,我们可以继续下一步。
我们的发射器与Wormhole的主要交互方式是通过核心合约。我们将调用post_message
方法,这本质上是我们通过链发送消息的一种方式。函数实现如下:
pub fn post_message<'info>(
ctx: CpiContext<'_, '_, '_, 'info, PostMessage<'info>>,
nonce: u32,
payload: Vec<u8>,
finality: Finality,
) -> Result<()> {
以下是每个部分的含义:
- payload: 这是我们的实际消息——区块链的“来自另一边的问候”。它是一个任意字节数组,由于某些区块链的限制,可能有最大长度。
- finality: 这是我们的防护装备,防止重组和回滚,指定在Wormhole VAA获取我们的消息之前最终性的水平。
- nonce: 这是消息的独特索引,将用于生成批量VAAs。
- sequenceNumber: 消息的独特索引。当与发射器合约地址和发射器链ID结合时,可以从守护者网络节点检索相应的VAA。
有了这些解释,我们现在准备查看我们的Rust代码片段,用于发布消息:
let payload: Vec<u8> = "Hello from the other side".as_bytes().to_vec();
let nonce: u32 = 0;
let finality = wormhole::Finality::Confirmed as u8;
match wormhole::post_message(
CpiContext::new_with_signer(
ctx.accounts.wormhole_program.to_account_info(),
wormhole::PostMessage {
config: ctx.accounts.wormhole_bridge.to_account_info(),
message: ctx.accounts.wormhole_message.to_account_info(),
emitter: ctx.accounts.wormhole_emitter.to_account_info(),
sequence: ctx.accounts.wormhole_sequence.to_account_info(),
payer: ctx.accounts.owner.to_account_info(),
fee_collector: ctx.accounts.wormhole_fee_collector.to_account_info(),
clock: ctx.accounts.clock.to_account_info(),
rent: ctx.accounts.rent.to_account_info(),
system_program: ctx.accounts.system_program.to_account_info(),
},
&[
&[
SEED_PREFIX_SENT,
&wormhole::INITIAL_SEQUENCE.to_le_bytes()[..],
&[*ctx.bumps.get("wormhole_message")?,
],
&[wormhole::SEED_PREFIX_EMITTER, &[&ctx.accounts.wormhole_emitter.bump]],
],
),
nonce,
payload,
finality.into(),
) {
Ok(_) => {}
Err(e) => {
msg!("Error Posting Message: {:?}", e);
return Err(e);
}
}
在上面的Rust代码中,payload设置为我们想要发送的消息(“来自另一边的问候”)。然后调用了post_message
方法,并传入了多个参数。如果在此方法执行期间发生错误,它会被捕获并记录下来以便调试。
一旦我们成功执行CPI,我们就会得到一个序列号。这个特殊的数字允许我们检索我们的可验证操作批准(VAA)。如果你正在运行本地Wormhole验证器(‣),你离获取你的VAA只有一小步!你所需要做的就是访问以下URL,替换[wormholeChainId]
, [emitterAddr]
, 和 [[seq]
带有你的具体信息:
<http://localhost:7071/v1/signed_vaa/${wormholeChainId}/${emitterAddr}/${seq}>
这里是我们的一条VAA,看起来像外星科技的神秘代码片段:
010000000001009ba8eca3ad035da554498a113bc460b05f18849c1fb256540c05cedc9e9918846326ac799d548392319ea93e0721da8fc231f71e64097b398cff133d4d9843e7000000000100000001000104a97fa4da1675cf1a83750edcc176e956fe37fc0ffd8db87eeff6cc78ebd51b000000000000000001656c6c6f2066726f6d20746865206f746865722073696465
你可以使用Wormhole的 vaa解析器来解码它并查看有效负载。
我们的最终任务是将上述VAA传输到以太坊并解码有效负载以访问其内容。
这里 是应用程序与Wormhole核心合约交互的接口,用于发布VAAs或验证和解析接收到的VAAs。实例化接口将取决于你开发环境的合约地址和区块链。
以下是在主网以太坊实例化接口的示例代码:
address private wormhole_core_bridge_address = address(0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B);
IWormhole core_bridge = IWormhole(wormhole_core_bridge_address);
现在,我们可以解析其他链上发出的VAAs。
function receiveEncodedMsg(bytes memory encodedMsg) public {
(IWormhole.VM memory vm, bool valid, string memory reason) = core_bridge.parseAndVerifyVM(encodedMsg);
// 检查Wormhole监护人签名
// 如果VM无效,将返回不有效的理由
// 如果VM有效,reason将为空白
require(valid, reason);
// 检查消息是否已被处理过
require(!_completedMessages[vm.hash], "Message already processed");
_completedMessages[vm.hash] = true;
// 执行操作
current_msg = string(vm.payload);
emit message(current_msg);
}
假设你在以太坊主网上部署了你的合约,但你想向Solana发送一条消息。那么,使用Wormhole SDK,你可以用IWormhole
包装你的地址,并使用_wormhole.publishMessage()
:
import "./interfaces/IWormhole.sol";
contract Messenger {
// 硬编码Wormhole核心桥合约地址
// 在实际合约中,我们会在构造函数中设置此地址
address a = address(0xC89Ce4735882C9F0f0FE26686c53074E09B0D550);
IWormhole _wormhole = IWormhole(a);
function sendStr(bytes memory str, uint32 nonce) public returns (uint64 sequence) {
sequence = _wormhole.publishMessage(nonce, str, 1);
return sequence;
}
function wormhole() public view returns (IWormhole) {
return _wormhole;
}
}
将以太坊代币转移到Solana:
// 提交交易
const receipt = await transferFromEth(
ETH_TOKEN_BRIDGE_ADDRESS, // 在文档中指定
signer,
tokenAddress, // WETH代币地址
amount,
CHAIN_ID_SOLANA,
recipientAddress // 已认证的Solana地址
);
// 需要获取signedVAA
const { signedVAA } = await getSignedVAA(
WORMHOLE_RPC_HOST,
CHAIN_ID_ETH,
emitterAddress,
sequence
);
// 发送signedVAA
await postVaaSolana(
connection,
wallet,
SOL_BRIDGE_ADDRESS,
payerAddress,
signedVAA
);
// 在Solana上赎回WETH
const transaction = await redeemOnSolana(
connection,
SOL_BRIDGE_ADDRESS,
SOL_TOKEN_BRIDGE_ADDRESS,
payerAddress,
signedVAA,
isSolanaNative,
mintAddress
);
就这样!你已经成功地跨链发送了一条消息。

现在,我们谈到了桥梁和跨链构建,但这些为什么重要?
真正的答案——xDapps。
8、xDapps
xDapps是由Wormhole的强大功能构建的任何应用。
它们是那种不受限于特定链的应用程序,可以利用xAssets(跨链资产)和xData(跨链数据)。
“Wormhole是一种让用户不必关心开发者选择的方式。”
想象一下,你的银行基础设施基于Google Cloud,而你想在Amazon上购买一些东西,而Amazon的基础设施是基于AWS的。由于你的银行使用的是不同的开发基础设施,你无法从Amazon购买商品,这很荒谬。
目前,在以太坊上拥有资金的情况下,在Solana上购买东西并不容易。
xDapps,作为跨链应用,解决了这个问题。
简而言之,它让Web3用户体验更接近Web2。
例如,一个基于Solana的应用程序可能支持直接的以太坊存款!如果开发者只是在其前端集成Wormhole SDK,Portal Token Bridge将会拾取存款并将它发送到目标链,即Solana。你现在可以直接从你的银行购买这个Amazon商品,而不必担心背后的技术。
但是,为什么需要xDapps?
更多的链意味着更多的用户!
这意味着你的产品可以在任何链上的任何用户使用。开发人员只是希望维护用户的权利,并将加密货币引入下一个十亿用户。因此,扩展到新链将覆盖更多用户,从而增加用户数量。
这就是几个项目展示给我们的。
超过1.4亿人在web2和web3平台上玩Sweat Economy这款运动赚钱游戏。

他们的代币SWEAT最初存在于NEAR区块链上,作为NEP-141代币。由于NEAR肯定没有所有用户,他们使用Wormhole将其桥接到以太坊。现在它也可以作为原生ERC-20代币使用。这意味着以太坊上的用户可以直接使用它,并且所有来自以太坊的流动性都可以应用于Sweat Economy。
9、产品构思
“过去的链条必须被打破,我们才能自由塑造未来”——富兰克林·D·罗斯福
这些智慧的话语对今天的区块链行业来说依然适用。孤立的生态系统阻碍了创新并限制了用户体验。
为此,让我们来看看一些利用Wormhole框架的独特且可行的产品创意:
- 使用Wormhole的互操作性构建一个单一登录系统,管理用户在不同区块链上的声誉和数字足迹。这允许用户在任何链上的dApp上无缝交互,同时保持统一的身份。
- 开发一个DEX,利用Wormhole桥聚合来自不同DeFi协议的流动性,这些协议位于不同的区块链上。用户可以在以太坊、Solana和Avalanche等链之间无缝交换代币,拥有深度流动池,所有这些都包含在一个界面中。
- 创建一个统一的借贷和借款平台,利用Wormhole的互操作性。该平台可以让用户连接到各种DeFi协议中最吸引人的利率和贷款选项,无论这些协议所在的底层区块链是什么。
- 开发一款游戏,利用Wormhole桥实现跨不同区块链虚拟世界的游戏中资产(角色、物品)的无缝转移和使用。这为玩家提供了一个真正互联的游戏体验,使他们在各个元宇宙中都能利用自己的资产。
- 构建一个由Wormhole驱动的NFT市场,允许用户购买、出售和交易不依赖于其原生区块链的NFT。这消除了多个钱包和碎片化生态系统的需要,促进了更统一的NFT交易体验。
- 目前,由于不同区块链上的数据孤岛现象,很难获得DeFi活动、NFT趋势和整体市场洞察的全面视图。因此,有人可以开发一个数据分析平台,利用Wormhole桥聚合和分析来自不同区块链的数据。
10、WORMHOLE 和 COSMOS
值得注意的是,Osmosis将是首批集成Wormhole Gateway的应用链之一。
作为Cosmos生态系统中在IBC活动、交易量和费用收集方面领先的领跑者,它在更大的DeFi场景中享有盛誉。Osmosis实验室的联合创始人Sunny Aggarwal在巴黎举行的社区会议Osmocon上展示了这一合作关系。
Cosmos上的Gateway诞生于多种因素。
但主要原因是Cosmos SDK,因为它提高了Wormhole的开放性和独立性。通过SDK,Wormhole还能够使用被视为行业标准的安全性的IBC轻客户端。这也增强了Wormhole在区块链之间持续进行资产和数据流动的能力。
11、结束语
区块链的未来无疑是多链的。
Wormhole提供了工具和基础设施,成为这场革命的先锋。凭借其强大的SDK和蓬勃发展的社区,Wormhole赋予开发人员构建下一代dApps的能力。
所以,深入探索Wormhole,探索它的潜力,并成为塑造真正互联的区块链生态系统未来的参与者。
记住,这只是个起点。随着区块链空间的发展,Wormhole的可能性也会随之增长。保持好奇心,继续探索,并成为多链开发激动人心未来的参与者!
DefiPlot翻译整理,转载请标明出处
免责声明:本站资源仅用于学习目的,也不应被视为投资建议,读者在采取任何行动之前应自行研究并对自己的决定承担全部责任。