func NewVersionHandler(channelID string, cfg Config, pc protocol.Client) *Version {
	return &Version{
		Config:         cfg,
		protocolClient: pc,
		channelID:      channelID,
		path:           fmt.Sprintf("%s/version", cfg.BasePath),
		jsonMarshal:    json.Marshal,
	}
}
NewVersionHandler returns a new Version handler
package sidetreehandler
import (
	"encoding/json"
	"fmt"
	"net/http"
	"strconv"
	"strings"
	"github.com/hyperledger/fabric/common/flogging"
	"github.com/trustbloc/sidetree-core-go/pkg/api/protocol"
	"github.com/trustbloc/sidetree-core-go/pkg/restapi/common"
	"github.com/trustbloc/sidetree-fabric/pkg/httpserver"
)
var logger = flogging.MustGetLogger("sidetree_peer")
const (
	timeParam = "time"
)
type jsonMarshaller func(v interface{}) ([]byte, error)
type response struct {
	Version string `json:"version"`
	protocol.Protocol
}
type Version struct {
	Config
	protocolClient protocol.Client
	channelID      string
	path           string
	jsonMarshal    jsonMarshaller
}