From 7f0960937e969bcca937389ca10d656ba68a2a1e Mon Sep 17 00:00:00 2001 From: Sergey Cherepanov Date: Tue, 4 Oct 2022 15:39:29 +0300 Subject: [PATCH] consensus node --- Makefile | 6 +- cmd/consensusnode/consensusnode.go | 94 +++++++++++++++ cmd/nodesgen/nodemap.yml | 3 + common/account/service.go | 5 + common/net/rpc/server/drpcserver.go | 9 +- common/net/secure/service.go | 3 +- config/config.go | 12 ++ consensus/config/account.go | 7 -- consensus/config/config.go | 19 ++- consensus/config/grpc.go | 6 - consensus/consensusrpc/consensrpc.go | 114 ++++++++++++++++++ consensus/db/db.go | 2 +- consensus/stream/object.go | 68 +++++++++++ consensus/stream/service.go | 127 ++++++++++++++++++++ consensus/stream/service_test.go | 169 +++++++++++++++++++++++++++ consensus/stream/stream.go | 34 ++++++ etc/configs/config1.yml | 22 ++-- etc/configs/config2.yml | 22 ++-- etc/configs/config3.yml | 28 +++++ etc/configs/cons/config1.yml | 32 +++++ etc/configs/cons/config2.yml | 32 +++++ etc/configs/cons/config3.yml | 32 +++++ etc/consensus-node.yml | 11 ++ go.mod | 1 + go.sum | 4 + node/account/service.go | 3 +- 26 files changed, 822 insertions(+), 43 deletions(-) create mode 100644 cmd/consensusnode/consensusnode.go delete mode 100644 consensus/config/account.go delete mode 100644 consensus/config/grpc.go create mode 100644 consensus/consensusrpc/consensrpc.go create mode 100644 consensus/stream/object.go create mode 100644 consensus/stream/service.go create mode 100644 consensus/stream/service_test.go create mode 100644 consensus/stream/stream.go create mode 100755 etc/configs/config3.yml create mode 100755 etc/configs/cons/config1.yml create mode 100755 etc/configs/cons/config2.yml create mode 100755 etc/configs/cons/config3.yml create mode 100644 etc/consensus-node.yml diff --git a/Makefile b/Makefile index 7817be8c..ad53dc00 100644 --- a/Makefile +++ b/Makefile @@ -35,4 +35,8 @@ proto: build: @$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/app)) - go build -v -o bin/anytype-node -ldflags "$(FLAGS)" cmd/node/node.go \ No newline at end of file + go build -v -o bin/anytype-node -ldflags "$(FLAGS)" cmd/node/node.go + +build-consensus: + @$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/app)) + go build -v -o bin/consensus-node -ldflags "$(FLAGS)" cmd/consensusnode/consensusnode.go \ No newline at end of file diff --git a/cmd/consensusnode/consensusnode.go b/cmd/consensusnode/consensusnode.go new file mode 100644 index 00000000..0a563755 --- /dev/null +++ b/cmd/consensusnode/consensusnode.go @@ -0,0 +1,94 @@ +package main + +import ( + "context" + "flag" + "fmt" + "github.com/anytypeio/go-anytype-infrastructure-experiments/app" + "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secure" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/config" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusrpc" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/stream" + "github.com/anytypeio/go-anytype-infrastructure-experiments/node/account" + "go.uber.org/zap" + "net/http" + "os" + "os/signal" + "syscall" + "time" +) + +var log = logger.NewNamed("main") + +var ( + flagConfigFile = flag.String("c", "etc/consensus-config.yml", "path to config file") + flagVersion = flag.Bool("v", false, "show version and exit") + flagHelp = flag.Bool("h", false, "show help and exit") +) + +func main() { + flag.Parse() + + if *flagVersion { + fmt.Println(app.VersionDescription()) + return + } + if *flagHelp { + flag.PrintDefaults() + return + } + + if debug, ok := os.LookupEnv("ANYPROF"); ok && debug != "" { + go func() { + http.ListenAndServe(debug, nil) + }() + } + + // create app + ctx := context.Background() + a := new(app.App) + + // open config file + conf, err := config.NewFromFile(*flagConfigFile) + if err != nil { + log.Fatal("can't open config file", zap.Error(err)) + } + + // bootstrap components + a.Register(conf) + Bootstrap(a) + + // start app + if err := a.Start(ctx); err != nil { + log.Fatal("can't start app", zap.Error(err)) + } + log.Info("app started", zap.String("version", a.Version())) + + // wait exit signal + exit := make(chan os.Signal, 1) + signal.Notify(exit, os.Interrupt, syscall.SIGKILL, syscall.SIGTERM, syscall.SIGQUIT) + sig := <-exit + log.Info("received exit signal, stop app...", zap.String("signal", fmt.Sprint(sig))) + + // close app + ctx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + if err := a.Close(ctx); err != nil { + log.Fatal("close error", zap.Error(err)) + } else { + log.Info("goodbye!") + } + time.Sleep(time.Second / 3) +} + +func Bootstrap(a *app.App) { + a.Register(account.New()). + Register(secure.New()). + Register(server.New()). + Register(db.New()). + Register(stream.New()). + Register(consensusrpc.New()) +} diff --git a/cmd/nodesgen/nodemap.yml b/cmd/nodesgen/nodemap.yml index 27a0cb15..137e585f 100644 --- a/cmd/nodesgen/nodemap.yml +++ b/cmd/nodesgen/nodemap.yml @@ -5,3 +5,6 @@ nodes: - grpcAddresses: - "127.0.0.1:4431" apiPort: "8081" + - grpcAddresses: + - "127.0.0.1:4432" + apiPort: "8082" diff --git a/common/account/service.go b/common/account/service.go index bdf6984d..16c62bff 100644 --- a/common/account/service.go +++ b/common/account/service.go @@ -2,6 +2,7 @@ package account import ( "github.com/anytypeio/go-anytype-infrastructure-experiments/app" + "github.com/anytypeio/go-anytype-infrastructure-experiments/config" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/account" ) @@ -11,3 +12,7 @@ type Service interface { app.Component Account() *account.AccountData } + +type ConfigGetter interface { + GetAccount() config.Account +} diff --git a/common/net/rpc/server/drpcserver.go b/common/net/rpc/server/drpcserver.go index 5e6078ff..5ad27a3c 100644 --- a/common/net/rpc/server/drpcserver.go +++ b/common/net/rpc/server/drpcserver.go @@ -4,7 +4,6 @@ import ( "context" "github.com/anytypeio/go-anytype-infrastructure-experiments/app" "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" - "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/pool" secure2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/secure" "github.com/anytypeio/go-anytype-infrastructure-experiments/config" "github.com/zeebo/errs" @@ -30,20 +29,22 @@ type DRPCServer interface { drpc.Mux } +type configGetter interface { + GetGRPCServer() config.GrpcServer +} + type drpcServer struct { config config.GrpcServer drpcServer *drpcserver.Server transport secure2.Service listeners []secure2.ContextListener - pool pool.Pool cancel func() *drpcmux.Mux } func (s *drpcServer) Init(a *app.App) (err error) { - s.config = a.MustComponent(config.CName).(*config.Config).GrpcServer + s.config = a.MustComponent(config.CName).(configGetter).GetGRPCServer() s.transport = a.MustComponent(secure2.CName).(secure2.Service) - s.pool = a.MustComponent(pool.CName).(pool.Pool) return nil } diff --git a/common/net/secure/service.go b/common/net/secure/service.go index a93c3242..d8ade632 100644 --- a/common/net/secure/service.go +++ b/common/net/secure/service.go @@ -4,6 +4,7 @@ import ( "context" "github.com/anytypeio/go-anytype-infrastructure-experiments/app" "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" + commonaccount "github.com/anytypeio/go-anytype-infrastructure-experiments/common/account" "github.com/anytypeio/go-anytype-infrastructure-experiments/config" "github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys" "github.com/libp2p/go-libp2p-core/crypto" @@ -34,7 +35,7 @@ type service struct { } func (s *service) Init(a *app.App) (err error) { - account := a.MustComponent(config.CName).(*config.Config).Account + account := a.MustComponent(config.CName).(commonaccount.ConfigGetter).GetAccount() pkb, err := keys.DecodeBytesFromString(account.SigningKey) if err != nil { return diff --git a/config/config.go b/config/config.go index b8a84e34..012a7da5 100644 --- a/config/config.go +++ b/config/config.go @@ -39,3 +39,15 @@ func (c *Config) Init(a *app.App) (err error) { func (c Config) Name() (name string) { return CName } + +func (c Config) GetAnytype() Anytype { + return c.Anytype +} + +func (c Config) GetGRPCServer() GrpcServer { + return c.GrpcServer +} + +func (c Config) GetAccount() Account { + return c.Account +} diff --git a/consensus/config/account.go b/consensus/config/account.go deleted file mode 100644 index 4525b26f..00000000 --- a/consensus/config/account.go +++ /dev/null @@ -1,7 +0,0 @@ -package config - -type Account struct { - PeerId string `yaml:"peerId"` - SigningKey string `yaml:"signingKey"` - EncryptionKey string `yaml:"encryptionKey"` -} diff --git a/consensus/config/config.go b/consensus/config/config.go index 87a7ea79..45a83a08 100644 --- a/consensus/config/config.go +++ b/consensus/config/config.go @@ -2,6 +2,7 @@ package config import ( "github.com/anytypeio/go-anytype-infrastructure-experiments/app" + "github.com/anytypeio/go-anytype-infrastructure-experiments/config" "gopkg.in/yaml.v3" "io/ioutil" ) @@ -21,9 +22,9 @@ func NewFromFile(path string) (c *Config, err error) { } type Config struct { - GrpcServer GrpcServer `yaml:"grpcServer"` - Account Account `yaml:"account"` - Mongo Mongo `yaml:"mongo"` + GrpcServer config.GrpcServer `yaml:"grpcServer"` + Account config.Account `yaml:"account"` + Mongo Mongo `yaml:"mongo"` } func (c *Config) Init(a *app.App) (err error) { @@ -33,3 +34,15 @@ func (c *Config) Init(a *app.App) (err error) { func (c Config) Name() (name string) { return CName } + +func (c Config) GetMongo() Mongo { + return c.Mongo +} + +func (c Config) GetGRPCServer() config.GrpcServer { + return c.GrpcServer +} + +func (c Config) GetAccount() config.Account { + return c.Account +} diff --git a/consensus/config/grpc.go b/consensus/config/grpc.go deleted file mode 100644 index 700c3567..00000000 --- a/consensus/config/grpc.go +++ /dev/null @@ -1,6 +0,0 @@ -package config - -type GrpcServer struct { - ListenAddrs []string `yaml:"listenAddrs"` - TLS bool `yaml:"tls"` -} diff --git a/consensus/consensusrpc/consensrpc.go b/consensus/consensusrpc/consensrpc.go new file mode 100644 index 00000000..6d502364 --- /dev/null +++ b/consensus/consensusrpc/consensrpc.go @@ -0,0 +1,114 @@ +package consensusrpc + +import ( + "context" + "github.com/anytypeio/go-anytype-infrastructure-experiments/app" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/net/rpc/server" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/consensusproto" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/stream" + "time" +) + +const CName = "consensus.consensusrpc" + +func New() app.Component { + return &consensusRpc{} +} + +type consensusRpc struct { + db db.Service + stream stream.Service +} + +func (c *consensusRpc) Init(a *app.App) (err error) { + c.db = a.MustComponent(db.CName).(db.Service) + c.stream = a.MustComponent(stream.CName).(stream.Service) + return consensusproto.DRPCRegisterConsensus(a.MustComponent(server.CName).(server.DRPCServer), c) +} + +func (c *consensusRpc) Name() (name string) { + return CName +} + +func (c *consensusRpc) AddLog(ctx context.Context, req *consensusproto.AddLogRequest) (*consensusproto.Ok, error) { + if err := c.db.AddLog(ctx, logFromProto(req.Log)); err != nil { + return nil, err + } + return &consensusproto.Ok{}, nil +} + +func (c *consensusRpc) AddRecord(ctx context.Context, req *consensusproto.AddRecordRequest) (*consensusproto.Ok, error) { + if err := c.db.AddRecord(ctx, req.LogId, recordFromProto(req.Record)); err != nil { + return nil, err + } + return &consensusproto.Ok{}, nil +} + +func (c *consensusRpc) WatchLog(req *consensusproto.WatchLogRequest, rpcStream consensusproto.DRPCConsensus_WatchLogStream) error { + stream, err := c.stream.Subscribe(rpcStream.Context(), req.LogId) + if err != nil { + return err + } + defer stream.Close() + var logSent bool + for { + if !logSent { + if err = rpcStream.Send(&consensusproto.WatchLogEvent{ + LogId: req.LogId, + Records: recordsToProto(stream.Records()), + }); err != nil { + return err + } + } else { + recs := stream.WaitRecords() + if len(recs) == 0 { + return rpcStream.Close() + } + if err = rpcStream.Send(&consensusproto.WatchLogEvent{ + LogId: req.LogId, + Records: recordsToProto(recs), + }); err != nil { + return err + } + } + } +} + +func logFromProto(log *consensusproto.Log) consensus.Log { + return consensus.Log{ + Id: log.Id, + Records: recordsFromProto(log.Records), + } +} + +func recordsFromProto(recs []*consensusproto.Record) []consensus.Record { + res := make([]consensus.Record, len(recs)) + for i, rec := range recs { + res[i] = recordFromProto(rec) + } + return res +} + +func recordFromProto(rec *consensusproto.Record) consensus.Record { + return consensus.Record{ + Id: rec.Id, + PrevId: rec.PrevId, + Payload: rec.Payload, + Created: time.Unix(int64(rec.CreatedUnix), 0), + } +} + +func recordsToProto(recs []consensus.Record) []*consensusproto.Record { + res := make([]*consensusproto.Record, len(recs)) + for i, rec := range recs { + res[i] = &consensusproto.Record{ + Id: rec.Id, + PrevId: rec.PrevId, + Payload: rec.Payload, + CreatedUnix: uint64(rec.Created.Unix()), + } + } + return res +} diff --git a/consensus/db/db.go b/consensus/db/db.go index 120d7be0..d0f2ad10 100644 --- a/consensus/db/db.go +++ b/consensus/db/db.go @@ -153,7 +153,7 @@ type streamResult struct { UpdateDescription struct { UpdateFields struct { Records []consensus.Record `bson:"records"` - } `bson:"updatedFields""` + } `bson:"updatedFields"` } `bson:"updateDescription"` } diff --git a/consensus/stream/object.go b/consensus/stream/object.go new file mode 100644 index 00000000..6f4f3d07 --- /dev/null +++ b/consensus/stream/object.go @@ -0,0 +1,68 @@ +package stream + +import ( + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" + "github.com/cheggaaa/mb/v2" + "sync" +) + +type object struct { + logId []byte + records []consensus.Record + + streams map[uint32]*stream + + lastStreamId uint32 + + mu sync.Mutex +} + +func (o *object) AddRecords(recs []consensus.Record) { + o.mu.Lock() + defer o.mu.Unlock() + + if len(recs) <= len(o.records) { + return + } + diff := recs[0 : len(recs)-len(o.records)] + o.records = recs + for _, st := range o.streams { + st.AddRecords(diff) + } +} + +func (o *object) Records() []consensus.Record { + o.mu.Lock() + defer o.mu.Unlock() + return o.records +} + +func (o *object) NewStream() Stream { + o.mu.Lock() + defer o.mu.Unlock() + o.lastStreamId++ + st := &stream{ + id: o.lastStreamId, + obj: o, + records: o.records, + mb: mb.New(consensus.Record{}, 100), + } + o.streams[st.id] = st + return st +} + +func (o *object) Locked() bool { + o.mu.Lock() + defer o.mu.Unlock() + return len(o.streams) > 0 +} + +func (o *object) removeStream(id uint32) { + o.mu.Lock() + defer o.mu.Unlock() + delete(o.streams, id) +} + +func (o *object) Close() (err error) { + return nil +} diff --git a/consensus/stream/service.go b/consensus/stream/service.go new file mode 100644 index 00000000..11c5bc42 --- /dev/null +++ b/consensus/stream/service.go @@ -0,0 +1,127 @@ +package stream + +import ( + "context" + "github.com/anytypeio/go-anytype-infrastructure-experiments/app" + "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" + "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/ocache" + "github.com/mr-tron/base58" + "go.uber.org/zap" + "time" +) + +const CName = "consensus.stream" + +var log = logger.NewNamed(CName) + +var ( + cacheTTL = time.Minute +) + +type ctxLog uint + +const ( + ctxLogKey ctxLog = 1 +) + +func New() Service { + return &service{} +} + +type Stream interface { + LogId() []byte + Records() []consensus.Record + WaitRecords() []consensus.Record + Close() +} + +type Service interface { + Subscribe(ctx context.Context, logId []byte) (stream Stream, err error) + app.ComponentRunnable +} + +type service struct { + db db.Service + cache ocache.OCache +} + +func (s *service) Init(a *app.App) (err error) { + s.db = a.MustComponent(db.CName).(db.Service) + s.cache = ocache.New(s.loadLog, + ocache.WithTTL(cacheTTL), + ocache.WithRefCounter(false), + ocache.WithLogger(log.Named("cache").Sugar()), + ) + + return s.db.SetChangeReceiver(s.receiveChange) +} + +func (s *service) Subscribe(ctx context.Context, logId []byte) (Stream, error) { + obj, err := s.getObject(ctx, logId) + if err != nil { + return nil, err + } + return obj.NewStream(), nil +} + +func (s *service) Name() (name string) { + return CName +} + +func (s *service) Run(ctx context.Context) (err error) { + return nil +} + +func (s *service) loadLog(ctx context.Context, id string) (value ocache.Object, err error) { + if ctxLog := ctx.Value(ctxLogKey); ctxLog != nil { + return &object{ + logId: ctxLog.(consensus.Log).Id, + records: ctxLog.(consensus.Log).Records, + streams: make(map[uint32]*stream), + }, nil + } + logId := logIdFromString(id) + dbLog, err := s.db.FetchLog(ctx, logId) + if err != nil { + return nil, err + } + return &object{ + logId: dbLog.Id, + records: dbLog.Records, + streams: make(map[uint32]*stream), + }, nil +} + +func (s *service) receiveChange(logId []byte, records []consensus.Record) { + ctx := context.WithValue(context.Background(), ctxLogKey, consensus.Log{Id: logId, Records: records}) + obj, err := s.getObject(ctx, logId) + if err != nil { + log.Error("failed load object from cache", zap.Error(err)) + return + } + obj.AddRecords(records) +} + +func (s *service) getObject(ctx context.Context, logId []byte) (*object, error) { + id := logIdToString(logId) + cacheObj, err := s.cache.Get(ctx, id) + if err != nil { + return nil, err + } + return cacheObj.(*object), nil +} + +func (s *service) Close(ctx context.Context) (err error) { + return s.cache.Close() +} + +func logIdToString(logId []byte) string { + return base58.Encode(logId) +} + +func logIdFromString(s string) []byte { + logId, _ := base58.Decode(s) + return logId +} diff --git a/consensus/stream/service_test.go b/consensus/stream/service_test.go new file mode 100644 index 00000000..8acf865c --- /dev/null +++ b/consensus/stream/service_test.go @@ -0,0 +1,169 @@ +package stream + +import ( + "context" + "github.com/anytypeio/go-anytype-infrastructure-experiments/app" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus/db" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "testing" + "time" +) + +var ctx = context.Background() + +func TestService_Subscribe(t *testing.T) { + fx := newFixture(t) + defer fx.Finish(t) + + var expLogId = []byte("logId") + + fx.mockDB.fetchLog = func(ctx context.Context, logId []byte) (log consensus.Log, err error) { + require.Equal(t, expLogId, logId) + return consensus.Log{ + Id: logId, + Records: []consensus.Record{ + { + Id: []byte{'1'}, + }, + }, + }, nil + } + + st1, err := fx.Subscribe(ctx, expLogId) + require.NoError(t, err) + require.Equal(t, expLogId, st1.LogId()) + sr1 := readStream(st1) + assert.Equal(t, uint32(1), sr1.id) + + st2, err := fx.Subscribe(ctx, expLogId) + require.NoError(t, err) + require.Equal(t, expLogId, st2.LogId()) + sr2 := readStream(st2) + assert.Equal(t, uint32(2), sr2.id) + + fx.mockDB.receiver(expLogId, []consensus.Record{ + { + Id: []byte{'1'}, + }, + }) + fx.mockDB.receiver([]byte("other id"), []consensus.Record{ + { + Id: []byte{'2'}, + PrevId: []byte{'1'}, + }, + { + Id: []byte{'1'}, + }, + }) + fx.mockDB.receiver(expLogId, []consensus.Record{ + { + Id: []byte{'2'}, + PrevId: []byte{'1'}, + }, + { + Id: []byte{'1'}, + }, + }) + st1.Close() + st2.Close() + + for _, sr := range []*streamReader{sr1, sr2} { + select { + case <-time.After(time.Second / 3): + require.False(t, true, "timeout") + case <-sr.finished: + } + } + + require.Equal(t, sr1.records, sr2.records) + require.Len(t, sr1.records, 1) + assert.Equal(t, []byte{'2'}, sr1.records[0].Id) +} + +func newFixture(t *testing.T) *fixture { + fx := &fixture{ + Service: New(), + mockDB: &mockDB{}, + a: new(app.App), + } + + fx.a.Register(fx.Service).Register(fx.mockDB) + require.NoError(t, fx.a.Start(ctx)) + return fx +} + +type fixture struct { + Service + mockDB *mockDB + a *app.App +} + +func (fx *fixture) Finish(t *testing.T) { + require.NoError(t, fx.a.Close(ctx)) +} + +func readStream(st Stream) *streamReader { + sr := &streamReader{ + id: st.(*stream).id, + stream: st, + finished: make(chan struct{}), + } + go sr.read() + return sr +} + +type streamReader struct { + id uint32 + stream Stream + + records []consensus.Record + finished chan struct{} +} + +func (sr *streamReader) read() { + defer close(sr.finished) + for { + records := sr.stream.WaitRecords() + if len(records) == 0 { + return + } + sr.records = append(sr.records, records...) + } +} + +type mockDB struct { + receiver db.ChangeReceiver + fetchLog func(ctx context.Context, logId []byte) (log consensus.Log, err error) +} + +func (m *mockDB) AddLog(ctx context.Context, log consensus.Log) (err error) { return nil } +func (m *mockDB) AddRecord(ctx context.Context, logId []byte, record consensus.Record) (err error) { + return nil +} + +func (m *mockDB) FetchLog(ctx context.Context, logId []byte) (log consensus.Log, err error) { + return m.fetchLog(ctx, logId) +} + +func (m *mockDB) SetChangeReceiver(receiver db.ChangeReceiver) (err error) { + m.receiver = receiver + return nil +} + +func (m *mockDB) Init(a *app.App) (err error) { + return nil +} + +func (m *mockDB) Name() (name string) { + return db.CName +} + +func (m *mockDB) Run(ctx context.Context) (err error) { + return +} + +func (m *mockDB) Close(ctx context.Context) (err error) { + return +} diff --git a/consensus/stream/stream.go b/consensus/stream/stream.go new file mode 100644 index 00000000..4f8f4b3e --- /dev/null +++ b/consensus/stream/stream.go @@ -0,0 +1,34 @@ +package stream + +import ( + "github.com/anytypeio/go-anytype-infrastructure-experiments/consensus" + "github.com/cheggaaa/mb/v2" +) + +type stream struct { + id uint32 + obj *object + records []consensus.Record + mb *mb.MB[consensus.Record] +} + +func (s *stream) LogId() []byte { + return s.obj.logId +} + +func (s *stream) AddRecords(records []consensus.Record) { + _ = s.mb.Add(records...) +} + +func (s *stream) Records() []consensus.Record { + return s.records +} + +func (s *stream) WaitRecords() []consensus.Record { + return s.mb.Wait() +} + +func (s *stream) Close() { + _ = s.mb.Close() + s.obj.removeStream(s.id) +} diff --git a/etc/configs/config1.yml b/etc/configs/config1.yml index 4885eab8..794ce8f9 100755 --- a/etc/configs/config1.yml +++ b/etc/configs/config1.yml @@ -5,20 +5,24 @@ grpcServer: - 127.0.0.1:4430 tls: false account: - peerId: 12D3KooWSUx2LXPvoZGp72Dt7b7r1kPSmQ6zAUwKkHFyX64uiXRu - signingKey: 4QTrtkFLQe9wQcWT/cgFEwfMHB5pt4axInNmCIMCZaz3nVdyygRoO8/YH0V15X6Mnw1NQWsS1YIWiLS22hwepA== - encryptionKey: MIIEpAIBAAKCAQEAmqAAOPfR86po3m+zwSzbAlZGgMMF188v35Ulqf9Gb4KO8DZ9ifxrqpjlLZRxPKeXj3wSSQEXsJf3A82rZlDxddZSM0i7Mx5G2G0zRHWx9dC58PpX6o/fDuvSwcyXqOgIK55N/hyEuIbWQgp5Rk9uy2Zbrhv5ZL5CvceM0b9wSKt/hRvntxSbG+HRgXWaQvAReGuJrySVvkh6fhC3G0IwqyFbGNq2zqAJej6NBzZA3thHgTn5PoWD8O4cyukBxunKGu3HLE3vJtqEMFrkNFw5SMpdEtxyTLN6T1HIeYCY9RL+BFYfxIWg6pGtIoIJKUB0XapJr9ltzvXfT9KeSCU0VwIDAQABAoIBAAp/xsQXf7gN4CUKbKg3RX+5H/xqQaFPvi5uUCpk3QGBWfdRm+CctSrWSul3ZOD7eD0T7aHrYxJonysw8ex2no6jyN0WmS91ZNYZRBvn6feI/rcwKHwS3NCEjsD+BWZAqx1bGGyivxhQf4fociemCR3ii2MdHygKCzobrKIpX5RvhanI4j01dyLlxwqTsteuc/o5RR4jfg1eN0kldFjk3UcSNyzzEv5o5UhRsHCLJBTNTvYZBN4FpyaqcLT9gKS9aVBvQH63R+E5dyxo1+24tZZricW59h2bN3CFriqkwBo1y0gTnR6VQ22MBvIUxYUm82cxXs/Vr0YQTSAaEGThxFECgYEAxKQMRnM39WMzrNx1WDwpBERRj1T0TbLf1uq6viPiLdik2Tm2aCBZyr5j82Ey7fZ7OafKGfsM0I2AuYeoBdYDuYN6A7tE9kpnECubnWuIvUeYcL+1VzzMedVtdKwQXrYbhqKtyvnSJ9gQ6CusHtsDE1bQvTMxBX4KNBeBYllCUasCgYEAyU0RPUaj56CyLHKty8jNg6wl+06IZ0pUPIWZ//b1zeZrlHGYDp/InxS8huGFapzOg1sbQBS6j3j3YE3Ts6v6FNuIa4pcPQ91YuHiWWQdgVjrCZdleanFWGTjIx12+RGj9vx4voRhNQcHW1YeTvvyj4BN/ECR6GNaoS/ZjBKo1AUCgYEAj6AyxxJJARagG9Y6b2QhoVg1Kjem6UmJbPStyUt0XIAsh+07afqXGxrM7mtEQ8MQZiBD4Y4Y4gs4xkprUzfqKIn7iNYznKDjflAbrXNpwLaWhWPBFCL4RtS4ycsTedoRaNlRjzvBYBDU6H9djHvzVyDF/itx1s0krr+sZSVE51kCgYBxGRinecna+KFCccgNp6s34H+Se2QNzGgZfOKyOjmOTniA9XV+Oe3I2yi1C34fESzCBm0ACuVqeIdcFz3rQ6OFFnbGHP2H3OiR/uFiYepl4uRjBimgOm9DI6Ot9f8DHxMlUGIygEPxPBq5CWCL9egpEeg+4rRXgYLI7w5mMZGjVQKBgQDC4qyH7FK3lLv5JomoK6nNjpyPNBmr0Rt215oM/AWQaxDhFZH5un68ueZ7MfybwXxHHFQ4ZeSwYs006f1XGPNW6qrH6pi/3SCLFuGVfNnLVwCBkm3QaQrxFm3v9LmVCidTNta0l0DrUldZdK8/P31GBxKo/MmYF/f9LO/Mfm/uDg== + peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== apiServer: port: "8080" nodes: - - peerId: 12D3KooWSUx2LXPvoZGp72Dt7b7r1kPSmQ6zAUwKkHFyX64uiXRu + - peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck address: 127.0.0.1:4430 - signingKey: 4QTrtkFLQe9wQcWT/cgFEwfMHB5pt4axInNmCIMCZaz3nVdyygRoO8/YH0V15X6Mnw1NQWsS1YIWiLS22hwepA== - encryptionKey: MIIEpAIBAAKCAQEAmqAAOPfR86po3m+zwSzbAlZGgMMF188v35Ulqf9Gb4KO8DZ9ifxrqpjlLZRxPKeXj3wSSQEXsJf3A82rZlDxddZSM0i7Mx5G2G0zRHWx9dC58PpX6o/fDuvSwcyXqOgIK55N/hyEuIbWQgp5Rk9uy2Zbrhv5ZL5CvceM0b9wSKt/hRvntxSbG+HRgXWaQvAReGuJrySVvkh6fhC3G0IwqyFbGNq2zqAJej6NBzZA3thHgTn5PoWD8O4cyukBxunKGu3HLE3vJtqEMFrkNFw5SMpdEtxyTLN6T1HIeYCY9RL+BFYfxIWg6pGtIoIJKUB0XapJr9ltzvXfT9KeSCU0VwIDAQABAoIBAAp/xsQXf7gN4CUKbKg3RX+5H/xqQaFPvi5uUCpk3QGBWfdRm+CctSrWSul3ZOD7eD0T7aHrYxJonysw8ex2no6jyN0WmS91ZNYZRBvn6feI/rcwKHwS3NCEjsD+BWZAqx1bGGyivxhQf4fociemCR3ii2MdHygKCzobrKIpX5RvhanI4j01dyLlxwqTsteuc/o5RR4jfg1eN0kldFjk3UcSNyzzEv5o5UhRsHCLJBTNTvYZBN4FpyaqcLT9gKS9aVBvQH63R+E5dyxo1+24tZZricW59h2bN3CFriqkwBo1y0gTnR6VQ22MBvIUxYUm82cxXs/Vr0YQTSAaEGThxFECgYEAxKQMRnM39WMzrNx1WDwpBERRj1T0TbLf1uq6viPiLdik2Tm2aCBZyr5j82Ey7fZ7OafKGfsM0I2AuYeoBdYDuYN6A7tE9kpnECubnWuIvUeYcL+1VzzMedVtdKwQXrYbhqKtyvnSJ9gQ6CusHtsDE1bQvTMxBX4KNBeBYllCUasCgYEAyU0RPUaj56CyLHKty8jNg6wl+06IZ0pUPIWZ//b1zeZrlHGYDp/InxS8huGFapzOg1sbQBS6j3j3YE3Ts6v6FNuIa4pcPQ91YuHiWWQdgVjrCZdleanFWGTjIx12+RGj9vx4voRhNQcHW1YeTvvyj4BN/ECR6GNaoS/ZjBKo1AUCgYEAj6AyxxJJARagG9Y6b2QhoVg1Kjem6UmJbPStyUt0XIAsh+07afqXGxrM7mtEQ8MQZiBD4Y4Y4gs4xkprUzfqKIn7iNYznKDjflAbrXNpwLaWhWPBFCL4RtS4ycsTedoRaNlRjzvBYBDU6H9djHvzVyDF/itx1s0krr+sZSVE51kCgYBxGRinecna+KFCccgNp6s34H+Se2QNzGgZfOKyOjmOTniA9XV+Oe3I2yi1C34fESzCBm0ACuVqeIdcFz3rQ6OFFnbGHP2H3OiR/uFiYepl4uRjBimgOm9DI6Ot9f8DHxMlUGIygEPxPBq5CWCL9egpEeg+4rRXgYLI7w5mMZGjVQKBgQDC4qyH7FK3lLv5JomoK6nNjpyPNBmr0Rt215oM/AWQaxDhFZH5un68ueZ7MfybwXxHHFQ4ZeSwYs006f1XGPNW6qrH6pi/3SCLFuGVfNnLVwCBkm3QaQrxFm3v9LmVCidTNta0l0DrUldZdK8/P31GBxKo/MmYF/f9LO/Mfm/uDg== - - peerId: 12D3KooWFnz9fYCxHAnf2rvPQ7iPZcCprEqyN8kCtVQfN2K1TfqK + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== + - peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB address: 127.0.0.1:4431 - signingKey: IM0BTVQf4LKMUVRTAHxbBXmdz656+G2ssw4WdLc30pRYy6TsVVdh+n03pKXSCdg665tM/9AjQRCbzgvDf9riWg== - encryptionKey: MIIEpAIBAAKCAQEAm0HILjO7GRYYb0AvESmxdaj6ruIcSHEQIyqhPbfXZSmJNo9wIq89SaYYL4ZTwrF+ykPDJcBA8SjNHGXBPhZY+ejwCDzDyyv42FMs5lKw+/x94Yg++W72sxawtCLVi0RVY1g4UxOlCgAxl3YC9mVYoqQveXN3EsDd0YNK9fWiWP/Xl3KaJ4ErsfW3LZS9rD36dgDsKr9GqeVQf7lGkCkDmivCwHn3uaN/uzHaWvaZ7e7QWE/36vTmMsllTvi0Q9Y+v+HB5isIX9Jve1QmCS//DbDl9IMGdmyg/jlBs63Nk86Qwlw8ft3ttTWNldTpvD4Ycbgj3l59jT4rIvFJ88+5UwIDAQABAoIBAFfUn/1bMIYhlNMi+T15W7YXUTGsIpnstFdgn3T90rGdDM272ZEVl9NZTidck3f516NvMC/kEhkbnuVovyhzlgRS/a97SLxgdNdUPntR3mO/VCtJW27akl9//5j4d9vgXXnlB4AgBeahc2yey1A+xyTDQ0QuyPbn+tSytK5uNlioCeAqH4ruWxcg4t8MnwNQEOsnchrYHfXqJG+XxGn7m60U4oclbObGfxWxYZ85I0B6M5PW71VLkj/eKTvRJcW5ShDKLG5meiUM3KtwUdFRzv9Xi4aB9eTwEQ8ZV18KVmIF7baBy5anWDfGO4O9MvFSMmbMCe3EkrGaEaCp/gXenhkCgYEAw57dj7ewVHIAQxcNZ9SPRUNAY8g9yEYQ//30yTcpUjsGlqGNzua2OvALGL2ntFY304X9Iego+7Tzxs3T0x2FQ1N33NhoxwRcMqBdksMqmCb8Bm8UvnFIuvmsfPGkkzwa/8xNH81GZiz0p9zfi4lSKdZRfTQ4lBqvogExdnalSd0CgYEAyy2Mw4eeJQ0Y6QX3nad2/06oxWiS3++CITI6dAqiepAB6V7lnP90NKfLgzJcCJwzKlMhoVv7Lu4bDCXbvQ03ba+Dl+To8Jf5/9di8j8OfllqDWPnbqyueTHu5CUk+A2Gz3RhjmMXHpVgbFkUJTkJ1RDWPImNq0KzTYQ+ZwU8lO8CgYEAo1/0zuisnXowedew3HyLw17tUeiUoMTTwdiJLduh6Qle8UKvupK4svRzcBBFFbnEGiaXSFAqmj2AMxMHzBOljpsRSiJ7L2uWzLleLQpOcpBsf7sZ6guWoIGQ6zCtMEJMkkJAT0UTfJYjJmazVEg1lLdni1enwRmggX7ZnoRsewkCgYB2SpLF1FOSpsl2Ae9kbnettRI1vOimUD+nLCM0JGzshqNWR9XPTjtN3NN0EwHaUXbIkZXm6DKZ5C8DJ5eDvgojZihrau7kBNecyL3m5CeAEHbaTOwVV5xNG3FGiwm3EckHR271A2QWfkmhS0ubUFYVIrRYko1UxIS4AOKEAFyBKQKBgQCfIsGy4wOqRsKLzbun6fIVSz8X+sS3HclD7UZ6WKanOYyWZ420qnhLnfdDcNQjF/ApbzHdfwwTKVJSaZiK23kmReUVB9Cq2YAHMJYlp0ErgPzZstrRiRidtzJHm93owWc7GZinzd1M8EOYUSJ3+t8EZXZlbsD/oCTbX/BGqolo2w== + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= + - peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + address: 127.0.0.1:4432 + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw space: gcTTL: 60 syncPeriod: 10 diff --git a/etc/configs/config2.yml b/etc/configs/config2.yml index 5e1eaadb..51c733ca 100755 --- a/etc/configs/config2.yml +++ b/etc/configs/config2.yml @@ -5,20 +5,24 @@ grpcServer: - 127.0.0.1:4431 tls: false account: - peerId: 12D3KooWFnz9fYCxHAnf2rvPQ7iPZcCprEqyN8kCtVQfN2K1TfqK - signingKey: IM0BTVQf4LKMUVRTAHxbBXmdz656+G2ssw4WdLc30pRYy6TsVVdh+n03pKXSCdg665tM/9AjQRCbzgvDf9riWg== - encryptionKey: MIIEpAIBAAKCAQEAm0HILjO7GRYYb0AvESmxdaj6ruIcSHEQIyqhPbfXZSmJNo9wIq89SaYYL4ZTwrF+ykPDJcBA8SjNHGXBPhZY+ejwCDzDyyv42FMs5lKw+/x94Yg++W72sxawtCLVi0RVY1g4UxOlCgAxl3YC9mVYoqQveXN3EsDd0YNK9fWiWP/Xl3KaJ4ErsfW3LZS9rD36dgDsKr9GqeVQf7lGkCkDmivCwHn3uaN/uzHaWvaZ7e7QWE/36vTmMsllTvi0Q9Y+v+HB5isIX9Jve1QmCS//DbDl9IMGdmyg/jlBs63Nk86Qwlw8ft3ttTWNldTpvD4Ycbgj3l59jT4rIvFJ88+5UwIDAQABAoIBAFfUn/1bMIYhlNMi+T15W7YXUTGsIpnstFdgn3T90rGdDM272ZEVl9NZTidck3f516NvMC/kEhkbnuVovyhzlgRS/a97SLxgdNdUPntR3mO/VCtJW27akl9//5j4d9vgXXnlB4AgBeahc2yey1A+xyTDQ0QuyPbn+tSytK5uNlioCeAqH4ruWxcg4t8MnwNQEOsnchrYHfXqJG+XxGn7m60U4oclbObGfxWxYZ85I0B6M5PW71VLkj/eKTvRJcW5ShDKLG5meiUM3KtwUdFRzv9Xi4aB9eTwEQ8ZV18KVmIF7baBy5anWDfGO4O9MvFSMmbMCe3EkrGaEaCp/gXenhkCgYEAw57dj7ewVHIAQxcNZ9SPRUNAY8g9yEYQ//30yTcpUjsGlqGNzua2OvALGL2ntFY304X9Iego+7Tzxs3T0x2FQ1N33NhoxwRcMqBdksMqmCb8Bm8UvnFIuvmsfPGkkzwa/8xNH81GZiz0p9zfi4lSKdZRfTQ4lBqvogExdnalSd0CgYEAyy2Mw4eeJQ0Y6QX3nad2/06oxWiS3++CITI6dAqiepAB6V7lnP90NKfLgzJcCJwzKlMhoVv7Lu4bDCXbvQ03ba+Dl+To8Jf5/9di8j8OfllqDWPnbqyueTHu5CUk+A2Gz3RhjmMXHpVgbFkUJTkJ1RDWPImNq0KzTYQ+ZwU8lO8CgYEAo1/0zuisnXowedew3HyLw17tUeiUoMTTwdiJLduh6Qle8UKvupK4svRzcBBFFbnEGiaXSFAqmj2AMxMHzBOljpsRSiJ7L2uWzLleLQpOcpBsf7sZ6guWoIGQ6zCtMEJMkkJAT0UTfJYjJmazVEg1lLdni1enwRmggX7ZnoRsewkCgYB2SpLF1FOSpsl2Ae9kbnettRI1vOimUD+nLCM0JGzshqNWR9XPTjtN3NN0EwHaUXbIkZXm6DKZ5C8DJ5eDvgojZihrau7kBNecyL3m5CeAEHbaTOwVV5xNG3FGiwm3EckHR271A2QWfkmhS0ubUFYVIrRYko1UxIS4AOKEAFyBKQKBgQCfIsGy4wOqRsKLzbun6fIVSz8X+sS3HclD7UZ6WKanOYyWZ420qnhLnfdDcNQjF/ApbzHdfwwTKVJSaZiK23kmReUVB9Cq2YAHMJYlp0ErgPzZstrRiRidtzJHm93owWc7GZinzd1M8EOYUSJ3+t8EZXZlbsD/oCTbX/BGqolo2w== + peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= apiServer: port: "8081" nodes: - - peerId: 12D3KooWSUx2LXPvoZGp72Dt7b7r1kPSmQ6zAUwKkHFyX64uiXRu + - peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck address: 127.0.0.1:4430 - signingKey: 4QTrtkFLQe9wQcWT/cgFEwfMHB5pt4axInNmCIMCZaz3nVdyygRoO8/YH0V15X6Mnw1NQWsS1YIWiLS22hwepA== - encryptionKey: MIIEpAIBAAKCAQEAmqAAOPfR86po3m+zwSzbAlZGgMMF188v35Ulqf9Gb4KO8DZ9ifxrqpjlLZRxPKeXj3wSSQEXsJf3A82rZlDxddZSM0i7Mx5G2G0zRHWx9dC58PpX6o/fDuvSwcyXqOgIK55N/hyEuIbWQgp5Rk9uy2Zbrhv5ZL5CvceM0b9wSKt/hRvntxSbG+HRgXWaQvAReGuJrySVvkh6fhC3G0IwqyFbGNq2zqAJej6NBzZA3thHgTn5PoWD8O4cyukBxunKGu3HLE3vJtqEMFrkNFw5SMpdEtxyTLN6T1HIeYCY9RL+BFYfxIWg6pGtIoIJKUB0XapJr9ltzvXfT9KeSCU0VwIDAQABAoIBAAp/xsQXf7gN4CUKbKg3RX+5H/xqQaFPvi5uUCpk3QGBWfdRm+CctSrWSul3ZOD7eD0T7aHrYxJonysw8ex2no6jyN0WmS91ZNYZRBvn6feI/rcwKHwS3NCEjsD+BWZAqx1bGGyivxhQf4fociemCR3ii2MdHygKCzobrKIpX5RvhanI4j01dyLlxwqTsteuc/o5RR4jfg1eN0kldFjk3UcSNyzzEv5o5UhRsHCLJBTNTvYZBN4FpyaqcLT9gKS9aVBvQH63R+E5dyxo1+24tZZricW59h2bN3CFriqkwBo1y0gTnR6VQ22MBvIUxYUm82cxXs/Vr0YQTSAaEGThxFECgYEAxKQMRnM39WMzrNx1WDwpBERRj1T0TbLf1uq6viPiLdik2Tm2aCBZyr5j82Ey7fZ7OafKGfsM0I2AuYeoBdYDuYN6A7tE9kpnECubnWuIvUeYcL+1VzzMedVtdKwQXrYbhqKtyvnSJ9gQ6CusHtsDE1bQvTMxBX4KNBeBYllCUasCgYEAyU0RPUaj56CyLHKty8jNg6wl+06IZ0pUPIWZ//b1zeZrlHGYDp/InxS8huGFapzOg1sbQBS6j3j3YE3Ts6v6FNuIa4pcPQ91YuHiWWQdgVjrCZdleanFWGTjIx12+RGj9vx4voRhNQcHW1YeTvvyj4BN/ECR6GNaoS/ZjBKo1AUCgYEAj6AyxxJJARagG9Y6b2QhoVg1Kjem6UmJbPStyUt0XIAsh+07afqXGxrM7mtEQ8MQZiBD4Y4Y4gs4xkprUzfqKIn7iNYznKDjflAbrXNpwLaWhWPBFCL4RtS4ycsTedoRaNlRjzvBYBDU6H9djHvzVyDF/itx1s0krr+sZSVE51kCgYBxGRinecna+KFCccgNp6s34H+Se2QNzGgZfOKyOjmOTniA9XV+Oe3I2yi1C34fESzCBm0ACuVqeIdcFz3rQ6OFFnbGHP2H3OiR/uFiYepl4uRjBimgOm9DI6Ot9f8DHxMlUGIygEPxPBq5CWCL9egpEeg+4rRXgYLI7w5mMZGjVQKBgQDC4qyH7FK3lLv5JomoK6nNjpyPNBmr0Rt215oM/AWQaxDhFZH5un68ueZ7MfybwXxHHFQ4ZeSwYs006f1XGPNW6qrH6pi/3SCLFuGVfNnLVwCBkm3QaQrxFm3v9LmVCidTNta0l0DrUldZdK8/P31GBxKo/MmYF/f9LO/Mfm/uDg== - - peerId: 12D3KooWFnz9fYCxHAnf2rvPQ7iPZcCprEqyN8kCtVQfN2K1TfqK + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== + - peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB address: 127.0.0.1:4431 - signingKey: IM0BTVQf4LKMUVRTAHxbBXmdz656+G2ssw4WdLc30pRYy6TsVVdh+n03pKXSCdg665tM/9AjQRCbzgvDf9riWg== - encryptionKey: MIIEpAIBAAKCAQEAm0HILjO7GRYYb0AvESmxdaj6ruIcSHEQIyqhPbfXZSmJNo9wIq89SaYYL4ZTwrF+ykPDJcBA8SjNHGXBPhZY+ejwCDzDyyv42FMs5lKw+/x94Yg++W72sxawtCLVi0RVY1g4UxOlCgAxl3YC9mVYoqQveXN3EsDd0YNK9fWiWP/Xl3KaJ4ErsfW3LZS9rD36dgDsKr9GqeVQf7lGkCkDmivCwHn3uaN/uzHaWvaZ7e7QWE/36vTmMsllTvi0Q9Y+v+HB5isIX9Jve1QmCS//DbDl9IMGdmyg/jlBs63Nk86Qwlw8ft3ttTWNldTpvD4Ycbgj3l59jT4rIvFJ88+5UwIDAQABAoIBAFfUn/1bMIYhlNMi+T15W7YXUTGsIpnstFdgn3T90rGdDM272ZEVl9NZTidck3f516NvMC/kEhkbnuVovyhzlgRS/a97SLxgdNdUPntR3mO/VCtJW27akl9//5j4d9vgXXnlB4AgBeahc2yey1A+xyTDQ0QuyPbn+tSytK5uNlioCeAqH4ruWxcg4t8MnwNQEOsnchrYHfXqJG+XxGn7m60U4oclbObGfxWxYZ85I0B6M5PW71VLkj/eKTvRJcW5ShDKLG5meiUM3KtwUdFRzv9Xi4aB9eTwEQ8ZV18KVmIF7baBy5anWDfGO4O9MvFSMmbMCe3EkrGaEaCp/gXenhkCgYEAw57dj7ewVHIAQxcNZ9SPRUNAY8g9yEYQ//30yTcpUjsGlqGNzua2OvALGL2ntFY304X9Iego+7Tzxs3T0x2FQ1N33NhoxwRcMqBdksMqmCb8Bm8UvnFIuvmsfPGkkzwa/8xNH81GZiz0p9zfi4lSKdZRfTQ4lBqvogExdnalSd0CgYEAyy2Mw4eeJQ0Y6QX3nad2/06oxWiS3++CITI6dAqiepAB6V7lnP90NKfLgzJcCJwzKlMhoVv7Lu4bDCXbvQ03ba+Dl+To8Jf5/9di8j8OfllqDWPnbqyueTHu5CUk+A2Gz3RhjmMXHpVgbFkUJTkJ1RDWPImNq0KzTYQ+ZwU8lO8CgYEAo1/0zuisnXowedew3HyLw17tUeiUoMTTwdiJLduh6Qle8UKvupK4svRzcBBFFbnEGiaXSFAqmj2AMxMHzBOljpsRSiJ7L2uWzLleLQpOcpBsf7sZ6guWoIGQ6zCtMEJMkkJAT0UTfJYjJmazVEg1lLdni1enwRmggX7ZnoRsewkCgYB2SpLF1FOSpsl2Ae9kbnettRI1vOimUD+nLCM0JGzshqNWR9XPTjtN3NN0EwHaUXbIkZXm6DKZ5C8DJ5eDvgojZihrau7kBNecyL3m5CeAEHbaTOwVV5xNG3FGiwm3EckHR271A2QWfkmhS0ubUFYVIrRYko1UxIS4AOKEAFyBKQKBgQCfIsGy4wOqRsKLzbun6fIVSz8X+sS3HclD7UZ6WKanOYyWZ420qnhLnfdDcNQjF/ApbzHdfwwTKVJSaZiK23kmReUVB9Cq2YAHMJYlp0ErgPzZstrRiRidtzJHm93owWc7GZinzd1M8EOYUSJ3+t8EZXZlbsD/oCTbX/BGqolo2w== + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= + - peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + address: 127.0.0.1:4432 + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw space: gcTTL: 60 syncPeriod: 10 diff --git a/etc/configs/config3.yml b/etc/configs/config3.yml new file mode 100755 index 00000000..a8c0e426 --- /dev/null +++ b/etc/configs/config3.yml @@ -0,0 +1,28 @@ +anytype: + swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec +grpcServer: + listenAddrs: + - 127.0.0.1:4432 + tls: false +account: + peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw +apiServer: + port: "8082" +nodes: + - peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck + address: 127.0.0.1:4430 + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== + - peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB + address: 127.0.0.1:4431 + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= + - peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + address: 127.0.0.1:4432 + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw +space: + gcTTL: 60 + syncPeriod: 10 diff --git a/etc/configs/cons/config1.yml b/etc/configs/cons/config1.yml new file mode 100755 index 00000000..1b9e053f --- /dev/null +++ b/etc/configs/cons/config1.yml @@ -0,0 +1,32 @@ +anytype: + swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec +grpcServer: + listenAddrs: + - 127.0.0.1:4530 + tls: false +account: + peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== +apiServer: + port: "8080" +nodes: + - peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck + address: 127.0.0.1:4530 + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== + - peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB + address: 127.0.0.1:4531 + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= + - peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + address: 127.0.0.1:4532 + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw +space: + gcTTL: 60 + syncPeriod: 10 +mongo: + connect: "mongodb://localhost:27017/?w=majority" + database: "consensus" + collection: "log" diff --git a/etc/configs/cons/config2.yml b/etc/configs/cons/config2.yml new file mode 100755 index 00000000..e6ae09e4 --- /dev/null +++ b/etc/configs/cons/config2.yml @@ -0,0 +1,32 @@ +anytype: + swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec +grpcServer: + listenAddrs: + - 127.0.0.1:4531 + tls: false +account: + peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= +apiServer: + port: "8081" +nodes: + - peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck + address: 127.0.0.1:4530 + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== + - peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB + address: 127.0.0.1:4531 + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= + - peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + address: 127.0.0.1:4532 + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw +space: + gcTTL: 60 + syncPeriod: 10 +mongo: + connect: "mongodb://localhost:27017/?w=majority" + database: "consensus" + collection: "log" diff --git a/etc/configs/cons/config3.yml b/etc/configs/cons/config3.yml new file mode 100755 index 00000000..df015573 --- /dev/null +++ b/etc/configs/cons/config3.yml @@ -0,0 +1,32 @@ +anytype: + swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec +grpcServer: + listenAddrs: + - 127.0.0.1:4532 + tls: false +account: + peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw +apiServer: + port: "8082" +nodes: + - peerId: 12D3KooWPo3aLfq4t6iTmAWp6zDduEyZ4V9yb168NfneF4ufBcck + address: 127.0.0.1:4530 + signingKey: wE4Z/KtDHeA5PCaOQ5x4UQcHFo0B35H9cURBAYiAa8nPrQNFvmXrxgXwLkqwt/HoRN0NlcLzk/sBpU74yaXbNQ== + encryptionKey: MIIEpAIBAAKCAQEAuX3SpXlT52qn4xmS4sC0aw1NSWmmjlb9rKjKWamkbSB8wuuTCCaKboV3NfMR2YfmS+IPZ4IK47l0TtbyFM4Aaga0QTbbhGA0dXI2RiUK2a6iI1/j/wyc75UDJibnsMwCbtswnTJKfvNwEPaGI8yMZpxTMxTxKPMCqqz4Ej2WX87l/aa+9kLdW9FACRmoJUg2dbTrPgbtl+RzrNPjUvoyvN0QMuOr1v+g2lLrBtXDIjw5Tcp9v/aLNoXvhPjOc8z4G3sVGS/T9ndMOkaREef/msKp19QZwB4Lzmg3c7jHrRekrBaUn6azUcTabw7gaSVIh8WXln8Imn7cKqy5oXWRGwIDAQABAoIBAFdHafdsiFtKZybHoMLLM9lvT99sM++j5Qb6AQSBexnSAIJjADMEl3x7lmUvM0Xs2SL5gpAMs30FhUGXiB7b83vwHZ7V5iJ6dhSRIhKNWXal4irM8uXOlIVy0yF/iuM4iyiIQG6m/ECR4ThKF0H+/E1H3yoY/4RqG+YdLzi9++SmEsEig67vO3Uf9icm6bKw64/Sp0Mc4+KKlgu+qCsru2337jjlxJOLv9xWYW3yiTTV2EOJkqxMVqEXknZLVoY6QC+FZwkj3gyJPGFJu0+RqCdt5qcAcXf4/6lCA2iYjN+SuVLRRcNO/IBthRtvjw6XMTGRB9km0kc5tzFLRS52OLECgYEA7zidJZCDEWqdlEhiTwTA7wZbtjNVM5Gyqn22ap8Ux63tsueHPJDJO4/LSNnnO43mi79bXwP8Kh33iE2qnvzY3p1HXl8QWBbfdFl3eyP8rKdI+zZow1+REQQEGTT5gABa9t1we3hBD0Qq6u+a58+MJSlyx9fsJj1Xw81JgmLkbXMCgYEAxoB0bVyG1dfabNdpnLTRHMZKYS8Wc44/VFOLpw+ZBVTj/U+2FLmP5sFzK/TUPJ7C3p3JCMCeXRlmv+Vk4CD3WbVpbfdftFJcq1oJtziNSvSv2aR9eQZqQ9GTJE8Ale8aslxBKUNAWeHVoPSozrMy2KFO48ADQLAFPuBaAVf1Y7kCgYAERF1BO0erOtyetX/TawFKAjIGmPnPFq06L03erwG+4hJYW5rk8Kw2PMVigkiGnmxbV8l4c2i/E5PDwabmeRohNmr8evOerqHDwIjKEIVESyOZH4pU2dKLnCe6j2BX8SmuN5r3CNkYPZ4KXMXFlsUoMIoUmHxk3jk/i9zgz4TFkwKBgQC52zgn1URiINLgqei20w4gNQEbcW1CEOP23qqZZx9NQKifWu0PBpdX5bUiaP/3Kmcm7PF4AnHEla4A6pXCzNsL4bGvRrkTKzKdNZZ3OLoCfovP6hWZJYqFqUpt6pKPz+pdKcfRDKjJ/4t4QttzfZGUB6TH1da10Jl4v7NGIscd8QKBgQCppr1+ZfZH2rcYIgcyZEC2/CqU+CSCkxB0nJJGxZyY8KED3qAcYwAyzsAJaQKEIA91o6fwLOWNgP6H1cnXnRVr31uh/cveGr2xdtwLFc5/QHfTdFloCgsMQH66WwGgqQAQK6g8nBXDov5u0of2XGlLCPB2FD2QHqyizVF1wwl5TA== + - peerId: 12D3KooWMSRCGD7MKFwbxuonTV23Zk8bj5enUPBnrt24z8r8JRWB + address: 127.0.0.1:4531 + signingKey: NO1unZIre3IFAHjJ6hPUYqgxhVpsisqaUNXnBnKyZZWsrOMUiO1mPvUgOWJ4KiecUh6F8s33SAB+7AlXcrGg9A== + encryptionKey: MIIEogIBAAKCAQEA03Ro0fUDPbQ5yCPHebMDdnHha+7j+8/OuzbpXuNICSfx2ogR05mGatH2FCwTTVZRSzc0SSsnWMeas/gtGnkGuH5T0+PN02niHG0FSHyV2fjRhOd2fDq0Dr0BxzTnvt83XqMwRZVlJESQg2a3UFx+tdgo0gtZomSRswHyc0ZTufKYW9VvaWpicTswF57z1Xu6ZtcJzPmcRpAwmJQl1PLVgJ5WXAaBLhpupcmt2z5KNKAhya72WJIcW1SqzLtiOwERwOTXdniPKiWoy7mf+DiVHPRtMv++98nF1VzR1qpqty97VRcNTEb31lc18IUmUgZGS52zd1K/OIazfURmsn5CyQIDAQABAoIBAAt+JjxTHsv5wbI5D5xzuFp1shTVtRp4nvnZ8DEyFTY6L5D7GEzx6TZhFwjdpGbtrBl0dKkNaWQP5T6m3Hy120GnzBKWLReyh5GX81OPQe3I8kpQ8kWqQyMR7sjO/VGIfE/ueq8tgYPJHjmmGYyKmnBzwTQ5XbPP14NtNapCRkay6XiswHOxw0AJTlA4Ob1yTVSl7rBbY+U5QEfOIi+UuFZZ77vAJtZ8GW92k93mASy/io8S2FwvSKCR2aBSUtAx3mJ2LOdVngL6MPBF7OViogt4Ys7IZh2GxqPr3KsbMpNy7EEO4F+/L/BJ4DeCbbox3FohiJVujbtES4XAEumJ3SkCgYEA8qzZGuSscq/FlV3NwQ4YPlkrlpxX5hYA4mUGhMuTBW9sb29b09YaQqiTTqc/0SbpjHBNIf8h+EGGwpo7v5Fo4NsH0nNy0MbbCaD2lZbbfSlMFX9CtZh6tFdT+apqwD9g4A9YLde2gGfwreqjz8iv47UwNihv4Apd8HXNo3IfaqsCgYEA3xC2ZEw8pZm/UU8frtl/K6J+ODxpopjVDgSFSvUKuZEad2e3SK4tT8/KLyjvcmMvzjnNYycC1zXxZYaW+75jQNRJcduZstiRfck+ko0YI7sjE3xP37F2unrWD9/J91J4hyZ5DmnQvZ0hEaA1xJiaenLuqO+BVTQM9qDc6fH6CFsCgYA9h9gQepTDC5BUnBE0dwdsn51utbuPylp1DNqHRzrC8QqUgq7M2oeUCTw4gC2tMWmcQ0k7an5JfQvXQdYOb6chBEhKcx1UlGcrXNXI/hQu+w6gkMDwXHYYTeAr+KrSjf9ZMGrSTNSoYDJlVo4sfB0k5mcQBFbBfr9s3eHDJIeUuwKBgByzGcRtyp/D2Emt1HW6phIHJhY2L6Er6L2U91FdlbOqZ61VOs+vGUVbhrfqnGQrPstZxIMtUcA+wIA/gM2DAWIl7g0oI+5OzulQKyzP2ns+aJTpOZ2eR5hWlZQVRvb7NWauHIUuOB0tSkPqSQCyYa2/e9Vge1NrDv/sUoAHEhRhAoGAEgC9OD/M7YnC0q0R7FaZKmwnR36KkAJNItcgGq7Vrr0kbtBFxos0almHyIMJ9MFkIRjytL2J5RHP8ulvw2bdDiBX80YnNJ+HC0oue6MXGF6a3Wbb0XAkFxarfcR7nNzn3CJS0cwtMNgnQxLGUNHByMH5GsaNey0oAWiDsWtUJxU= + - peerId: 12D3KooWRTGXikGHDdsNATxd6Vk56iu1V4dd6KZj3vv7KnGAMpxu + address: 127.0.0.1:4532 + signingKey: krUwB1X4pZj1oy1i7ICHmMC6KhKmTYQflQaA3u5f3cToU2slOAZlMHEyRv8MUR5Trqtv2uAnQAXFSWotybLdlg== + encryptionKey: MIIEowIBAAKCAQEA2mlMdTZv7lTe3vbUKYbKKRjw0e3TvTmVRl8v/ayWPpn+bf/TPA+r3RoUaWnDEn4mHzUc+KNIPJJtv+uc2GXxG420R8lIs44zacuaYy8hbb7dYqK0u9ZoCkiaaT9nH/d/G8PsVy9jYQri4t4TtvvPebhZ2a2hHr4zEgilgTVEuxte0/QcKvEu2NYxaewLzejc2fJHyFOjfDhJqZOQKt8xlM0xszPcqzIDtDsuJFRRqw3Tk82427Ayc2I9EwLHd4r6qaNejW4BC5OXz+URHOJd130U8sslz4oTmkKuMkdu2HhkOznhw+TIn7TmzW6LQhJY9iBxmmM/V6VTXtgr6Fi7jQIDAQABAoIBAHUYfyVYSio81kAzlQuueDQQawwhtaN9e8p+vfwCy4pEhWP0BAvvWvTvRoI9cZg4ibexghbLc68F0lFSwIREIz/ieQUDpTaexnGx9tO2MPXlnkuDb+JE0QKyahaDJ4a76im4oL0daupcK8f1yBwSZOmdLI7Hx9nznu3MNO9Q38hvppsLNOkUf7KYTkGXGrdfY7CM6Fev9lr1o7QgNkkEgHas9SAxgjXX2sG+bhmz75eRnaoZ0KHhfSih8S17NaPpwpAOSQTdRpFCzEbHKAmn6BCJXGhdg4fSk0WgYEd23WhOaLsni2jqWMy252I5dykcm9qRYM+6Vo7CKEiC4axGkAECgYEA7QhOezQedHQ7qMnd2e/VBG0kgg5qTE+ztyWjBwrgdK2+Fd+DMmIMmZS+ETqz1rxnTp8miXv/7vz1SvxvxUFyXp6nKzFd+hPXJjIwmKuV1QF2kkHxFypOYPXF4BOPng8cEojKrud1nj7Bgm3bL3X6WzE8F5fvauC0DDlRRAZDYR0CgYEA6+OIIq56TMKfMMWNwWIVg3Ec3MZTFr6dwyw/CCAIdg9L4AtdaaY3erkvW7AGEP9ttXt5/foiv2zfd835VtoBevsCFHGzJlZTxuEtXjUHoDTKfxB88XZxIAwYvYJWjlgyOk/tDW/cRI6IshAQm+UhR/m4jYcmnHEqssjidcMDqTECgYEAtZVtehjdU91PbujmmfSPPcrW8wNUD43nYWDl2ZlNhlUrj9ogydIvUOCQEubjqpe+lI57mUtzL4R97aohff27Ph1Qd1hkZBYa9lnwvKSGLh3m1fjKVzLDxKfDpPuXREDTAqfkjcUnZ8kvuVmrVlqNJps7K9/rO/dUNyEZzoD10UkCgYBe5Wk18pU23jDmkQMnIgtflpiy5II2qzaSdvFglmpw/FRc7JWG1ByLnYZEz3qRSgDburHoD8H82pLIAq/lVcy0qdg7W0ZkDOSlJJ94v8Kym6o/FeX9ydVWvCcTziR+HVMPjGnkNvUZC3JImBfmb3ZFG1w4a3+H/ircQ95+25ZUcQKBgHB7u8EEpjxcuiUMSWxpUt2NCVIfwnsQQCBwDKdxh/EC+60kmZr83syAkmxGiB8UQf5VcVYJpTV8R12gsafdBzhXid3qOgWCLze1j5BnaLX4SD2CmOCB0myr0uO4xBYhACpkpZqHWs+ybozylnj6i6TiySxBysfi6aQivjhSo+Rw +space: + gcTTL: 60 + syncPeriod: 10 +mongo: + connect: "mongodb://localhost:27017/?w=majority" + database: "consensus" + collection: "log" \ No newline at end of file diff --git a/etc/consensus-node.yml b/etc/consensus-node.yml new file mode 100644 index 00000000..041c1c14 --- /dev/null +++ b/etc/consensus-node.yml @@ -0,0 +1,11 @@ +rpcServer: + listenAddrs: + - 127.0.0.1:4530 +account: + peerId: 12D3KooWSUx2LXPvoZGp72Dt7b7r1kPSmQ6zAUwKkHFyX64uiXRu + signingKey: 4QTrtkFLQe9wQcWT/cgFEwfMHB5pt4axInNmCIMCZaz3nVdyygRoO8/YH0V15X6Mnw1NQWsS1YIWiLS22hwepA== + encryptionKey: MIIEpAIBAAKCAQEAmqAAOPfR86po3m+zwSzbAlZGgMMF188v35Ulqf9Gb4KO8DZ9ifxrqpjlLZRxPKeXj3wSSQEXsJf3A82rZlDxddZSM0i7Mx5G2G0zRHWx9dC58PpX6o/fDuvSwcyXqOgIK55N/hyEuIbWQgp5Rk9uy2Zbrhv5ZL5CvceM0b9wSKt/hRvntxSbG+HRgXWaQvAReGuJrySVvkh6fhC3G0IwqyFbGNq2zqAJej6NBzZA3thHgTn5PoWD8O4cyukBxunKGu3HLE3vJtqEMFrkNFw5SMpdEtxyTLN6T1HIeYCY9RL+BFYfxIWg6pGtIoIJKUB0XapJr9ltzvXfT9KeSCU0VwIDAQABAoIBAAp/xsQXf7gN4CUKbKg3RX+5H/xqQaFPvi5uUCpk3QGBWfdRm+CctSrWSul3ZOD7eD0T7aHrYxJonysw8ex2no6jyN0WmS91ZNYZRBvn6feI/rcwKHwS3NCEjsD+BWZAqx1bGGyivxhQf4fociemCR3ii2MdHygKCzobrKIpX5RvhanI4j01dyLlxwqTsteuc/o5RR4jfg1eN0kldFjk3UcSNyzzEv5o5UhRsHCLJBTNTvYZBN4FpyaqcLT9gKS9aVBvQH63R+E5dyxo1+24tZZricW59h2bN3CFriqkwBo1y0gTnR6VQ22MBvIUxYUm82cxXs/Vr0YQTSAaEGThxFECgYEAxKQMRnM39WMzrNx1WDwpBERRj1T0TbLf1uq6viPiLdik2Tm2aCBZyr5j82Ey7fZ7OafKGfsM0I2AuYeoBdYDuYN6A7tE9kpnECubnWuIvUeYcL+1VzzMedVtdKwQXrYbhqKtyvnSJ9gQ6CusHtsDE1bQvTMxBX4KNBeBYllCUasCgYEAyU0RPUaj56CyLHKty8jNg6wl+06IZ0pUPIWZ//b1zeZrlHGYDp/InxS8huGFapzOg1sbQBS6j3j3YE3Ts6v6FNuIa4pcPQ91YuHiWWQdgVjrCZdleanFWGTjIx12+RGj9vx4voRhNQcHW1YeTvvyj4BN/ECR6GNaoS/ZjBKo1AUCgYEAj6AyxxJJARagG9Y6b2QhoVg1Kjem6UmJbPStyUt0XIAsh+07afqXGxrM7mtEQ8MQZiBD4Y4Y4gs4xkprUzfqKIn7iNYznKDjflAbrXNpwLaWhWPBFCL4RtS4ycsTedoRaNlRjzvBYBDU6H9djHvzVyDF/itx1s0krr+sZSVE51kCgYBxGRinecna+KFCccgNp6s34H+Se2QNzGgZfOKyOjmOTniA9XV+Oe3I2yi1C34fESzCBm0ACuVqeIdcFz3rQ6OFFnbGHP2H3OiR/uFiYepl4uRjBimgOm9DI6Ot9f8DHxMlUGIygEPxPBq5CWCL9egpEeg+4rRXgYLI7w5mMZGjVQKBgQDC4qyH7FK3lLv5JomoK6nNjpyPNBmr0Rt215oM/AWQaxDhFZH5un68ueZ7MfybwXxHHFQ4ZeSwYs006f1XGPNW6qrH6pi/3SCLFuGVfNnLVwCBkm3QaQrxFm3v9LmVCidTNta0l0DrUldZdK8/P31GBxKo/MmYF/f9LO/Mfm/uDg== +mongo: + connect: "mongodb://localhost:27017/?w=majority" + database: "consensus" + collection: "log" \ No newline at end of file diff --git a/go.mod b/go.mod index a71e82d4..17ad3f10 100644 --- a/go.mod +++ b/go.mod @@ -30,6 +30,7 @@ require ( github.com/btcsuite/btcd v0.22.1 // indirect github.com/btcsuite/btcd/btcec/v2 v2.1.3 // indirect github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect + github.com/cheggaaa/mb/v2 v2.0.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect github.com/fogleman/gg v1.3.0 // indirect diff --git a/go.sum b/go.sum index fd2783ce..bf139393 100644 --- a/go.sum +++ b/go.sum @@ -15,6 +15,10 @@ github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOF github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cheggaaa/mb v1.0.3 h1:03ksWum+6kHclB+kjwKMaBtgl5gtNYUwNpxsHQciKe8= +github.com/cheggaaa/mb v1.0.3/go.mod h1:NUl0GBtFLlfg2o6iZwxzcG7Lslc2wV/ADTFbLXtVPE4= +github.com/cheggaaa/mb/v2 v2.0.1 h1:gn0khbEbKlw3i5VOYi0VnHEHayjZKfUDOyGSpHAybBs= +github.com/cheggaaa/mb/v2 v2.0.1/go.mod h1:XGeZw20Iqgjky26KL0mvCwk3+4NyZCUbshSo6ALne+c= github.com/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA= github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/node/account/service.go b/node/account/service.go index f9f7a6a2..3181f9bd 100644 --- a/node/account/service.go +++ b/node/account/service.go @@ -24,8 +24,7 @@ func New() app.Component { } func (s *service) Init(a *app.App) (err error) { - cfg := a.MustComponent(config.CName).(*config.Config) - acc := cfg.Account + acc := a.MustComponent(config.CName).(commonaccount.ConfigGetter).GetAccount() decodedEncryptionKey, err := keys.DecodeKeyFromString( acc.EncryptionKey,