Change config generation logic
This commit is contained in:
parent
85cdb1c189
commit
634ab66aa4
@ -29,7 +29,6 @@ var log = logger.NewNamed("main")
|
||||
|
||||
var (
|
||||
flagConfigFile = flag.String("c", "etc/config.yml", "path to config file")
|
||||
flagNodesFile = flag.String("a", "etc/nodes.yml", "path to account file")
|
||||
flagVersion = flag.Bool("v", false, "show version and exit")
|
||||
flagHelp = flag.Bool("h", false, "show help and exit")
|
||||
)
|
||||
@ -62,22 +61,8 @@ func main() {
|
||||
log.Fatal("can't open config file", zap.Error(err))
|
||||
}
|
||||
|
||||
// open nodes file with node's keys
|
||||
acc, err := account.NewFromFile(*flagNodesFile)
|
||||
if err != nil {
|
||||
log.Fatal("can't open nodes file", zap.Error(err))
|
||||
}
|
||||
|
||||
// open nodes file with data related to other nodes
|
||||
nodes, err := node.NewFromFile(*flagNodesFile)
|
||||
if err != nil {
|
||||
log.Fatal("can't open nodes file", zap.Error(err))
|
||||
}
|
||||
|
||||
// bootstrap components
|
||||
a.Register(conf)
|
||||
a.Register(acc)
|
||||
a.Register(nodes)
|
||||
Bootstrap(a)
|
||||
|
||||
// start app
|
||||
@ -104,8 +89,10 @@ func main() {
|
||||
}
|
||||
|
||||
func Bootstrap(a *app.App) {
|
||||
a.Register(transport.New()).
|
||||
a.Register(account.New()).
|
||||
Register(transport.New()).
|
||||
Register(drpcserver.New()).
|
||||
Register(node.New()).
|
||||
Register(document.New()).
|
||||
Register(message.New()).
|
||||
Register(requesthandler.New()).
|
||||
|
||||
@ -4,92 +4,134 @@ import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/config"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/encryptionkey"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/signingkey"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/peer"
|
||||
"gopkg.in/yaml.v3"
|
||||
"math/rand"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
flagNodeMap = flag.String("n", "cmd/nodesgen/nodemap.yml", "path to nodes map file")
|
||||
flagAccountConfigFile = flag.String("a", "etc/nodes.yml", "path to account file")
|
||||
flagBaseAddress = flag.String("ba", "127.0.0.1:4430", "base ip for each node (you should change it later)")
|
||||
flagNodeCount = flag.Int("nc", 5, "the count of nodes for which we create the keys")
|
||||
flagEtcPath = flag.String("e", "etc", "path to etc directory")
|
||||
)
|
||||
|
||||
func main() {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
flag.Parse()
|
||||
type NodesMap struct {
|
||||
Nodes []struct {
|
||||
Addresses []string `yaml:"grpcAddresses"`
|
||||
APIPort string `yaml:"apiPort"`
|
||||
} `yaml:"nodes"`
|
||||
}
|
||||
|
||||
if *flagNodeCount <= 0 {
|
||||
panic("node count should not be zero or less")
|
||||
func main() {
|
||||
nodesMap := &NodesMap{}
|
||||
data, err := ioutil.ReadFile(*flagNodeMap)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
encryptionDecoder := encryptionkey.NewRSAPrivKeyDecoder()
|
||||
signingDecoder := signingkey.NewEDPrivKeyDecoder()
|
||||
err = yaml.Unmarshal(data, nodesMap)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
flag.Parse()
|
||||
|
||||
var nodes []*config.Node
|
||||
for i := 0; i < *flagNodeCount; i++ {
|
||||
node, err := genRandomNodeKeys(*flagBaseAddress, encryptionDecoder, signingDecoder)
|
||||
var configs []config.Config
|
||||
var nodes []config.Node
|
||||
for _, n := range nodesMap.Nodes {
|
||||
cfg, err := genConfig(n.Addresses, n.APIPort)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("could not generate keys for node: %v", err))
|
||||
panic(fmt.Sprintf("could not generate the config file: %s", err.Error()))
|
||||
}
|
||||
configs = append(configs, cfg)
|
||||
|
||||
node := config.Node{
|
||||
PeerId: cfg.Account.PeerId,
|
||||
Address: cfg.GrpcServer.ListenAddrs[0],
|
||||
SigningKey: cfg.Account.SigningKey,
|
||||
EncryptionKey: cfg.Account.EncryptionKey,
|
||||
}
|
||||
nodes = append(nodes, node)
|
||||
}
|
||||
nodeInfo := config.NodeInfo{
|
||||
CurrentAlias: nodes[0].Alias,
|
||||
Nodes: nodes,
|
||||
}
|
||||
bytes, err := yaml.Marshal(nodeInfo)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("could not marshal the keys: %v", err))
|
||||
for idx := range configs {
|
||||
configs[idx].Nodes = nodes
|
||||
}
|
||||
|
||||
err = os.WriteFile(*flagAccountConfigFile, bytes, 0644)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("could not write the generated nodes to file: %v", err))
|
||||
// saving configs
|
||||
configsPath := fmt.Sprintf("%s/configs", *flagEtcPath)
|
||||
createDir := func() {
|
||||
err := os.Mkdir(configsPath, os.ModePerm)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed to create the configs directory: %v", err))
|
||||
}
|
||||
}
|
||||
if _, err := os.Stat(configsPath); os.IsNotExist(err) {
|
||||
createDir()
|
||||
} else {
|
||||
err = os.RemoveAll(configsPath)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed to remove the configs directory: %v", err))
|
||||
}
|
||||
createDir()
|
||||
}
|
||||
for _, cfg := range configs {
|
||||
path := fmt.Sprintf("%s/%s.yml", configsPath, cfg.Account.PeerId)
|
||||
bytes, err := yaml.Marshal(cfg)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("could not marshal the keys: %v", err))
|
||||
}
|
||||
|
||||
err = os.WriteFile(path, bytes, os.ModePerm)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("could not write the config to file: %v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func genRandomNodeKeys(address string, encKeyDecoder keys.Decoder, signKeyDecoder keys.Decoder) (*config.Node, error) {
|
||||
func genConfig(addresses []string, apiPort string) (config.Config, error) {
|
||||
encKey, _, err := encryptionkey.GenerateRandomRSAKeyPair(2048)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return config.Config{}, err
|
||||
}
|
||||
|
||||
signKey, _, err := signingkey.GenerateRandomEd25519KeyPair()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return config.Config{}, err
|
||||
}
|
||||
|
||||
encKeyDecoder := encryptionkey.NewRSAPrivKeyDecoder()
|
||||
signKeyDecoder := signingkey.NewEDPrivKeyDecoder()
|
||||
|
||||
encEncKey, err := encKeyDecoder.EncodeToString(encKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return config.Config{}, err
|
||||
}
|
||||
|
||||
encSignKey, err := signKeyDecoder.EncodeToString(signKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return config.Config{}, err
|
||||
}
|
||||
|
||||
return &config.Node{
|
||||
Alias: randString(5),
|
||||
Address: address,
|
||||
SigningKey: encSignKey,
|
||||
EncryptionKey: encEncKey,
|
||||
peerID, err := peer.IDFromSigningPubKey(signKey.GetPublic())
|
||||
if err != nil {
|
||||
return config.Config{}, err
|
||||
}
|
||||
|
||||
return config.Config{
|
||||
Anytype: config.Anytype{SwarmKey: "/key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec"},
|
||||
GrpcServer: config.GrpcServer{
|
||||
ListenAddrs: addresses,
|
||||
TLS: false,
|
||||
},
|
||||
Account: config.Account{
|
||||
PeerId: peerID.String(),
|
||||
SigningKey: encSignKey,
|
||||
EncryptionKey: encEncKey,
|
||||
},
|
||||
APIServer: config.APIServer{
|
||||
Port: apiPort,
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func randString(n int) string {
|
||||
const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
|
||||
b := make([]byte, n)
|
||||
for i := 0; i < n; i++ {
|
||||
idx := rand.Intn(len(letterBytes))
|
||||
b[i] = letterBytes[idx]
|
||||
}
|
||||
|
||||
return string(b)
|
||||
}
|
||||
|
||||
13
cmd/nodesgen/nodemap.yml
Normal file
13
cmd/nodesgen/nodemap.yml
Normal file
@ -0,0 +1,13 @@
|
||||
nodes:
|
||||
- grpcAddresses:
|
||||
- "127.0.0.1:4430"
|
||||
- "127.0.0.1:4431"
|
||||
apiPort: "8080"
|
||||
- grpcAddresses:
|
||||
- "127.0.0.1:4432"
|
||||
- "127.0.0.1:4433"
|
||||
apiPort: "8081"
|
||||
- grpcAddresses:
|
||||
- "127.0.0.1:4434"
|
||||
- "127.0.0.1:4435"
|
||||
apiPort: "8082"
|
||||
7
config/account.go
Normal file
7
config/account.go
Normal file
@ -0,0 +1,7 @@
|
||||
package config
|
||||
|
||||
type Account struct {
|
||||
PeerId string `yaml:"peerId"`
|
||||
SigningKey string `yaml:"signingKey"`
|
||||
EncryptionKey string `yaml:"encryptionKey"`
|
||||
}
|
||||
5
config/api.go
Normal file
5
config/api.go
Normal file
@ -0,0 +1,5 @@
|
||||
package config
|
||||
|
||||
type APIServer struct {
|
||||
Port string `yaml:"port"`
|
||||
}
|
||||
@ -26,6 +26,9 @@ func NewFromFile(path string) (c *Config, err error) {
|
||||
type Config struct {
|
||||
Anytype Anytype `yaml:"anytype"`
|
||||
GrpcServer GrpcServer `yaml:"grpcServer"`
|
||||
Account Account `yaml:"account"`
|
||||
APIServer APIServer `yaml:"apiServer"`
|
||||
Nodes []Node `yaml:"nodes"`
|
||||
}
|
||||
|
||||
func (c *Config) Init(ctx context.Context, a *app.App) (err error) {
|
||||
|
||||
@ -3,6 +3,4 @@ package config
|
||||
type GrpcServer struct {
|
||||
ListenAddrs []string `yaml:"listenAddrs"`
|
||||
TLS bool `yaml:"tls"`
|
||||
TLSCertFile string `yaml:"tlsCertFile"`
|
||||
TLSKeyFile string `yaml:"tlsKeyFile"`
|
||||
}
|
||||
|
||||
@ -1,13 +1,8 @@
|
||||
package config
|
||||
|
||||
type Node struct {
|
||||
Alias string `yaml:"alias"`
|
||||
PeerId string `yaml:"peerId"`
|
||||
Address string `yaml:"address"`
|
||||
SigningKey string `yaml:"signingKey"`
|
||||
EncryptionKey string `yaml:"encryptionKey"`
|
||||
}
|
||||
|
||||
type NodeInfo struct {
|
||||
CurrentAlias string `yaml:"currentAlias"`
|
||||
Nodes []*Node `yaml:"nodes"`
|
||||
}
|
||||
|
||||
@ -1,9 +1,26 @@
|
||||
anytype:
|
||||
swarmKey: "/key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec"
|
||||
|
||||
swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec
|
||||
grpcServer:
|
||||
listenAddrs:
|
||||
- "127.0.0.1:4430"
|
||||
- "127.0.0.1:4431"
|
||||
- 127.0.0.1:4430
|
||||
- 127.0.0.1:4431
|
||||
tls: false
|
||||
|
||||
account:
|
||||
peerId: 12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs
|
||||
signingKey: 3inYSp8q7WidZi7RkhLFNZPF9yMJXHpnyrTpTsE7cd2ggESfTAEpWiQNa8zCnNdzK9DpG6Mu5hDCZhfU6RMDL466H8om
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt6DUwLZka2Rq22vm33K5eezrMkGnXx8X13oQ8HBSHgkLmRZTC1737hgZ66s92QRNe1YC1v8JNiv6yXVuV3MujBkmrYYVbGB7DBz6REsGAMPmuqDiG5PubjVHP468MDJJYRTZN6VEJuSGZtEAyLBJe9iErRVFsMdNc6ZMbY5pxoYE6LHWbsfZejrnAXvgABTnYTN4ad6EaxRiEWHGACizr59uf3KYFb9hFwxkFMhenpTpxbkBwQp3V8MxV4eLbgsWQPMpfeGeinjmNRAnZfi6tnqSDLyy3RWM5y9W89rYKt3EdVRwcFWFHh8FgSjzhpqE77GEwjGU9ddKorUfW85jQGdd2xdFwQfLF2eTGEwSxX9Gz2fTTtkN4pNJC8MesKK2cRsLAZLb9rv5ebCMgQ3S86WjfbWRcEYLoKUWKjujiY1XT5GszTgSa2b68QpcDmqgUv7FiwcZwC5qaCsgoARZ2GGsPgW7mCBahxTJnor4dCLF9Aiz1YvFvwWzm8k9zUmY5pxPQFNSWfAAcodqEHJV6i9TSf5ERNLJCQiRTSStZZdoeqAf42sYCSdiaiVUc26Q7QcTxtxxpfCTqGc2Lgh6ofgwG1m2CfmhXTsBDwBFRc8q6TcGJ4fT4WuZXF9f4MhKHqgqppFKMWYyvtJyvypbJ735kU63UWWSMCo8BbVTRrtaq7bPHbgvHHWYso5o7PeqNuhD2YwTKd6wpbAeg8wpv3eEWB2sgotQ5JiW2itEyinLZHRpLvbtYGFWctsZisvBbCssiCsPqzG1DffZWNjt2nj1vztuapZLpz9azanCaXhFxLBBLVveEk4tvEknHtREwXtmTpQK5GqpmW9LTFqA5jj7fVtytYQFufe9Cp4HKNNodv1UCPQ1KTLwkwA6UEMwqamvE67GDDvjmE2XaMoq6ErEYX6FkQi2d9kbLJaFVGwYH3DVcbBGAJzSoeYceosuoQJBcKS19BhFqXWT1W3iKvMibadh8MYLim7ncxezuHFCyUPFnFn33kfzzTWTsFYbKDukCECRBKciptevx9zS6V2YiSgcYRWV7Rd8sNg8vAGUBQ6mLBtWNExn5gRkoBQDqN9BhfqpEbGo33JHb7GVLsN7um9VxKcTSkiDLPKTxijNevHeRWRbtbCvQ31WHaNLzihnsowVQMk8SV6CiqzqwUb4ETxiXCDHABGuCACcYVC2jgEoFuqSAwS6c2y5sfcjxWSe3hs9eLjyWmeHu75MbNcJN8EtBrLs4j2tWGtbq6BR7SYVcygUbscf75HKncC4YBkF1MWRHmos11ZKaCwLfjsTW6XUXdfhvpco6mxic8muiq5XA3G8x47stQ3eBoSXoehRAMd4FKNv9geDagAhjorfcMd7kCT5CEENMqCLpjtUsFXSGtjqpYg1aeaQsxdEszfw2LS5pvPQEnYmqMRxZsuYHbuAH4J7sQwvjn7ezWfpsJfwQT6EqDFJp4g6vcgfUeCYzim9DVDnJYWocL9Uzb9P3rvknDKZmAkFWgTVWq16GaX4xUsXVNLMkDm88q4vvxrCQyAerNzox27uF2yH1ca66pVu9GZkGHM1KJrNmyyYEm445wNgkgSx8ivhyC11SUKs3nTKNVrnc
|
||||
apiServer:
|
||||
port: "8080"
|
||||
nodes:
|
||||
- peerId: 12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3inYSp8q7WidZi7RkhLFNZPF9yMJXHpnyrTpTsE7cd2ggESfTAEpWiQNa8zCnNdzK9DpG6Mu5hDCZhfU6RMDL466H8om
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt6DUwLZka2Rq22vm33K5eezrMkGnXx8X13oQ8HBSHgkLmRZTC1737hgZ66s92QRNe1YC1v8JNiv6yXVuV3MujBkmrYYVbGB7DBz6REsGAMPmuqDiG5PubjVHP468MDJJYRTZN6VEJuSGZtEAyLBJe9iErRVFsMdNc6ZMbY5pxoYE6LHWbsfZejrnAXvgABTnYTN4ad6EaxRiEWHGACizr59uf3KYFb9hFwxkFMhenpTpxbkBwQp3V8MxV4eLbgsWQPMpfeGeinjmNRAnZfi6tnqSDLyy3RWM5y9W89rYKt3EdVRwcFWFHh8FgSjzhpqE77GEwjGU9ddKorUfW85jQGdd2xdFwQfLF2eTGEwSxX9Gz2fTTtkN4pNJC8MesKK2cRsLAZLb9rv5ebCMgQ3S86WjfbWRcEYLoKUWKjujiY1XT5GszTgSa2b68QpcDmqgUv7FiwcZwC5qaCsgoARZ2GGsPgW7mCBahxTJnor4dCLF9Aiz1YvFvwWzm8k9zUmY5pxPQFNSWfAAcodqEHJV6i9TSf5ERNLJCQiRTSStZZdoeqAf42sYCSdiaiVUc26Q7QcTxtxxpfCTqGc2Lgh6ofgwG1m2CfmhXTsBDwBFRc8q6TcGJ4fT4WuZXF9f4MhKHqgqppFKMWYyvtJyvypbJ735kU63UWWSMCo8BbVTRrtaq7bPHbgvHHWYso5o7PeqNuhD2YwTKd6wpbAeg8wpv3eEWB2sgotQ5JiW2itEyinLZHRpLvbtYGFWctsZisvBbCssiCsPqzG1DffZWNjt2nj1vztuapZLpz9azanCaXhFxLBBLVveEk4tvEknHtREwXtmTpQK5GqpmW9LTFqA5jj7fVtytYQFufe9Cp4HKNNodv1UCPQ1KTLwkwA6UEMwqamvE67GDDvjmE2XaMoq6ErEYX6FkQi2d9kbLJaFVGwYH3DVcbBGAJzSoeYceosuoQJBcKS19BhFqXWT1W3iKvMibadh8MYLim7ncxezuHFCyUPFnFn33kfzzTWTsFYbKDukCECRBKciptevx9zS6V2YiSgcYRWV7Rd8sNg8vAGUBQ6mLBtWNExn5gRkoBQDqN9BhfqpEbGo33JHb7GVLsN7um9VxKcTSkiDLPKTxijNevHeRWRbtbCvQ31WHaNLzihnsowVQMk8SV6CiqzqwUb4ETxiXCDHABGuCACcYVC2jgEoFuqSAwS6c2y5sfcjxWSe3hs9eLjyWmeHu75MbNcJN8EtBrLs4j2tWGtbq6BR7SYVcygUbscf75HKncC4YBkF1MWRHmos11ZKaCwLfjsTW6XUXdfhvpco6mxic8muiq5XA3G8x47stQ3eBoSXoehRAMd4FKNv9geDagAhjorfcMd7kCT5CEENMqCLpjtUsFXSGtjqpYg1aeaQsxdEszfw2LS5pvPQEnYmqMRxZsuYHbuAH4J7sQwvjn7ezWfpsJfwQT6EqDFJp4g6vcgfUeCYzim9DVDnJYWocL9Uzb9P3rvknDKZmAkFWgTVWq16GaX4xUsXVNLMkDm88q4vvxrCQyAerNzox27uF2yH1ca66pVu9GZkGHM1KJrNmyyYEm445wNgkgSx8ivhyC11SUKs3nTKNVrnc
|
||||
- peerId: 12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx
|
||||
address: 127.0.0.1:4432
|
||||
signingKey: 3i7TZgCtctChP9rA13BDuK2GmdbRL6sgk51JjetKyFt3SEqXN8M4EwcREWVfPYmayBKYPHveLzY7NsggxvKapJFdYH8F
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL87XWScKZWBBqSZseakgKVJfHqTUt3CiLPMKPDZtzQWLfb2ouiTbff5YTBZbGxwKqWYMAW8prEVjbcXBtkCi2Y2XkZ8v1ugidF5MC3d1ifnh5Es5CafB8kToUegtAig8vhMCuXAzLQpbiQyFLf25KcyKfVvHUomafaHyKCbYu1bmyGRC7CGxUD6jnPg2MYZZiJiq9scNRaRxbiqCe9C2VcUTFdigV65eGmZPKGgfAThcyKCdQSe1hmoXtNw5MaqbB3eQvkuS4GySap3SaEZUmGsmuVumUvHappUpN8x3UQs1TNWfYxULVx3tUMHfQ98G9No4gwP42ENMgCuMVQW9M68s73WCGucvpPUZdvQFiSJkSoKDqi2F6zdrM2LZTp8qGciunKDFZvh14eAGDbPLw9dBLVmMQLKq68yz8Nzi9BYWjzLa4fDNkoYETB8rArNPECAjVVW6PYLzueVNmqvo7RdWZGHF2YCRXr1wLG7jg4WBX4Lm5jQZS8bkWacbpj49b4nxRnjLsGusdCwRCZPY9qFPim2WU4z2KEgRS87x97TiYAThLUJwGBv5pBKRLkrAAoFWwkDSfxcRt83FiZtJ1hLWkpj6fK56SuubQUjWzNfVPCTfNqcod54PAPVESTuAPjDsmM4YeMGgUpaK9Goqbu1FuuZ9P6mQPwGKdpGuVgjJv7uQJZw3fpC9H1vJ4fa2wBrGFkahyEFo2QDb8iG9oGarpFxewJVVs12cpKJeQzU5dLFBvQJmGnHASTnBwfNBieDT7ZeFmnGuN7sLaPJ5wgdKJpY6aAooztyWfJPKTbxzYjUQMVoyW3YbTD3qg8F9grqVT1VFAp88ta1u55eokqz7h82EJNQf7GptDHxPRg4euAJ3BDvmRUfAwYzU8TD1gyiUnnHGRuvH25xgJRqauNrDLUbha33wVAHeMzWJhpLjLz4DLmtLejpfwNr5PuEbczqFAaLspf8dFjkrvmC3RrwHngKuzTkYo46WSJggWs3CwWDpzMmrATh2LRYmdH7BtNUkvu7onRzms8jWHBsFNfbCitMpfAsM3XmgtFUGTMi4LzVK3f5G8HqwGqcVEnFJTZzdoBsfNMKyFapXPnUBUHQse8jZjSYQv3dJpVuTV6HQ5R8saBdKDGMpXFyYqZK85cikcK6Nkd7ZrnbUUN2i6f3ano7hnxTbeW7kGxatUWETTwAzwGjdMhpJjieLFBTomAqqfXopEr1FeWcFmQ6kYBL2fa6XYqhZJevG6LpNXeuLcbyTiADt5CMNwt6MTmEomqtzqE7BgvqYEibuEj5K22ufvvLmX7XbGiB7wZKRPGuTR1pPDgJbzU9HGmF5fWjTVGPeNMn7ZmbQVcys6xy79notYp6MoQhBCTWyuuEuc24REEfMCjPuhNgssJQWT3ZR3xskrcEdCUyGbvQT2eWVa6atYsu5Z2m7sGXXwfH7vhdiUkVZEmhNPusij7dsMa9io63D6itYuu8Ed5aZYoUkZCfKZ39KQ16rtYpa9mfcwG4fyQy11Zy9G7nxdNJohGYeq3xuerSdwTDNdK2PREJcAoNA7Nfcsxk7333B5gXNFZKcBLQk56C1PqApLerSfo3jVuojcNAxYB688K6
|
||||
- peerId: 12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze
|
||||
address: 127.0.0.1:4434
|
||||
signingKey: 3iPPhpw3jndkSCvpZ4yf5eWYydZwbFAk7gdMkXZBgyh939AicHVakwkabDpxzhtrsgJEXrP5sKam9QL7weMyyoMrKNCH
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL5br9LinoxiiuQqGC7y6HBbvmQ9pcZM4F4q2oGDQA71ZumaTJ1RAiUDaxi1fBVnrvv4Tqm9fau3NyijggQ246UtHKemsPFBX9Qyv4oYZJ9X3WNNc9q3BkPX9C8WHdfda9fxW4wD1QYKzd5F1J7FdhxZh3MZUdc4GEfPLwew8dTfEJp7ipAvM7TY1r6URe4VHVmsdaEL3jsEUzEqL4MRSc69WdjdKZLyVzQVcjnLegFfoH2c6476MfnoPggeVGghPjDmoqoJ2kzHwjvDQKoGyC9m4wkicS4YZkVA6N2ezKBSumJkV1mY6hpBPuCtdYLDw2zsCqMq9AXFhtMxzSCtLLRnRVntErY3Wb8ty5vEnS8aY7B612okwdsMg2rYxP55ccK4zP7PoKTKTS4TWTqGiLW2GtptTLhQ7ynJudG9YArzwwjgqXaxExrMqFCSMCfQbVNvwv3SckfpwQjpJjCfRS73SQKPY8ghqrdKnuRHyUWpJbYb9y5doCWMCuLw6u6t2LqfcwknNkjoWNCG69tohSgRStbYfmA7AZvHzPGc3gKByZecVxdmvPmtbSLXRiB9FbqtuqEerGxpisL3FhDM6SVqxRm2E2SxwJTHVcyL2LNF5tE2V7mujSa5dwzZfbRA9p3SwFeRhd42z1r36iL92yugfa2SbHYYDhdKFCJLhMc8ogqd1b8oUBbwBktKg6p6MJeZdqS2vfsLQRnV8TyP72fKUjFtaQ4o7D6vQ9VnsBMQS9FF8PEuZ5yF3XQaMjJMpeGho3c4dNFEw4vCiUaVN2WzF7XR28dyGwLASMoVFuUoErgr7TUQm4yKJG8QaHePx7A7Ku3Ys6fvrDsBVJWz5taQB7cMBqXmrAg2DHSUwqr8XfhxXnv8cnZZzPTrtib86P7w3kUYLrJYaR6jur5jTFucFSxthKEMqzBPtS3wgn2hcj31ATSNR7FNDcZmteWex5vAzGkuDoCG4c7dUCGinT3akYvukR7WugdHAYySkhf6AhNGg4wrZ7y3YVRMwRkex3PumcwGGKoTvNMNMqz2kTCNjSsDr6xRBk8njCLwDMunvDZM7VThTMKQ4CvegCtX3kV11qk46WjouqFedYSmShmxB5dMMVKui3owicS3ioVXoSqCRAcov3LJ3zL5aQ19FBBvvezeN27PkcZjvXKQwNEpnMzJeLTLdz8guWrER9Vn7XB3zgvt6xzab8JbHJ62XEEGFC5EoU68D3Wn9oXH6EqfCNbUsfW6EScc7wcsRu7aLi4ddjYrDcd4pQgct3dpAzR9Z4ZHRgQi9k4DF8bg9LUjfjaJS53DGSiSSfGBNtkpdyLp8K8Y89BZRnw21yVcKwA8JD47By6s3vfJ8PdSTs4Lsfm7mEhERuVLyQC9wpPe6ysjzUTQjx7RyTaVVA9ENQfpc1XCdHufDFST1eeiRFLwKzEFCr2bATo5r5oQ6UtBdQv6eFaGv19ju4cikXTNq2vCGw6aMupdaESYeWL5Gs8ssCjb1K2iZfGwqidfTJejEiuoiD2S6shTRv6BFz3JrhU7XsZdLkU9rvDYJs6rWq4C4ix4VWDxNHktF7iBuCASnZjgMYs9Lipt5hZEow4FrWcvUtVQ8PXQT3SC
|
||||
|
||||
26
etc/configs/12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze.yml
Executable file
26
etc/configs/12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze.yml
Executable file
@ -0,0 +1,26 @@
|
||||
anytype:
|
||||
swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec
|
||||
grpcServer:
|
||||
listenAddrs:
|
||||
- 127.0.0.1:4434
|
||||
- 127.0.0.1:4435
|
||||
tls: false
|
||||
account:
|
||||
peerId: 12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze
|
||||
signingKey: 3iPPhpw3jndkSCvpZ4yf5eWYydZwbFAk7gdMkXZBgyh939AicHVakwkabDpxzhtrsgJEXrP5sKam9QL7weMyyoMrKNCH
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL5br9LinoxiiuQqGC7y6HBbvmQ9pcZM4F4q2oGDQA71ZumaTJ1RAiUDaxi1fBVnrvv4Tqm9fau3NyijggQ246UtHKemsPFBX9Qyv4oYZJ9X3WNNc9q3BkPX9C8WHdfda9fxW4wD1QYKzd5F1J7FdhxZh3MZUdc4GEfPLwew8dTfEJp7ipAvM7TY1r6URe4VHVmsdaEL3jsEUzEqL4MRSc69WdjdKZLyVzQVcjnLegFfoH2c6476MfnoPggeVGghPjDmoqoJ2kzHwjvDQKoGyC9m4wkicS4YZkVA6N2ezKBSumJkV1mY6hpBPuCtdYLDw2zsCqMq9AXFhtMxzSCtLLRnRVntErY3Wb8ty5vEnS8aY7B612okwdsMg2rYxP55ccK4zP7PoKTKTS4TWTqGiLW2GtptTLhQ7ynJudG9YArzwwjgqXaxExrMqFCSMCfQbVNvwv3SckfpwQjpJjCfRS73SQKPY8ghqrdKnuRHyUWpJbYb9y5doCWMCuLw6u6t2LqfcwknNkjoWNCG69tohSgRStbYfmA7AZvHzPGc3gKByZecVxdmvPmtbSLXRiB9FbqtuqEerGxpisL3FhDM6SVqxRm2E2SxwJTHVcyL2LNF5tE2V7mujSa5dwzZfbRA9p3SwFeRhd42z1r36iL92yugfa2SbHYYDhdKFCJLhMc8ogqd1b8oUBbwBktKg6p6MJeZdqS2vfsLQRnV8TyP72fKUjFtaQ4o7D6vQ9VnsBMQS9FF8PEuZ5yF3XQaMjJMpeGho3c4dNFEw4vCiUaVN2WzF7XR28dyGwLASMoVFuUoErgr7TUQm4yKJG8QaHePx7A7Ku3Ys6fvrDsBVJWz5taQB7cMBqXmrAg2DHSUwqr8XfhxXnv8cnZZzPTrtib86P7w3kUYLrJYaR6jur5jTFucFSxthKEMqzBPtS3wgn2hcj31ATSNR7FNDcZmteWex5vAzGkuDoCG4c7dUCGinT3akYvukR7WugdHAYySkhf6AhNGg4wrZ7y3YVRMwRkex3PumcwGGKoTvNMNMqz2kTCNjSsDr6xRBk8njCLwDMunvDZM7VThTMKQ4CvegCtX3kV11qk46WjouqFedYSmShmxB5dMMVKui3owicS3ioVXoSqCRAcov3LJ3zL5aQ19FBBvvezeN27PkcZjvXKQwNEpnMzJeLTLdz8guWrER9Vn7XB3zgvt6xzab8JbHJ62XEEGFC5EoU68D3Wn9oXH6EqfCNbUsfW6EScc7wcsRu7aLi4ddjYrDcd4pQgct3dpAzR9Z4ZHRgQi9k4DF8bg9LUjfjaJS53DGSiSSfGBNtkpdyLp8K8Y89BZRnw21yVcKwA8JD47By6s3vfJ8PdSTs4Lsfm7mEhERuVLyQC9wpPe6ysjzUTQjx7RyTaVVA9ENQfpc1XCdHufDFST1eeiRFLwKzEFCr2bATo5r5oQ6UtBdQv6eFaGv19ju4cikXTNq2vCGw6aMupdaESYeWL5Gs8ssCjb1K2iZfGwqidfTJejEiuoiD2S6shTRv6BFz3JrhU7XsZdLkU9rvDYJs6rWq4C4ix4VWDxNHktF7iBuCASnZjgMYs9Lipt5hZEow4FrWcvUtVQ8PXQT3SC
|
||||
apiServer:
|
||||
port: "8082"
|
||||
nodes:
|
||||
- peerId: 12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3inYSp8q7WidZi7RkhLFNZPF9yMJXHpnyrTpTsE7cd2ggESfTAEpWiQNa8zCnNdzK9DpG6Mu5hDCZhfU6RMDL466H8om
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt6DUwLZka2Rq22vm33K5eezrMkGnXx8X13oQ8HBSHgkLmRZTC1737hgZ66s92QRNe1YC1v8JNiv6yXVuV3MujBkmrYYVbGB7DBz6REsGAMPmuqDiG5PubjVHP468MDJJYRTZN6VEJuSGZtEAyLBJe9iErRVFsMdNc6ZMbY5pxoYE6LHWbsfZejrnAXvgABTnYTN4ad6EaxRiEWHGACizr59uf3KYFb9hFwxkFMhenpTpxbkBwQp3V8MxV4eLbgsWQPMpfeGeinjmNRAnZfi6tnqSDLyy3RWM5y9W89rYKt3EdVRwcFWFHh8FgSjzhpqE77GEwjGU9ddKorUfW85jQGdd2xdFwQfLF2eTGEwSxX9Gz2fTTtkN4pNJC8MesKK2cRsLAZLb9rv5ebCMgQ3S86WjfbWRcEYLoKUWKjujiY1XT5GszTgSa2b68QpcDmqgUv7FiwcZwC5qaCsgoARZ2GGsPgW7mCBahxTJnor4dCLF9Aiz1YvFvwWzm8k9zUmY5pxPQFNSWfAAcodqEHJV6i9TSf5ERNLJCQiRTSStZZdoeqAf42sYCSdiaiVUc26Q7QcTxtxxpfCTqGc2Lgh6ofgwG1m2CfmhXTsBDwBFRc8q6TcGJ4fT4WuZXF9f4MhKHqgqppFKMWYyvtJyvypbJ735kU63UWWSMCo8BbVTRrtaq7bPHbgvHHWYso5o7PeqNuhD2YwTKd6wpbAeg8wpv3eEWB2sgotQ5JiW2itEyinLZHRpLvbtYGFWctsZisvBbCssiCsPqzG1DffZWNjt2nj1vztuapZLpz9azanCaXhFxLBBLVveEk4tvEknHtREwXtmTpQK5GqpmW9LTFqA5jj7fVtytYQFufe9Cp4HKNNodv1UCPQ1KTLwkwA6UEMwqamvE67GDDvjmE2XaMoq6ErEYX6FkQi2d9kbLJaFVGwYH3DVcbBGAJzSoeYceosuoQJBcKS19BhFqXWT1W3iKvMibadh8MYLim7ncxezuHFCyUPFnFn33kfzzTWTsFYbKDukCECRBKciptevx9zS6V2YiSgcYRWV7Rd8sNg8vAGUBQ6mLBtWNExn5gRkoBQDqN9BhfqpEbGo33JHb7GVLsN7um9VxKcTSkiDLPKTxijNevHeRWRbtbCvQ31WHaNLzihnsowVQMk8SV6CiqzqwUb4ETxiXCDHABGuCACcYVC2jgEoFuqSAwS6c2y5sfcjxWSe3hs9eLjyWmeHu75MbNcJN8EtBrLs4j2tWGtbq6BR7SYVcygUbscf75HKncC4YBkF1MWRHmos11ZKaCwLfjsTW6XUXdfhvpco6mxic8muiq5XA3G8x47stQ3eBoSXoehRAMd4FKNv9geDagAhjorfcMd7kCT5CEENMqCLpjtUsFXSGtjqpYg1aeaQsxdEszfw2LS5pvPQEnYmqMRxZsuYHbuAH4J7sQwvjn7ezWfpsJfwQT6EqDFJp4g6vcgfUeCYzim9DVDnJYWocL9Uzb9P3rvknDKZmAkFWgTVWq16GaX4xUsXVNLMkDm88q4vvxrCQyAerNzox27uF2yH1ca66pVu9GZkGHM1KJrNmyyYEm445wNgkgSx8ivhyC11SUKs3nTKNVrnc
|
||||
- peerId: 12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx
|
||||
address: 127.0.0.1:4432
|
||||
signingKey: 3i7TZgCtctChP9rA13BDuK2GmdbRL6sgk51JjetKyFt3SEqXN8M4EwcREWVfPYmayBKYPHveLzY7NsggxvKapJFdYH8F
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL87XWScKZWBBqSZseakgKVJfHqTUt3CiLPMKPDZtzQWLfb2ouiTbff5YTBZbGxwKqWYMAW8prEVjbcXBtkCi2Y2XkZ8v1ugidF5MC3d1ifnh5Es5CafB8kToUegtAig8vhMCuXAzLQpbiQyFLf25KcyKfVvHUomafaHyKCbYu1bmyGRC7CGxUD6jnPg2MYZZiJiq9scNRaRxbiqCe9C2VcUTFdigV65eGmZPKGgfAThcyKCdQSe1hmoXtNw5MaqbB3eQvkuS4GySap3SaEZUmGsmuVumUvHappUpN8x3UQs1TNWfYxULVx3tUMHfQ98G9No4gwP42ENMgCuMVQW9M68s73WCGucvpPUZdvQFiSJkSoKDqi2F6zdrM2LZTp8qGciunKDFZvh14eAGDbPLw9dBLVmMQLKq68yz8Nzi9BYWjzLa4fDNkoYETB8rArNPECAjVVW6PYLzueVNmqvo7RdWZGHF2YCRXr1wLG7jg4WBX4Lm5jQZS8bkWacbpj49b4nxRnjLsGusdCwRCZPY9qFPim2WU4z2KEgRS87x97TiYAThLUJwGBv5pBKRLkrAAoFWwkDSfxcRt83FiZtJ1hLWkpj6fK56SuubQUjWzNfVPCTfNqcod54PAPVESTuAPjDsmM4YeMGgUpaK9Goqbu1FuuZ9P6mQPwGKdpGuVgjJv7uQJZw3fpC9H1vJ4fa2wBrGFkahyEFo2QDb8iG9oGarpFxewJVVs12cpKJeQzU5dLFBvQJmGnHASTnBwfNBieDT7ZeFmnGuN7sLaPJ5wgdKJpY6aAooztyWfJPKTbxzYjUQMVoyW3YbTD3qg8F9grqVT1VFAp88ta1u55eokqz7h82EJNQf7GptDHxPRg4euAJ3BDvmRUfAwYzU8TD1gyiUnnHGRuvH25xgJRqauNrDLUbha33wVAHeMzWJhpLjLz4DLmtLejpfwNr5PuEbczqFAaLspf8dFjkrvmC3RrwHngKuzTkYo46WSJggWs3CwWDpzMmrATh2LRYmdH7BtNUkvu7onRzms8jWHBsFNfbCitMpfAsM3XmgtFUGTMi4LzVK3f5G8HqwGqcVEnFJTZzdoBsfNMKyFapXPnUBUHQse8jZjSYQv3dJpVuTV6HQ5R8saBdKDGMpXFyYqZK85cikcK6Nkd7ZrnbUUN2i6f3ano7hnxTbeW7kGxatUWETTwAzwGjdMhpJjieLFBTomAqqfXopEr1FeWcFmQ6kYBL2fa6XYqhZJevG6LpNXeuLcbyTiADt5CMNwt6MTmEomqtzqE7BgvqYEibuEj5K22ufvvLmX7XbGiB7wZKRPGuTR1pPDgJbzU9HGmF5fWjTVGPeNMn7ZmbQVcys6xy79notYp6MoQhBCTWyuuEuc24REEfMCjPuhNgssJQWT3ZR3xskrcEdCUyGbvQT2eWVa6atYsu5Z2m7sGXXwfH7vhdiUkVZEmhNPusij7dsMa9io63D6itYuu8Ed5aZYoUkZCfKZ39KQ16rtYpa9mfcwG4fyQy11Zy9G7nxdNJohGYeq3xuerSdwTDNdK2PREJcAoNA7Nfcsxk7333B5gXNFZKcBLQk56C1PqApLerSfo3jVuojcNAxYB688K6
|
||||
- peerId: 12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze
|
||||
address: 127.0.0.1:4434
|
||||
signingKey: 3iPPhpw3jndkSCvpZ4yf5eWYydZwbFAk7gdMkXZBgyh939AicHVakwkabDpxzhtrsgJEXrP5sKam9QL7weMyyoMrKNCH
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL5br9LinoxiiuQqGC7y6HBbvmQ9pcZM4F4q2oGDQA71ZumaTJ1RAiUDaxi1fBVnrvv4Tqm9fau3NyijggQ246UtHKemsPFBX9Qyv4oYZJ9X3WNNc9q3BkPX9C8WHdfda9fxW4wD1QYKzd5F1J7FdhxZh3MZUdc4GEfPLwew8dTfEJp7ipAvM7TY1r6URe4VHVmsdaEL3jsEUzEqL4MRSc69WdjdKZLyVzQVcjnLegFfoH2c6476MfnoPggeVGghPjDmoqoJ2kzHwjvDQKoGyC9m4wkicS4YZkVA6N2ezKBSumJkV1mY6hpBPuCtdYLDw2zsCqMq9AXFhtMxzSCtLLRnRVntErY3Wb8ty5vEnS8aY7B612okwdsMg2rYxP55ccK4zP7PoKTKTS4TWTqGiLW2GtptTLhQ7ynJudG9YArzwwjgqXaxExrMqFCSMCfQbVNvwv3SckfpwQjpJjCfRS73SQKPY8ghqrdKnuRHyUWpJbYb9y5doCWMCuLw6u6t2LqfcwknNkjoWNCG69tohSgRStbYfmA7AZvHzPGc3gKByZecVxdmvPmtbSLXRiB9FbqtuqEerGxpisL3FhDM6SVqxRm2E2SxwJTHVcyL2LNF5tE2V7mujSa5dwzZfbRA9p3SwFeRhd42z1r36iL92yugfa2SbHYYDhdKFCJLhMc8ogqd1b8oUBbwBktKg6p6MJeZdqS2vfsLQRnV8TyP72fKUjFtaQ4o7D6vQ9VnsBMQS9FF8PEuZ5yF3XQaMjJMpeGho3c4dNFEw4vCiUaVN2WzF7XR28dyGwLASMoVFuUoErgr7TUQm4yKJG8QaHePx7A7Ku3Ys6fvrDsBVJWz5taQB7cMBqXmrAg2DHSUwqr8XfhxXnv8cnZZzPTrtib86P7w3kUYLrJYaR6jur5jTFucFSxthKEMqzBPtS3wgn2hcj31ATSNR7FNDcZmteWex5vAzGkuDoCG4c7dUCGinT3akYvukR7WugdHAYySkhf6AhNGg4wrZ7y3YVRMwRkex3PumcwGGKoTvNMNMqz2kTCNjSsDr6xRBk8njCLwDMunvDZM7VThTMKQ4CvegCtX3kV11qk46WjouqFedYSmShmxB5dMMVKui3owicS3ioVXoSqCRAcov3LJ3zL5aQ19FBBvvezeN27PkcZjvXKQwNEpnMzJeLTLdz8guWrER9Vn7XB3zgvt6xzab8JbHJ62XEEGFC5EoU68D3Wn9oXH6EqfCNbUsfW6EScc7wcsRu7aLi4ddjYrDcd4pQgct3dpAzR9Z4ZHRgQi9k4DF8bg9LUjfjaJS53DGSiSSfGBNtkpdyLp8K8Y89BZRnw21yVcKwA8JD47By6s3vfJ8PdSTs4Lsfm7mEhERuVLyQC9wpPe6ysjzUTQjx7RyTaVVA9ENQfpc1XCdHufDFST1eeiRFLwKzEFCr2bATo5r5oQ6UtBdQv6eFaGv19ju4cikXTNq2vCGw6aMupdaESYeWL5Gs8ssCjb1K2iZfGwqidfTJejEiuoiD2S6shTRv6BFz3JrhU7XsZdLkU9rvDYJs6rWq4C4ix4VWDxNHktF7iBuCASnZjgMYs9Lipt5hZEow4FrWcvUtVQ8PXQT3SC
|
||||
26
etc/configs/12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs.yml
Executable file
26
etc/configs/12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs.yml
Executable file
@ -0,0 +1,26 @@
|
||||
anytype:
|
||||
swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec
|
||||
grpcServer:
|
||||
listenAddrs:
|
||||
- 127.0.0.1:4430
|
||||
- 127.0.0.1:4431
|
||||
tls: false
|
||||
account:
|
||||
peerId: 12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs
|
||||
signingKey: 3inYSp8q7WidZi7RkhLFNZPF9yMJXHpnyrTpTsE7cd2ggESfTAEpWiQNa8zCnNdzK9DpG6Mu5hDCZhfU6RMDL466H8om
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt6DUwLZka2Rq22vm33K5eezrMkGnXx8X13oQ8HBSHgkLmRZTC1737hgZ66s92QRNe1YC1v8JNiv6yXVuV3MujBkmrYYVbGB7DBz6REsGAMPmuqDiG5PubjVHP468MDJJYRTZN6VEJuSGZtEAyLBJe9iErRVFsMdNc6ZMbY5pxoYE6LHWbsfZejrnAXvgABTnYTN4ad6EaxRiEWHGACizr59uf3KYFb9hFwxkFMhenpTpxbkBwQp3V8MxV4eLbgsWQPMpfeGeinjmNRAnZfi6tnqSDLyy3RWM5y9W89rYKt3EdVRwcFWFHh8FgSjzhpqE77GEwjGU9ddKorUfW85jQGdd2xdFwQfLF2eTGEwSxX9Gz2fTTtkN4pNJC8MesKK2cRsLAZLb9rv5ebCMgQ3S86WjfbWRcEYLoKUWKjujiY1XT5GszTgSa2b68QpcDmqgUv7FiwcZwC5qaCsgoARZ2GGsPgW7mCBahxTJnor4dCLF9Aiz1YvFvwWzm8k9zUmY5pxPQFNSWfAAcodqEHJV6i9TSf5ERNLJCQiRTSStZZdoeqAf42sYCSdiaiVUc26Q7QcTxtxxpfCTqGc2Lgh6ofgwG1m2CfmhXTsBDwBFRc8q6TcGJ4fT4WuZXF9f4MhKHqgqppFKMWYyvtJyvypbJ735kU63UWWSMCo8BbVTRrtaq7bPHbgvHHWYso5o7PeqNuhD2YwTKd6wpbAeg8wpv3eEWB2sgotQ5JiW2itEyinLZHRpLvbtYGFWctsZisvBbCssiCsPqzG1DffZWNjt2nj1vztuapZLpz9azanCaXhFxLBBLVveEk4tvEknHtREwXtmTpQK5GqpmW9LTFqA5jj7fVtytYQFufe9Cp4HKNNodv1UCPQ1KTLwkwA6UEMwqamvE67GDDvjmE2XaMoq6ErEYX6FkQi2d9kbLJaFVGwYH3DVcbBGAJzSoeYceosuoQJBcKS19BhFqXWT1W3iKvMibadh8MYLim7ncxezuHFCyUPFnFn33kfzzTWTsFYbKDukCECRBKciptevx9zS6V2YiSgcYRWV7Rd8sNg8vAGUBQ6mLBtWNExn5gRkoBQDqN9BhfqpEbGo33JHb7GVLsN7um9VxKcTSkiDLPKTxijNevHeRWRbtbCvQ31WHaNLzihnsowVQMk8SV6CiqzqwUb4ETxiXCDHABGuCACcYVC2jgEoFuqSAwS6c2y5sfcjxWSe3hs9eLjyWmeHu75MbNcJN8EtBrLs4j2tWGtbq6BR7SYVcygUbscf75HKncC4YBkF1MWRHmos11ZKaCwLfjsTW6XUXdfhvpco6mxic8muiq5XA3G8x47stQ3eBoSXoehRAMd4FKNv9geDagAhjorfcMd7kCT5CEENMqCLpjtUsFXSGtjqpYg1aeaQsxdEszfw2LS5pvPQEnYmqMRxZsuYHbuAH4J7sQwvjn7ezWfpsJfwQT6EqDFJp4g6vcgfUeCYzim9DVDnJYWocL9Uzb9P3rvknDKZmAkFWgTVWq16GaX4xUsXVNLMkDm88q4vvxrCQyAerNzox27uF2yH1ca66pVu9GZkGHM1KJrNmyyYEm445wNgkgSx8ivhyC11SUKs3nTKNVrnc
|
||||
apiServer:
|
||||
port: "8080"
|
||||
nodes:
|
||||
- peerId: 12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3inYSp8q7WidZi7RkhLFNZPF9yMJXHpnyrTpTsE7cd2ggESfTAEpWiQNa8zCnNdzK9DpG6Mu5hDCZhfU6RMDL466H8om
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt6DUwLZka2Rq22vm33K5eezrMkGnXx8X13oQ8HBSHgkLmRZTC1737hgZ66s92QRNe1YC1v8JNiv6yXVuV3MujBkmrYYVbGB7DBz6REsGAMPmuqDiG5PubjVHP468MDJJYRTZN6VEJuSGZtEAyLBJe9iErRVFsMdNc6ZMbY5pxoYE6LHWbsfZejrnAXvgABTnYTN4ad6EaxRiEWHGACizr59uf3KYFb9hFwxkFMhenpTpxbkBwQp3V8MxV4eLbgsWQPMpfeGeinjmNRAnZfi6tnqSDLyy3RWM5y9W89rYKt3EdVRwcFWFHh8FgSjzhpqE77GEwjGU9ddKorUfW85jQGdd2xdFwQfLF2eTGEwSxX9Gz2fTTtkN4pNJC8MesKK2cRsLAZLb9rv5ebCMgQ3S86WjfbWRcEYLoKUWKjujiY1XT5GszTgSa2b68QpcDmqgUv7FiwcZwC5qaCsgoARZ2GGsPgW7mCBahxTJnor4dCLF9Aiz1YvFvwWzm8k9zUmY5pxPQFNSWfAAcodqEHJV6i9TSf5ERNLJCQiRTSStZZdoeqAf42sYCSdiaiVUc26Q7QcTxtxxpfCTqGc2Lgh6ofgwG1m2CfmhXTsBDwBFRc8q6TcGJ4fT4WuZXF9f4MhKHqgqppFKMWYyvtJyvypbJ735kU63UWWSMCo8BbVTRrtaq7bPHbgvHHWYso5o7PeqNuhD2YwTKd6wpbAeg8wpv3eEWB2sgotQ5JiW2itEyinLZHRpLvbtYGFWctsZisvBbCssiCsPqzG1DffZWNjt2nj1vztuapZLpz9azanCaXhFxLBBLVveEk4tvEknHtREwXtmTpQK5GqpmW9LTFqA5jj7fVtytYQFufe9Cp4HKNNodv1UCPQ1KTLwkwA6UEMwqamvE67GDDvjmE2XaMoq6ErEYX6FkQi2d9kbLJaFVGwYH3DVcbBGAJzSoeYceosuoQJBcKS19BhFqXWT1W3iKvMibadh8MYLim7ncxezuHFCyUPFnFn33kfzzTWTsFYbKDukCECRBKciptevx9zS6V2YiSgcYRWV7Rd8sNg8vAGUBQ6mLBtWNExn5gRkoBQDqN9BhfqpEbGo33JHb7GVLsN7um9VxKcTSkiDLPKTxijNevHeRWRbtbCvQ31WHaNLzihnsowVQMk8SV6CiqzqwUb4ETxiXCDHABGuCACcYVC2jgEoFuqSAwS6c2y5sfcjxWSe3hs9eLjyWmeHu75MbNcJN8EtBrLs4j2tWGtbq6BR7SYVcygUbscf75HKncC4YBkF1MWRHmos11ZKaCwLfjsTW6XUXdfhvpco6mxic8muiq5XA3G8x47stQ3eBoSXoehRAMd4FKNv9geDagAhjorfcMd7kCT5CEENMqCLpjtUsFXSGtjqpYg1aeaQsxdEszfw2LS5pvPQEnYmqMRxZsuYHbuAH4J7sQwvjn7ezWfpsJfwQT6EqDFJp4g6vcgfUeCYzim9DVDnJYWocL9Uzb9P3rvknDKZmAkFWgTVWq16GaX4xUsXVNLMkDm88q4vvxrCQyAerNzox27uF2yH1ca66pVu9GZkGHM1KJrNmyyYEm445wNgkgSx8ivhyC11SUKs3nTKNVrnc
|
||||
- peerId: 12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx
|
||||
address: 127.0.0.1:4432
|
||||
signingKey: 3i7TZgCtctChP9rA13BDuK2GmdbRL6sgk51JjetKyFt3SEqXN8M4EwcREWVfPYmayBKYPHveLzY7NsggxvKapJFdYH8F
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL87XWScKZWBBqSZseakgKVJfHqTUt3CiLPMKPDZtzQWLfb2ouiTbff5YTBZbGxwKqWYMAW8prEVjbcXBtkCi2Y2XkZ8v1ugidF5MC3d1ifnh5Es5CafB8kToUegtAig8vhMCuXAzLQpbiQyFLf25KcyKfVvHUomafaHyKCbYu1bmyGRC7CGxUD6jnPg2MYZZiJiq9scNRaRxbiqCe9C2VcUTFdigV65eGmZPKGgfAThcyKCdQSe1hmoXtNw5MaqbB3eQvkuS4GySap3SaEZUmGsmuVumUvHappUpN8x3UQs1TNWfYxULVx3tUMHfQ98G9No4gwP42ENMgCuMVQW9M68s73WCGucvpPUZdvQFiSJkSoKDqi2F6zdrM2LZTp8qGciunKDFZvh14eAGDbPLw9dBLVmMQLKq68yz8Nzi9BYWjzLa4fDNkoYETB8rArNPECAjVVW6PYLzueVNmqvo7RdWZGHF2YCRXr1wLG7jg4WBX4Lm5jQZS8bkWacbpj49b4nxRnjLsGusdCwRCZPY9qFPim2WU4z2KEgRS87x97TiYAThLUJwGBv5pBKRLkrAAoFWwkDSfxcRt83FiZtJ1hLWkpj6fK56SuubQUjWzNfVPCTfNqcod54PAPVESTuAPjDsmM4YeMGgUpaK9Goqbu1FuuZ9P6mQPwGKdpGuVgjJv7uQJZw3fpC9H1vJ4fa2wBrGFkahyEFo2QDb8iG9oGarpFxewJVVs12cpKJeQzU5dLFBvQJmGnHASTnBwfNBieDT7ZeFmnGuN7sLaPJ5wgdKJpY6aAooztyWfJPKTbxzYjUQMVoyW3YbTD3qg8F9grqVT1VFAp88ta1u55eokqz7h82EJNQf7GptDHxPRg4euAJ3BDvmRUfAwYzU8TD1gyiUnnHGRuvH25xgJRqauNrDLUbha33wVAHeMzWJhpLjLz4DLmtLejpfwNr5PuEbczqFAaLspf8dFjkrvmC3RrwHngKuzTkYo46WSJggWs3CwWDpzMmrATh2LRYmdH7BtNUkvu7onRzms8jWHBsFNfbCitMpfAsM3XmgtFUGTMi4LzVK3f5G8HqwGqcVEnFJTZzdoBsfNMKyFapXPnUBUHQse8jZjSYQv3dJpVuTV6HQ5R8saBdKDGMpXFyYqZK85cikcK6Nkd7ZrnbUUN2i6f3ano7hnxTbeW7kGxatUWETTwAzwGjdMhpJjieLFBTomAqqfXopEr1FeWcFmQ6kYBL2fa6XYqhZJevG6LpNXeuLcbyTiADt5CMNwt6MTmEomqtzqE7BgvqYEibuEj5K22ufvvLmX7XbGiB7wZKRPGuTR1pPDgJbzU9HGmF5fWjTVGPeNMn7ZmbQVcys6xy79notYp6MoQhBCTWyuuEuc24REEfMCjPuhNgssJQWT3ZR3xskrcEdCUyGbvQT2eWVa6atYsu5Z2m7sGXXwfH7vhdiUkVZEmhNPusij7dsMa9io63D6itYuu8Ed5aZYoUkZCfKZ39KQ16rtYpa9mfcwG4fyQy11Zy9G7nxdNJohGYeq3xuerSdwTDNdK2PREJcAoNA7Nfcsxk7333B5gXNFZKcBLQk56C1PqApLerSfo3jVuojcNAxYB688K6
|
||||
- peerId: 12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze
|
||||
address: 127.0.0.1:4434
|
||||
signingKey: 3iPPhpw3jndkSCvpZ4yf5eWYydZwbFAk7gdMkXZBgyh939AicHVakwkabDpxzhtrsgJEXrP5sKam9QL7weMyyoMrKNCH
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL5br9LinoxiiuQqGC7y6HBbvmQ9pcZM4F4q2oGDQA71ZumaTJ1RAiUDaxi1fBVnrvv4Tqm9fau3NyijggQ246UtHKemsPFBX9Qyv4oYZJ9X3WNNc9q3BkPX9C8WHdfda9fxW4wD1QYKzd5F1J7FdhxZh3MZUdc4GEfPLwew8dTfEJp7ipAvM7TY1r6URe4VHVmsdaEL3jsEUzEqL4MRSc69WdjdKZLyVzQVcjnLegFfoH2c6476MfnoPggeVGghPjDmoqoJ2kzHwjvDQKoGyC9m4wkicS4YZkVA6N2ezKBSumJkV1mY6hpBPuCtdYLDw2zsCqMq9AXFhtMxzSCtLLRnRVntErY3Wb8ty5vEnS8aY7B612okwdsMg2rYxP55ccK4zP7PoKTKTS4TWTqGiLW2GtptTLhQ7ynJudG9YArzwwjgqXaxExrMqFCSMCfQbVNvwv3SckfpwQjpJjCfRS73SQKPY8ghqrdKnuRHyUWpJbYb9y5doCWMCuLw6u6t2LqfcwknNkjoWNCG69tohSgRStbYfmA7AZvHzPGc3gKByZecVxdmvPmtbSLXRiB9FbqtuqEerGxpisL3FhDM6SVqxRm2E2SxwJTHVcyL2LNF5tE2V7mujSa5dwzZfbRA9p3SwFeRhd42z1r36iL92yugfa2SbHYYDhdKFCJLhMc8ogqd1b8oUBbwBktKg6p6MJeZdqS2vfsLQRnV8TyP72fKUjFtaQ4o7D6vQ9VnsBMQS9FF8PEuZ5yF3XQaMjJMpeGho3c4dNFEw4vCiUaVN2WzF7XR28dyGwLASMoVFuUoErgr7TUQm4yKJG8QaHePx7A7Ku3Ys6fvrDsBVJWz5taQB7cMBqXmrAg2DHSUwqr8XfhxXnv8cnZZzPTrtib86P7w3kUYLrJYaR6jur5jTFucFSxthKEMqzBPtS3wgn2hcj31ATSNR7FNDcZmteWex5vAzGkuDoCG4c7dUCGinT3akYvukR7WugdHAYySkhf6AhNGg4wrZ7y3YVRMwRkex3PumcwGGKoTvNMNMqz2kTCNjSsDr6xRBk8njCLwDMunvDZM7VThTMKQ4CvegCtX3kV11qk46WjouqFedYSmShmxB5dMMVKui3owicS3ioVXoSqCRAcov3LJ3zL5aQ19FBBvvezeN27PkcZjvXKQwNEpnMzJeLTLdz8guWrER9Vn7XB3zgvt6xzab8JbHJ62XEEGFC5EoU68D3Wn9oXH6EqfCNbUsfW6EScc7wcsRu7aLi4ddjYrDcd4pQgct3dpAzR9Z4ZHRgQi9k4DF8bg9LUjfjaJS53DGSiSSfGBNtkpdyLp8K8Y89BZRnw21yVcKwA8JD47By6s3vfJ8PdSTs4Lsfm7mEhERuVLyQC9wpPe6ysjzUTQjx7RyTaVVA9ENQfpc1XCdHufDFST1eeiRFLwKzEFCr2bATo5r5oQ6UtBdQv6eFaGv19ju4cikXTNq2vCGw6aMupdaESYeWL5Gs8ssCjb1K2iZfGwqidfTJejEiuoiD2S6shTRv6BFz3JrhU7XsZdLkU9rvDYJs6rWq4C4ix4VWDxNHktF7iBuCASnZjgMYs9Lipt5hZEow4FrWcvUtVQ8PXQT3SC
|
||||
26
etc/configs/12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx.yml
Executable file
26
etc/configs/12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx.yml
Executable file
@ -0,0 +1,26 @@
|
||||
anytype:
|
||||
swarmKey: /key/swarm/psk/1.0.0/base16/209992e611c27d5dce8fbd2e7389f6b51da9bee980992ef60739460b536139ec
|
||||
grpcServer:
|
||||
listenAddrs:
|
||||
- 127.0.0.1:4432
|
||||
- 127.0.0.1:4433
|
||||
tls: false
|
||||
account:
|
||||
peerId: 12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx
|
||||
signingKey: 3i7TZgCtctChP9rA13BDuK2GmdbRL6sgk51JjetKyFt3SEqXN8M4EwcREWVfPYmayBKYPHveLzY7NsggxvKapJFdYH8F
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL87XWScKZWBBqSZseakgKVJfHqTUt3CiLPMKPDZtzQWLfb2ouiTbff5YTBZbGxwKqWYMAW8prEVjbcXBtkCi2Y2XkZ8v1ugidF5MC3d1ifnh5Es5CafB8kToUegtAig8vhMCuXAzLQpbiQyFLf25KcyKfVvHUomafaHyKCbYu1bmyGRC7CGxUD6jnPg2MYZZiJiq9scNRaRxbiqCe9C2VcUTFdigV65eGmZPKGgfAThcyKCdQSe1hmoXtNw5MaqbB3eQvkuS4GySap3SaEZUmGsmuVumUvHappUpN8x3UQs1TNWfYxULVx3tUMHfQ98G9No4gwP42ENMgCuMVQW9M68s73WCGucvpPUZdvQFiSJkSoKDqi2F6zdrM2LZTp8qGciunKDFZvh14eAGDbPLw9dBLVmMQLKq68yz8Nzi9BYWjzLa4fDNkoYETB8rArNPECAjVVW6PYLzueVNmqvo7RdWZGHF2YCRXr1wLG7jg4WBX4Lm5jQZS8bkWacbpj49b4nxRnjLsGusdCwRCZPY9qFPim2WU4z2KEgRS87x97TiYAThLUJwGBv5pBKRLkrAAoFWwkDSfxcRt83FiZtJ1hLWkpj6fK56SuubQUjWzNfVPCTfNqcod54PAPVESTuAPjDsmM4YeMGgUpaK9Goqbu1FuuZ9P6mQPwGKdpGuVgjJv7uQJZw3fpC9H1vJ4fa2wBrGFkahyEFo2QDb8iG9oGarpFxewJVVs12cpKJeQzU5dLFBvQJmGnHASTnBwfNBieDT7ZeFmnGuN7sLaPJ5wgdKJpY6aAooztyWfJPKTbxzYjUQMVoyW3YbTD3qg8F9grqVT1VFAp88ta1u55eokqz7h82EJNQf7GptDHxPRg4euAJ3BDvmRUfAwYzU8TD1gyiUnnHGRuvH25xgJRqauNrDLUbha33wVAHeMzWJhpLjLz4DLmtLejpfwNr5PuEbczqFAaLspf8dFjkrvmC3RrwHngKuzTkYo46WSJggWs3CwWDpzMmrATh2LRYmdH7BtNUkvu7onRzms8jWHBsFNfbCitMpfAsM3XmgtFUGTMi4LzVK3f5G8HqwGqcVEnFJTZzdoBsfNMKyFapXPnUBUHQse8jZjSYQv3dJpVuTV6HQ5R8saBdKDGMpXFyYqZK85cikcK6Nkd7ZrnbUUN2i6f3ano7hnxTbeW7kGxatUWETTwAzwGjdMhpJjieLFBTomAqqfXopEr1FeWcFmQ6kYBL2fa6XYqhZJevG6LpNXeuLcbyTiADt5CMNwt6MTmEomqtzqE7BgvqYEibuEj5K22ufvvLmX7XbGiB7wZKRPGuTR1pPDgJbzU9HGmF5fWjTVGPeNMn7ZmbQVcys6xy79notYp6MoQhBCTWyuuEuc24REEfMCjPuhNgssJQWT3ZR3xskrcEdCUyGbvQT2eWVa6atYsu5Z2m7sGXXwfH7vhdiUkVZEmhNPusij7dsMa9io63D6itYuu8Ed5aZYoUkZCfKZ39KQ16rtYpa9mfcwG4fyQy11Zy9G7nxdNJohGYeq3xuerSdwTDNdK2PREJcAoNA7Nfcsxk7333B5gXNFZKcBLQk56C1PqApLerSfo3jVuojcNAxYB688K6
|
||||
apiServer:
|
||||
port: "8081"
|
||||
nodes:
|
||||
- peerId: 12D3KooWPviVQZY23iXQU7eva7k4ojyScagRAqE8cXm6cTm6rhNs
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3inYSp8q7WidZi7RkhLFNZPF9yMJXHpnyrTpTsE7cd2ggESfTAEpWiQNa8zCnNdzK9DpG6Mu5hDCZhfU6RMDL466H8om
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt6DUwLZka2Rq22vm33K5eezrMkGnXx8X13oQ8HBSHgkLmRZTC1737hgZ66s92QRNe1YC1v8JNiv6yXVuV3MujBkmrYYVbGB7DBz6REsGAMPmuqDiG5PubjVHP468MDJJYRTZN6VEJuSGZtEAyLBJe9iErRVFsMdNc6ZMbY5pxoYE6LHWbsfZejrnAXvgABTnYTN4ad6EaxRiEWHGACizr59uf3KYFb9hFwxkFMhenpTpxbkBwQp3V8MxV4eLbgsWQPMpfeGeinjmNRAnZfi6tnqSDLyy3RWM5y9W89rYKt3EdVRwcFWFHh8FgSjzhpqE77GEwjGU9ddKorUfW85jQGdd2xdFwQfLF2eTGEwSxX9Gz2fTTtkN4pNJC8MesKK2cRsLAZLb9rv5ebCMgQ3S86WjfbWRcEYLoKUWKjujiY1XT5GszTgSa2b68QpcDmqgUv7FiwcZwC5qaCsgoARZ2GGsPgW7mCBahxTJnor4dCLF9Aiz1YvFvwWzm8k9zUmY5pxPQFNSWfAAcodqEHJV6i9TSf5ERNLJCQiRTSStZZdoeqAf42sYCSdiaiVUc26Q7QcTxtxxpfCTqGc2Lgh6ofgwG1m2CfmhXTsBDwBFRc8q6TcGJ4fT4WuZXF9f4MhKHqgqppFKMWYyvtJyvypbJ735kU63UWWSMCo8BbVTRrtaq7bPHbgvHHWYso5o7PeqNuhD2YwTKd6wpbAeg8wpv3eEWB2sgotQ5JiW2itEyinLZHRpLvbtYGFWctsZisvBbCssiCsPqzG1DffZWNjt2nj1vztuapZLpz9azanCaXhFxLBBLVveEk4tvEknHtREwXtmTpQK5GqpmW9LTFqA5jj7fVtytYQFufe9Cp4HKNNodv1UCPQ1KTLwkwA6UEMwqamvE67GDDvjmE2XaMoq6ErEYX6FkQi2d9kbLJaFVGwYH3DVcbBGAJzSoeYceosuoQJBcKS19BhFqXWT1W3iKvMibadh8MYLim7ncxezuHFCyUPFnFn33kfzzTWTsFYbKDukCECRBKciptevx9zS6V2YiSgcYRWV7Rd8sNg8vAGUBQ6mLBtWNExn5gRkoBQDqN9BhfqpEbGo33JHb7GVLsN7um9VxKcTSkiDLPKTxijNevHeRWRbtbCvQ31WHaNLzihnsowVQMk8SV6CiqzqwUb4ETxiXCDHABGuCACcYVC2jgEoFuqSAwS6c2y5sfcjxWSe3hs9eLjyWmeHu75MbNcJN8EtBrLs4j2tWGtbq6BR7SYVcygUbscf75HKncC4YBkF1MWRHmos11ZKaCwLfjsTW6XUXdfhvpco6mxic8muiq5XA3G8x47stQ3eBoSXoehRAMd4FKNv9geDagAhjorfcMd7kCT5CEENMqCLpjtUsFXSGtjqpYg1aeaQsxdEszfw2LS5pvPQEnYmqMRxZsuYHbuAH4J7sQwvjn7ezWfpsJfwQT6EqDFJp4g6vcgfUeCYzim9DVDnJYWocL9Uzb9P3rvknDKZmAkFWgTVWq16GaX4xUsXVNLMkDm88q4vvxrCQyAerNzox27uF2yH1ca66pVu9GZkGHM1KJrNmyyYEm445wNgkgSx8ivhyC11SUKs3nTKNVrnc
|
||||
- peerId: 12D3KooWPzziVTnuypw4MC7m4mzdoh9CM5FXGrYiTW81pfjngmwx
|
||||
address: 127.0.0.1:4432
|
||||
signingKey: 3i7TZgCtctChP9rA13BDuK2GmdbRL6sgk51JjetKyFt3SEqXN8M4EwcREWVfPYmayBKYPHveLzY7NsggxvKapJFdYH8F
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL87XWScKZWBBqSZseakgKVJfHqTUt3CiLPMKPDZtzQWLfb2ouiTbff5YTBZbGxwKqWYMAW8prEVjbcXBtkCi2Y2XkZ8v1ugidF5MC3d1ifnh5Es5CafB8kToUegtAig8vhMCuXAzLQpbiQyFLf25KcyKfVvHUomafaHyKCbYu1bmyGRC7CGxUD6jnPg2MYZZiJiq9scNRaRxbiqCe9C2VcUTFdigV65eGmZPKGgfAThcyKCdQSe1hmoXtNw5MaqbB3eQvkuS4GySap3SaEZUmGsmuVumUvHappUpN8x3UQs1TNWfYxULVx3tUMHfQ98G9No4gwP42ENMgCuMVQW9M68s73WCGucvpPUZdvQFiSJkSoKDqi2F6zdrM2LZTp8qGciunKDFZvh14eAGDbPLw9dBLVmMQLKq68yz8Nzi9BYWjzLa4fDNkoYETB8rArNPECAjVVW6PYLzueVNmqvo7RdWZGHF2YCRXr1wLG7jg4WBX4Lm5jQZS8bkWacbpj49b4nxRnjLsGusdCwRCZPY9qFPim2WU4z2KEgRS87x97TiYAThLUJwGBv5pBKRLkrAAoFWwkDSfxcRt83FiZtJ1hLWkpj6fK56SuubQUjWzNfVPCTfNqcod54PAPVESTuAPjDsmM4YeMGgUpaK9Goqbu1FuuZ9P6mQPwGKdpGuVgjJv7uQJZw3fpC9H1vJ4fa2wBrGFkahyEFo2QDb8iG9oGarpFxewJVVs12cpKJeQzU5dLFBvQJmGnHASTnBwfNBieDT7ZeFmnGuN7sLaPJ5wgdKJpY6aAooztyWfJPKTbxzYjUQMVoyW3YbTD3qg8F9grqVT1VFAp88ta1u55eokqz7h82EJNQf7GptDHxPRg4euAJ3BDvmRUfAwYzU8TD1gyiUnnHGRuvH25xgJRqauNrDLUbha33wVAHeMzWJhpLjLz4DLmtLejpfwNr5PuEbczqFAaLspf8dFjkrvmC3RrwHngKuzTkYo46WSJggWs3CwWDpzMmrATh2LRYmdH7BtNUkvu7onRzms8jWHBsFNfbCitMpfAsM3XmgtFUGTMi4LzVK3f5G8HqwGqcVEnFJTZzdoBsfNMKyFapXPnUBUHQse8jZjSYQv3dJpVuTV6HQ5R8saBdKDGMpXFyYqZK85cikcK6Nkd7ZrnbUUN2i6f3ano7hnxTbeW7kGxatUWETTwAzwGjdMhpJjieLFBTomAqqfXopEr1FeWcFmQ6kYBL2fa6XYqhZJevG6LpNXeuLcbyTiADt5CMNwt6MTmEomqtzqE7BgvqYEibuEj5K22ufvvLmX7XbGiB7wZKRPGuTR1pPDgJbzU9HGmF5fWjTVGPeNMn7ZmbQVcys6xy79notYp6MoQhBCTWyuuEuc24REEfMCjPuhNgssJQWT3ZR3xskrcEdCUyGbvQT2eWVa6atYsu5Z2m7sGXXwfH7vhdiUkVZEmhNPusij7dsMa9io63D6itYuu8Ed5aZYoUkZCfKZ39KQ16rtYpa9mfcwG4fyQy11Zy9G7nxdNJohGYeq3xuerSdwTDNdK2PREJcAoNA7Nfcsxk7333B5gXNFZKcBLQk56C1PqApLerSfo3jVuojcNAxYB688K6
|
||||
- peerId: 12D3KooWL9qu6sDua8hK8sEyeUVzpei8SVf3DA4W1gVAxDMwW9Ze
|
||||
address: 127.0.0.1:4434
|
||||
signingKey: 3iPPhpw3jndkSCvpZ4yf5eWYydZwbFAk7gdMkXZBgyh939AicHVakwkabDpxzhtrsgJEXrP5sKam9QL7weMyyoMrKNCH
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL5br9LinoxiiuQqGC7y6HBbvmQ9pcZM4F4q2oGDQA71ZumaTJ1RAiUDaxi1fBVnrvv4Tqm9fau3NyijggQ246UtHKemsPFBX9Qyv4oYZJ9X3WNNc9q3BkPX9C8WHdfda9fxW4wD1QYKzd5F1J7FdhxZh3MZUdc4GEfPLwew8dTfEJp7ipAvM7TY1r6URe4VHVmsdaEL3jsEUzEqL4MRSc69WdjdKZLyVzQVcjnLegFfoH2c6476MfnoPggeVGghPjDmoqoJ2kzHwjvDQKoGyC9m4wkicS4YZkVA6N2ezKBSumJkV1mY6hpBPuCtdYLDw2zsCqMq9AXFhtMxzSCtLLRnRVntErY3Wb8ty5vEnS8aY7B612okwdsMg2rYxP55ccK4zP7PoKTKTS4TWTqGiLW2GtptTLhQ7ynJudG9YArzwwjgqXaxExrMqFCSMCfQbVNvwv3SckfpwQjpJjCfRS73SQKPY8ghqrdKnuRHyUWpJbYb9y5doCWMCuLw6u6t2LqfcwknNkjoWNCG69tohSgRStbYfmA7AZvHzPGc3gKByZecVxdmvPmtbSLXRiB9FbqtuqEerGxpisL3FhDM6SVqxRm2E2SxwJTHVcyL2LNF5tE2V7mujSa5dwzZfbRA9p3SwFeRhd42z1r36iL92yugfa2SbHYYDhdKFCJLhMc8ogqd1b8oUBbwBktKg6p6MJeZdqS2vfsLQRnV8TyP72fKUjFtaQ4o7D6vQ9VnsBMQS9FF8PEuZ5yF3XQaMjJMpeGho3c4dNFEw4vCiUaVN2WzF7XR28dyGwLASMoVFuUoErgr7TUQm4yKJG8QaHePx7A7Ku3Ys6fvrDsBVJWz5taQB7cMBqXmrAg2DHSUwqr8XfhxXnv8cnZZzPTrtib86P7w3kUYLrJYaR6jur5jTFucFSxthKEMqzBPtS3wgn2hcj31ATSNR7FNDcZmteWex5vAzGkuDoCG4c7dUCGinT3akYvukR7WugdHAYySkhf6AhNGg4wrZ7y3YVRMwRkex3PumcwGGKoTvNMNMqz2kTCNjSsDr6xRBk8njCLwDMunvDZM7VThTMKQ4CvegCtX3kV11qk46WjouqFedYSmShmxB5dMMVKui3owicS3ioVXoSqCRAcov3LJ3zL5aQ19FBBvvezeN27PkcZjvXKQwNEpnMzJeLTLdz8guWrER9Vn7XB3zgvt6xzab8JbHJ62XEEGFC5EoU68D3Wn9oXH6EqfCNbUsfW6EScc7wcsRu7aLi4ddjYrDcd4pQgct3dpAzR9Z4ZHRgQi9k4DF8bg9LUjfjaJS53DGSiSSfGBNtkpdyLp8K8Y89BZRnw21yVcKwA8JD47By6s3vfJ8PdSTs4Lsfm7mEhERuVLyQC9wpPe6ysjzUTQjx7RyTaVVA9ENQfpc1XCdHufDFST1eeiRFLwKzEFCr2bATo5r5oQ6UtBdQv6eFaGv19ju4cikXTNq2vCGw6aMupdaESYeWL5Gs8ssCjb1K2iZfGwqidfTJejEiuoiD2S6shTRv6BFz3JrhU7XsZdLkU9rvDYJs6rWq4C4ix4VWDxNHktF7iBuCASnZjgMYs9Lipt5hZEow4FrWcvUtVQ8PXQT3SC
|
||||
@ -1,22 +0,0 @@
|
||||
currentAlias: ULSsy
|
||||
nodes:
|
||||
- alias: ULSsy
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3hvsvs4FSnU1p6MFJFVaHFfTfTrD7efGbacacAcYbnWMcXcAQd7k6V7PgLbHddabQH18a1TnNKHQ3Z7yRinXohAzY8HT
|
||||
encryptionKey: udNkNsbKtm7eu1Bqt5d1jyhFAxd26wjema4tDqRiZ72xdCcBZvK6WBdpXWzb5w75FHEz8DDo7qoFLB9xAQA6GuNzoDTsWJjPX9vQHz2m9rCK5FcotjZF5WWCrgeg1FhyVcnF2zTSnw8kQFejMv4iCLnhjTC8op3U1eUpZ4GVxWQ1oLTg6dBS5MQsry7TU4gX77rJQF5gY2CnG9wK3Lv127vJZ6sphQXKQ3T5E7EfDoacGphH9ondtUgd7JRUices5PS7QMPXGVxqHjn2XR4SfRu6tN3USWVBMH5TbPfJbHvhGCHogbzj3ZXt3VidJKyHk2qnXASh9akFRAvgHpf7uhK4Eet3keXV93t9yeLZfttb5HdQ6PtapdMiYYAxPscd761daY5EdhmmBJWBRGSH2TephjcZDjYY1ZwFpNteXmyiWdvodA64cvHHbtFDQtbCu8oZ1GKvM6vq53rKkVvaJT58qrCoThFGVT3xXTFDSTAiKrLxXdiJikdk87mygvPyShdhASNH95be7co9HMrpit6V1Uyk92VcSWqb84bKDhYAsn5PEJSqNtrxRZjG2Zwzd8gFMwgGvcD8iZfhXUA1PWttZ2hwp2kaEanKsSh8sEA7qkJPpvi1f23fYPhhsxjK3DRauZStbaXHoFzWXQUwtDJnitMCwu9k3A7cJmxy9R5YjTnpivgsrivMcy5cHtDXVAKv4UT2DwSgN3d6phT4jzso2sXrmbNjCnrbJjP1A7UztBuwfefHgw4kKnimB4ZyGBWbtSLY42Lt2hSWcoQPcUXkVMTabEaMY8VKApSiRFVcZX9LyiN3vYMoLgFEFs6pnc6TGVRuMP5DfdyogyEyYHSK9iumSy8iVhftjvBc1xtvv4C8q3G3yipRawKiz9FymufgXBZgnHopo1aWaMsHsr5SwQWtaGapy1rNPX51rE9fLY3a4PhBT31a6XwFxJu7pdgWjXYxeN4rioRrfQUGy4D4PW81UTkqpkVZr3bUMWxUorW6tGpSm2irTwk2KM2a62pxErbTFMZUXdcT5zeZeYTFFpVMocaixGgBS4nYvviYXqeXvQ28uNLeWAiE1PTyur32ShHf8uvtoPfVXKhCfNmTkCBh9Met9b6NYoQwk9VTUAP9E3t9DPAAtyPigkLNdERtPEje4NAoV3wsa1WNXSKNU15dpYh3B6Qcvp95YfX253eucQmVjb71Synb4RkSBdnghZzsBYvhQewAkT3432i7hwnjyTWooDgbXMiHd3UaTTFsHS7EYSJxgCe94UEHUF2SL3Wqno1ReZ95678KLLdFwEPbbXWfvAnGU1KvEiMh9y6b7WMtTwx1kdwCghpwgDhE9ktMZNc6ypyWWLYA6473ge5WKrbnR3ugCoLaEpRAWmZBhc52zP9f7SZS1PgwF4fPtuxLtEJTTBkTkdPPwhQVTwfT8viggbdPVQG4iEhdRoEUBE46HC3MK4tchz8ev8CKJMQp4GH8zweGP3JKTNbNG6b7v6kTxHnvG5LbMJMGrq1tDfADDD8NwgL2Luhoe4y9JfAysK5UHkSWaQw9L7TsxUPgj3otgrwSjGFLvfc2D6zNddfGELcoWzNLzXoFZqAyQUvFdAqUcMYanepAQJke717Wv
|
||||
- alias: NpBrA
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3ixAJXFCYUu366ywFxsvNzAFQkVPyDKRiis1nCviHXUu5i3PkDP9FJFPGs5WZUMe83mEYVaipiW2ntiQXaxHYyYys6wp
|
||||
encryptionKey: JgG4CcCbae1qEpe7mL9SrVoZim2d7ydWKL1KV6dMtgKcnb62MVgezmTyTPrcx29ZF4wecMxKmQNcdYhAN1t7vDQTBgUrGdCbkCUYu3sLaQYuitCEM6nykS1WWTsKSkFS1HiAVoWeSpQTzVwDNM2VDkVyS5Vbmg9gnE8qt8EnebiD3Cg64YwWi3HgEyVRauygAktmanFJNRtkBsriTPFZn9RDh4mMxSa1Q4iTx4Gxuq6avw6WACWV3x7RpbwrkWh54d8abXUdWxFZGCfe87o9v4UrxcujhWzE4F4tbGyrPBNy7abamb3sVqzRZPAikLeAKeb3s8K5JpUKXTVEiKCNpijaBFBKSLf7znowdJ9NGTMsJCSwTpsznANsBMhaz5uGaL4ur8CK6u4VXQbH1yUpKrnnVVjzoXVqh4vAeUaA7sanWKdPwGcaS6oDwwWp9Mi7qrqYocWQ6EtaeAQhbQ4qRPygujnBdThGnXFLrriYH6Yzb3BJsEG9S5gXEDHytFKAYudmYd77xYcu1rN5k6V35c8EaNp8AWZbkCpkefsSPCc1dTG4Fgg9GnBwdJvrXLV6CrE6SQtjUgPcpiLGK65sEutgApbkfkyasPdpyBBp8xND4woihHpANkTx5Lxn68rDj2bk5NTLgZLJgixJRoNPLXtCWSnQU97xvtjU8UnT195KwkCTm8X62syiRE6jkR3seVWUrwLZ8qojdZkm3bS1yUyYAPaCapUwppTT4SSgTrhCjGjGkYJarJPsxinedwTEvCPzujRcNofq4nF1RedgfSimvkjHPaztQv8h8YmxX1iRZ99AoLzuSw3uohoPvDsQMt97uQFCEZt5gLmzZSXpQpNDmAX6xpwbmuHuLgP2fJ5XrygnZo1jFGPPcfTurx4aghyrBGhbVB1XBcLvrzr6XA5WtU9HwriFYx27TVfiKJFG4ZdsbSUgLSQcYKJz1cZTm2QntLaCMpiG4jEkQtaEPANgp9oARvrh6kizpkGMpuMfVbcfE4cNiYDKwkj4cHa1NRmZHzxUyKiwTzwxh2YKra28NQnFZCnbqm3kBAaf8RiJkjb489uMtDo1nQ3cFhH6X68BqnfAmx2QEWMDHeT1XLPPEAwMhJ3tqrb6nMx9oEjcof8GMxv2GyyMtsAUHFY3KE3NAvfwbgWh35V2kKiyZEmmMWrs5TuMncKCMib85ymwmfa79igHERnhH9dJhKn2HcbhUxSX3SUB1CRihDNnXLT4rExwJfQmZfUhJmAK2BjkfaEGwNwxfcLE3KWMi6BRAiXnYhBiLHeM47poNhc5c9wE5krvis6Mh3HeLxbwjLZxoLWEonQzxstSrRKz6FSzkqXWQKaavELLsiVvo7s7Ga9gMoTvLqmCK9Ksk2u1ZKkgwsp26JAfDkWpvx7UtnomdztpGbMFSiPFvHzEwhKz8qohCyBWDgN7ZjdN4doRyG98MR9wweRyKuneUE6qxXpBhCAGWSUdBYtd3EFtmpGfYscYKQazGNBw3YsfK3UADQQsWMPXqCWGqpi4mpqRsKrZv3niZB1XHHP6kNUGN75awEjh4soKhHwhpBdUx9NXYAx5BDQWR6CeZS3pzUVTnMNAcizm3SJoN6HhmhvBt7LNFEcphPtotM5f
|
||||
- alias: aVIrA
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3hwxb9marr5HkvtWrDkXmE82mBQrNUUxeqMbrBbUjXFJuENrAe6JwqftFjLFmHvTN3r9SELsxujsaehxv1b7VcXXf3ay
|
||||
encryptionKey: 2M2HT8EVmV3H4KkqzeTUAgw4okcbPbBpUxBMg6kLKpoiJPjg1fHZtZuZjc3HEHn5n7mihCs23uJVDGhtCjQXnpwWZUn2ezBzA1t4ZjURJUDCp7FzL7kKoFETtCuxrdh4j7RcbmA73in2C5YgXeUuEpMn39ApAXTxASMcdSzm9Tk9KMqVXNNMezfu836jDG5cj72wkJgzPFKhviEZTzYjPAeqe9qMnnGLPWqwDCarj2xeqx9n15zA1Ld2KfY5JDQQDj4WBohC5N4kLTzmNjiVnKBbZzLwfW42Nypz7AWxVeKYAZVPmKbTPtJRWGAtMjY3QC36SX8YqnkxV9cHUbCo7cWbEKctsDjJjMFxR5aXsiftqTo5REaVvu8RMQXx2QPshqxFBdJiGpfyrfBnjC6KbdszBTpdSQqiAEhNkoNuvniY8DTdrNWiH1n8CPuuzx3diQVSAaX1CnJzPqXhke2pBQBZWGsiMWFVFDUjZqH9PHe2BWZ3nMaKFxKAggiVhzpRFdC5xW4DbWsfaw9m2atKC5atWaaSs1uPkjtmURGP3DvFdWGdQfiEm5WBfMCR4sd9w5Y23SBFwPvMTJCHbKsAt5iqp9BwvnnX1D4sKxP2FA9Db16aZFczfzvWfsvWGRmZwt9y8dW8axBgCL526YYap9gihFPJbEEgABZpzrLzSTeVuJfsKuwXjwKBqEiGsJaAnKzEK7KwRhsJvz2e31MYx27E2u143njA7aD5AW3civNaDzbqkeTWJYwvXXavsJ94i3FAiG6FF8yARkcPxV76FV87QFwCfN6dz8ZJthmhEDMkLgTYcsVKkhzhGWnAYB2ayJjbmL28ewGDtQtFEAosdoVs6FYjKPUDVvahWiQWmGGnnF3FwY67JCkwnYzPB96kLSQcvjE366s8x8SFwZWy32u1JwwcCwAMBKJTN3RSc1KAa2VazM5knjgtyqyFeF3EJQZLHcLGrusSWpXFqBhMbnbn7Z4GuNNwuzjEDGKK2bJ97o9xtx1pgHjjvRoK6wfJ7zTDtFWXkJqCY6CtC2cwrkw4TuyhaBz1fCnD2Nu9jz2YWu5Ery7wGJkaiVW7wfPHK3ks9VLwXViF2kHDEB1c2AzabRyTWrgGb9JU1kt9PVQM8TPyKHbBvhp6pr4jmU188PMdHKkca8Nx6mTEWhn3QbTzqPxYBzmHSFrvVVKtwyU2J2izvHfbURQ3a9psDYriZVVFeDHRCN64RFku11JREa6ddjTupEoJmBpb9VBkqzmuXFw6diTruRVNQurgm38MVCKKswTLz4BxHGMSrZh5R3YJzFJScRCDkLVy8NgZeydY1h6iE53GCZDaP1Y68XREVqkaNRnrqkaTgL6Vvr9pV1oMSrKfwAUhcCaxS9n9fxSmy8xt1p1k8VYFV91FbkTZU1r2RMQKeWA1tPCDjs9Cd65GgRkvUgJ8zHi1x6GE9CneqmqTuUqXt1xiM6Ha2eZvcGFH99xpqcskCkTkP7GAJsddb3GUuoVgGzSkXBpMSt1ghSQHp8TArzuVYkLrVViygustEXp2YtJREu6c9NWFDnCyXKDUCcGMHtS6GK1entBMr5BWK6szHys3GPLr2mK76TNWX2Xqrm1C3rCkiARhhgTLqqu8zKhJFu
|
||||
- alias: JDBbe
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3i7vzUsjAfsaShNzUY4GQNWP6283s6HudHsWjKf55NoKBtVgcLhkVw7jA1nxt9fswtFsXGNLcpgyAScYUR3mHDZoD2Pk
|
||||
encryptionKey: 51HYzTYh5uokpYWp8EscYm3wA7Z7J2SQXirK8kjW1kkshSx3EBrkceia4jHcwbqMHSgFxBRBmuTRJAVqKPpLJ12CfEFfdcM3A2iiWJx65iacQmnFtCMvEuFrF4xKxYUyLMWXeoT5BCpLC4Vr6EDZuatvdQHER9T8fCqrBhm4ZSzyJfyzM6Vqj2pXwAMgnLN7hydUjYoxiR23E56zPva8eu1cuFuicMrmPUCwkpZohLE7wbytnkHESQvXNdbJTps3BZ7LP1K66RzwdLFvem3RC6ZxPTrNQfPeMa3KmYkaNtVPcMhbVtj2pTuLJ4EhKNx3WNLVr61UyR91n9EeQxA1G7mts7zeHN2sZbJfonJJkuxN8ppN3MeDfy8tWFRb1DQhgMwmojqhGNFQmJmbM79BHe2zSnySLNU5VtCbDobvsid2g4ZfdVgDqbBYdVaRHzgU8psDX6JiEhxZxEHu2VUy16S4PrWFa92yEpAsXQ1NLD5wg5e1utvVoWHAf4D8PyiNvy3FPwUZg42rmVbj8mWRoerDArQ4ey38SJgSX5LNddYyb6hpQQC8TQzFKTLXGgHsPsyXm8C6xdHnvtEVVNDAejbKHsDsEuom1g4EwgGdEZUYR6WKng8A9K2HP3B8fJA4qvdcnX5BgzGwGYFu5auin3doEKz6zmHmSKyWk7YMCAmeQ4UheTpBFzzW4ynRrKYQHbfRNh69skQmfJR8ANtVXcUX5VvrK8vampSxDZHMcbJKSTyh8D648HiFvoNZk77Q7K4XMiYY2ENjVfXABW29j7sLV6M3qwxqXxqerBmLRFeVZKvhrtqqG13xbQRMYqdxhSvFzcbauPE4RuLukdKiSRDh7nQrvhjp53trWLeHgECsrk4spBrsQXfn5MFJxzrt7xpcRkj4cwgiwobXfVj2z8YEakWC8965ZSr78GJgx4xDBtxJfYcxmXykysRhZd3rqfev47y9q9R5qPgZFy4PxGKsXkwFT6nwDmyghXLfVQYXsJXun2f4xwzJ7D23t825JiwwnUNrzCcEtG3fMRF3tm9yCXBB6iPRtgqwK1Uwpyu81Y9c2ztDw8zuScbMD1SAgeGcuZkA52VT7duqBLu2GAK2dddx8b4aDVZ44fGXSsmZ3bNQNPY4YtQb923hrSoPhNmwVjSLdiXWHWbszvBzMpxRKSnnNjG79St8h3Ydw9GAAuQjRkurpxWUKnhVUBUUBJ2ZvPaVADMqWzRyhKATHTSmGKtdHjX5uN8djjp6xt8FmUteQyKX9LxokMUneExp1nvQvgQxGUGdFqRqmBh2PjWvCXwsWZMaK1cFtriyqJVGr3NdsS1xCNhdxHkot2RxMeMAfzPRRsbHyR8LtJk9zcsCjWDJfpM5YBbgtrLzkuxMNPPCtMJdndyQbiW9ewY4n1WiXgH5mVkZcggrG6e78zu7jre9haC6MRKpNacsvvAUxvJLFqUFfWra48RU4MBp13Ad3JEaQkQgkKYj6qmoDK9mcaYxK3Pi8EeofAUta4kU2WBMnhsAzRCKnG2mdutsjkvTdFkEs9Nms7kvNDFdcdG6ZVQgDHdogpsSEfaXNYnoHdwNmiVGQvYEnBfgVgg4KihoBZMY5D5ZFv8amuj4mVeA9fyym1L
|
||||
- alias: PqyLS
|
||||
address: 127.0.0.1:4430
|
||||
signingKey: 3hwkRSkxTpC96DnUM9wWKRuxwLZS7CrKzXCGuWTdnhVHT644XMEEYoSiapATVMcE6Dhbmsqmpzop6ox1bqUXiyuCLbha
|
||||
encryptionKey: JgG4CcCbae1qEpe7mKhXWxXceQPz4hkU4XurwrRAoczMzDmkfpgnVtemFhuHyQqsBbEdeLrEBjxMyqu8TgtiZMD6cX4X7nPcmYRiyjq2dgeZtr7iw2syG7Zpxs5yL51jJCqbmRkJ4HCnGASFR7NWYwUGaEVKCRbgqGHwwNSBr7nKhrmm6ZHs5m6YSyXQbpqA8SxPce5GGGs6JesBzoBEh7f8S95SchThpqAKCFRFisTUFJBjbpuJTZ3T7GbR6tgVMcQTodZf2TAweStvkMzCtHpbLiDqkHxjEAB68p2KLwWN5PR9GuZQtupuKPDMVtmh3e7yvdrSF49ACL6nRSpRiB6ARMgTxb4X5sPR3CFiTVNqo7KK81KB1PyaytNkSHJ2WgURJrAafqt85BiCLney6Pk9xfGiSXve2FMY8mmzzLjccZa4PJER9WXGoFjd7QyfEkQcBEQpk77cKEeT5xc8mZEwg7sKkBGRZypMKkTd3vM3RVXRqavuq9GgW8oL1kPAZ7cknwveyZ4F446thVutK5ieXTwDikY5QpsJuJTKszpeK56EL1GWL9AV4z2xfPmsSVwvPYSi4mC5mSWgesVAatUXpWKCX5mwgw3U1D8WXhosCbnJTvtuAWKsmnyBUQWVxS3pGsb3wWZjHvnt294mUdqTbGAoS9PEGNGxEYqc7zf5i2vRfbCXAEHg9bi8qd4vMxpbxptT7s1MiTgDntFyLeKQLZ1aNkWtpfL2P3tT8VtzReEH72WQd8nMCdtFo3MiGZycqcFsSvpmofmq8DWLU6r7ZYJq5CXekrcyVBDHSbhf62KW2DMV3Z8htkUjZojwk5qVyeLNNBgDHFAFA4puZBMFVnjsn6hmwbUMqSY8kjrEsDqCXa2cLrSWu48Mm9LPLCaxsNAxVTAGAxHPBXww7cecJSWrFcfuK1iLNYg37fzU9ZYgGQ17wVMw35GL5xdq1ZC5tAdte8xYYoW4AfNoajPfnVMEHZMh7EpGLN9K4p4yr5dD9gsxtaBE8ZKJtMx5tyePS3BeajhB4Fsr7fb1CpssneCmJkXqzxqFy7U2wjaaW7FyJfwu4e5sa4KgAoNUyLHumD2F4AjDqBw7hCahut8Ua5Qo12WSjASxUAwoazPQyuech7xh71DGVPZGmzmcMamc8ek7rBWeWrxXPeTCfwXavW4F7aZDXqCHRDDjHkCaHYNyrYRhNY263Vy5VRDdKb8iHDfLToe1uf8z4BAaLQ7nYMWgZoHjum8TGQkGqCM5Jk4HpJY2mbahD4bjMueQcZH9ks82ttsrg7mFmALAUoyVjkub4KYyXhR6GqRDRLFaDUv7toM9gZ3L3p5n1RwJr7hFr2sRwjTGJ7hdSCzgNPk3NUGK3vnojpjQoKXNPgCXYyRJgTr2y7UoZWj15Gm8H1QnrK5Ar76i663RV1zu3MhghweFGnh7WE14j2NqJ4vkfe37AJmntwF19j4JdUpTtDY9b7DZT9ohSSeRkmoSuPsy9Vpai3JyFpfAWom8CmkYkDA2GR9Uwxmg2UuqWSoxxcsdn1dZJdfYWrrXodjK9PGsJ8YPLMTSZz2Ye4vshmW4znLam5B6Yh11vtivD8njej9cm8eCP2SvPcUvMyFb7ZW9p6ByeWSq
|
||||
@ -2,14 +2,11 @@ package account
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"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"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/encryptionkey"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/signingkey"
|
||||
"gopkg.in/yaml.v3"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
const CName = "account"
|
||||
@ -20,6 +17,7 @@ type Service interface {
|
||||
|
||||
type service struct {
|
||||
accountData *account.AccountData
|
||||
peerId string
|
||||
}
|
||||
|
||||
func (s *service) Account() *account.AccountData {
|
||||
@ -31,54 +29,42 @@ type StaticAccount struct {
|
||||
EncryptionKey string `yaml:"encryptionKey"`
|
||||
}
|
||||
|
||||
func NewFromFile(path string) (app.Component, error) {
|
||||
nodeInfo := &config.NodeInfo{}
|
||||
data, err := ioutil.ReadFile(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err = yaml.Unmarshal(data, nodeInfo); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
func New() app.Component {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
func (s *service) Init(ctx context.Context, a *app.App) (err error) {
|
||||
cfg := a.MustComponent(config.CName).(*config.Config)
|
||||
|
||||
// decoding our keys
|
||||
privateEncryptionDecoder := encryptionkey.NewRSAPrivKeyDecoder()
|
||||
privateSigningDecoder := signingkey.NewEDPrivKeyDecoder()
|
||||
publicSigningDecoder := signingkey.NewEDPubKeyDecoder()
|
||||
|
||||
var acc *config.Node
|
||||
for _, node := range nodeInfo.Nodes {
|
||||
if node.Alias == nodeInfo.CurrentAlias {
|
||||
acc = node
|
||||
break
|
||||
}
|
||||
}
|
||||
if acc == nil {
|
||||
return nil, fmt.Errorf("the node should have a defined alias")
|
||||
}
|
||||
acc := cfg.Account
|
||||
|
||||
decodedEncryptionKey, err := privateEncryptionDecoder.DecodeFromString(acc.EncryptionKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
decodedSigningKey, err := privateSigningDecoder.DecodeFromString(acc.SigningKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
signKey := decodedSigningKey.(signingkey.PrivKey)
|
||||
identity, err := publicSigningDecoder.EncodeToString(signKey.GetPublic())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
|
||||
accountData := &account.AccountData{
|
||||
// TODO: using acl lib format basically, but we should simplify this
|
||||
s.accountData = &account.AccountData{
|
||||
Identity: identity,
|
||||
SignKey: signKey,
|
||||
EncKey: decodedEncryptionKey.(encryptionkey.PrivKey),
|
||||
Decoder: signingkey.NewEd25519PubKeyDecoder(),
|
||||
}
|
||||
return &service{accountData: accountData}, nil
|
||||
}
|
||||
s.peerId = acc.PeerId
|
||||
|
||||
func (s *service) Init(ctx context.Context, a *app.App) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import (
|
||||
"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/config"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/acltree"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/sync/document"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/treecache"
|
||||
@ -25,11 +26,13 @@ type service struct {
|
||||
treeCache treecache.Service
|
||||
documentService document.Service
|
||||
srv *http.Server
|
||||
cfg *config.Config
|
||||
}
|
||||
|
||||
func (s *service) Init(ctx context.Context, a *app.App) (err error) {
|
||||
s.treeCache = a.MustComponent(treecache.CName).(treecache.Service)
|
||||
s.documentService = a.MustComponent(document.CName).(document.Service)
|
||||
s.cfg = a.MustComponent(config.CName).(*config.Config)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -40,12 +43,12 @@ func (s *service) Name() (name string) {
|
||||
func (s *service) Run(ctx context.Context) (err error) {
|
||||
defer func() {
|
||||
if err == nil {
|
||||
log.Info("api server started running on port 8080")
|
||||
log.With(zap.String("port", s.cfg.APIServer.Port)).Info("api server started running")
|
||||
}
|
||||
}()
|
||||
|
||||
s.srv = &http.Server{
|
||||
Addr: ":8080",
|
||||
Addr: fmt.Sprintf(":%s", s.cfg.APIServer.Port),
|
||||
}
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc("/treeDump", s.treeDump)
|
||||
|
||||
@ -2,16 +2,11 @@ package node
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/config"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/encryptionkey"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/signingkey"
|
||||
"github.com/libp2p/go-libp2p-core/crypto"
|
||||
"github.com/libp2p/go-libp2p-core/peer"
|
||||
"gopkg.in/yaml.v3"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
const CName = "NodesService"
|
||||
@ -25,32 +20,8 @@ type Node struct {
|
||||
EncryptionKeyString string
|
||||
}
|
||||
|
||||
func NewFromFile(path string) (app.Component, error) {
|
||||
nodeInfo := &config.NodeInfo{}
|
||||
data, err := ioutil.ReadFile(path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err = yaml.Unmarshal(data, nodeInfo); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var nodes []*Node
|
||||
privateEncryptionDecoder := encryptionkey.NewRSAPrivKeyDecoder()
|
||||
privateSigningDecoder := signingkey.NewEDPrivKeyDecoder()
|
||||
for _, n := range nodeInfo.Nodes {
|
||||
// ignoring ourselves
|
||||
if n.Alias == nodeInfo.CurrentAlias {
|
||||
continue
|
||||
}
|
||||
newNode, err := nodeFromYamlNode(n, privateSigningDecoder, privateEncryptionDecoder)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to parse node: %w", err)
|
||||
}
|
||||
nodes = append(nodes, newNode)
|
||||
}
|
||||
|
||||
return &service{nodes: nodes}, nil
|
||||
func New() app.Component {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
type Service interface {
|
||||
@ -62,6 +33,23 @@ type service struct {
|
||||
}
|
||||
|
||||
func (s *service) Init(ctx context.Context, a *app.App) (err error) {
|
||||
cfg := a.MustComponent(config.CName).(*config.Config)
|
||||
signDecoder := signingkey.NewEDPrivKeyDecoder()
|
||||
rsaDecoder := encryptionkey.NewRSAPrivKeyDecoder()
|
||||
|
||||
var filteredNodes []*Node
|
||||
for _, n := range cfg.Nodes {
|
||||
if n.PeerId == cfg.Account.PeerId {
|
||||
continue
|
||||
}
|
||||
node, err := nodeFromConfigNode(n, n.PeerId, signDecoder, rsaDecoder)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
filteredNodes = append(filteredNodes, node)
|
||||
}
|
||||
s.nodes = filteredNodes
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -81,8 +69,9 @@ func (s *service) Nodes() []*Node {
|
||||
return s.nodes
|
||||
}
|
||||
|
||||
func nodeFromYamlNode(
|
||||
n *config.Node,
|
||||
func nodeFromConfigNode(
|
||||
n config.Node,
|
||||
peerId string,
|
||||
privateSigningDecoder keys.Decoder,
|
||||
privateEncryptionDecoder keys.Decoder) (*Node, error) {
|
||||
decodedSigningKey, err := privateSigningDecoder.DecodeFromString(n.SigningKey)
|
||||
@ -95,33 +84,16 @@ func nodeFromYamlNode(
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rawSigning, err := decodedSigningKey.Raw()
|
||||
encKeyString, err := privateEncryptionDecoder.EncodeToString(decodedEncryptionKey.(encryptionkey.PrivKey).GetPublic())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
libp2pKey, err := crypto.UnmarshalEd25519PrivateKey(rawSigning)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
peerId, err := peer.IDFromPublicKey(libp2pKey.GetPublic())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
encKeyString, err := privateEncryptionDecoder.EncodeToString(
|
||||
decodedEncryptionKey.(encryptionkey.PrivKey).GetPublic())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
signKeyString, err := privateSigningDecoder.EncodeToString(
|
||||
decodedSigningKey.(signingkey.PrivKey).GetPublic())
|
||||
signKeyString, err := privateSigningDecoder.EncodeToString(decodedSigningKey.(signingkey.PrivKey).GetPublic())
|
||||
|
||||
return &Node{
|
||||
Address: n.Address,
|
||||
PeerId: peerId.String(),
|
||||
PeerId: peerId,
|
||||
SigningKey: decodedSigningKey.(signingkey.PrivKey).GetPublic(),
|
||||
EncryptionKey: decodedEncryptionKey.(encryptionkey.PrivKey).GetPublic(),
|
||||
SigningKeyString: signKeyString,
|
||||
|
||||
21
util/peer/peer.go
Normal file
21
util/peer/peer.go
Normal file
@ -0,0 +1,21 @@
|
||||
package peer
|
||||
|
||||
import (
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/util/keys/asymmetric/signingkey"
|
||||
"github.com/libp2p/go-libp2p-core/crypto"
|
||||
"github.com/libp2p/go-libp2p-core/peer"
|
||||
)
|
||||
|
||||
func IDFromSigningPubKey(pubKey signingkey.PubKey) (peer.ID, error) {
|
||||
rawSigning, err := pubKey.Raw()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
libp2pKey, err := crypto.UnmarshalEd25519PublicKey(rawSigning)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return peer.IDFromPublicKey(libp2pKey)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user