Hyperledger Fabric如何实现第一个链码helloworld
1. 创建链码
首先,需要创建一个名为helloworld的链码,用于实现第一个helloworld示例。链码可以使用任何开发语言编写,如Go、JavaScript、Java等,本文以Go语言为例,编写如下helloworld.go文件:
package main
import (
"fmt"
"github.com/hyperledger/fabric/core/chaincode/shim"
"github.com/hyperledger/fabric/protos/peer"
)
// HelloWorldChaincode example simple Chaincode implementation
type HelloWorldChaincode struct {
}
// Init is a no-op
func (t *HelloWorldChaincode) Init(stub shim.ChaincodeStubInterface) peer.Response {
return shim.Success(nil)
}
// Invoke is a no-op
func (t *HelloWorldChaincode) Invoke(stub shim.ChaincodeStubInterface) peer.Response {
return shim.Success(nil)
}
func main() {
err := shim.Start(new(HelloWorldChaincode))
if err != nil {
fmt.Printf("Error starting HelloWorldChaincode: %s", err)
}
}2. 编译链码
接着,需要使用Hyperledger Fabric的chaincode构建工具编译helloworld.go文件,生成helloworld.go文件,命令如下:
docker exec cli peer chaincode package helloworld.tar.gz --lang go --label helloworld_1.0 --path /opt/gopath/src/github.com/chaincode/helloworld/
3. 安装链码
安装链码,命令如下:
docker exec cli peer chaincode install helloworld.tar.gz
docker exec cli peer chaincode instantiate -n helloworld -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -C mychannel
docker exec cli peer chaincode invoke -n helloworld -c '{"Args":["invoke","a","b","10"]}' -C mychannel
docker exec cli peer chaincode query -n helloworld -c '{"Args":["query","a"]}' -C mychannel
4. 查看helloworld结果
最后,就可以查看helloworld的结果了,由于上面的操作中a的值被更新为90,因此查询结果应该为90。
猜您想看
-
如何在 CentOS 7 上配置用户组权限和访问控制?
CentOS ...
2023年04月26日 -
Java 8方法引用与构造器引用,数组引用举例分析
方法引用与构造...
2023年07月22日 -
如何在Linux系统中构建和编译代码
在Linux系...
2023年05月10日 -
为什么电脑无法正常进入Windows系统?
电脑无法正常进...
2023年04月24日 -
SpringBoot注入数据的方式是什么
1.Sprin...
2023年05月22日 -
win10下怎么安装Scrapy以及搭建其环境
1. Scra...
2023年05月26日