dfinity avatar

dfinity/icp-js-core

171 96 26
TypeScript Apache-2.0
创建于 6 年前 最后更新 1 周前

AI 综合评分

71 B 级
代码质量
65
文档质量
74
社区健康
68
项目活跃
77
创新性
62

项目简介

Internet Computer 的 JavaScript 基础库,让开发者用 TypeScript 轻松构建去中心化应用。

项目摘要

  1. 【主题】让 JavaScript 开发者直接与 Internet Computer 交互,将链上计算变成前端项目的一部分。

  2. 【核心分点总结】

  3. Actor 封装:为 canister 智能合约提供类型化的 Actor 接口,调用链上方法就像调用本地 TypeScript 函数一样自然。

  4. Candid 编解码:内置 Candid 序列化与反序列化,无需手动处理字节流,结构体定义一次即可在前后端共享。

  5. 身份与认证:无缝集成 Internet Identity、Plug 等钱包登录方案,一行代码拿到调用者的 principal,身份验证即插即用。

  6. 多环境切换:支持本地开发节点(dfx)与主网的无缝切换,让单元测试和集成调试在同一个代码库内完成。

  7. 跨语言兼容:与 Motoko 编写的 canister 兼容,即使后端用 Motoko,前端 JS 也能获得完整的类型提示。

  8. 【行动指南】

  9. 快速搭建 ICP dApp:用 Vite 或 Next.js 创建前端项目,引入 @dfinity/agent 和 @dfinity/candid,直接从浏览器调用 canister,无需中间层。

  10. 接入现有 Motoko 项目:如果已有 Motoko 后端,通过 dfx generate 生成 JS 接口文件,立即获得强类型前端调用,减少胶水代码。

  11. 本地开发与测试:在本地 dfx 网络中运行单元测试,利用库的 actor 工厂轻松模拟异步响应,加速迭代。

  12. 【金句总述】用熟悉的 JavaScript,解锁整个 Internet Computer 的链上能力。

  13. 【故事性收尾】

过去,你为了把一笔交易送上链,需要下载专用钱包插件、调试复杂的 RPC 桥、反复对齐 Candid 类型。现在,你坐在 VS Code 里,在熟悉的 TypeScript 中调用一个方法,几秒钟后,链上状态改变了,浏览器自动刷新了。没有隔离感,没有重学语言的压力——你一直在写代码,只是这一次,代码运行在互联网本身上。

相关项目推荐