func (cl *OpencxRPC) GetBalance(args GetBalanceArgs, reply *GetBalanceReply) (err error) {
	sha3 := sha3.New256()
	sha3.Write([]byte(args.Asset))
	e := sha3.Sum(nil)
	var pubkey *koblitz.PublicKey
	if pubkey, _, err = koblitz.RecoverCompact(koblitz.S256(), args.Signature, e); err != nil {
		err = fmt.Errorf("Error verifying order, invalid signature: \n%s", err)
		return
	}
	var param *coinparam.Params
	if param, err = util.GetParamFromName(args.Asset); err != nil {
		err = fmt.Errorf("Error getting coin type from name, pass in a different asset")
		return
	}
	if reply.Amount, err = cl.Server.GetBalance(pubkey, param); err != nil {
		err = fmt.Errorf("Error getting balance for pubkey in GetBalance RPC command: %s", err)
		return
	}
	return
}
GetBalance is the RPC Interface for GetBalance
package cxrpc
import (
	"fmt"
	"github.com/mit-dci/lit/coinparam"
	"github.com/mit-dci/lit/crypto/koblitz"
	util "github.com/mit-dci/opencx/chainutils"
	"github.com/mit-dci/opencx/match"
	"golang.org/x/crypto/sha3"
)
type GetBalanceArgs struct {
	Asset     string
	Signature []byte
}
type GetBalanceReply struct {
	Amount uint64
}