Class SendTransaction
BroadcastTransaction, the purpose of SendTransaction is to support client side
signing of transactions.
Unlike BroadcastTransaction, does not validate the transaction and requires adminPassword parameter to avoid
abuses. Also does not re-broadcast the transaction and does not store it as unconfirmed transaction.
Clients first submit their transaction using CreateTransaction without providing the secret phrase.In response the client receives the unsigned transaction JSON and transaction bytes.
The client then signs and submits the signed transaction using SendTransaction
The default wallet implements this procedure in nrs.server.js which you can use as reference.
SendTransaction accepts the following parameters:
transactionJSON - JSON representation of the signed transaction
transactionBytes - raw bytes composing the signed transaction bytes excluding the prunable appendages
prunableAttachmentJSON - JSON representation of the prunable appendages
Clients can submit either the signed transactionJSON or the signed transactionBytes but not both.
In case the client submits transactionBytes for a transaction containing prunable appendages, the client also needs
to submit the prunableAttachmentJSON parameter which includes the attachment JSON for the prunable appendages.
Prunable appendages are classes implementing the Appendix.Prunable interface.
-
Method Summary
Modifier and TypeMethodDescriptionprotected final booleanprotected booleanprotected org.json.simple.JSONStreamAwareprocessRequest(javax.servlet.http.HttpServletRequest req) protected booleanprotected booleanprotected booleanMethods inherited from class nxt.http.APIServlet.APIRequestHandler
canHaveRecipient, getAPITags, getCreateTransactionTypes, getFileParameters, getParameters, getSensitiveParameters, isIgnisOnly, isTextArea, processRequest, requiredBlockUpdateLock, requireFullClient, startDbTransaction
-
Method Details
-
processRequest
protected org.json.simple.JSONStreamAware processRequest(javax.servlet.http.HttpServletRequest req) throws ParameterException - Specified by:
processRequestin classAPIServlet.APIRequestHandler- Throws:
ParameterException
-
requirePost
protected boolean requirePost()- Overrides:
requirePostin classAPIServlet.APIRequestHandler
-
requirePassword
protected boolean requirePassword()- Overrides:
requirePasswordin classAPIServlet.APIRequestHandler
-
requireBlockchain
protected boolean requireBlockchain()- Overrides:
requireBlockchainin classAPIServlet.APIRequestHandler
-
allowRequiredBlockParameters
protected final boolean allowRequiredBlockParameters()- Overrides:
allowRequiredBlockParametersin classAPIServlet.APIRequestHandler
-
isChainSpecific
protected boolean isChainSpecific()- Overrides:
isChainSpecificin classAPIServlet.APIRequestHandler
-