code: public static byte[] getTransactionHash(EthereumTransaction eTrans) {
  	ArrayList<byte[]> rlpTransaction = new ArrayList<>();
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getNonce()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getGasPriceRaw()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getGasLimitRaw()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getReceiveAddress()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getValueRaw()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getData()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getSig_v()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getSig_r()));
  	rlpTransaction.add(EthereumUtil.encodeRLPElement(eTrans.getSig_s()));
  	byte[] transEnc = EthereumUtil.encodeRLPList(rlpTransaction);
  	Keccak.Digest256 digest = new Keccak.Digest256();
  	digest.update(transEnc,0,transEnc.length);
  	return digest.digest();
  }
docs: *
  Calculates the hash of a transaction. Note this requires that you have Bouncy castle as a dependency in your project
  
  @param eTrans transaction
  @return transaction hash as KECCAK-256