IPFS初窥3
在上一篇文章中记录到了IPFS的BitSwap
协议,今天接着往下看关于Object
的部分。
Merkle DAG
Merkle DAG是IPFS核心概念之一,在Git的数据结构上进行了改造。理解Merkle DAG之前先来了解下Merkle Tree。
在上一篇文章中记录到了IPFS的BitSwap
协议,今天接着往下看关于Object
的部分。
Merkle DAG是IPFS核心概念之一,在Git的数据结构上进行了改造。理解Merkle DAG之前先来了解下Merkle Tree。
在上一篇文章中初步介绍了IPFS的基本概念和使用方法,今天更深入一些了解IPFS的设计理念。
根据 第三版 白皮书,IPFS体系可以分为7层:
虽然区块链有很多令人兴奋的特性,但是也有其固有的缺点。比如,文件或者长度较长的文本信息就不适合存储在链上。那么如何解决这个缺点呢?一个解决方案就是IPFS(Interplanetary File System)——星际文件系统。
本文作为简介篇不打算涉及网络及数据结构相关知识(比如什么是协议、什么是树、什么是图……),不过我相信各位看官既然能找到本文网络基础应该不是问题。
原文,阅读之前请先看200行GO代码实现区块链1 和 200行GO代码实现区块链2。
如果看到这了相信你已经知道什么是加密算法等背景了,所以忽略关于这部分的翻译,直接从编码开始。这篇文章在前两篇的文章基础上添加了工作量证明(POW)挖矿算法。
前提需要电脑中存在git
、docker
、docker-compose
命令以及有golang
开发环境。
首先创建目录存放Fabric代码,注意路径和权限,在启动服务时候会向其中写一些文件,最开始我就是没注意到这点报错了。
sudo mkdir /opt/gopath/src/github.com/hyperledger/
进入刚才创建的目录后拉取代码:
cd /opt/gopath/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
当前版本是1.1。
本地开发环境可以使用geth
和testrpc
(已经改名成ganache-cli)2种,如果只是进行测试或者学习智能合约开发的话,建议使用第二个。至于docker怎么安装网上很多这里不再赘述。