Calculating Transaction ID

The process is more complex as the transactions in blocks are compressed to remove some fields such as the genesis ID and genesis Hash (and only keep a flag indicating if those fields were present).

See for example indexer/importer.go at 26d521746522237b1554c06dc370b6fe0bbe2f24 · algorand/indexer · GitHub

The simplest solution is to fetch the block from the indexer, as opposed to algod: indexer - Algorand Developer Portal
The indexer returns blocks with all the information you may be interested in (transaction IDs, close amounts, …)