提交 c0546198 作者: Juan Batiz-Benet

do init id offline, only dont parse keys

(test was failing)
上级 7492a708
...@@ -86,6 +86,11 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { ...@@ -86,6 +86,11 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
peerstore := peer.NewPeerstore() peerstore := peer.NewPeerstore()
local, err := initIdentity(cfg, online)
if err != nil {
return nil, err
}
// FIXME(brian): This is a bit dangerous. If any of the vars declared in // FIXME(brian): This is a bit dangerous. If any of the vars declared in
// this block are assigned inside of the "if online" block using the ":=" // this block are assigned inside of the "if online" block using the ":="
// declaration syntax, the compiler permits re-declaration. This is rather // declaration syntax, the compiler permits re-declaration. This is rather
...@@ -95,17 +100,10 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { ...@@ -95,17 +100,10 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
// TODO: refactor so we can use IpfsRouting interface instead of being DHT-specific // TODO: refactor so we can use IpfsRouting interface instead of being DHT-specific
route *dht.IpfsDHT route *dht.IpfsDHT
exchangeSession exchange.Interface exchangeSession exchange.Interface
local *peer.Peer
) )
if online { if online {
// when not online, don't need to parse private keys (yet)
local, err := initIdentity(cfg)
if err != nil {
return nil, err
}
dhtService := netservice.NewService(nil) // nil handler for now, need to patch it dhtService := netservice.NewService(nil) // nil handler for now, need to patch it
exchangeService := netservice.NewService(nil) // nil handler for now, need to patch it exchangeService := netservice.NewService(nil) // nil handler for now, need to patch it
...@@ -159,7 +157,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) { ...@@ -159,7 +157,7 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
}, nil }, nil
} }
func initIdentity(cfg *config.Config) (*peer.Peer, error) { func initIdentity(cfg *config.Config, online bool) (*peer.Peer, error) {
if cfg.Identity.PeerID == "" { if cfg.Identity.PeerID == "" {
return nil, errors.New("Identity was not set in config (was ipfs init run?)") return nil, errors.New("Identity was not set in config (was ipfs init run?)")
} }
...@@ -179,21 +177,31 @@ func initIdentity(cfg *config.Config) (*peer.Peer, error) { ...@@ -179,21 +177,31 @@ func initIdentity(cfg *config.Config) (*peer.Peer, error) {
addresses = []*ma.Multiaddr{maddr} addresses = []*ma.Multiaddr{maddr}
} }
var (
sk ci.PrivKey
pk ci.PubKey
)
// when not online, don't need to parse private keys (yet)
if !online {
skb, err := base64.StdEncoding.DecodeString(cfg.Identity.PrivKey) skb, err := base64.StdEncoding.DecodeString(cfg.Identity.PrivKey)
if err != nil { if err != nil {
return nil, err return nil, err
} }
sk, err := ci.UnmarshalPrivateKey(skb) sk, err = ci.UnmarshalPrivateKey(skb)
if err != nil { if err != nil {
return nil, err return nil, err
} }
pk = sk.GetPublic()
}
return &peer.Peer{ return &peer.Peer{
ID: peer.ID(b58.Decode(cfg.Identity.PeerID)), ID: peer.ID(b58.Decode(cfg.Identity.PeerID)),
Addresses: addresses, Addresses: addresses,
PrivKey: sk, PrivKey: sk,
PubKey: sk.GetPublic(), PubKey: pk,
}, nil }, nil
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论