美文网首页
4. 杂七杂八

4. 杂七杂八

作者: eftales | 来源:发表于2020-03-08 15:46 被阅读0次

到这一步想必你已经对 fabric 有大致了解了,但是仍存在一点疑惑。这里记录一些零碎的小知识,或许可以解答你的疑惑。

fabric 一定要用到 docker 吗?

在默认情况下,智能合约的运行需要一个独立的环境,因此你每实例化一个 chaincode(即运行 peer chaincode instantiate ),peer程序都会创建一个docker镜像(fabric-ccenv)用于运行该 chaincode,因此fabric是避不开docker的。

但是似乎可以设置 fabric 的模式,设置为非 dev 模式就不依赖 docker 了。(似乎)

我把fabcar例子跑通过了,但是没有见到 fabric-ccenv 这个镜像啊

fabric-ccenv 只在 chaincode 实例化的过程中被创建,实例化完成之后就会被 commit 为一个新镜像,也就是 dev 开头的镜像。用 docker images 也可以看到这个镜像,用docker ps 可以看到这个容器。

chaincode 实例化的过程中都做了哪些事情

  1. 下载 fabric-shim 和 fabric-contract-api 两个 nodejs 库
  2. 但是这两个库不是纯 JavaScript,因此还需要下载一些 c 代码,然后通过 node-pre-gyp 编译为可执行文件
  3. 完成以上两步之后,才算完成了实例化的第一阶段
  4. 将完成第一阶段的容器 commit 为一个新的镜像(镜像的名字以dev开头),之后run这个镜像。

chaincode 实例化到哪里了?

逻辑上说是 channel。链码在 channel 上实例化,但是 channel 并不是一个物理存在的东西,因此实例化对应到实现上就是创建若干个dev开头的容器。dev开头容器的数量和背书节点相同。
例如背书节点有两个,这两个背书节点应该形成两个dev容器,但是这两个容器并不是在同时生成的。peer chaincode instantiate 的时候会生成第一个dev容器,之后用 peer chaincode invoke 调用智能合约会生成剩余的dev容器。

一定需要虚拟专用网络嘛

十分推荐,由于实例化不仅仅需要nodejs库,还会下载其他文件,所以即使更换了npm源也没有用。
如果没有虚拟专用网的话,实例化就是一个抽签过程,大概率失败,小概率成功。

chaincode 实例化失败怎么办?

如果有虚拟专用网

直接把实例化的命令再执行一遍,一般就ok了

没有虚拟专用网

烧香拜佛,然后再执行一遍

更多有关报错的可以参见文章常见错误

一个 channel 是否可以实例化多个 chaincode ?

可以,实例化的方法见文章。

同一个 channel 的 chaincode 是否可以实现数据共享?

默认情况下不行,不同的 contract 有不同的 context。但是有 chaincode 间交互的api,可以参考 https://hyperledger.github.io/fabric-chaincode-node/

相关文章

  • 4. 杂七杂八

    到这一步想必你已经对 fabric 有大致了解了,但是仍存在一点疑惑。这里记录一些零碎的小知识,或许可以解答你的疑...

  • 一些杂七杂八的说说

    这些年来,有一些杂七杂八的个人感受,一些杂七杂八的个人观点,于是就有了这篇杂七杂八的个人说说。 片断感受一: 的确...

  • 小画

    杂七杂八的比较多

  • linux 常用命令

    linux 常用命令 杂七杂八

  • 杂记第3天

    早餐:家常早餐。午餐:馄饨和一些杂七杂八。晚餐:接着吃了一些杂七杂八。 运动:下身力量训练时间半小时。 阅读:《下...

  • 杂七杂八!

  • 【杂七杂八】

    文/现实糟蹋了梦想 错位的灵魂 指引着 错位的身体 站在了错位的身份上 寒风把古筝弹起 引来了漫天的黑云 遮住了阳...

  • 杂七杂八

    爸爸最近身体不舒服,体重下降的厉害,明天上午需要跟他去医院查一下肝脏、甲状腺、血糖等方面,现在又咳嗽了,真是为他的...

  • 杂七杂八

    想要一份默契十足的长久爱情:想和你用黑白两色、充电五分钟通话一小时的手机,就算不见面我也想叽叽喳喳和你斗嘴。夏天也...

  • 杂七杂八

    拔牙后的第三天,伤口还是有点不舒服,连带着头也开始疼了。打开手机的照相功能当镜子,查看伤口,悲催的是,手机自...

网友评论

      本文标题:4. 杂七杂八

      本文链接:https://www.haomeiwen.com/subject/pnnddhtx.html