def broadcast(self):
<EOL>if not self._is_signed():<EOL><INDENT>self.sign()<EOL><DEDENT>if "<STR_LIT>" not in self or not self["<STR_LIT>"]:<EOL><INDENT>log.warning("<STR_LIT>")<EOL>return<EOL><DEDENT>ret = self.json()<EOL>if self.blockchain.nobroadcast:<EOL><INDENT>log.warning("<STR_LIT>")<EOL>self.clear()<EOL>return ret<EOL><DEDENT>try:<EOL><INDENT>if self.blockchain.blocking:<EOL><INDENT>ret = self.blockchain.rpc.broadcast_transaction_synchronous(<EOL>ret, api="<STR_LIT>"<EOL>)<EOL>ret.update(**ret.get("<STR_LIT>", {}))<EOL><DEDENT>else:<EOL><INDENT>self.blockchain.rpc.broadcast_transaction(ret, api="<STR_LIT>")<EOL><DEDENT><DEDENT>except Exception as e:<EOL><INDENT>raise e<EOL><DEDENT>finally:<EOL><INDENT>self.clear()<EOL><DEDENT>return ret<EOL>
Broadcast a transaction to the blockchain network

            :param tx tx: Signed transaction to broadcast