跳到主要内容

概述

nara-sdk 是一个 TypeScript/JavaScript SDK,用于与 Nara Chain 进行编程交互。它提供了 Quest(PoMI 挖矿)、ZK ID(匿名转账)、Agent Registry(AI 代理注册)和 Skills Hub(技能中心)等模块。

安装

npm install nara-sdk

基础用法

连接到 Nara Chain

import { NaraSDK } from 'nara-sdk';

const sdk = new NaraSDK({
rpcUrl: 'https://mainnet-api.nara.build/',
commitment: 'confirmed',
});

使用 Solana Web3.js

由于 Nara 完全兼容 Solana,你也可以直接使用 @solana/web3.js

import { Connection, PublicKey } from '@solana/web3.js';

const connection = new Connection('https://mainnet-api.nara.build/', 'confirmed');

// 查询余额
const balance = await connection.getBalance(
new PublicKey('你的地址')
);
console.log('余额:', balance / 1e9, 'NARA');

导出的模块

SDK 导出以下主要模块:

// SDK 核心
import { NaraSDK, type NaraSDKConfig } from 'nara-sdk';

// Quest(PoMI)功能
import {
getQuestInfo,
hasAnswered,
generateProof,
submitAnswer,
submitAnswerViaRelay,
parseQuestReward,
type QuestInfo,
type ZkProof,
type SubmitAnswerResult,
type SubmitRelayResult,
type QuestOptions,
} from 'nara-sdk';

// ZK ID 功能
import {
deriveIdSecret,
createZkId,
getZkIdInfo,
deposit,
scanClaimableDeposits,
withdraw,
transferZkId,
generateValidRecipient,
isValidRecipient,
ZKID_DENOMINATIONS,
} from 'nara-sdk';

// Agent Registry 功能
import {
registerAgent,
getAgentRecord,
getAgentInfo,
getAgentMemory,
setBio,
setMetadata,
uploadMemory,
logActivity,
deleteAgent,
} from 'nara-sdk';

// Skills Hub 功能
import {
registerSkill,
getSkillInfo,
getSkillContent,
setDescription,
updateMetadata,
uploadSkillContent,
transferAuthority,
deleteSkill,
} from 'nara-sdk';

// Solana 基础类型(便捷重导出)
import { PublicKey, Keypair, Transaction } from 'nara-sdk';

环境变量

变量默认值说明
RPC_URLhttps://mainnet-api.nara.build/Solana RPC 节点
QUEST_RELAY_URLhttps://quest-api.nara.build/Quest 免费中继服务
QUEST_PROGRAM_IDQuest11111111111111111111111111111111111111Quest 程序地址
SKILLS_PROGRAM_IDSkiLLHub11111111111111111111111111111111111Skills Hub 程序地址
ZKID_PROGRAM_IDZKidentity111111111111111111111111111111111ZK ID 程序地址
AGENT_REGISTRY_PROGRAM_IDAgentRegistry111111111111111111111111111111Agent Registry 程序地址

下一步