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 来允许代表用户帐户签名交易。