This ticket is for general tracking of progress on Paima integration
Roadmap:
[x] Get familiar with WEB export in general
[x] Learn how to call JS from GDScript
[x] Learn how to call GDScript from JS
[x] Figure out how to exchange data between GDScript and JS while calling GDScript callbacks (will be required e.g. to requires data signing from JS, perform signing in godot-cardano and return signature data back to JS so Paima can use it) - partially solved with least ugly workaround found
[x] Make sure godot-cardano works in general when WEB-exported
[ ] Figure out if it is possible to run WASM in new GDScript thread for WEB-exports - turned out to be not that simple, postponed for now (related: PR #86)
[x] Successfully sign transaction using WEB-export of godot-cardano
[ ] Make prototype of game that uses Paima and godot-cardano together
[x] Build and run some Paima template project with some Cardano CIP-30 wallet to see how whole Paima stack works - "Open World" template was chosen as it has simplest frontend, Nami was used as wallet
[x] Add partially mocked CIP-30 interface for godot-caradano (required functionality is: providing name, address and data signing)
[x] Test communication between Paima middleware and godot-cardano CIP-30 interface with some mocked responses from GDScript
[x] Take Paima middleware from "OpenWorld" template and integrate it with CIP-30 interface for godot-cardano
[x] Implement login through Paima middleware
[x] Implement data signing with godot-cardano
[x] Learn how to make CIP-30 + CIP-0008 compliant signatures (message-signing is going to be used for CIP-0008 data signing; this library is used by Nami and Gero, maybe others too). The goal is to get same signature as (e.g.) Nami provides for some known payload and seed phrase.
[x] Add data signing to godot-cardano Rust code and build .so and WASM libs.
[x] Test signing with godot-cardano in the browser. The goal is to get same signature as (e.g.) Nami provides for some known payload and seed phrase
[ ] Decide how to use message-signing library. Repo readme says there is no Rust crate published, but there is some crate published by somebody. Not sure how well it is maintained. This crate was used for tests and worked, but maybe vendoring will be safer solution.
[x] Add godot-cardano wallet to Piama OpenWorld integration prototype
[x] Add SIP-30 signing for godot-cardano in Piama OpenWorld integration prototype
[x] Try to submit some player moves as Paima "Open World" template does but from WEB-exported Godot project
This ticket is for general tracking of progress on Paima integration
Roadmap:
godot-cardano
and return signature data back to JS so Paima can use it) - partially solved with least ugly workaround foundgodot-cardano
works in general when WEB-exportedgodot-cardano
godot-cardano
togethergodot-caradano
(required functionality is: providing name, address and data signing)godot-cardano
CIP-30 interface with some mocked responses from GDScriptgodot-cardano
godot-cardano
godot-cardano
Rust code and build.so
and WASM libs.godot-cardano
in the browser. The goal is to get same signature as (e.g.) Nami provides for some known payload and seed phrasemessage-signing
library. Repo readme says there is no Rust crate published, but there is some crate published by somebody. Not sure how well it is maintained. This crate was used for tests and worked, but maybe vendoring will be safer solution.godot-cardano
wallet to Piama OpenWorld integration prototypegodot-cardano
in Piama OpenWorld integration prototype