Skip to content

Latest commit

 

History

History

主要api流程概要分析

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

主要API概要流程分析

目录

init

go-ipfs/cmd/ipfs/init.go

  • 解析json配置文件到内存中,解析到conf中

  • 执行doInit函数进行初始化

  • 初始化配置到内存

  • 初始化资源目录

  • 初始化pns空间(ipns名称是本节点id,且绑定到一个空目录)

回到目录

daemon

go-ipfs/cmd/ipfs/daemon.go :func daemonFunc

  • 解析传参、初始化配置
  • 启动网络侦听服务
    • swarm服务 默认4001
    • api服务 默认5001
    • 网关服务 默认8080
  • 完成启动

回到目录

add

go-ipfs/core/commands/add.go->go-ipfs/core/coreunix/add.go

  • 分片-> 调用dag层cache 到内存-> 如果有pin选项,持久化到本地(分片方式是可选的

  • DAG 调用交换层,广播宣告provide信息,存储到内容dht表中。

回到目录

get

go-ipfs/core/commands/get.go

调用DAG层

本地有 -> 结束

本地无 -> 由dag服务调用交换、路由、网络获取对应的内容

回到目录

cancel

通过context进行线程控制,资源回收

回到目录