code: def _make_txn(signer, setting_key, payload):
      
      serialized_payload = payload.SerializeToString()
      header = TransactionHeader(
          signer_public_key=signer.get_public_key().as_hex(),
          family_name='sawtooth_settings',
          family_version='1.0',
          inputs=_config_inputs(setting_key),
          outputs=_config_outputs(setting_key),
          dependencies=[],
          payload_sha512=hashlib.sha512(serialized_payload).hexdigest(),
          batcher_public_key=signer.get_public_key().as_hex()
      ).SerializeToString()
  
      return Transaction(
          header=header,
          header_signature=signer.sign(header),
          payload=serialized_payload)
docs: Creates and signs a sawtooth_settings transaction with with a payload.