Transaction request
When an APP sends a transaction request involving an account to the HAS, if the PKSA has registered that account with the HAS then it will receive the following message:
sign_req
{
cmd: "sign_req"
account: string
data: string
uuid: string
expire: number
token: string // DEPRECATED - protocol < 1 only
}
account
: the Hive account namedata
: the Base64 representation of an encryptedsign_req_data
objectuuid
{string} the transaction request identifierexpire
{Number} UNIX time when the request will expiretoken
: the authentication token - DEPRECATED since protocol v1
The structure of the sign_req_data
object is:
sign_req_data
{
key_type: string
ops: Array
broadcast: boolean
nonce: number
}
key_type
: the key type required to sign the transactions. It can be one ofposting
|active
ops
: an array of operationsbroadcast
:true
if the PKSA must broadcast the transaction to the blockchain.false
if the PKSA must return a signed transaction but not broadcast it to the blockchain.nonce
: UNIX time of the request
Before sending its sign_req
request, the APP has encrypted the sign_req_data
using the encryption key
shared with the PKSA during the authentication process.
Only a PKSA having previously authenticated an account and having access to the encryption auth_key
will be able to decrypt the operations to be put in a transaction and to be signed.
As the HAS has no access to the `auth_key`, it is completely unaware of what's going on between the APP and the PKSA.
Last updated