def broadcast_message_files(self, directory, filenames): for filename in filenames: print("Broadcasting ",directory+"/"+filename) f = open(directory+"/"+filename,'r') message_data = f.read() f.close ## binary to ascii encoding and strip out newlines encoded = zlib.compress(message_data, 9).encode('base64').replace('\n','') print("[\n" + encoded.decode() + "\n]") gid = self.api_thread.gid.gid_val segments = TxTennaSegment.tx_to_segments(gid, encoded, filename, str(self.messageIdx), "d", False) for seg in segments : self.do_send_broadcast(seg.serialize_to_json()) sleep(10) self.messageIdx = (self.messageIdx+1) % 9999
def do_mesh_broadcast_rawtx(self, rem): """ Broadcast the raw hex of a Bitcoin transaction and its transaction ID over mainnet or testnet. A local copy of txtenna-server must be configured to support the selected network. Usage: mesh_broadcast_tx RAW_HEX TX_ID NETWORK(m|t) eg. txTenna> mesh_broadcast_rawtx 01000000000101bf6c3ed233e8700b42c1369993c2078780015bab7067b9751b7f49f799efbffd0000000017160014f25dbf0eab0ba7e3482287ebb41a7f6d361de6efffffffff02204e00000000000017a91439cdb4242013e108337df383b1bf063561eb582687abb93b000000000017a9148b963056eedd4a02c91747ea667fc34548cab0848702483045022100e92ce9b5c91dbf1c976d10b2c5ed70d140318f3bf2123091d9071ada27a4a543022030c289d43298ca4ca9d52a4c85f95786c5e27de5881366d9154f6fe13a717f3701210204b40eff96588033722f487a52d39a345dc91413281b31909a4018efb330ba2600000000 94406beb94761fa728a2cde836ca636ecd3c51cbc0febc87a968cb8522ce7cc1 m """ ## TODO: test Z85 binary encoding and add as an option (strHexTx, strHexTxHash, network) = rem.split(" ") gid = self.api_thread.gid.gid_val segments = TxTennaSegment.tx_to_segments(gid, strHexTx, strHexTxHash, str(self.messageIdx), network, False) for seg in segments : self.do_send_broadcast(seg.serialize_to_json()) sleep(10) self.messageIdx = (self.messageIdx+1) % 9999