How to create a transaction

Background:
I’m working on adding Aeternity blockchain to Trust Wallet.
Now I’m looking into creating Transaction (a spend transaction as I understand).
And then signing it, to be able to transfer funds.

I could not find documentation for it and I’m having difficulties parsing the code from sdks.
I need to implement all the functionality locally with c++ code, without using SDKs.

Questions:

  1. Is it possible to cover this functionality without APIs/SKDs
  2. What are the types of transactions of which I should care for my use case, is it just Spend Tx?
  3. How do I build this transaction, what are the parameters?
    I found this piece of code https://github.com/aeternity/aepp-sdk-python/blob/develop/aeternity/transactions.py#L86, but I don’t understand what are tx_data, tx_raw, fee_idx.

Thank you.

You can implement it yourself if you need it in an unsupported sdk language. For reference you may check the go version for the spend transaction that may be more helpful for a c++ implementation.

More in general you can check the protocol documentation to for the details of which fields you need for each transaction type.

For the encoding the transaction are encoded using RLP.

I’m want to unit test my Transaction encoding, what is the best way to get a test data?
In SDKs I can only find integration tests for creating + encoding tx + signing it.

As a next step I need to implement Signing and unit test as well. So I’ll need private key, encoded tx and signature to assert on.