ipfs

星际文件系统,大家都知道
代码下载在这里

c++ ipfs client

这个客户端是根据一个开源的client修改的,实际上依然是根据libcurl的http协议来保持节点的互通,也就是外层协议封装的是http,restful方式,而内层核心依然是ipfs的文件系统方式。

例如节点就建立在本机,ipfs::client client(“localhost”,5001) 建立基础客户端,如下代码所示

int main(int, char**) {try {ipfs::Client client("localhost", 5001);/** [ipfs::Client::FilesGet] */std::stringstream contents;client.FilesGet(//"Qmd7tVnUvsGVUcn6Hnv4Td6bmSfKq17bsQgfsDRy5BBVoX",//"Qme4kQCUWinrYm29afMw1nodBNE3A3ykd85MuB9MJcDxcm","QmRdPPAPup1PxUoWbNP48dHKhm6B3ZSzR2Pn1AGCkeeGSz",&contents, DownloadCallback,ProgressCallback);//std::cout << contents.str().length();//std::cout << "Retrieved contents: " << contents.str().length() <<std::endl; // contents.str().substr(0, 8) << "..."}catch (const std::exception& e) {std::cerr << e.what() << std::endl;return 1;}Sleep(INFINITY);return 0;
}

回调函数DownloadCallback,ProgressCallback 分别代表下载callback 和进度callback,如下所示

static size_t DownloadCallback(void* pBuffer, size_t nSize, size_t nMemByte, void* pParam)
{//把下载到的数据以追加的方式写入文件(一定要有a,否则前面写入的内容就会被覆盖了)  FILE* fp = NULL;fopen_s(&fp, "c:\\222.docx", "ab+");size_t nWrite = fwrite(pBuffer, nSize, nMemByte, fp);fclose(fp);return nWrite;
}static int ProgressCallback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow)
{if (dltotal > -0.1 && dltotal < 0.1)return 0;int nPos = (int)((dlnow / dltotal) * 100);std::cout << "now the process is:" << nPos << std::endl;//通知进度条更新下载进度  //::PostMessage(g_hDlgWnd, WM_USER + 110, nPos, 0);//::Sleep(10);  return 0;
}

客户端冯转了文件增加和文件获取,如下所示

 void FilesGet(const std::string& path,std::iostream* response,//下载回调DlCallback dlcallback = NULL,//进度回调PrCallback prcallback = NULL);void FilesAdd(/** [in] List of files to add. */const std::vector<http::FileUpload>& files,/** [out] List of results, one per file. For example:* [{"path": "foo.txt", "hash": "Qm...", "size": 123}, {"path": ...}, ...]*/Json* result);

封装的函数还是相当的可靠的,代码质量可以,json解析使用的是json.hpp。

代码下载在这里

ipfs c++client相关推荐

  1. 利用IPFS构建自己的去中心化分布式Wiki系统

    IPFS全称InterPlanetary File System,中文名:星际文件系统,是一个旨在创建持久且分布式存储和共享文件的网络传输协议. 它是一种内容可寻址的对等超媒体分发协议.在IPFS网络 ...

  2. 【问链财经-EOS公开课】 第十九课 EOS存储之IPFS

    编者按:EOS每秒百万的tps如果要实现的话,按照一个交易数据100字节计算,1天的区块数据量为1000000 * 100 * 60 * 60 * 24 = 7.8TB,一年的区块数据量为7.8 * ...

  3. 以太坊ipfs_动手:Infura和以太坊上的IPFS入门

    以太坊ipfs by Niharika Singh 由Niharika Singh 动手:Infura和以太坊上的IPFS入门 (Hands On: Get Started With Infura a ...

  4. 最新,使用truffle框架之后,安装ipfs的api包文件的命令变化

    原因 项目文件路径变化了,不是先前直接在项目文件夹里面直接执行安装ipfs的命令了,需要切换到client文件夹下面执行 路径不对,会出现错误,错误提示如下 切换到正确的路径之后,使用命令 npm i ...

  5. 使用IPFS集群搭建创建私有IPFS网络

    基本介绍 IPFS 网络分两类: 公有 私有 对于大多数商用应用尤其是企业级解决方案而言,需要对自身数据有完全的控制,这种场合公有IPFS网络并不适用,搭建私有IPFS往往是这类应用的必要需求. 本文 ...

  6. 【戴嘉乐】(进阶)基于IPFS和Ngrok构建自维护资源网关

    作者简介:戴嘉乐( Mr.Maple ) | 前百度高级研发工程师 | IPFS应用实践者&布道师| 个人网站:https://www.daijiale.cn 联系方式:微信号:daijial ...

  7. IPFS直播最详细解读—FileCoin Demo演示

    Decentralized Web Summit (DWS) 2018 于2018年7月31到8月2日在旧金山举行.DWS由非盈利组织Internet Archive在2016年发起举办,致力于在全球 ...

  8. Libp2p - IPFS 与 Polkadot :双剑合璧会有时

    Libp2p - IPFS 与 Polkadot:双剑合璧会有时 波卡之中的IPFS protocol Substrate与IPFS: Libp2p的"中继"理念 生态互赢:为什么 ...

  9. ipfs 云服务器_安丘ipfs服务器,ipfs云算力组装

    安丘ipfs服务器 就像那年轻纺城机房刚启用的时候,大家的货物都堆在机房里,没有人统一管理,设备需要上架的时候,到一大堆货物中自行寻找,安装后的垃圾也没有人打扫,后连堆积的地方都找不到,有时自己的货物 ...

最新文章

  1. [YTU]_2445(C++习题 输入输出--公用继承)
  2. MySQL表名不区分大小写的设置方法
  3. 转:SVN的Local方式:个人源码管理的好办法
  4. lora发射和接收原理_无线收发模块LoRa
  5. mysql集群异地部署_linux 环境下 部署mysql 集群
  6. Vmware 6.5.1正式版在Ubuntu 8.10下面运行非常缓慢的解决方
  7. 小波变换和motion信号处理(一)
  8. Fastjson jar包下载地址
  9. 14.Java实现UDP通信
  10. 新华书店牵手阿里云 要用云计算打造“智慧悦读”
  11. 关于git 提交报错rejected解决
  12. 在Kali操作系统上使用metasploit
  13. 计算机主板电池拆卸,台式机主板电池怎么拆
  14. Android监听消息(二)——电话及短信监听
  15. 2、Terraform-安装
  16. 含LOB的表实际容量计算方法
  17. jexus-net-dockerfile
  18. 批量替换文本中的多组字符串
  19. 没有赏味期限,只有来日方长
  20. python keys模块_python自动化常用模块

热门文章

  1. ucos ii 源代码中文注释详解 : OS_TIME.C
  2. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)
  3. 微软亚研院华刚对科研的见解
  4. ​再现Bug?iPhone13 拍照翻车自带炫屏 网友:没想到我也“中奖”了
  5. 999元/1499元起!Redmi Note 10系列正式首销
  6. iPhone 13 mini背部新外观曝光:双摄对角线排布
  7. 微信“拍一拍”的后悔药来了!手滑拍了老板终于有救了
  8. 华为Mate 40 Pro概念渲染图曝光:首发屏下摄像头技术?
  9. 三大运营商公布11月运营数据:中国移动固网业务表现亮眼
  10. 100款违法违规APP下架整改:微店、更美等在列