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。
猜您想看
-
如何在Linux系统中构建和编译代码
在Linux系...
2023年05月10日 -
Spark 中如何使用Shuffle 内存
什么是Shuf...
2023年05月26日 -
宝塔面板中如何实现网站数据的定期备份
网站数据的定期...
2024年05月30日 -
scala的类型推断是什么
scala的类...
2023年07月23日 -
.net framework中Windows Forms如何创建功能区应用程序
一、什么是Wi...
2023年05月25日 -
在CS:GO中,启动游戏时遇到“Out of Memory”错误,该如何处理?
CS:GO中“...
2023年04月17日