func (p *PaymentTable) prefixKey(key []byte) []byte {
	prefixedKey := make([]byte, 1, len(key)+1)
	prefixedKey[0] = p.prefix
	return append(prefixedKey, key...)
}
prepend the prefix onto the key
package storage
import (
	"fmt"
	"strconv"
	"github.com/btcsuite/btcd/chaincfg/chainhash"
	"github.com/syndtr/goleveldb/leveldb"
	"github.com/bitmark-inc/bitmarkd/fault"
	"github.com/bitmark-inc/logger"
)
var CheckpointKey = []byte("checkpoint")
type P2PStorage interface {
	DB() *leveldb.DB
	GetHash(height int32) (*chainhash.Hash, error)
	GetHeight(hash *chainhash.Hash) (int32, error)
	StoreBlock(height int32, hash *chainhash.Hash) error
	GetCheckpoint() (*chainhash.Hash, error)
	SetCheckpoint(height int32) error
	RollbackTo(deleteFrom, deleteTo int32) error
	Close() error
}
type PaymentTable struct {
	prefix   byte
	limit    []byte
	database *leveldb.DB
}