Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Note: Creation of a Godot SDK was approved and was created. Tracked in:

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-4033

General Notes

This SDK will function for Godot 3.x. It will not function for the upcoming Godot 4.0. Adding that functionality will come later.

...

Determine how we will build the SDK.
The options I am aware of right now:

  1. Pure C# libraries, as Godot supports C# out of the box.

  2. Use GDNative to load in different precompiled libraries for each platform.

If other options present themselves during the research phase, I will explore those as well.

Questions to Answer

  1. Is there a C# library that I can use to handle the serialization and the signing of transactions using ECIES?

  2. If I can't find a solution using C#, what platforms do we want this library to function on? This will determine the libraries I try to find to link with GDNative.

  3. How are different libraries compiled to function on the different platforms: NDK for Android, G++/clang for desktop, etc.

  4. Determine if it would be better for GDNative to be a wrapper for the SDKs that are currently available: Typescript SDK for HTML5, Swift SDK for iOS, Kotlin for Android.

Deliverables

A clear report on the route that I will take in the implementation of this SDK:

  1. Whether that be pure C#, or GDNative.

  2. The libraries that I will use in either case, along with short descriptions of why I have chosen those libraries.

  3. Which endpoints I will fully implement within the SDK. I would like to limit the scope to those endpoints that can be actually using in a game, especially if my work must be duplicated to get implement the SDK on different platforms.

  4. A test implementation of the encryption for FIO request and OBT data.

I will come out of this stage knowing which libraries will work to encrypt the FIO request and OBT data using DH with the ECIES standard. This means that I will have to implement at least a test version of the Push Transaction API endpoint for this stage.
If there are other transactions that require complex cryptographic signing that I missed in my overview of the API, please let me know.

...