aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ethereum.go12
-rw-r--r--ethutil/value.go2
2 files changed, 13 insertions, 1 deletions
diff --git a/ethereum.go b/ethereum.go
index 1e1891589..4c5e13b6d 100644
--- a/ethereum.go
+++ b/ethereum.go
@@ -90,7 +90,6 @@ type Ethereum struct {
}
func New(db ethutil.Database, clientIdentity ethwire.ClientIdentity, keyManager *ethcrypto.KeyManager, caps Caps, usePnp bool) (*Ethereum, error) {
-
var err error
var nat NAT
@@ -101,6 +100,8 @@ func New(db ethutil.Database, clientIdentity ethwire.ClientIdentity, keyManager
}
}
+ bootstrapDb(db)
+
ethutil.Config.Db = db
nonce, _ := ethutil.RandomUint64()
@@ -534,3 +535,12 @@ out:
}
}
}
+
+func bootstrapDb(db ethutil.Database) {
+ d, _ := db.Get([]byte("ProtocolVersion"))
+ protov := ethutil.NewValue(d).Uint()
+
+ if protov == 0 {
+ db.Put([]byte("ProtocolVersion"), ethutil.NewValue(ProtocolVersion).Bytes())
+ }
+}
diff --git a/ethutil/value.go b/ethutil/value.go
index 608d332ba..b336345ca 100644
--- a/ethutil/value.go
+++ b/ethutil/value.go
@@ -141,6 +141,8 @@ func (val *Value) Bytes() []byte {
return []byte(s)
} else if s, ok := val.Val.(*big.Int); ok {
return s.Bytes()
+ } else {
+ return big.NewInt(val.Int()).Bytes()
}
return []byte{}