What is the signer in Version 1 transfer transactions?

When I am creating a transfer 1 transaction the documentation shows the following JSON:

{
        "transaction":
        {
            "timeStamp": 9111526,
            "amount": 1000000000,
            "fee": 3000000,
            "recipient": "TBOBBSXX7BESJXDWGLP5Z7FM5HSTKUH5WIMPW562",
            "type": 257,
            "deadline": 9154726,
            "message":
            {
                "payload": "",
                "type": 1
            },
            "version": -1744830463,
            "signer": "a1aaca6c17a24252e674d155713cdf55996ad00175be4af02a20c67b59f9fe8a"
        },
        "privateKey": "00983bb01d05edecfaef55df9486c111abb6299c754a002069b1d0ef4537441bda"
}

As far as I understood, the recipient is an address of the person whom I am going to send coins, privateKey is the private key of the person who sends the coins. But what is signer?

The public key of the account making the transaction, I think.

This seems unnecessary. I already provided the private key of the account making the transaction. So it is straightforward to get the public key.

Sure, but you provide the private key to sign the transaction; it’ll be omitted when it’s prepared for broadcast.

1 Like