学习IPFS】的更多相关文章

注:以下所有操作均在CentOS 6.8 x86_64位系统下完成. IPFS(InterPlanetary File System)是一个点对点的分布式超媒体分发协议,被认为是最有可能取代HTTP的新一代互联网协议,关于IPFS的更多介绍可参考:IPFS官网. #准备工作# 在下载IPFS之前可能需要“***”,详见:Centos安装Shadowsocks+安装Privoxy+配置SSH使用代理. #安装IPFS# 这里我们直接下载其官方编译好的版本(Prebuilt Package). #…
星际名称系统(IPNS)是一个创建个更新可变的链接到IPFS内容的系统,由于对象在IPFS中是内容寻址的,他们的内容变化将导致地址随之变化.对于多变的事物是有用的.但是很难获取某些内容的最新版本. 在IPNS中名字是被哈希的公钥.它与一条记录相关联,该记录包含有关其链接的哈希的信息,该信息由相应的私钥签名.新的记录可以在任何时候被签名与发布. 查看IPNS地址,使用了/ipns/前缀: /ipns/QmSrPmbaUKA3ZodhzPWZnpFgcPMFWF4QsxXbkWfEptTBJd IP…
Hashes 哈希函数是接受一些任意输入并返回固定长度值的函数.具体值取决于所使用的给定哈希算法,例如SHA-1(GIT在使用),SHA-256,或者是BLAKE2,但是给予一个输入使用哈希算法总是返回相同的输出. 例如:输入以下: Hello world 使用SHA-1则会输出: 0x7B502C3A1F48C8609AE212CDFB639DEE39673F5E 然而相同的输入使用SHA-256将会输出以下: 0x64EC88CA00B268E5BA1A35678A1B5316D212F4F…
DNSLink 什么是DNS链接 DNS链接使用DNS TXT记录映射域名(如ipfs.io)到一个IPFS地址.因为你可以编辑自己的DNS记录,可以使他们总是指向最新版本的IPFS中的对象(如果修改了IPFS中的对象则IPFS中的对象地址也会改变).由于DNS链接使用DNS记录,所以可以设计名字/路径/(子)域/任何容易分类,阅读和记的名字. 一个DNS链接地址看起来像一个IPNS地址,但是DNS链接使用域名代替了被哈希的公钥: /ipns/myexampledomain.org 就像普通的I…
内容标识符(CIDs) 内容标识符也称为CID,是用于指向IPFS中材料的标签. 它不会指示内容的存储位置,但会根据内容本身形成一种地址. CID简短,无论其基础内容的大小如何. CID基于内容的加密哈希,意思是: 任何不相同的内容将会产生不同的CID 内容中相同的部分添加到两个不同的IPFS节点通过相同的设置应该产生相同的CID. CID格式 基于不同的编码或者是CID的版本使得CID具有不同的格式.多数存在的IPFS工具仍生成版本0的CID.但是file(MFS)和object现在默认使用C…
Distributed Hash Tables(DHT) 分布式哈希表是一个分布式的键值对存储结构.在IPFS网络中,每一个节点都维护一个DHT的子集.当节点接受到一个请求.该节点要么直接回复,要么通过节点间传输直到找到可以回复该请求的节点.取决于实现方式,一个请求如果不能被第一个连接的节点回复 进行节点间的转发,由最后一个节点联系收到请求的节点. 进行节点间的转发,回复结果按照相同的路径转发回到原节点. 由最优选择的节点对请求进行回复. IPFS使用这种策略. DHT的去中心化提供了相比于传统…
/*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是很深入,如果有不对的地方,希望各位大神指正*/ Merkle Tree概念 Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树.Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值.非叶节点是其对应子节点串联字符串的hash.[1] 1. H…
IPFS这个项目其实很大,并不像大家想象的是一个东西,IPFS是由很多模块组成,每一个模块现在都已经独立成项目了,并且有自己的主页.让我们来简单看一下IPFS家族成员. 协议实验室的主页:https://protocol.ai/projects/ 在协议实验室的主页上面,可以找到目前的五个个项目: IPFS:ipfs.io Filecoin: filecoin.io libp2p: libp2p.io IPLD:ipld.io Multiformats:multiformats.io (协议实验…
中国互联网的高速发展 已经接近10年,小编完整的经历这个过程.这一切我们从一个小网站 饭否 说起... 互联网 2006年3月16:Twitter上线 2007年5月12:  饭否上线 饭否是中国第一个抄袭Twitter的微博类 网站,饭否上线后用户数量快速上涨,到2009年上半年,饭否的用户数猛增到接近百万,影响越来越大,于是饭否被关停了,小编至今还记得饭否曾经创造出来的那些短小精悍的语句: 我这人从不记仇,一般有仇当场我就报了         别在我的坟前哭,脏了我轮回的路         …
第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售商品,买家可以自由地购物: 去中心化: 和淘宝或eBay不同,我们把所有的商业逻辑和核心数据都放在以太坊区块链上,这使 得它成为一个完全去中心化的应用.和淘宝这样中心化的电商平台相比,一个去中心化的P2P电商应用显然有其独特的价值--至少你不用担心被平台封账户了. IPFS: 在以太坊上存储用于商品…
IPFS星际文件系统(InterPlanetary File System)是去中心化文件系统,本文介绍IPFS节点软件系统安装,环境搭建等简介入门教程,及学习如何使用ipfs-api和Node.js访问IPFS网络. 一.ipfs节点安装与使用 1.1下载节点软件 到官网下载windows版的ipfs节点软件:32位,64位 如果你不能访问官网,可以使用百度云盘镜像:32位,64位 1.2解压节点软件 下载后解压到指定目录,例如d:\go-ipfs,开一个控制台窗口,测试: D:\go-ipf…
在上一篇文章介绍了IPFS要做什么, 本篇文章介绍下IPFS怎么用, 按照本站的风格,我不会仅仅把一个个命令列出来,同时会说明命令在后面为我们做了什么. IPFS 安装 要使用IPFS, 第一步肯定是先把IPFS安装好,IPFS在Mac OS X .Linux及Window平台均有提供, 可以通过这个链接下载对应平台可执行文件的压缩包. 对于Mac OS X 及 Linux 平台,使用一下命令进行安装: $ tar xvfz go-ipfs.tar.gz $ cd go-ipfs $ ./ins…
尽管网络上,已经有不少文章讨论IPFS,不过真正讲明白IPFS想做什么的很少,文本尝试站在未来Web3.0的高度来看看IPFS究竟用来解决什么问题. DApp 的缺陷 对区块链有所了解的同学,知道区块链维护的是一个中立的(去中心).共同信任.难以篡改的数据库.智能合约创造的是一个完全透明(不被干扰)的运行规则,因此可以解决信任问题. 一切看起来很美好,我们可以开发去中心化应用DApp 解决信任问题,由此也确实产生了很多的博彩类DApp游戏. 不熟悉DApp的同学可以看我另一篇文章程序员如何切入区…
Libp2p学习 参考资料:libp2p-specifications : https://github.com/libp2p/specs 持续更新ing 1. 介绍 Libp2p的实现目标是: 支持各种各样的传输方式: 传输:TCP,UDP,SCTP,UDP,uTP,QUIC,SSH,etc. 安全传输:TLS,DTLS,CurveCP,SSH 有效使用sockets(连接重用) 允许端点之间的交流可以在一个socket上复用(避免过多的握手) 允许端点之间通过一个协商过程使用多协议以及各自的…
如何将JSON文件存储在IPFS上,并使用Oraclize访问智能合约中的数据呢? 以太坊是一个成熟的区块链,使开发人员能够创建智能合约,在区块链上执行的程序可以由交易触发.人们经常将区块链称为数据库,但使用区块链作为数据存储非常昂贵. 以目前的价格(530美元,4gwei)在以太坊上存储250GB将花费你106,000,000美元.一般来说,我们可以忍受高成本因为我们: 不会在以太坊区块链上保存那么多数据. 区块链的审查制度,透明度和稳健性是值得的. 如果你是以太坊的新手,请查看此介绍. 去中…
公告 我们的群共享文件有备份到 IPFS 的计划,具体时间待定. 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复"教程/路线/比赛/报告/技术书/课程/轻小说/漫画/新知"来获取更多资源. 我们正在招募项目负责人,完成三次贡献可以申请,请联系片刻(529815144).几十个项目等你来申请和参与,不装逼的朋友,我们都不想认识. CDNDrive 第二次扩容完毕,新增了 3 个图床. "开源…
公告 我们的群共享文件有备份到 IPFS 的计划,具体时间待定. 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复"教程/路线/比赛/报告/技术书/课程/轻小说/漫画/新知"来获取更多资源. 我们正在招募项目负责人,完成三次贡献可以申请,请联系片刻(529815144).几十个项目等你来申请和参与,不装逼的朋友,我们都不想认识. CDNDrive 第二次扩容完毕,新增了 3 个图床. "开源…
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直播程序员写代码> 来介绍它. Livecoding.tv是在2015年2月在美国正式上线的.公司的总部位于旧金山,创办人也是一位程序员. 网上直播已经不是新鲜事了,但正儿八经地直播程序员写代码确实少见.难怪品玩的编辑在他的文章中这样写道:"这么逗的一个东西,你跟我说它是一个教育平台?呃,然而好…
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之前主要使用的是jQuery,由于本人非专业前段,代码写的自己都感觉是"一塌糊涂",十分混乱.现在看到Angular2十分火爆,跑了跑它的The Tour of Heroes的例子,感觉非常不错,代码组织的井井有条,于是乎决定学习一下Angular2,然后用它将之前的NiceMark重写一下…
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从python到Node.js,了解过设计模式,也跟风了微信公众号开发.然而却浅尝辄止,未曾深入.买了一本本的技术书籍,没完整的翻完一本.屯了一部部的pdf,却只是在手机里占着内存.想过改变,却从未曾着手改变. 以上算是我程序猿生涯的真实写照. 现在我要尝试改变,从基础的helloworld开始,记下学习…
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型,或者称为6种不同的使用场景,本文便是对这6种模型加以叙述. 2. Tutorials 在学习6种模型之前,我们首先需要安装RabbitMQ.RabbitMQ支持多种系统平台,各平台的安装方法可以点此查看.安装好之后,我们使用如下命令启用Web端的管理插件:rabbitmq-plugins enabl…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对象(如图黑色部分代表Terrain[地形]) 2.对地形Terrain增加纹理 .1 在Hierarchy选中Terrain对象可以看到在Inspector有关于Terrain的属性介绍 点击后,选择Edit Textures 在点击Add Textures 就可以为地形增加纹理了 .2点击完Add…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<Django By Example>第四章的翻译,这章非常的实用,就这样) 第四章 创建一个社交网站 在上一章中,你学习了如何创建站点地图(sitemaps)和feeds,你还为你的blog应用创建了一个搜索引擎.在本章中,你将开发一个社交应用.你会为用户创建一些功能,例如:登录,登出,编辑,以及重置他们…
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的优势,又抛弃了基层语言的繁杂. 第一天:函数的使用 和c语言一样,python有自己集成好的函数库,而我们就是使用..像字符串函数(可以使用help(str)进行查看): 会出来一大堆的形容,作为一个新手,我也根本不懂这到底是什么鬼,但是往下走,可以发现很多的函数. 许多的函数也是用英语在进行介绍,…
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填一次. 思路:大概看了线程相关的一些知识,对线程的运行机制,同步机制,以及整个系统都做一个全面的了解.在深入每一个部分去看一下线程及其相关包的源码做深入了解. 目标:线程,并发包(线程池,并发的数据结构,锁,原子类). 通过一些资料的查看最终把目标定位在线程和并发包上,线程是核心,并发包是辅助工具,…
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该文件,会报错 4.运行test2.js 二.模块简单使用 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Node环境中,一个.js文件就称之为一个模块(module). 模块化的开发的好处:提高代码的可维护性,避免修…
在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维. 1. scikit-learn PCA类介绍 在scikit-learn中,与PCA相关的类都在sklearn.decomposition包中.最常用的PCA类就是sklearn.decomposition.PCA,我们下面主要也会讲解基于这个类的使用的方法. 除了PCA类以外,最常用的PCA相关类还有KernelPCA类,在原理篇我们也讲到…
花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别人总结出来的东西,看一遍可以发现自己的理解偏差,而且还可以看到一些平时不太关注的内容,当然看也可以是一种学习技术的方式. 最开始只是想了解一下AOP,没想到就陷的这么深,为了搞清楚spring是如何完成切面功能这两天还是把Ioc部分的内容也给读了读.还是看懂了大概,只不过这复杂的内部结构确实不易理解…
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实现机制. 上篇中最后有那段代码使用了一个ProxyFactory类来完成代理的工作,从而实现了Aop的Around Advice,代码如下: package aop.demo; import org.springframework.aop.framework.ProxyFactory; public clas…