func RegisterRPCFuncs(mux *http.ServeMux, funcMap map[string]*RPCFunc, logger log.Logger) {
	for funcName, rpcFunc := range funcMap {
		mux.HandleFunc("/"+funcName, makeHTTPHandler(rpcFunc, logger))
	}
	mux.HandleFunc("/", handleInvalidJSONRPCPaths(makeJSONRPCHandler(funcMap, logger)))
}
RegisterRPCFuncs adds a route for each function in the funcMap, as well as
general jsonrpc and websocket handlers for all functions. "result" is the
interface on which the result objects are registered, and is popualted with
every RPCResponse
package server
import (
	"net/http"
	"reflect"
	"strings"
	"github.com/tendermint/tendermint/libs/log"
)