用途:使用 starknet.js v9.x SDK 构建 Starknet 应用时的参考,覆盖 provider、账户、合约、钱包与 paymaster 流程。不适用于 Cairo 合约编写、仅部署的运行手册或安全审计。
主要能力:通过 RpcProvider 进行只读网络访问;用 Account 管理身份、签名和交易;用 Contract 提供类型安全接口,可用 typedv2 获得 TypeScript 自动补全;支持 multicall 批量交易、populate 构造调用、事件解析、交易模拟与费用估算(含 V3 resourceBounds 与 tip);支持 ERC-20 操作、合约声明与部署(declare/deploy/declareAndDeploy、UDC)、WalletAccount 连接 ArgentX/Braavos、Paymaster 赞助或替代代币付费、SNIP-12 消息签名、SNIP-9 Outside Execution、RpcError 与 LibraryError 错误处理,以及 config 和 setLogLevel 配置。
使用方式:npm install starknet。只读示例:import { RpcProvider, Contract } from 'starknet'; const provider = await RpcProvider.create({ nodeUrl: 'https://rpc.starknet.lava.build' }); const contract = new Contract(abi, contractAddress, provider); const result = await contract.get_balance(); 主网 RPC 为 https://rpc.starknet.lava.build,Sepolia 为 https://rpc.starknet-testnet.lava.build。写操作需构造 Account 并调用 execute;部署账户需先计算地址、注入 STRK 再 deployAccount;代币金额始终使用 BigInt(如 1000n),勿用 Number() 或 parseFloat(),避免 2^53 以上精度丢失。
限制:资料注明 Account 构造函数签名在不同版本可能不同,账户 class hash 依赖网络与账户类型,示例仅供参照,官方文档为准;stark.randomAddress() 返回随机 felt 而非私钥,需用真实曲线私钥生成器。价格、收费、平台支持范围等信息暂未提供。