I decided to do my own Iota Client Library on Qt, until the C one from the foundation is out (because Rust is killing me).

I have check HTTP REST API documentation. I have implemented a minimal message( only with the "payload" key) and is working. But when i try to send many big payloads(less than 31k) on the mainnet i get Gateway timeout error (I think is error 503).

I am trying to send a full indexation message now. So, my question is how i can get the missing fields on the post request.

Meaning :

"networkId:" ?

"parentMessageIds:" ?(I will try with /api/v1/tips)

"nonce:" ?

More importantly how to do the POW on the device(I think is related with the nonce parameter). I do not find any literature about this. And if you know about why i am getting the Gateway timeout error on the mainnet and not on the devnet load balanced endpoints.

If you can give me any reference will be appreciated.

1 Answer 1


You can refer to the following RFCs

The client can simply sign a transaction then ask a node doing the PoW job. the procedure is something like: create and sign message -> get tips -> send the message, see https://github.com/iotaledger/iota.c/blob/dev/src/client/api/v1/send_message.c#L254

I think Qt can use c client lib - iota.c. API Reference: https://iota-c-client.readthedocs.io/en/latest/api/client.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy