func NewService(blockchain *minter.Blockchain, client *rpc.Local, node *tmNode.Node, minterCfg *config.Config, version string, reward *rewards.Reward) *Service {
	return &Service{
		rewards:    reward,
		blockchain: blockchain,
		client:     client,
		minterCfg:  minterCfg,
		version:    version,
		tmNode:     node,
		decoderTx:  transaction.NewExecutor(transaction.GetData),
	}
}
NewService create gRPC server implementation
package service
import (
	"context"
	"strconv"
	"time"
	"github.com/MinterTeam/minter-go-node/config"
	"github.com/MinterTeam/minter-go-node/coreV2/minter"
	"github.com/MinterTeam/minter-go-node/coreV2/rewards"
	"github.com/MinterTeam/minter-go-node/coreV2/transaction"
	"github.com/MinterTeam/node-grpc-gateway/api_pb"
	tmNode "github.com/tendermint/tendermint/node"
	rpc "github.com/tendermint/tendermint/rpc/client/local"
	"google.golang.org/grpc/grpclog"
	"google.golang.org/grpc/status"
)
type Service struct {
	blockchain *minter.Blockchain
	client     *rpc.Local
	tmNode     *tmNode.Node
	minterCfg  *config.Config
	version    string
	rewards    *rewards.Reward
	api_pb.UnimplementedApiServiceServer
	decoderTx transaction.DecoderTx
}