aboutsummaryrefslogtreecommitdiffstats
path: root/ethdb
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-02-28 19:21:12 +0800
committerobscuren <geffobscura@gmail.com>2014-02-28 19:21:12 +0800
commit839bd73fbb525f6c51e4205ce6519b6154cda2f0 (patch)
tree8bbb80d53425cfdb0391798eea77ff3af09ffe78 /ethdb
parent30ee32a7254658878b35c6a89e463427f99bd1b4 (diff)
parent3f7ec1a83fe13dc934d92a405ff01b0be6c04ac0 (diff)
downloaddexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar
dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.gz
dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.bz2
dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.lz
dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.xz
dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.zst
dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.zip
Merge branch 'release/0.3.0'
Diffstat (limited to 'ethdb')
-rw-r--r--ethdb/database.go20
-rw-r--r--ethdb/memory_database.go12
2 files changed, 29 insertions, 3 deletions
diff --git a/ethdb/database.go b/ethdb/database.go
index 76e4b4e4d..3dbff36de 100644
--- a/ethdb/database.go
+++ b/ethdb/database.go
@@ -11,8 +11,8 @@ type LDBDatabase struct {
db *leveldb.DB
}
-func NewLDBDatabase() (*LDBDatabase, error) {
- dbPath := path.Join(ethutil.Config.ExecPath, "database")
+func NewLDBDatabase(name string) (*LDBDatabase, error) {
+ dbPath := path.Join(ethutil.Config.ExecPath, name)
// Open the db
db, err := leveldb.OpenFile(dbPath, nil)
@@ -36,6 +36,14 @@ func (db *LDBDatabase) Get(key []byte) ([]byte, error) {
return db.db.Get(key, nil)
}
+func (db *LDBDatabase) Delete(key []byte) error {
+ return db.db.Delete(key, nil)
+}
+
+func (db *LDBDatabase) Db() *leveldb.DB {
+ return db.db
+}
+
func (db *LDBDatabase) LastKnownTD() []byte {
data, _ := db.db.Get([]byte("LastKnownTotalDifficulty"), nil)
@@ -46,13 +54,19 @@ func (db *LDBDatabase) LastKnownTD() []byte {
return data
}
+func (db *LDBDatabase) GetKeys() []*ethutil.Key {
+ data, _ := db.Get([]byte("KeyRing"))
+
+ return []*ethutil.Key{ethutil.NewKeyFromBytes(data)}
+}
+
func (db *LDBDatabase) Close() {
// Close the leveldb database
db.db.Close()
}
func (db *LDBDatabase) Print() {
- iter := db.db.NewIterator(nil)
+ iter := db.db.NewIterator(nil, nil)
for iter.Next() {
key := iter.Key()
value := iter.Value()
diff --git a/ethdb/memory_database.go b/ethdb/memory_database.go
index cd9f24000..b0fa64ed7 100644
--- a/ethdb/memory_database.go
+++ b/ethdb/memory_database.go
@@ -26,6 +26,18 @@ func (db *MemDatabase) Get(key []byte) ([]byte, error) {
return db.db[string(key)], nil
}
+func (db *MemDatabase) GetKeys() []*ethutil.Key {
+ data, _ := db.Get([]byte("KeyRing"))
+
+ return []*ethutil.Key{ethutil.NewKeyFromBytes(data)}
+}
+
+func (db *MemDatabase) Delete(key []byte) error {
+ delete(db.db, string(key))
+
+ return nil
+}
+
func (db *MemDatabase) Print() {
for key, val := range db.db {
fmt.Printf("%x(%d): ", key, len(key))