作者:PaperMoon KaiChao
想象一下正在搭建一套智能家居系统,SDK 就像是一个全套工具箱,里面装满了组装和连接各种设备所需的工具和说明书。使用这个工具箱,可以轻松地将不同品牌的灯泡、恒温器和安防系统连接在一起,而无需研究每个设备的内部电路或编写复杂的代码。这样不仅节省了时间,还确保了系统的稳定性和安全性。
同样,软件开发中的 SDK 帮助开发者高效地构建应用程序,而无需从头开始解决所有技术难题。为了应对多链架构的挑战、优化资源使用,并确保应用的安全性和高效性,papi 提供了简化与底层区块链交互的解决方案。它支持快速开发和迭代,使开发者能够专注于创新和功能实现,而不被繁琐的技术细节所束缚。与 Polkadot-JS 插件的无缝集成,使 papi 成为开发去中心化应用(dApps)的理想选择。
下面一起深入学习凯超老师带来的第四篇技术解读 ——「Polkadot-API:轻松构建下一代区块链应用的终极工具」。本篇将帮助开发者全面掌握 Polkadot API,助力高效开发和优化应用。
Polkadot 生态常用 SDK 解析:简化区块链开发的工具指南
区块链通常由多个节点共同维护,这些节点分布在全球各地,共同参与链上数据的记录和验证。由于区块链的分布式特性,读取链上的数据和执行操作需要符合一定的规范和要求。这些规范和要求确保了数据的安全性、一致性以及系统的稳定运行。
为了简化开发者与区块链交互的过程,SDK(软件开发工具包)成为了一个不可或缺的工具。SDK 提供了标准化的接口和功能封装,使得开发者能够方便地访问链上的数据、执行智能合约、进行账户管理等操作。通过使用 SDK,开发者可以在不必深入了解底层技术实现的情况下,快速开发出功能丰富的区块链应用程序。
在 Substrate 生态系统中,社区开发了多个 SDK 工具库,支持不同的开发语言和平台,帮助开发者更便捷地构建和管理区块链项目。常用的 Substrate SDK 包括:
-
subxt, Rust
-
polkadotjs/api, papi, Javascript
-
go-substrate-rpc-client, Golang
为了解决多链架构的挑战、优化资源使用,并确保应用的安全性和高效性,开发者需要一个既强大又灵活的工具。Polkadot-API (papi) 是一个专为与 Polkadot 生态系统交互而设计的 JavaScript SDK,具备组合性和模块化设计,并优先考虑轻客户端的需求。其主要特点包括:
-
基于全新的 JSON-RPC 规范构建,充分发挥轻客户端的潜力(采用了 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 月 14 日举办 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