Overview
This node signs Solana blockchain transactions using a secret key. It takes an unsigned transaction encoded in base64, deserializes it, and applies a cryptographic signature with the provided secret key. This is useful when you need to programmatically sign transactions before submitting them to the Solana network, for example in automated workflows that handle token transfers, smart contract interactions, or other on-chain operations.
Practical examples include:
- Signing payment transactions prepared by another system.
- Partially signing multi-signer transactions (if partial signing is enabled).
- Automating transaction signing in batch processing pipelines.
Properties
| Name | Meaning |
|---|---|
| Transaction (Base64) | The unsigned Solana transaction encoded as a base64 string. Must have a fee payer set, and signer must match the fee payer address. |
| Require All Signers | Boolean flag indicating whether all signers are required (true) or partial signing is allowed (false). |
Output
The node outputs a JSON object containing:
signedTransaction: A base64-encoded string representing the signed Solana transaction. This can be submitted to the Solana network or passed to subsequent nodes for further processing.
No binary data output is produced by this node.
Dependencies
- Requires a secret key credential for signing the transaction.
- Uses the
@solana/web3.jslibrary for transaction deserialization, signing, and serialization. - Relies on a utility function to extract the signer from credentials.
- The node expects the input transaction to be properly formatted and include a fee payer.
Troubleshooting
- Missing Transaction Parameter: If the "Transaction (Base64)" property is empty or invalid, the node will throw an error stating the transaction parameter is required.
- Fee Payer Not Set or Mismatch: If the transaction does not have a fee payer set or the signer does not match the fee payer address, the node throws an error advising to ensure these conditions are met.
- Invalid Base64 or Transaction Format: Errors during deserialization or signing may occur if the input transaction is malformed or corrupted.
- To resolve errors, verify the transaction encoding, ensure the fee payer is correctly assigned, and confirm the secret key corresponds to the fee payer's address.