func (ws *Service) Start() {
	log.Infof("Starting %s WalletService", ws.coinType.String())
	go ws.UpdateState()
}
Start - the wallet daemon
package wallet
import (
	"context"
	"sync"
	"github.com/OpenBazaar/wallet-interface"
	"github.com/btcsuite/btcd/chaincfg/chainhash"
	"github.com/ethereum/go-ethereum/ethclient"
)
type Service struct {
	db       wallet.Datastore
	client   *ethclient.Client
	coinType wallet.CoinType
	chainHeight uint32
	bestBlock   string
	lock sync.RWMutex
	doneChan chan struct{}
}
const nullHash = "0000000000000000000000000000000000000000000000000000000000000000"
func NewWalletService(db wallet.Datastore, client *ethclient.Client, coinType wallet.CoinType) *Service {
	return &Service{db, client, coinType, 0, nullHash, sync.RWMutex{}, make(chan struct{})}
}