【21天转型区块链】DAY6

区块链核心技术——智能合约

链码(智能合约)的基本概念

智能合约是由事件驱动的、具有状态的、存储和运行在区块链上的程序

Fabric链码基本概念

Channel — 通道,子链

1、同一peer可加入不不同channel 链码的操作基于Channel进行

2、同一channel上的peer结点同步其上链码执行的结果

Endorser — 模拟执行链码

1、分离计算任务,减轻共识节点负担,增加吞吐量

2、支持endorsement policy

Orderer — 对链码执行结果共识

支持solo/kafka/FBFT不同的ordering策略

Committer — 将链码执行结果写进账本ledger

交易执行的流程

链码的开发

必须要实现的接口: 

type Chaincode interface {

    // 初始化工作,一般情况下仅被调⽤用一次

       Init(stub ChaincodeStubInterface)

        pb.Response

    // 查询或更新world state,可多次被调⽤

        Invoke(stub ChaincodeStubInterface)

        pb.Response

}

链码示例和Demo-注册会员

链码示例和Demo-申请帮助

交易内容的区块结构

如何调试

习题:

1. 下列哪些不是fabric支持的可用链码语言? 

A.Go B.python C.C++ D.C

答:BCD

2. 哪些不是基于fabric链代码的预定义接口? 

A. Init  B. Invoke C.Query  D. Delete

答:D

3. 下列哪些属于fabric中账本数据读写方法? 

A. GetState  B. Putstate C. Delstate D. GetStateByRange

答:ABCD

4. 同一个链代码(名字版本一样)安装在3个peer上在通道实例化几次?

a. 1 b. 2 c. 3 d.无限

答:A

5. 同一个(名字版本一样)链代码在peer上安装几次?

a. 1 b. 2 c. 3 d.无限

答:A

(图片均来源于课件)

猜你喜欢

转载自blog.csdn.net/xxxxfengheheda/article/details/82807148
今日推荐