Allow genesis file
This commit is contained in:
parent
b4b5d7b6c9
commit
c134fa7efd
|
@ -1,7 +1,9 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"flag"
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/tendermint/basecoin/app"
|
"github.com/tendermint/basecoin/app"
|
||||||
. "github.com/tendermint/go-common"
|
. "github.com/tendermint/go-common"
|
||||||
|
@ -13,6 +15,7 @@ func main() {
|
||||||
|
|
||||||
addrPtr := flag.String("address", "tcp://0.0.0.0:46658", "Listen address")
|
addrPtr := flag.String("address", "tcp://0.0.0.0:46658", "Listen address")
|
||||||
eyesPtr := flag.String("eyes", "tcp://0.0.0.0:46659", "MerkleEyes address")
|
eyesPtr := flag.String("eyes", "tcp://0.0.0.0:46659", "MerkleEyes address")
|
||||||
|
genFilePath := flag.String("genesis", "", "Genesis file, if any")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
// Connect to MerkleEyes
|
// Connect to MerkleEyes
|
||||||
|
@ -24,6 +27,15 @@ func main() {
|
||||||
// Create Basecoin app
|
// Create Basecoin app
|
||||||
app := app.NewBasecoin(eyesCli)
|
app := app.NewBasecoin(eyesCli)
|
||||||
|
|
||||||
|
// If genesis file was specified, set key-value options
|
||||||
|
if *genFilePath != "" {
|
||||||
|
kvz := loadGenesis(*genFilePath)
|
||||||
|
for _, kv := range kvz {
|
||||||
|
log := app.SetOption(kv.Key, kv.Value)
|
||||||
|
fmt.Println(Fmt("Set %v=%v. Log: %v", kv.Key, kv.Value, log))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Start the listener
|
// Start the listener
|
||||||
svr, err := server.NewServer(*addrPtr, app)
|
svr, err := server.NewServer(*addrPtr, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -37,3 +49,23 @@ func main() {
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------
|
||||||
|
|
||||||
|
type KeyValue struct {
|
||||||
|
Key string `json:"key"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func loadGenesis(filePath string) (kvz []KeyValue) {
|
||||||
|
bytes, err := ReadFile(filePath)
|
||||||
|
if err != nil {
|
||||||
|
Exit("loading genesis file: " + err.Error())
|
||||||
|
}
|
||||||
|
fmt.Println(">>", string(bytes))
|
||||||
|
err = json.Unmarshal(bytes, &kvz)
|
||||||
|
if err != nil {
|
||||||
|
Exit("parsing genesis file: " + err.Error())
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
12
genesis.json
12
genesis.json
|
@ -1,6 +1,10 @@
|
||||||
{"Accounts":[
|
[
|
||||||
{
|
{
|
||||||
"PubKey":[1,"31F4BF201D3606E33707B098B1EEA7D03A4BB9E9795F0116ED1A038D7B5A6BDE"],
|
"key": "chainID",
|
||||||
"Account":{"Sequence":0,"Balance":2100000000000000}
|
"value": "test_chain_id"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "account",
|
||||||
|
"value": "{\"pub_key\":[1,\"3E8A80E5412FD1711995D5888F5FA2EFB26EDD0970F1E27CE0B55CD237439E18\"],\"balance\":1000}"
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
|
Loading…
Reference in New Issue