near-dapp
8
总安装量
6
周安装量
#33952
全站排名
安装命令
npx skills add https://github.com/near/agent-skills --skill near-dapp
Agent 安装分布
codex
6
opencode
5
gemini-cli
5
github-copilot
5
kimi-cli
5
cursor
5
Skill 文档
NEAR dApp
Decision Router
Determine which path to follow:
Path A: New Project
User wants to create a new NEAR dApp from scratch.
- Read references/create-near-app.md
- Run scaffolding:
npx create-near-app@latest
Or with arguments:
npx create-near-app my-app --frontend vite-react --contract rs --install
Framework options: vite-react | next-app | next-page
Contract options: rs (Rust) | ts (TypeScript)
- If user needs wallet connection in the scaffolded app, also follow Path B.
Path B: Existing Project
User wants to add NEAR wallet connection to an existing React app.
- Read references/near-connect-hooks.md â React hooks API and patterns
- If user needs low-level wallet API or non-React integration, also read references/near-connect.md
Quick setup:
npm install near-connect-hooks @hot-labs/near-connect near-api-js
// 1. Wrap app root with NearProvider
import { NearProvider } from 'near-connect-hooks';
<NearProvider config={{ network: 'mainnet' }}>
<App />
</NearProvider>
// 2. Use hook in components
import { useNearWallet } from 'near-connect-hooks';
const { signedAccountId, signIn, signOut, viewFunction, callFunction } = useNearWallet();
Path C: Non-React or Vanilla JS
Use @hot-labs/near-connect directly without React hooks.
npm install @hot-labs/near-connect
import { NearConnector } from "@hot-labs/near-connect";
const connector = new NearConnector({ network: "mainnet" });
connector.on("wallet:signIn", async (t) => {
const wallet = await connector.wallet();
const address = t.accounts[0].accountId;
});
await connector.connect();
Key Patterns
- Read contract state (no wallet):
viewFunction({ contractId, method, args }) - Write to contract (wallet required):
callFunction({ contractId, method, args, deposit }) - Transfer NEAR:
transfer({ receiverId, amount }) - NEAR â yoctoNEAR: Use
nearToYocto()/yoctoToNear()fromnear-api-js - 1 NEAR =
"1000000000000000000000000"yoctoNEAR - Default gas:
"30000000000000"(30 TGas)