Commit 20221235 authored by liuyuhang's avatar liuyuhang

enable get sys getForks()

parent 2f13a35a
......@@ -3,17 +3,22 @@ package main
import (
_ "github.com/33cn/chain33/system"
_ "github.com/33cn/plugin/plugin"
"fmt"
"github.com/33cn/chain33/types"
"strings"
"os"
"sort"
)
func main() {
// TODO 后续在开启该功能
//forks, err := types.CloneFork("chain33")
//if err != nil {
// fmt.Printf("clone fork failed: %v", err)
// return
//}
//
//fmtForks(forks)
cfg := types.NewChain33Config(strings.Replace(types.GetDefaultCfgstring(), "Title=\"local\"", "Title=\"chain33\"" , 1))
forks, err := cfg.GetForks()
if err != nil {
fmt.Printf("clone fork failed: %v", err)
return
}
fmtForks(forks)
}
/*
......@@ -30,46 +35,47 @@ func main() {
[fork.sub.store-kvmvccmavl]
ForkKvmvccmavl=2270000 # store-kvmvccmavl.ForkKvmvccmavl=1870000
*/
//func fmtForks(forks map[string]int64) {
// systemFork := make(map[string]int64)
// subFork := make(map[string]map[string]int64)
// for k, v := range forks {
// if strings.Contains(k, ".") {
// str2 := strings.SplitN(k, ".", 2)
// if len(str2) != 2 {
// fmt.Fprintf(os.Stderr, "can't deal key=%s ", k)
// continue
// }
// _, ok := subFork[str2[0]]
// if !ok {
// subFork[str2[0]] = make(map[string]int64)
// }
// subFork[str2[0]][str2[1]] = v
// } else {
// systemFork[k] = v
// }
//
// }
//
// fmt.Println("[fork.system]")
// for k, v := range systemFork {
// fmt.Printf("%s=%d\n", k, v)
// }
// fmt.Println("")
//
// plugins := make([]string, 0)
// for plugin := range subFork {
// plugins = append(plugins, plugin)
// }
// sort.Strings(plugins)
//
// for _, plugin := range plugins {
// fmt.Printf("[fork.sub.%s]\n", plugin)
// forks := subFork[plugin]
// for k, v := range forks {
// fmt.Printf("%s=%d\n", k, v)
// }
// fmt.Println("")
// }
//
//}
func fmtForks(forks map[string]int64) {
systemFork := make(map[string]int64)
subFork := make(map[string]map[string]int64)
for k, v := range forks {
if strings.Contains(k, ".") {
str2 := strings.SplitN(k, ".", 2)
if len(str2) != 2 {
fmt.Fprintf(os.Stderr, "can't deal key=%s ", k)
continue
}
_, ok := subFork[str2[0]]
if !ok {
subFork[str2[0]] = make(map[string]int64)
}
subFork[str2[0]][str2[1]] = v
} else {
systemFork[k] = v
}
}
fmt.Println("[fork.system]")
for k, v := range systemFork {
fmt.Printf("%s=%d\n", k, v)
}
fmt.Println("")
plugins := make([]string, 0)
for plugin := range subFork {
plugins = append(plugins, plugin)
}
sort.Strings(plugins)
for _, plugin := range plugins {
fmt.Printf("[fork.sub.%s]\n", plugin)
forks := subFork[plugin]
for k, v := range forks {
fmt.Printf("%s=%d\n", k, v)
}
fmt.Println("")
}
}
......@@ -78,4 +78,4 @@ require (
gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637
)
replace github.com/33cn/chain33 => github.com/lyh169/chain33 v0.0.0-20191021072850-f71d3eddca4a
replace github.com/33cn/chain33 => github.com/lyh169/chain33 v0.0.0-20191022063356-de2f9a9bf0d0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment