SignAndSendTransaction
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
Once connected to Solflare, an application can ask the user for permission to send transactions on their behalf.
In order to send a transaction, an application must:
1. Create an unsigned transaction.
2. Have the transaction be signed and submitted to the network by the user's Solflare wallet.
3. Optionally await network confirmation using a Solana JSON RPC connection.
https://solflare.com/ul/v1/signAndSendTransaction
dapp_encryption_public_key
(required): The original encryption public key used from the app for an existing Connect session.
nonce
(required): A nonce used for encrypting the request, encoded in base58.
redirect_link
(required): The URI where Solflare should redirect the user upon completion. Please review Specifying Redirects for more details. URL-encoded.
payload
(required): An encrypted JSON string with the following fields:
{
"transaction": "...", // serialized transaction, base58-encoded
"sendOptions": "..." // an optional Solana web3.js sendOptions object
"session": "...", // token received from the connect method
}
transaction
(required): The transaction Solflare will sign and submit is serialized and encoded in base58.
sendOptions
(optional): An optional object that specifies options for how Solflare should submit the transaction. This object is defined in Solana web3.js.
session
(required): The session token received from the Connect method. Please see Handling Sessions for more details.
nonce
: A nonce used for encrypting the response, encoded in base58.
data
: An encrypted JSON string. Refer to Encryption to learn how apps can decrypt data
using a shared secret. Encrypted bytes are encoded in base58.
// content of decrypted `data`-parameter
{
"signature": "..." // transaction-signature
}
signature
: The first signature in the transaction can be used as its transaction id.
An errorCode
and errorMessage
as query parameters. Please refer to Errors for a full list of possible error codes.
{
"errorCode": "...",
"errorMessage": "..."
}
Please refer to the signAndSendTransaction method implemented in our demo application.