当前位置: 首页 > news >正文

陕西汽车网站建设专门做win7系统的网站

陕西汽车网站建设,专门做win7系统的网站,纯文本网站建设,网站怎么添加软件解决了官方示例指令需要科学上网才能运行的问题(通过手动下载二进制文件和拉取官方fabric-samples)。具体的将bootstrap.sh脚本解读了一遍 具体可以参照我的博客 fabric中bootstrap.sh到底帮助我们干了什么?(curl -sSL https://bi…

解决了官方示例指令需要科学上网才能运行的问题(通过手动下载二进制文件和拉取官方fabric-samples)。具体的将bootstrap.sh脚本解读了一遍 具体可以参照我的博客 fabric中bootstrap.sh到底帮助我们干了什么?(curl -sSL https://bit.ly/2ysbOFE | bash -s执行不成功,如何手动执行相相关操作?)_sh bootstrap.sh_小小小小关同学的博客-CSDN博客

前期的准备工作不再记录 也就是安装go docker docker-compose等操作

链码部署与调用等操作基于完成克隆fabric-samples仓库、拉取二进制文件、下载需要的镜像这些操作之后

这个脚本可以快速帮助我们搭建起自己的fabric网络 是一个单机多节点的示例。对于脚本的具体实现在搭建完多级部署后再看会有不一样的体会,将一些指令通过脚本的方式封装执行节省了使用者的操作,类似于一个fabric尝鲜。笔记中还有对basic链码的标注,看懂链码学会调用!


1.查看test-network脚本的使用说明

./network.sh -h  

可以看出我们可以通过他给出的这些指令来完成对应的功能,也可以用过一些参数也自定义通道名称。

2.启动测试网络

./network.sh up

启动后创建了四个结点: cli ;两个peer结点 一个排序结点。

3.创建通道

 

./network.sh createChannel  (可以带上 -c 通道名称  来指定)我使用的是默认名称mychannel

 执行成功后

4.在通道上安装一个链码

 在我们安装链码之前最好去链码所在的目录去查看一下链码所需要的依赖包是否成功导入:

可以先进入到链码所在的目录看一看:../asset-transfer-basic/chaincode-go 就是这个目录下。

 cd ../asset-transfer-basic/chaincode-go

这里已经有了vendor 之前遇见过没有的情况 也就是要自己手动拉取一下(go mod vendor)

然后回到test-network执行部署链码命令

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

成功后:

 注意:

如果没有vendor的话可与参考下面的方法,有的话直接跳过就可以(有的时候没有的话也先执行一些启动连链码的那条指令 可能会帮助拉取vendor)

执行前注意使用 go env 查看go环境 确认配置好了gomoudle ,然后在chaincode-go目录下输入

go mod vendor 即可 然后再次查看就能看到vendor

回到测试网络.sh文件所在的目录下 重新启动链码即可

 

5 与网络交互

到现在我们的basic链码已经成功安装了,现在我们可以对basic链码的功能来一个测试了:

  • 使用以下命令将这些二进制文件添加到您的CLI路径:
export PATH=${PWD}/../bin:$PATH
  • 您还需要将fabric-samples代码库中的FABRIC_CFG_PATH设置为指向其中的core.yaml文件:
export FABRIC_CFG_PATH=$PWD/../config/
  • 现在,您可以设置环境变量,以允许您作为Org1操作peer CLI:
export CORE_PEER_TLS_ENABLED=true export CORE_PEER_LOCALMSPID="Org1MSP" export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp export CORE_PEER_ADDRESS=localhost:7051
  • 运行以下命令用一些资产来初始化账本:
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"InitLedger","Args":[]}'

这是初始化账本的源码实现,就是讲结构变量通过json.Marshal转换成json 再通过PutState讲资产存入世界状态。

  • 现在你可以用你的 CLI 工具来查询账本。运行以下指令来获取添加到通道账本的资产列表(在运行指令之前可以先看看链码中对于这个函数的实现到底是怎样的):

可以看到这个想要调用这这个函数 只需要一个传入一个交易上下文接口就可以了,但是在使用中这个应该是fabric内部自己传入的并不需要我们来传入,所以对于这个函数我们并不需要传入任何参数,直接给出函数名即可。

peer chaincode query -C gdwchannel -n basic -c '{"Args":["GetAllAssets"]}'

  • basic中还给出了一些其他函数,我们可以看看具体怎么实现的 然后来调用它
  • 添加资产

命令:(下面命令一次性输入)

peer chaincode invoke -o localhost:7050 \--ordererTLSHostnameOverride orderer.example.com \--tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" \-C mychannel \-n basic \--peerAddresses localhost:7051 \--tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" \--peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" \-c '{"function":"CreateAsset","Args":["asset7","pink","20","HEUN","888"]}'

  • 删除资产

peer chaincode invoke -o localhost:7050 \--ordererTLSHostnameOverride orderer.example.com \--tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" \-C mychannel \-n basic \--peerAddresses localhost:7051 \--tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" \--peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" \-c '{"function":"DeleteAsset","Args":["asset1"]}'

  • 更新资产(修改资产)

peer chaincode invoke -o localhost:7050 \--ordererTLSHostnameOverride orderer.example.com \--tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" \-C mychannel \-n basic \--peerAddresses localhost:7051 \--tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" \--peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" \-c '{"function":"UpdateAsset","Args":["asset7","RED","20","gdw","888"]}'

  • 转移资产

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"TransferAsset","Args":["asset6","Christopher"]}'

  • 切换身份

之前都是使用组织1来验证代码的增删改查操作,现在我们可以再开一个终端,用组织2来验证功能,只需要变更环境变量即可!

export CORE_PEER_TLS_ENABLED=true export CORE_PEER_LOCALMSPID="Org2MSP" export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp export CORE_PEER_ADDRESS=localhost:9051

然后就可以在 peer0.org2.example.com上来调用一些智能合约,比如来查询我们自定义的资产7看看是否能在组织二上查询到

peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset","asset7"]}'

完成后想要关闭测试网络的话可以执行:

./network.sh down

http://www.yayakq.cn/news/804281/

相关文章:

  • 怎么做俄语网站网络营销案例成功案例分析
  • 江门网站推广深圳公司有限公司名称大全
  • 网站群的建设篮网最新消息
  • 河南网站制作工作室wordpress自动发帖
  • 静态网页模板网站物流网站模板
  • 上海百度关键词优化公司国内seo公司排行榜前十名
  • 路由器做网站80端口wordpress外链视频
  • 如何做网站卖衣服长沙网站设计拓谋网络
  • 网站设计毕业设计任务书做网站需要哪些钱
  • 网站优化排名推荐网站套用
  • 不错的免费网站建设龙岗
  • 花瓣按照哪个网站做的贵州交通建设集团网站
  • 建设一个域名抢注的网站足球哪个网站做的比较好
  • 门户网站做免费相亲的如何建设外贸网站
  • 网站存储空间开发工具选项卡在哪
  • 网站根目录验证文件用h5做网站首页代码
  • 珠海网站开发哪家好东莞网页
  • 网站源码下载音乐旅游网站建设策划方案书
  • 网站建设需要看什么书做纸巾定制的网站
  • 普陀营销型网站建设蓝色网站素材
  • 微信小程序自助建站北京移动网站建设
  • 网站开发软文有什么公司要做推广的
  • 资讯门户网站 dede医药cms是什么意思
  • 如何创办一个赚钱的网站蓝色商务网站模板
  • 东莞营销型网站建站那个网站可以做学历认证
  • 做网站哪个语言好市通建设工程质量监督局网站
  • 北京网站制作与建设公司网站注册主机
  • 企业网站做的好的有什么公司厦门 网站设计
  • 建立企业网站选什么好汉沽网站建设公司
  • 网页作业班级网站怎么做网店