Polkadot-API:轻松构建下一代区块链应用的终极工具
OneBlock
2024-09-09 22:00
订阅此专栏
收藏此文章

作者:PaperMoon

想象一下正在搭建一套智能家居系统,SDK 就像是一个全套工具箱,里面装满了组装和连接各种设备所需的工具和说明书。使用这个工具箱,可以轻松地将不同品牌的灯泡、恒温器和安防系统连接在一起,而无需研究每个设备的内部电路或编写复杂的代码。这样不仅节省了时间,还确保了系统的稳定性和安全性。

同样,软件开发中的 SDK 帮助开发者高效地构建应用程序,而无需从头开始解决所有技术难题。为了应对多链架构的挑战、优化资源使用,并确保应用的安全性和高效性,papi 提供了简化与底层区块链交互的解决方案。它支持快速开发和迭代,使开发者能够专注于创新和功能实现,而不被繁琐的技术细节所束缚。与 Polkadot-JS 插件的无缝集成,使 papi 成为开发去中心化应用(dApps)的理想选择。

下面一起深入学习第四篇技术解读 ——「Polkadot-API:轻松构建下一代区块链应用的终极工具」本篇将帮助开发者全面掌握 Polkadot API,助力高效开发和优化应用。


Polkadot 生态常用 SDK 解析
简化区块链开发的工具指南

区块链通常由多个节点共同维护,这些节点分布在全球各地,共同参与链上数据的记录和验证。由于区块链的分布式特性,读取链上的数据和执行操作需要符合一定的规范和要求。这些规范和要求确保了数据的安全性、一致性以及系统的稳定运行。
为了简化开发者与区块链交互的过程,SDK(软件开发工具包)成为了一个不可或缺的工具。SDK 提供了标准化的接口和功能封装,使得开发者能够方便地访问链上的数据、执行智能合约、进行账户管理等操作。通过使用 SDK,开发者可以在不必深入了解底层技术实现的情况下,快速开发出功能丰富的区块链应用程序。
在 Substrate 生态系统中,社区开发了多个 SDK 工具库,支持不同的开发语言和平台,帮助开发者更便捷地构建和管理区块链项目。常用的 Substrate SDK 包括:
  • subxthttps://github.com/paritytech/subxt), Rust
  • polkadotjs/apihttps://polkadot.js.org/docs/api/), papihttps://papi.how/), Javascript
  • go-substrate-rpc-clienthttps://github.com/centrifuge/go-substrate-rpc-client), Golang
为了解决多链架构的挑战、优化资源使用,并确保应用的安全性和高效性,开发者需要一个既强大又灵活的工具。Polkadot-API (papi) 是一个专为与 Polkadot 生态系统交互而设计的 JavaScript SDK,具备组合性和模块化设计,并优先考虑轻客户端的需求。其主要特点包括:
  • 基于全新的 JSON-RPC 规范https://paritytech.github.io/json-rpc-interface-spec/)构建,充分发挥轻客户端的潜力(采用了 Smoldot)。
  • 提供完善的的 TypeScript 支持,类型和文档均由链上元数据生成。
  • 支持包括存储读取、常量、交易、事件和运行时调用。
  • 高性能且轻量化:内置多个子路径,因此 dApps 不需要打包不必要的资源。
  • 使用原生的 BigInt,而非庞大的 BigNumber 库。
  • 利用动态导入来加快加载速度。
  • Promise 和 Observable 两种 API:选择最适合您需求和编码风格的方式。
  • 可使用浏览器插件,或使用私钥进行签名。
  • 与基于 Polkadot-JS 的插件轻松集成。

安装与使用

首先安装包:

下载链的 metadata 并生成类型:
  • papi add 命令,dot 是我们给这个链起的名字(可以是任何 JavaScript 变量名),-n polkadot 指定从 Polkadot 下载元数据。自定义的链可以通过指定 --wsUrl ws://127.0.0.1:9944 来获取
  • papi 命令,从下载的元数据生成所需的类型。

使用 WebSocket 与链交互

使用方式如下,
  • 首先引入依赖
  • 创建客户端并给定 wss 地址
  • 通过 getTypedApi 获取类型信息
  • 获取链上的状态
发送交易的方法如下,
  • 安装依赖,npm i @polkadot-labs/hdkd
  • 从助记词或者浏览器插件构造签名方
  • 构造交易如转账,并签名提交

使用 Smoldot 轻客户端

Smoldot 是一个小型、高效的 Polkadot 客户端。其的设计目标是提供一个轻量级、易于嵌入的客户端,使得各种设备和应用程序能够与 Polkadot 区块链网络进行交互。Smoldot 的主要特点包括:
  • 轻量级:Smoldot 的代码库非常小,占用的资源极少。这使得它可以在资源受限的环境中运行,例如嵌入式设备、浏览器扩展甚至一些物联网设备。
  • 高效:尽管体积小巧,Smoldot 仍然能够高效地处理与 Polkadot 网络的交互。它能够快速同步区块数据,确保应用程序实时获取最新的区块链状态。
  • 安全:Smoldot 通过精简的代码和严格的安全审计,最大限度地减少了潜在的安全漏洞。
  • 易于嵌入:由于 Smoldot 的设计初衷是嵌入到各种应用中,因此它非常容易集成到现有的应用程序中。无论是 Web 应用、桌面程序还是移动应用,都可以通过简单的 API 调用将 Smoldot 引入其中。
  • 跨平台支持:Smoldot 支持多种操作系统和平台,包括 Linux、macOS、Windows 以及浏览器环境。这使得它在不同的开发场景下都能保持良好的兼容性。

以下是使用的方法:

总而言之,Polkadot-API 为开发者与 Substrate 链的交互提供了全面而强大的工具集。借助其丰富的 API 和集成的签名方法,开发者不仅能够轻松访问链上数据、发送交易和管理账户,还可以通过轻客户端与区块链进行高效交互。这种全面的支持,使得 Polkadot-API 成为开发 Substrate 应用的理想选择,帮助开发者大大简化了开发流程,减少了底层技术复杂性的干扰,使他们能够专注于创新性功能的实现。此外,Polkadot-API 的完善类型信息和对 Smoldot 轻客户端的支持,更是为开发者提供了更高的灵活性和可靠性,进一步提升了开发体验和应用的整体质量。无论是构建小型应用还是开发复杂的区块链解决方案,Polkadot-API 都是值得信赖的选择。

对 Substrate 最新技术动态感兴趣的小伙伴欢迎回顾「Substrate 技术解读」系列文章的前三篇👇
✦ 由周俊老师撰写的第一篇文章:
Pallet 最新上线!Substrate 开发进阶课程第八期火热报名中!
✦ 由孙凯超老师撰写的第二篇文章:
解密 Coretime:Polkadot 区块链资源分配的新革命
✦ 由周俊老师撰写的第三篇文章:
揭秘 Substrate Pallet:构建区块链功能的关键模块


第八期 Substrate 课程
《开发进阶与项目实战》
火热进行中!

掌握 Substrate 不仅赋予快速构建和部署区块链应用的能力,还将开发者带入区块链技术的前沿,增强在行业中的话语权。为此,OneBlock+ 与 Polkadot 联合推出第八期《Substrate 开发进阶与项目实战》课程,特别邀请了区块链领域的资深专家王大锤、周俊和孙凯超联合授课。课程将深入探讨 Substrate 的核心技术,传授前沿开发技巧,并通过实践培养出色的能力。无论是寻求在区块链领域突破,还是渴望在这一新兴行业中脱颖而出,这门课程都将成为迈向成功的重要一步。
🪅 如果准备好加入全新一期的进阶课程学习,点击链接即可加入:https://wj.qq.com/s2/14825200/0zv4/
添加小助手 Emma ( 🆔 oneblockEmma) 获取更多资讯!👇


2024 Polkadot 黑客松曼谷站
邀你共襄盛举!

为了带领新兴开发者走向波卡生态和 Web3 行业,壮大蓬勃发展的 Polkadot 生态系统,涌现更多具备市场潜力和创新灵感的开发项目,OneBlock+ 社区将于 2024 年 7 月 11 日 - 11 月 16 日举办 2024 波卡黑客松大赛,本次大赛一共两场(分为新加坡站和曼谷站),每场奖金高达 315,000 美元,合计超价值 63 万 + 美金奖金池!目前新加坡黑客松已截止报名,11 月 16 日将在曼谷举行 Demo Day(代码提交截止时间为 10 月 23 日中午 12:00 UTC+8)

只要你渴望加入 Polkadot 生态,我们都会为你提供全方位指导,更有干货满满的周边活动为你的参赛之路保驾护航!立即报名,现在就加入 2024 波卡黑客松大赛。

🏄 立即报名:
https://forms.gle/4pNpmp92pnX2wWSZ8
🧺 参赛指南:
曼谷站:
https://dorahacks.io/zh/hackathon/polkadot-2024-bangkok/detail
🛠️ Github 代码库:
https://github.com/OneBlockPlus/polkadot-hackathon-2024
🗳️ 技术资源库:
https://github.com/OneBlockPlus/Technical-docs/blob/main/Substrate-technical-docs.md


About Us

关于我们

OneBlock+ 作为区块链的人才聚集地,是全球领先的 Substrate 开发者社区。我们将提供专业的技术文章和开发课程,并组织研讨会、黑客松创业大赛等交流实践活动,从而帮助开发者掌握 Substrate 技术、深入探索 Web3 领域。同时,OneBlock+ 还为 Web3 优质项目提供技术指导、人才资源等多重创业支持,促使更多开发团队使用 Substrate 技术框架构建未来开放网络。
Twitter: https://twitter.com/OneBlock_
Medium: https://medium.com/@OneBlockplus
Telegram: https://t.me/oneblock_dev
Discord: https://discord.gg/fE8deY4UbP
Bilibili: https://space.bilibili.com/1650224419
YouTube: https://www.youtube.com/channel/UCWo2r3wA6brw3ztr-JmzyXA

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

OneBlock
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开