Aspect 移动应用,使用 Flutter 编写

查看 演示视频

团队

目标

为了这次黑客马拉松,我们想用 Flutter 创建一个 Aspect 的移动版本。目标是使用他们的 API 进行只读查询和索引,并使用 starknet.dart SDK + session key 来铸造新的 NFT。

我们完成了什么

Flutter 部分本身和 Aspect API 的使用相当顺利,所以现在您可以在移动设备上以只读模式查看 Aspect。

然而,我们低估了在 Dart 中实现 session key 的难度,特别是考虑到当我们开始黑客马拉松时,SDK 还没有实现任何 signer / account 逻辑。

第一天,我们试图理解如何集成 session key,但意识到我们首先需要在 SDK 中实现 signer 逻辑。然后我们实现了部分 signer 逻辑,但没有时间实现 pedersen / signature 逻辑(在此处查看 SDK 代码 这里)。

所以目前 SDK 可以通过使用外部服务(例如 starknet.js)生成的签名来改变区块链状态。

为了仍然设法将 mint 功能集成到移动应用中,我们修改了 account 合约以剥离签名 / nonce 验证逻辑并部署了它。

然而,我们没有及时从 starknet js 调用它来计算正确的 calldata,然后我们可以将其传递给我们的 dart sdk。

所以最终,只有 Aspect 的只读部分在应用程序中工作。

下一步

为了正确实现我们的目标,我们首先需要完成 SDK,以便能够从 dart 签名交易,从而在 flutter dApps 中实现变异函数。

完成后,我们需要利用 argent 插件 API 来允许代表用户帐户签名交易。

GitHub

查看 Github