code: def id(self):
          
          # Store signatures temporarily since they are not part of
          # transaction id
          sigs = self.data["signatures"]
          self.data.pop("signatures", None)
  
          # Generage Hash of the seriliazed version
          h = hashlib.sha256(bytes(self)).digest()
  
          # recover signatures
          self.data["signatures"] = sigs
  
          # Return properly truncated tx hash
          return hexlify(h[:20]).decode("ascii")
docs: The transaction id of this transaction