Fabric1.2研究笔记-了解Chain Code(二)

Life Cycle System Chaincode,主要提供chaincode的curd操作。chiancode安装分为两步,install和deploy或update。install需要管理员权限,对上传的chain code的基本信息(名称、版本等)进行简单校验后存放于特定目录,且生成的文件名格式为cc_name.cc_version,该目录及文件名设置代码如下

attachments-2018-03-9MDlTgOS5aa74ab46b850.png

作者:小清新的博客 
来源:CSDN 
原文:https://blog.csdn.net/baidu_37379451/article/details/81099928?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!


3、lscc

       Life Cycle System Chaincode,主要提供chaincode的curd操作。chiancode安装分为两步,install和deploy或update。install需要管理员权限,对上传的chain code的基本信息(名称、版本等)进行简单校验后存放于特定目录,且生成的文件名格式为cc_name.cc_version,该目录及文件名设置代码如下:

    // GetCCsPath returns the path where chaincodes are installed
    func GetCCsPath() string {
        return config.GetPath("peer.fileSystemPath") + string(filepath.Separator) + "chaincodes"
    }
     
     
    path := fmt.Sprintf("%s/%s.%s", chaincodeInstallPath, ccname, ccversion)

deploy或update由调用方决定,其接口并不会根据已有信息来判断是否是更新。

    var escc []byte
            if len(args) > 4 && len(args[4]) > 0 {
                escc = args[4]
            } else {
                escc = []byte("escc")
            }
     
            var vscc []byte
            if len(args) > 5 && len(args[5]) > 0 {
                vscc = args[5]
            } else {
                vscc = []byte("vscc")
            }

神秘的escc、vscc出现了,在deployOrUpdate接口内作为参数传递,显然escc和vscc被独立了出来,通过文档了解到其提供了签名(验证策略)和state相关的依赖项,可以自己实现接口,编译成so文件引用(详细信息待研究)。经过一些参数判断及cc名称(名称为key)及版本配置等,最后会将需要实例化的cc核心信息作为一个block进行存储,在数据库中collection nam为channelName_lscc(_lscc固定)。

综上所述,真正生效的cc为根据区块链上的cc信息去检索本地文件获取到的,peer节点下也保存所有上传过的不同版本的cc(不允许同名称同版本上传),后续的查询方法也是基于此。
4、cscc

Configure System Chaincode 主要是对配置区块configuration block的查询及修改等操作。
---------------------


章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。

attachments-2018-02-kL1zBfXx5a7ffd0b78798.jpg

  • 发表于 2018-10-16 14:07
  • 阅读 ( 2401 )
  • 分类:hyperledger

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
李晓琼

区块链技术开发爱好者

44 篇文章

作家榜 »

  1. 社区运营-小以 621 文章
  2. 社区运营-小链 238 文章
  3. 于中阳Mercina-zy 79 文章
  4. 涂晶 74 文章
  5. 李晓琼 44 文章
  6. 兄弟连区块链培训 42 文章
  7. 吴寿鹤 36 文章
  8. 刘旷 28 文章