目录
前言
上次我们跑通了官方的byfn.sh的官方文档,当然官方的文档是远远满足不了我们的业务需求,所以我们需要创建一个属于我们自己的区块链网络,那么接下来我会从零开始一步步的创建这个项目,首先大家要把自己的环境配置好,这个之前的文章写过了,这里就不过多赘述了,大家可以去看我之前的文章。链接如下:
文章 | 链接 |
---|---|
1、搭建虚拟机 | 点击此处 |
2、创建root用户 | 点击此处 |
3、搭建网络环境 | 点击此处 |
4、运行官方byfn.sh跑通网络 | 点击此处 |
那么确保这些都没问题我们就可以着手开始开发属于我们自己的项目了。
系列文章直通车
名称 | 链接 |
---|---|
创建自己的区块链网络 一 | 点击此处 |
创建自己的区块链网络 二 | 点击此处 |
创建自己的区块链网络 三 | 点击此处 |
创建自己的区块链网络 四 | 点击此处 |
创建自己的区块链网络 五 | 点击此处 |
一、创建目录
任何一个项目都要创建一个项目目录,可是这个目录我们要创建在哪里呢?
这里我们创建目录需要创建在gopath里面的src中,这样我们可以引用项目目录的文件。
1、切换至gopath/src
cd /home/work/go/src/
我这里是配置了goroot,你们可以放到gopath的src中。
2、创建文件夹
mkdir work-test
cd work-test
mkdir application chaincode deploy
#然后ls查看是否创建好
ls
cd application/
mkdir blockchain controller lib public util
到了这里我们的一整个项目目录就搞定了,就完成了第一步。
二、复制官方文件
接下来我们需要把官方的文件复制过来,我们可以直接用鼠标右键复制也可以用cp命令复制,那么我接下来用cp命令复制过来
1、首先切换至deploy
cd deploy
2、复制必要文件
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/base/ /home/work/go/src/work-test/deploy/
#这里需要注意下路径,如果不行就使用鼠标右键 文件在你们fabric-samples下面的first-network里面
#接下来复制其他文件
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/scripts/ /home/work/go/src/work-test/deploy/
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/byfn.sh /home/work/go/src/work-test/deploy/
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/eyfn.sh /home/work/go/src/work-test/deploy/
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/crypto-config.yaml /home/work/go/src/work-test/deploy/
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/configtx.yaml /home/work/go/src/work-test/deploy/
cp -a /usr/local/go/src/github.com/hyperledger/fabric-samples/first-network/docker-compose-cli.yaml /home/work/go/src/work-test/deploy/
到这里我们所需要的文件就全部复制过来了。接下来我们需要修改官方的文件
三、修改crypto-config.yaml文件
接下来我们需要更改这个文件,这个文件是用来干嘛的呢?我们首先要搞清楚这个问题。
这个文件是用来指定整个网络中相关组织的详细信息的。是与组织结构以及身份证书相关联的配置文件,可以理解为组织结构以及身份证书都是通过整个配置文件来生成的,所以这一步非常重要就相当于高楼大厦的地基,那么接下来我们来修改这个文件。
1、确定几组织几成员
首先我们需要确定这个网络的有几个组织,一个组织里面有几个成员,只有确定好了我们才能够更好的修改配置文件。那么我这里确定的组织成员如下:
组织 | 成员 |
---|---|
Orderer | 1个用户成员 |
Organization1 | 1个用户成员 |
Organization2 | 1个用户成员 |
Organization3 | 1个用户成员 |
2、修改文件
那么修改过后的文件就是这样的。
OrdererOrgs:
# ---------------------------------------------------------------------------
# Orderer
# ---------------------------------------------------------------------------
- Name: Orderer #Order的名称
Domain: slzce.com #域名,这里如果要修改那么后面的很多地方也要修改,但是我们很多情况都要修改
EnableNodeOUs: true
Specs:
- Hostname: orderer #Hostname+Domain构成了Orderer节点的完整域名
#OrderOrgs组织下的一个Orderer组织
PeerOrgs:
# ---------------------------------------------------------------------------
# Org1
# ---------------------------------------------------------------------------
- Name: Organization1
Domain: organization1.slzce.com #与上面的Orderer节点的域名相对应
EnableNodeOUs: true #这个的作用会在组织的下面的msp目录下生成config.yaml这个我们需要
# ---------------------------------------------------------------------------
Specs:
- Hostname: node1
- Hostname: node2
Users:
Count: 1
# 我们使用这种方法,这里注意缩进
# ---------------------------------------------------------------------------
# Template:
# Count: 2
# 我们不使用这种方法
- Name: Organization2
Domain: organization2.slzce.com #与上面的Orderer节点的域名相对应
EnableNodeOUs: true #这个的作用会在组织的下面的msp目录下生成config.yaml这个我们需要
# ---------------------------------------------------------------------------
Specs:
- Hostname: node1
- Hostname: node2
Users:
Count: 1
- Name: Organization3
Domain: organization3.slzce.com #与上面的Orderer节点的域名相对应
EnableNodeOUs: true #这个的作用会在组织的下面的msp目录下生成config.yaml这个我们需要
# ---------------------------------------------------------------------------
Specs:
- Hostname: node1
- Hostname: node2
Users:
Count: 1
#直接拷贝注意缩进还有修改name以及Domain
结语
为了大家的阅读体验,这个我会分作几篇文章来写,敬请期待。
创作不易,多多支持!