目标
- 使用链码相关的API实现一个简单的 Hello World 入门应用
- 使用开发测试模式测试 Hello World 应用
任务实现
前面我们已经接触了与链码相关的内容,下面我们根据已掌握的链码知识实现一个简单的链码应用。该应用需求较为简单:链码在实例化时向账本保存一个初始数据,key 为 Hello, value 为 World,然后用户发出查询请求,可以根据 key 查询到相应的 value。
5.3.1 链码开发
-
创建文件夹
进入
fabric-samples/chaincode/
目录下并创建一个名为hello
的文件夹$ cd hyfa/fabric-samples/chaincode $ sudo mkdir hello $ cd hello
-
创建并编辑链码文件
$ sudo vim hello.go
-
导入链码依赖包
// hanxiaodong // QQ群(专业Fabric交流群):862733552 package main import ( "github.com/hyperledger/fabric/core/chaincode/shim" "github.com/hyperledger/fabric/protos/peer" "fmt" )
-
编写主函数
func main() { err := shim.Start(new(HelloChaincode)) if err != nil { fmt.Printf("链码启动失败: %v", err) } }
-
自定义结构体
type HelloChaincode struct { }
-
实现 Chaincode 接口
实现
Chaincode
接口必须重写 Init 与 Invoke 两个方法。Init 函数&#