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。
猜您想看
-
VSCode中怎么配置Python
1、安装Pyt...
2023年05月25日 -
宝塔使用技巧:如何启用 Gzip 压缩 JS/CSS 文件
SEO软...
2023年05月07日 -
Go 语言中如何理解协程通信实现的消息传递篇
1.什么是协程...
2023年05月26日 -
调整Win10电源计划的设置
如何调整Win...
2023年04月15日 -
Windows系统下PyCharm的安装教程
1. 下载安装...
2023年07月20日 -
王者荣耀中掉线的原因有哪些?
王者荣耀掉线的...
2023年04月17日