nexus-elements-overview
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseNexus Elements Overview
Nexus Elements 概述
Overview
概述
Select the right Nexus Elements sub-skill and ensure prerequisites (shadcn registry + NexusProvider + wallet connection) are in place.
选择合适的Nexus Elements子技能,并确保满足前提条件(shadcn注册表 + NexusProvider + 钱包连接)。
Prerequisites checklist
前提条件检查清单
- Ensure shadcn/ui is initialized (a exists) or be ready to manual copy files from
components.jsonJSON./r - Ensure wallet connection is configured (wagmi or any EIP-1193 provider).
- Install and wrap the app with ; call
NexusProvideron wallet connect.handleInit
- 确保shadcn/ui已初始化(存在文件),或准备好从
components.jsonJSON文件中手动复制文件。/r - 确保已配置钱包连接(使用wagmi或任何EIP-1193提供者)。
- 安装并将应用包裹其中;在钱包连接时调用
NexusProvider方法。handleInit
Provider setup (minimal)
提供者设置(最简版)
tsx
"use client";
import NexusProvider from "@/components/nexus/NexusProvider";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return <NexusProvider>{children}</NexusProvider>;
}tsx
"use client";
import { useEffect } from "react";
import { useAccount } from "wagmi";
import type { EthereumProvider } from "@avail-project/nexus-core";
import { useNexus } from "@/components/nexus/NexusProvider";
export function InitNexusOnConnect() {
const { status, connector } = useAccount();
const { handleInit } = useNexus();
useEffect(() => {
if (status === "connected") {
connector?.getProvider().then((p) => handleInit(p as EthereumProvider));
}
}, [status, connector, handleInit]);
return null;
}tsx
"use client";
import NexusProvider from "@/components/nexus/NexusProvider";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return <NexusProvider>{children}</NexusProvider>;
}tsx
"use client";
import { useEffect } from "react";
import { useAccount } from "wagmi";
import type { EthereumProvider } from "@avail-project/nexus-core";
import { useNexus } from "@/components/nexus/NexusProvider";
export function InitNexusOnConnect() {
const { status, connector } = useAccount();
const { handleInit } = useNexus();
useEffect(() => {
if (status === "connected") {
connector?.getProvider().then((p) => handleInit(p as EthereumProvider));
}
}, [status, connector, handleInit]);
return null;
}Registry info
注册表信息
- Base registry URL:
https://elements.nexus.availproject.org/r/{name}.json - If exists, ensure this registry mapping exists:
components.json
json
"registries": {
"@nexus-elements/": "https://elements.nexus.availproject.org/r/{name}.json"
}- 基础注册表URL:
https://elements.nexus.availproject.org/r/{name}.json - 如果存在,请确保包含以下注册表映射:
components.json
json
"registries": {
"@nexus-elements/": "https://elements.nexus.availproject.org/r/{name}.json"
}Pick the right sub-skill
选择合适的子技能
- Fast bridge UI:
nexus-elements-fast-bridge - Transfer UI: (registry name is
nexus-elements-transfer, docs sometimes saytransfer)fast-transfer - Deposit widget (swap + execute via ):
swapAndExecutenexus-elements-deposit - Bridge deposit (bridge + execute via ):
bridgeAndExecutenexus-elements-bridge-deposit - Swaps widget:
nexus-elements-swaps - Unified balance display:
nexus-elements-unified-balance - View history (intent history): (no
nexus-elements-view-historycomponent exists)view-intent - Provider setup:
nexus-elements-nexus-provider - Shared hooks/utils:
nexus-elements-common
- 快速桥接UI:
nexus-elements-fast-bridge - 转账UI:(注册表名称为
nexus-elements-transfer,文档中有时会写transfer)fast-transfer - 存款小部件(通过实现兑换+执行):
swapAndExecutenexus-elements-deposit - 桥接存款(通过实现桥接+执行):
bridgeAndExecutenexus-elements-bridge-deposit - 兑换小部件:
nexus-elements-swaps - 统一余额显示:
nexus-elements-unified-balance - 查看历史记录(意图历史):(不存在
nexus-elements-view-history组件)view-intent - 提供者设置:
nexus-elements-nexus-provider - 共享钩子/工具:
nexus-elements-common
SDK flow mapping (for answering questions)
SDK流程映射(用于解答问题)
- Fast bridge → + intent/allowance hooks +
sdk.bridge/NEXUS_EVENTS.STEPS_LIST.STEP_COMPLETE - Transfer → + intent/allowance hooks.
sdk.bridgeAndTransfer - Deposit → + swap intent hook (
sdk.swapAndExecute).swapIntent - Bridge deposit → + intent/allowance hooks.
sdk.bridgeAndExecute - Swaps → /
sdk.swapWithExactIn+ swap intent hook +sdk.swapWithExactOut.NEXUS_EVENTS.SWAP_STEP_COMPLETE - Unified balance → /
sdk.getBalancesForBridge(viasdk.getBalancesForSwap).NexusProvider - View history → .
sdk.getMyIntents()
- 快速桥接 → + 意图/授权钩子 +
sdk.bridge/NEXUS_EVENTS.STEPS_LISTSTEP_COMPLETE - 转账 → + 意图/授权钩子
sdk.bridgeAndTransfer - 存款 → + 兑换意图钩子(
sdk.swapAndExecute)swapIntent - 桥接存款 → + 意图/授权钩子
sdk.bridgeAndExecute - 兑换 → /
sdk.swapWithExactIn+ 兑换意图钩子 +sdk.swapWithExactOutNEXUS_EVENTS.SWAP_STEP_COMPLETE - 统一余额 → /
sdk.getBalancesForBridge(通过sdk.getBalancesForSwap调用)NexusProvider - 查看历史记录 →
sdk.getMyIntents()
Manual install fallback
手动安装备选方案
If shadcn is not initialized, use the JSON for a component and create each file in with . Repeat for all listed in that JSON and install the array.
/rfiles[].targetfiles[].contentregistryDependenciesdependencies如果未初始化shadcn,请使用组件对应的 JSON文件,将中指定的每个文件创建出来并填入的内容。对该JSON中列出的所有重复此操作,并安装数组中的依赖。
/rfiles[].targetfiles[].contentregistryDependenciesdependencies