Giter Club home page Giter Club logo

Comments (5)

htczion avatar htczion commented on July 18, 2024

Hi Mike,

In general, the app which use the ZKMA/ZKMS has responsibility to own the private key by itself.

Due to they are individual App instance, so it can't get the same public key as Zion Vault from getReceviePublicKey() even if you register the wallet by passing the same register parameters.

If you want to leverage the same account between Zion Vault and your App, there are two ways can do it.

  1. Request user to restore the same seed (12 key recovery phase) to both Zion vault and you App.

  2. Require the wallet information (ex : public key .. ) from Zion Vault directly.
    (https://github.com/htczion/ZionVaultSDK/wiki#3-application-based-integration)
    BTW, for highly trusted operation (ex : sign transaction ...), let your App becomes the trusted partner App of Zion Vault is required.
    (https://github.com/htczion/ZionVaultSDK/wiki#35-getting-zion-vault-wallet-id),
    But it is not suggested for Independent developer because some security process needs to be done first( ex: contact Zion team to sign the NDA ... )

I hope it helps you.

from zkma.

mikeshultz avatar mikeshultz commented on July 18, 2024

Some questions regarding the second option:

Is the walletId returned by IZionWalletServiceAPIs.getZionWalletId() the same as unique_id as you'd get with register() in ZKMA? Trying to figure out how these two relate since IZionWalletServiceAPIs doesn't appear to be able to sign transactions?

getZionWalletId is a high risk API, and requires you to provide the SHA-256 hash of the key used to sign your app to HTC

Is there a way to test this before going through the NDA and key sharing process?

from zkma.

joshfraser avatar joshfraser commented on July 18, 2024

Who's the best contact at Zion for kicking off the NDA and key-sharing process?

from zkma.

htczion avatar htczion commented on July 18, 2024

Hi Mike,

The unique wallet id is the important key entry for accessing seed(private key) on TEE.

For example :

Zion Vault acquires the unique wallet Id (0x123456) via ZKMA register method,
if your app is the partner app of Zion Vault, use IZionWalletServiceAPIs.getZionWalletId()
could let you to retrieve the same unique wallet Id (0x123456) from Zion Vault.

Once your app got the Zion Vault's unique id, you can use it to sign the transacion (TUI for user confirm is needed)
mZKMA.signTransaction(unique_id... ) or other operations related to Zion Vault's unique_id.
(unfortunately, it is not allow to test before sign the NDA)

Due to it is the violent way to touch the secret from Zion Vault, generally we would not recommend 3rd-party App use it.

Alternatively, if your App is just want to do signTransaction (ex : pay ethereum to buy something), you might
consider to create the DApp (web3 API concept), Zion Vault has ability to interactive the operation with DApps via web3 API.

from zkma.

htczion avatar htczion commented on July 18, 2024

Who's the best contact at Zion for kicking off the NDA and key-sharing process?

Hi Josh,
Please help to list and send your requirements to [email protected]
We will review it and feedback to you.

from zkma.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.