def sign_up(self):
self.log("<STR_LIT>")<EOL>self.subscribe_to_quorum_channel()<EOL>while True:<EOL><INDENT>url = (<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>".format(<EOL>host=self.host,<EOL>self=self,<EOL>hash=uuid.uuid4().hex,<EOL>bot_name=self.__class__.__name__,<EOL>)<EOL>)<EOL>try:<EOL><INDENT>result = requests.post(url)<EOL>result.raise_for_status()<EOL><DEDENT>except RequestException:<EOL><INDENT>self.stochastic_sleep()<EOL>continue<EOL><DEDENT>if result.json()["<STR_LIT:status>"] == "<STR_LIT:error>":<EOL><INDENT>self.stochastic_sleep()<EOL>continue<EOL><DEDENT>self.on_signup(result.json())<EOL>return True<EOL><DEDENT>
Signs up a participant for the experiment.

        This is done using a POST request to the /participant/ endpoint.