func (c *Client) GetTransactionAsync(txHash *chainhash.Hash) FutureGetTransactionResult {
	hash := ""
	if txHash != nil {
		hash = txHash.String()
	}
	cmd := soterjson.NewGetTransactionCmd(hash, nil)
	return c.sendCmd(cmd)
}
GetTransactionAsync returns an instance of a type that can be used to get the
result of the RPC at some future time by invoking the Receive function on
the returned instance.

See GetTransaction for the blocking version and more details.
package rpcclient
import (
	"encoding/json"
	"strconv"
	"github.com/soteria-dag/soterd/soterjson"
	"github.com/soteria-dag/soterd/chaincfg"
	"github.com/soteria-dag/soterd/chaincfg/chainhash"
	"github.com/soteria-dag/soterd/wire"
	"github.com/soteria-dag/soterd/soterutil"
)
type FutureGetTransactionResult chan *response
func (r FutureGetTransactionResult) Receive() (*soterjson.GetTransactionResult, error) {
	res, err := receiveFuture(r)
	if err != nil {
		return nil, err
	}
	var getTx soterjson.GetTransactionResult
	err = json.Unmarshal(res, &getTx)
	if err != nil {
		return nil, err
	}
	return &getTx, nil
}