You can customize the client and make them communicate with each other to share the transaction context. They way transaction works in Dgraph is that when you start a transaction the response has TxnContext which contains 3 important fields: StartTs, Keys, and Preds. These are used for transaction conflict detection.
So, you need to keep merging the TxnContext and when you are done you can call commit.
In your case, since you have multiple clients you need to share the transaction context among them.