Web3 ZetaChain
ZetaChain是一个支持原生跨链互操作的一层网络,旨在连接任意区块链(包括比特币、以太坊等),实现资产与智能合约的跨链交互。其核心功能包括:1)通用智能合约(USC)可原生部署并操作多链资产;2)ZRC20标准统一管理跨链资产;3)Gateway桥接器监听并处理跨链请求;4)支持跨链Swap、NFT转移等DeFi操作。通过UniversalEVM环境,用户可直接操作不同链上的资产,无需理解底层
ZetaChain 通用资产与跨链 DeFi 开发
Universal BlockChain(ZetaChain<一层网络>中重要的底层逻辑)
能在原生的状态下去连接任意区块链的L1公链(第一层公有区块链:有自己的主权<共识机制>,有自己的货币<原生代币>,有自己的法律<智能合约规则>,有自己的领土<区块空间>)
ZetaChain 希望加密世界能够像互联网一样易触达,多样并且互联互通
ZetaChain的连接方式
以太坊 (ETH) ←→ ZetaChain ←→ 比特币 (BTC)
↘ ↗ ↘ ↗
智能合约交互 ↔ 原生BTC转移
Universal EVM(通用以太坊虚拟机)
能从任意的外部连接链去调用EVM的可执行环境(能在ZetaChain上面直接操作以太坊上的资产,也能操作比特币的资产)
全链智能合约(通用智能合约)
原生部署在ZetaChain上,可以读写任意连接链的智能合约作为模板
合约可以操作多个链,比如可以在以太坊上提取数据,在比特币上进行交互操作执行
还可以编排多链的复杂操作,比如实现一些复杂的跨链逻辑
提供统一的用户体验(一致性):用户无需理解底层的跨链逻辑,只要接口的规范是一致的,就可以在这个接口中操作所有的链
通用Dapp(全链应用、跨链应用)
可以实时的读取并更新所有连接网络的状态
聚合多个链的流动性
Gateway
作为连接不同链的跨链桥接主键,在监听原链上面的跨链的请求的时候,Gateway就会检测到这个请求,即观测者监测到了,然后就把消息(原链的ID,目标链的ID,资产的信息<资产的合约地址,资产的数量,相对应的价值>,操作类型)传递给ZetaChain,ZetaChain的通用智能合约会处理这些跨链逻辑,再给Gateway,去在目标链上进行相对应的操作
架构
BTC EVM WASAN
⬇ ⬇ ⬇
Gateway
⬇
ZetaChain
⬇
USC(通用智能合约)
┌─────────────────────────────────┐
│ 应用层 (全链DApps, 跨链DeFi) │
├─────────────────────────────────┤
│ ZetaChain Layer (核心层) │
│ • 全链智能合约 │
│ • 通用EVM │
│ • 跨链消息路由器 │
├─────────────────────────────────┤
│ Gateway层 (网关层) │
│ • 链上观察者 │
│ • 消息验证器 │
│ • 交易中继器 │
├─────────────────────────────────┤
│ 外部链层 (连接的所有L1公链) │
│ • 以太坊、比特币、Solana等 │
└─────────────────────────────────┘
ZRC20 的标准
作为多链资产的统一表示标准,来实现不同区块链资产的统一表示和管理
ERC20是单链的,要么是在以太坊的网络上用,要么就把合约copy一份放到其他网络上再去部署,当部署多了以后,中间用中间键进行桥接,才能实现多链的标准和多链的资产
但是ZRC20 本来是一个多链的标准,可以跨链使用
多链资产的映射:将以太坊上的ETH映射到ZetaChain上面,变成ETH.ETH(后缀表示原链是从哪儿来的
统一的接口:提供统一的代币接口操作,使得所有的ZRC20 的代币都遵循着标准
跨链的转移:支持不同链间转移资产,是因为在所有连接链上,都能使用ZRC20 资产,将资产映射到ZetaChain上面去
核心的函数
interface IZRC20{
function deposit() external payable;//存款
function withdraw (uint256 amount) external;//提取
function transfer (address to, uint256 amount) external returns(bool);/转账
function balanceOf (address account) external view returns(uint256);//查询余额
}
通用代币
多个链上流动的Token
打破单链限制的同时,也可以增强资产的流动性,一般放在跨链的支付上
通用NFT(非同质化代币)
跨链身份认证
跨链Swap
工作流程:将原链上的ETH存进来获得ZRC20 ETH,在ZetaChain上执行Swap,将它换成对应的Bitcoin,最后再把它提到目标链上
Ethereum ETH -> ZRC20 ETH.ETH ‘’‘’‘Swap’‘’‘’ ZRC20 BTC.BTC -> Bitcoin
function onCrossChainCall(
bytes calldata origin,//源链信息
uint256 originChainID,//源链 ChainID
address zrc20,//源链 ZRC-20 代币合约地址
uint256 amount,//代币数量
bytes calldata message//跨链信息(包括了目标链ID,目标资产,数量等等)
)external {
//1. 解析信息
(address targetToken, uint256 minAmount) = abi.decode(
message,
(address, uint256)
);
//2. 跨链交互逻辑的实现
uint256 amountOut = calculateSwapAmount(amount);
require(amountOut >= minAmount, "invalid output");
//3. 提前到目标链上
IZRC20(targetToken).withdraw(amountOut, recipient, targetChainID);
}
...
Qwen Agent 与 ZetaChain 全链交互实战
Monallo Hub => Transfer,Swap,Cross-Chain TX(三种不同的交互形式)
Qwen3: 理解自然语言,转换成结构化,可执行的命令
Qwen3 Agent 在全链应用中的角色
Qwen API Key(从阿里云获取),通过百炼平台
获取地址:https://dashscope.console.aliyun.com/
QwEN_API_KEY=sk-your-qwen-api-key-here
Qwen模型名称(可以选择qwen-max<迄今为止最强大的模型,主参数超过一万亿>,qwen-plus<最均衡的模型,性价比高,逻辑推理,编程>,qwen-turbo<速度快,成本低,适合一般的任务,小参数模型,支持思考和非思考>)
QWEN_MODEL=qwen-max
ZetaChain Gateway纽约地址
NEXT_PUBLIC_ZETACHAIN_GATEWAY= 0XF0a3F93Ed1B126142E61423F9546bf1323Ff82 DF
用户交互架构

核心架构解析
1. 用户层
-
角色:这是整个流程的起点与终点,是普通用户与去中心化应用交互的界面。
-
表现形式:通常是一个友好的网页前端(DApp UI),也可以是移动App、命令行工具或其他形式的客户端。
-
关键交互:
-
输入意图:用户通过点击按钮(如“转账”、“授权”、“铸造NFT”)、填写表单、签署消息等方式,表达想要进行的链上操作。
-
连接钱包:用户需要连接自己的Web3钱包(如MetaMask、WalletConnect等),该钱包持有用户的私钥,负责签名交易。
-
接收反馈:在交易被发送、确认或失败后,用户层需要以清晰的方式(如交易哈希、成功提示、错误信息)将结果反馈给用户。
-
2. 意图识别层
-
角色:这是架构中的智能中枢,负责将用户模糊、高层的“意图”翻译成具体、可执行的“指令”。
-
工作原理:
-
解析输入:接收来自用户层的事件或数据。例如,用户在界面上点击了“用100 USDC购买1个ETH”,并选择了最优交易路径。
-
抽象化理解:系统需要理解这个“购买”意图包含的深层操作:
授权(approve)USDC给某个交易合约,然后调用该合约的swap方法。 -
结构化输出:将意图转化为一个结构化的交易请求对象。这个对象不仅包含要调用的合约地址、函数名和参数,还可能包含链ID、价值估算、燃料费建议等元数据。
-
-
设计要点:
-
简化复杂性:这一层的最大价值是对用户隐藏区块链的复杂性。用户不需要知道什么是ABI、gas price、nonce。
-
语义化:这一层决定了产品的用户体验是否“智能”和“友好”。
-
3. 功能分发层
-
角色:作为执行编排器,它接收结构化的交易请求,并决定如何、何时以及以何种配置来最终构造和发送交易。
-
关键功能:
-
路由决策:对于同一个意图(如兑换代币),可能有多个去中心化交易所(DEX)或协议可以完成。这一层需要根据价格、滑点、流动性、手续费等因素,选择最优路径。
-
参数组装:将意图识别层输出的参数,与当前链状态(如实时gas price、用户nonce)结合,组装成完整的交易参数。
-
模拟与预估:在真正发送交易前,可能会先在本地或通过节点进行一次
eth_call模拟执行,以预估成本、检查交易是否会失败,为用户提供确认信息。 -
策略执行:对于复杂操作(如跨链、批量交易),负责编排多个子交易的执行顺序和依赖关系。
-
4. ethers.js(工具执行层)
-
角色:这是与以太坊区块链(或其他EVM兼容链)进行直接、底层交互的JavaScript工具库。它是功能分发层命令的最终执行者。
-
核心工作:
-
提供Provider:连接到以太坊网络节点(如Infura、Alchemy或本地节点),获取链上数据(余额、nonce、gas price)。
-
生成Signer:与用户的钱包(如MetaMask)交互,获取钱包账户,以便对交易进行签名。
-
构建交易对象:使用
Contract类加载智能合约的ABI和地址,将函数调用编码为底层的数据字节码。 -
发送与跟踪:
-
调用
contract.functionName(...args)并传入{ gasLimit, gasPrice, value... }等参数,创建一个待签名的交易。 -
通过
signer.sendTransaction(tx)发起签名请求到用户钱包。 -
钱包弹出请求,用户确认后,交易被签名并广播到网络。
-
通过
provider.waitForTransaction(txHash)监听交易在链上的打包确认状态。
-
-
5. 用户层(反馈闭环)
角色:流程在此完成闭环。
-
最终反馈:
-
从ethers.js层接收到交易哈希(txHash),立即展示给用户,表示交易已广播。
-
持续监听交易状态(确认中、成功、失败),并实时更新UI。
-
交易成功后,更新用户界面上的余额、状态等信息
-
核心设计哲学与优势
-
关注点分离:每一层职责明确。意图识别层关心“做什么”,功能分发层关心“怎么做最好”,ethers.js层关心“如何与链对话”。这使得代码更易维护和升级。
-
用户体验至上:通过意图识别,将区块链的复杂性封装起来,用户无需成为区块链专家即可使用DApp。这是DApp走向主流的关键。
-
灵活性与可扩展性:可以轻松地在功能分发层集成新的协议、路由或策略,而无需改动用户界面或底层交互逻辑。
-
安全性:尽管意图被简化,但最终交易仍需用户钱包私钥签名。私钥始终由用户掌控,应用无法擅自操作。
一个典型流程示例(用户想质押代币)
-
用户层:用户在DApp的质押页面上,输入“100 ABC”并点击“质押”按钮。
-
意图识别层:识别出“质押”意图。确定需要调用“质押合约”的
stake(uint256 amount)方法,并在此之前可能先需要调用“ABC代币合约”的approve方法。 -
功能分发层:检查当前质押池的奖励率,并可能为用户选择最优的质押池。预估本次操作所需的gas费用。编排逻辑:先执行
approve,待其确认后再执行stake。 -
ethers.js:
-
加载ABC代币合约和质押合约的ABI。
-
构造
approve(spender, amount)交易,通过钱包签名并发送。 -
监听
approve交易确认。 -
确认后,构造
stake(amount)交易,再次签名并发送。
-
-
用户层:向用户展示“授权交易已发送,哈希为0x...”,然后显示“质押交易已发送,哈希为0x...”。最终在两条交易都成功后,显示“质押成功!”并更新用户的质押余额和待领取奖励。
要构建两个Prompt, SP: AI 的角色和规则; UP: 包含用户的实际输入
用户输入、构建Prompt、调用 Qwen3 API
技术栈
Next.js 14
React UI
Tailwind CSS
ethers.js v6, 可以降到v5
持久化建议: MongoDB(更自然,无需图片)
更多推荐



所有评论(0)