Transactions are the building material of every blockchain.
Transactions allow users to submit data to the blockchain which allows user to perform actions such as transferring DeSo, creating posts and profiles, and minting NFTs.
Sign: The developer will then take the output TransactionHex from the construct step's response, which encodes the user transaction, and signs it using DeSo Identity.
You can read about signing transactions in thesign section of the Endpoints documentation.
Broadcast: The signed transaction will be sent through the /api/v0/submit-transaction by the developer so that it can be added to the blockchain ledger.
The Submit a transaction submit explains how this endpoint works.
{"Transaction": {"PublicKey":"Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",// public key of the transactor"TxnTypeJSON":5,// Integer representing transaction type"ExtraData": { // Arbitrary key value map providing metadata about the transaction"key":"value" },"Signature": {"R":981237981749831749879848321,// R attribute of signature"S":843174832748124,// S attribute of signature },"TxInputs": [{"Index":0,// Index within transaction where the unspent output occurs"TxID": [1,2,3, ...] // 32 byte transaction id where unspent output occurs }],"TxOutputs": [{ "PublicKey":"Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",// Public key receiving the output"AmountNanos":912739// Amount of DeSo in the output }],"TxnMeta": { // Transaction metadata. more details explaining TxnMeta for each transaction type coming soon. ... } },"TxnHashHex":"0f40a5fc7eb991cea55ebece1ec21ee5fb1c4bba537bb76643ee1d31f617bb56","PostEntryResponse": <PostEntryResponse>,// If transaction is a Submit post transaction, include the PostEntryResponse that was created as a result of the transaction.}
Name
Type
Description
Transaction
Transaction object
transaction object that was broadcast to the DeSo blockchain
PublicKey
string
Attribute of transaction
Public key of transactor
TxnTypeJSON
integer
Attribute of transaction
Number representing transaction type
ExtraData
map[string]string
Attribute of transaction
Arbitrary key value map providing metadata about the transaction
Signature
{ R: integer, S: integer }
Attribute of transaction
Signature of transactoin
TxInputs
Array of transaction iputs
[{ Index: integer, TxId: integer[] }]
Attribute of transaction
Each element represents an input (DeSo being used) in the transaction.
TxOutputs
Array of transaction outputs
[{ PublicKey: string, AmountNanos: integer }]
Attribute of transaction
Each element represents an output (DeSo being received) in the transaction
TxnMeta
Transaction Metadata object
Attribute of transaction
Transaction Metadata descriptions coming soon. Each transaction type has its own transaction metadata object structure.
TxnHashHex
String
Hex of transaction hash broadcasted to the DeSo blockchain
PostEntryResponse
PostEntryResponse
If a transaction is a submit post transaction, the PostEntryResponse that was created by the transaction is included
Get Transaction
POST/api/v0/get-txn
Check if transaction is currently in mempool. This is particularly useful if you need to wait for a transaction to be broadcasted before submitting a subsequent transaction.
The hex of the transaction on which extra data will be appended.
ExtraData*
map[string]string
Arbitrary key value map that will be merged with any extra data decoded from TransactionHex. Keys from this map will overwrite keys that were decoded from TransactionHex
Name
Type
Description
TransactionHex
string
hex of transaction with extra data appended
Get Transaction Spending
POST/api/v0/get-transaction-spending
Calculates the total transaction spending by subtracting transaction output to sender from transaction inputs. This allows a convenient way to display to users how much they will spend if they submit a given transaction to the network.