func HashByteArray(hash []byte, salt []byte) string {
	return "BFTX" + fmt.Sprintf("%x", common.HashByteArrays(hash, salt))
}
HashByteArray hashes two byte arrays and returns it.
package bf_tx
import (
	"crypto/ecdsa"  
	"crypto/elliptic"
	"crypto/md5"
	"crypto/rand"
	"crypto/sha256"
	"encoding/json"
	"errors"  
	"hash"
	"io"
	"log"
	"math/big"
	"os"
	"net/http"
	"strconv"
	"fmt"  
	rpc "github.com/tendermint/tendermint/rpc/client"
	tmTypes "github.com/tendermint/tendermint/types"
	"github.com/blockfreight/go-bftx/lib/app/bftx_logger"
	"github.com/blockfreight/go-bftx/lib/pkg/common"
	"github.com/blockfreight/go-bftx/lib/pkg/leveldb"  
)
func SetBFTX(jsonpath string) (BF_TX, error) {
	var bftx BF_TX
	file, err := common.ReadJSON(jsonpath)
	if err != nil {
		bftx_logger.SimpleLogger("SetBFTX", err)
		return bftx, err
	}
	json.Unmarshal(file, &bftx)
	return bftx, nil
}
func HashBFTX(bftx BF_TX) ([]byte, error) {
	bftxBytes := []byte(fmt.Sprintf("%v", bftx))
	hash := sha256.New()
	hash.Write(bftxBytes)
	return hash.Sum(nil), nil
}