Live edition loading…

PXke Algorand

Independent daily coverage of the Algorand ecosystem — verified reporting on wallets, DeFi, NFTs and infrastructure, fact-checked on-chain before it publishes.

← Latest stories

Pera Connect SDK 1.6.0 包含实验性 ARC-27 浏览器扩展签名功能。

· · · · · · ·

Pera Connect SDK 1.6.0 推出实验性 ARC-27 浏览器扩展签名功能(https://docs.perawallet.app/social-preview.png)

Algorand 默认钱包的开发者前门

当 Algorand 上的 Web 应用要求访问者连接钱包时,通常打开的钱包是 Pera。Pera 曾作为该网络的官方钱包推出,并于 2022 年 2 月更名,并仍是默认的移动端选择——iOS 应用程序在 7,952 条评价中平均评分 4.8 星,该团队于 8 月 11 日宣布,将对这两款应用在单一 React Native 代码库上进行全面重构。在发布公告的 12 天前,同一团队发布了 @perawallet/connect 的 1.6.0 版本,该 JavaScript SDK 允许 Web 应用与钱包进行交互。此次发布的亮点——通过浏览器扩展进行签名请求(标准化为 ARC-27)——是故意采取保守做法:它在默认情况下处于关闭状态,需要通过实验性标志启用。

SDK 位于 Pera 技术文档中心 的核心位置,该中心为第三方开发者提供了四个集成接口。每个接口都允许项目借用 Pera 已经为自家产品运行的基础设施,而无需从头开始构建。

整合层涵盖范围现实世界中的应用
Pera Connect SDK链接 Web 应用与 Pera Wallet 的 JavaScript 库位于 Algorand dApp 上的大多数“连接钱包”按钮背后的代码
公共 API包含返回任何 [Algorand 标准资产](/glossary/algorand-standard-asset "内置机制,允许任何人直接在 Algorand 的基础层上创建和发行新代币(如稳定币、实用型代币或 NFT)") 元数据和验证标签的端点应用显示代币名称、标志、价格以及 Pera 的信任徽章,无需每个项目自行编写解析器
NFT 解析器规范Pera 的流水线如何大规模发现、获取和分类 NFT钱包和探索器在呈现收藏品媒体和特征时无需每个项目自行编写解析器
移动应用 URL 方案perawallet:// 深度链接在 iOS 和 Android 应用上均可接受任何页面都可以直接将 Pera 启动到发送、加入或查看账户的流程

1.6.0 实际新增了什么

Pera Connect 运行于 [WalletConnect](/glossary/walletconnect "一种协议,允许 Web 应用通过扫描二维码连接到加密货币钱包(例如 Pera 或 Defly on Algorand),以便 Web 应用可以读取钱包地址并请求签名交易,而无需持有私钥。SDK 的核心方法很小:connect() 返回账户地址,signTransaction() 签名单个交易或原子组(即所有交易都必须全部提交或均不提交),signData() 签名任意字节,用于身份验证和身份流。

1.6.0版本于7月30日发布,新增了第二种签名传输方式:ARC-27,这是一种Algorand标准,允许浏览器扩展钱包直接响应[dApp](/glossary/dapp "去中心化应用程序,即在区块链网络上运行的软件程序,而非由中央服务器控制,因此不受任何单一实体控制")的请求,无需进行二维码往返。由于支持功能默认处于实验性状态,因此除非开发者选择启用,否则现有集成不会发生任何变化。一旦启用,连接模式将列出“使用Pera扩展连接”选项,并通过ARC-27发现往返流程自动检测已安装的兼容扩展,如果未找到,则会回落到二维码或Pera Web模式。该扩展路径支持ARC-60数据签名(并对请求域与页面原点进行检查),但不支持旧版任意数据签名,后者会抛出不支持的操作错误。同一版本还包含了一系列ARC-60规范合规性修复,目前1.6.1-beta.0版本已发布在npm的beta标签上。

该包在上一月下载量为 46,854 次,其中 11,724 次是在上周,另有 46 个其他注册的 npm 包依赖于它。其 GitHub 仓库拥有 70 个星标,最近于 8 月 14 日发布了修复,修复了 iOS Safari 签名流程和错误标记的 signData 错误,其维护节奏与该钱包本身相符:团队维护的 示例 dApp 涵盖了 100 多种签名场景,从单笔支付到 1,000 笔交易的批量支付。

Hub 的其他部分:数据、收藏品、深度链接

另外三个接口则针对 dApp 在签名流程本身方面需要的功能。来自 [mainnet](/glossary/mainnet "主公链网络,用于记录交易并具有实际价值,与用于实验的测试网络不同。")的公共 API api.perawallet.app 返回网络上任何 [ASA](/glossary/asa "Algorand 标准资产:在 Algorand 区块链上的第 1 层机制,允许任何人发行稳定币或 NFT 等代币,并附有相关信息") 的元数据——名称、单位名称、小数位数、总量、创建者、标志、美元价值——以及信任度、已验证、未验证或可疑的验证等级,并缓存响应 5 分钟。专用已验证资产和标签资产端点在一个响应中返回允许列表,文档链接了 Swagger UI 和可下载的 OpenAPI 规范。两点需要注意:2024 年发布的一则弃用通知将端点移至 /v1/public/ 路径,并自当年 8 月 1 日起进行重定向;此外,该 API 的使用要求还包括品牌义务——持证者必须在显示“由 Pera 提供的数据”的同时附上 Pera 标志,在每个 ASA 旁边显示“已验证”和“可疑”徽章,并链接至 ASA 的 Pera Explorer 页面,且“在 Pera Explorer 上查看”的行动呼吁必须清晰可见。

NFT 解析器规范解释了 Pera 如何填充其收藏品数据库:一项持续运行的任务会对每个资产进行迭代,通过专用的 [IPFS](/glossary/ipfs "一种去中心化的文件存储系统,数据存储在多台计算机上,从而抵御审查或丢失。NFT 经常使用 IPFS。") 网关获取元数据和媒体,并将 JSON 对象分类为 ARC3 NFT(元数据),并将图片或视频分类为 ARC69 NFT(媒体)。ARC69 元数据是可变的,因此在每次迭代时,管道会从资产的最新配置交易中重新解析它,而 ARC3 媒体则一次性获取并缓存;超过 100 MB 的文件会被忽略,失败的下载会重试三次。移动端 URL 方案则以 perawallet:// 链接完善了这一体系,这些链接会打开应用并进入特定操作——添加关注账户、选择资产、或预填入 ALGO 或 ASA 转账并附带备注——其中金额以微阿尔戈表示。

开发人员面临的权衡

文档没有强调的是,这些接口将项目与单一供应商深度绑定。深度链接方案只会打开 Pera,连接模式是 Pera 品牌化的,而公共 API 的条款要求显示 Pera 的标志和徽章,而非中立地展示数据——而这些徽章是 Pera 自行策划的,而非独立记录,因为其条款规定徽章并非背书。无论是文档还是发布说明,都没有提及对 SDK 的第三方安全审计,因此采用该 SDK 的团队只能依赖 Pera 的工程能力和历史记录。这一记录是真实的——钱包 7.0 的重构和 SDK 的月度发布周期都表明其得到了积极维护——但这同时也意味着,作为生态系统默认钱包的 Pera,对它支持的每项集成都有商业利益。对于希望保持距离的团队而言,有两种缓解措施:README 指向支持多钱包的钱包无关 use-wallet 封装,开发者问题则会在 Pera 的 Discord 频道 #dev-support 上得到解答。

实验性标志是诚实的警告:Pera 正在使用 ARC-27 信号化方向,而非承诺完成扩展故事,而选择加入的门槛意味着早期采用者是在测试,而非依赖。对于一个愿意让 Pera 成为其钱包基础设施的团队来说,SDK 是从零到有工作连接钱包按钮的最快路径;对于一个希望在 Algorand 的钱包领域保持中立的团队来说,封装层提供了逃生之门。无论哪种方式,文档中心现在是关于默认钱包打算如何提升生态系统开发者体验的最清晰的路线图。

来源

Source: https://docs.perawallet.app