func (cl *ocxClient) GetPrice(args []string) (err error) {
	assetString := args[0]
	var getPriceReply *cxrpc.GetPriceReply
	if getPriceReply, err = cl.RPCClient.GetPrice(assetString); err != nil {
		return
	}
	logging.Infof("Price: %f %s\n", getPriceReply.Price, assetString)
	return nil
}
GetPrice prints the price for the asset
package main
import (
	"bytes"
	"fmt"
	"strconv"
	"github.com/mit-dci/lit/crypto/koblitz"
	"github.com/mit-dci/lit/lnutil"
	"github.com/mit-dci/opencx/logging"
	"github.com/mit-dci/opencx/match"
	"github.com/mit-dci/opencx/cxrpc"
	"github.com/olekukonko/tablewriter"
)
var placeOrderCommand = &Command{
	Format: fmt.Sprintf("%s%s%s%s%s\n", lnutil.Red("placeorder"), lnutil.ReqColor("side"), lnutil.ReqColor("pair"), lnutil.ReqColor("amounthave"), lnutil.ReqColor("price")),
	Description: fmt.Sprintf("%s\n%s\n",
		"Submit a order with side \"buy\" or side \"sell\", for pair \"asset1\"/\"asset2\", where you give up amounthave of \"asset1\" (if on buy side) or \"asset2\" if on sell side, for the other token at a specific price.",
		"This will return an order ID which can be used as input to cancelorder, or getorder.",
	),
	ShortDescription: fmt.Sprintf("%s\n", "Place an order on the exchange."),
}
func (cl *ocxClient) OrderCommand(args []string) (err error) {
	if err = cl.UnlockKey(); err != nil {
		logging.Fatalf("Could not unlock key! Fatal!")
	}
	side := args[0]
	pair := args[1]
	amountHave, err := strconv.ParseUint(args[2], 10, 64)
	if err != nil {
		return fmt.Errorf("Error parsing amountHave, please enter something valid:\n%s", err)
	}
	price, err := strconv.ParseFloat(args[3], 64)
	if err != nil {
		return fmt.Errorf("Error parsing price: \n%s", err)
	}
	var pubkey *koblitz.PublicKey
	if pubkey, err = cl.RetrievePublicKey(); err != nil {
		return
	}
	var orderSide *match.Side = new(match.Side)
	if err = orderSide.FromString(side); err != nil {
		err = fmt.Errorf("Error getting side from string for OrderCommand: %s", err)
		return
	}
	var reply *cxrpc.SubmitOrderReply
	if reply, err = cl.RPCClient.OrderCommand(pubkey, *orderSide, pair, amountHave, price); err != nil {
		return
	}
	var text []byte
	if text, err = reply.OrderID.MarshalText(); err != nil {
		err = fmt.Errorf("Could not marshal to text for some reason: %s", err)
		return
	}
	logging.Infof("Submitted order successfully, orderID: %s", text)
	return nil
}
var getPriceCommand = &Command{
	Format: fmt.Sprintf("%s%s\n", lnutil.Red("getprice"), lnutil.ReqColor("pair")),
	Description: fmt.Sprintf("%s\n",
		"Get the price of the input asset pair.",
	),
	ShortDescription: fmt.Sprintf("%s\n", "Get the price of the input asset pair."),
}