建立办法首要参考http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/devenv/的英文文档说明,我用的是Vagrant办法在windows(其他环境的就不要往下看了,我不敢保证)建立,亲测没问题。
准备工作:
Git client(https://git-scm.com/downloads)
Go - 1.6 or later(https://golang.org/)
Vagrant - 1.7.4 or later(https://www.vagrantup.com/)
VirtualBox - 5.0 or later(https://www.virtualbox.org/)
这些都必须要用到,git首要用于同步源码,go首要是建立go言语的编译环境,因为源码是go言语编写的。点击文档说明的链接下载,装置办法和环境变量的设置能够百度,一大堆的参考资料,基本都比较靠谱。后两个就更简略,下载下来装置就行了。别的,因为后边要用到ssh指令,我下载了一个Cygwin64 Terminal,装置挑选包的时分查找openssh,然后挑选这个包,装置之后,也需求装备环境变量,详细自己百度。
建立过程:
第一步:
首要保证你之前装置go言语的编译环境建立好了。
然后在git指令行中输入 :
git config --get core.autocrlfgit
config --global core.autocrlf false
没有深究为什么,按照文档来就行了。
第二步:
把github中的fabric源码拉下来
cd $GOPATH/src
mkdir -p github.com/hyperledger
cd github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
$GOPATH这个目录在windows下能够随便定,主张后边的按他说的来。源文档的git clone指令可能是针对有Linux id的来的,能够不用他的指令。
第三步:
用Vagrant来装备虚拟机
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant up
vagrant up第一次时间十分长,有时还断,所以主张FQ,而且要全局加快,亲测速度确实要稳定一些。文档里说运转了这个指令之后就能够喝咖啡去了,要a few minutes,我表示不服。
Vagrant装好之后,大部分的工作就完成了,然后便是部署一些东西。
之后的vagrant up启动都是这个姿态:

部署过程:
翻开ssh:
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant ssh
这个时分假如没装之前的ssh,就会报错。

安全验证(可选):
这个是可选项,首要用作member的身份认证,详细作用表现在后边的指令加不加username上。
cd $GOPATH/src/github.com/hyperledger/fabric
make membersrvc && membersrvc

运转验证peer:
开别的一个指令行窗口,运转
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant ssh
然后
cd $GOPATH/src/github.com/hyperledger/fabric
make peer
peer node start --peer-chaincodedev
这样,peer节点就起来了。

编译chaincode:
另开一个指令行窗口,运转:
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant ssh
然后挑选源码中的一个比如chaincode机型编译
cd$GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
go build
注册和运转chaincode:
CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02
mycc是chaincode的名称,能够随便定,只需在后边的过程中对应使用就行了。

Hyperledger fabric 开发环境搭建

CLI调试:
我没有用REST方式,用的CLI。
用户注册:
cd $GOPATH/src/github.com/hyperledger/fabric/peer
peer network login
username要从membersrvc.yaml里边选,比如jim,然后会要求输入暗码,把后边的暗码输入就行了。然后注册会成功。

peer窗口能够看到注册信息:

Chaincode的部署买卖:
peer chaincode deploy -n mycc -c 'https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg"Function":"init", "Args": ["a","100", "b", "200"]}'
假如使用了安全形式:
CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode deploy -u jim -n mycc -c 'https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg"Function":"init", "Args": ["a","100", "b", "200"]}'
Chaincode的调用买卖:
peer chaincode invoke -l golang -n mycc -c 'https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg"Function": "invoke", "Args": ["a", "b", "10"]}'
假如使用了安全形式:
CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode invoke -u jim -l golang -n mycc -c 'https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg"Function": "invoke", "Args": ["a", "b", "10"]}'
Chaincode的查询买卖:
peer chaincode query -l golang -n mycc -c 'https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg"Function": "query", "Args": ["b"]}'
安全形式:
CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query -u jim -l golang -n mycc -c 'https://bicoin8.com/wp-content/uploads/2023/04/202304211cHpE0.jpg"Function": "query", "Args": ["b"]}'

peer窗口

chaincode窗口

部署,调用和查询三个买卖在这几个窗口中都能够看到。
删去安全形式下的临时文件:
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant ssh
rm -rf /var/hyperledger/production
先写到这,后边关于hyperledger的设计逻辑,我想清楚了再跟继续我们汇报
有任何问题能够去Hyperledger论坛沟通:http://8btc.com/hyperledger

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注