-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blockchain data providers #17
Comments
@arobsn I suggest to have a different set of transaction processing methods // reduces transaction (doesn't require knowledge of secrets)
// The resulting transaction can be signed using ErgoPay
reduceTransaction(transaction: UnsignedTransaction<Amount>): ReducedTransaction;
// protected by apiKey, signs reduced transaction (requires knowledge of secrets)
// this method can be implemented by Ergo node via embedded wallet
signTransaction(transaction: ReducedTransaction): SignedTransaction
// checks the transaction validity and it's signatures (doesn't require knowledge of secrets)
// runs verifier part of SigmaProtocol (see https://hackernoon.com/sigma-protocols-for-the-working-programmer)
checkTransaction(transaction: SignedTransaction): boolean;
// submits signed transaction to blockchain
submitTransaction(transaction: SignedTransaction): boolean; |
@aslesarenko thanks for your suggestions! That will be certainly implemented for data providers which support such features.
|
@arobsn yes, and I propose to make clear distinction between Unsigned, Reduced and Signed transactions. Of all the 4 methods, only one (signTransaction) requires knowledge of secrets and hence some wallet. Others can be implemented by any party, i.e. by Ergo node. The signatures
imply that you can implicitly sign transaction to verify its validity, which is only possible when the secrets are known, which is big requirement. |
Oh, that's my fault, fixed! |
Ah, makes sense. |
That's interesting, definitively worths pushing APIs to provide this endpoint, updated interface and opened an issue on ergo-graphql: nautls/ergo-graphql#74 |
Planned Implementations
Interface
All packages must implement and extend the following interface and throw a
NotSupportedError
for not supported operations:fleet/packages/common/src/types/chainClients.ts
Lines 40 to 65 in edc2836
The text was updated successfully, but these errors were encountered: