Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
c0546198
提交
c0546198
authored
9月 30, 2014
作者:
Juan Batiz-Benet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
do init id offline, only dont parse keys
(test was failing)
上级
7492a708
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
24 行增加
和
16 行删除
+24
-16
core.go
core/core.go
+24
-16
没有找到文件。
core/core.go
浏览文件 @
c0546198
...
...
@@ -86,6 +86,11 @@ func NewIpfsNode(cfg *config.Config, online bool) (*IpfsNode, error) {
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
// this block are assigned inside of the "if online" block using the ":="
// declaration syntax, the compiler permits re-declaration. This is rather
...
...
@@ -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
route
*
dht
.
IpfsDHT
exchangeSession
exchange
.
Interface
local
*
peer
.
Peer
)
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
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) {
},
nil
}
func
initIdentity
(
cfg
*
config
.
Config
)
(
*
peer
.
Peer
,
error
)
{
func
initIdentity
(
cfg
*
config
.
Config
,
online
bool
)
(
*
peer
.
Peer
,
error
)
{
if
cfg
.
Identity
.
PeerID
==
""
{
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) {
addresses
=
[]
*
ma
.
Multiaddr
{
maddr
}
}
skb
,
err
:=
base64
.
StdEncoding
.
DecodeString
(
cfg
.
Identity
.
PrivKey
)
if
err
!=
nil
{
return
nil
,
err
}
var
(
sk
ci
.
PrivKey
pk
ci
.
PubKey
)
sk
,
err
:=
ci
.
UnmarshalPrivateKey
(
skb
)
if
err
!=
nil
{
return
nil
,
err
// when not online, don't need to parse private keys (yet)
if
!
online
{
skb
,
err
:=
base64
.
StdEncoding
.
DecodeString
(
cfg
.
Identity
.
PrivKey
)
if
err
!=
nil
{
return
nil
,
err
}
sk
,
err
=
ci
.
UnmarshalPrivateKey
(
skb
)
if
err
!=
nil
{
return
nil
,
err
}
pk
=
sk
.
GetPublic
()
}
return
&
peer
.
Peer
{
ID
:
peer
.
ID
(
b58
.
Decode
(
cfg
.
Identity
.
PeerID
)),
Addresses
:
addresses
,
PrivKey
:
sk
,
PubKey
:
sk
.
GetPublic
()
,
PubKey
:
pk
,
},
nil
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论