mirror of
https://github.com/tendermint/tendermint.git
synced 2026-09-19 22:44:24 +00:00
Refactoring genesis, including PubKey into TxInput
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"path"
|
||||
|
||||
. "github.com/tendermint/tendermint/common"
|
||||
. "github.com/tendermint/tendermint/config"
|
||||
)
|
||||
|
||||
type DB interface {
|
||||
Get([]byte) []byte
|
||||
Set([]byte, []byte)
|
||||
@@ -7,3 +14,33 @@ type DB interface {
|
||||
Delete([]byte)
|
||||
DeleteSync([]byte)
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Database types
|
||||
const DBBackendMemDB = "memdb"
|
||||
const DBBackendLevelDB = "leveldb"
|
||||
|
||||
var dbs = NewCMap()
|
||||
|
||||
func GetDB(name string) DB {
|
||||
db := dbs.Get(name)
|
||||
if db != nil {
|
||||
return db.(DB)
|
||||
}
|
||||
switch Config.DB.Backend {
|
||||
case DBBackendMemDB:
|
||||
db := NewMemDB()
|
||||
dbs.Set(name, db)
|
||||
return db
|
||||
case DBBackendLevelDB:
|
||||
db, err := NewLevelDB(path.Join(Config.DB.Dir, name+".db"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
dbs.Set(name, db)
|
||||
return db
|
||||
default:
|
||||
panic("Unknown DB backend")
|
||||
}
|
||||
}
|
||||
|
||||
+7
-2
@@ -3,6 +3,7 @@ package db
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/syndtr/goleveldb/leveldb"
|
||||
"github.com/syndtr/goleveldb/leveldb/errors"
|
||||
"github.com/syndtr/goleveldb/leveldb/opt"
|
||||
"path"
|
||||
)
|
||||
@@ -24,7 +25,11 @@ func NewLevelDB(name string) (*LevelDB, error) {
|
||||
func (db *LevelDB) Get(key []byte) []byte {
|
||||
res, err := db.db.Get(key, nil)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
if err == errors.ErrNotFound {
|
||||
return nil
|
||||
} else {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
@@ -57,7 +62,7 @@ func (db *LevelDB) DeleteSync(key []byte) {
|
||||
}
|
||||
}
|
||||
|
||||
func (db *LevelDB) Db() *leveldb.DB {
|
||||
func (db *LevelDB) DB() *leveldb.DB {
|
||||
return db.db
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user