hyperledger-fabric - 如何从本地文件系统安装链代码
问题描述
我已经在本地系统中编写了链码,现在我需要在超级账本结构对等节点中安装链码。如何从本地系统完成将链码安装到我的对等节点。下面的代码取自超级账本结构链代码示例。请建议我
package main
import (
"fmt"
"strconv"
"github.com/hyperledger/fabric/core/chaincode/shim"
pb "github.com/hyperledger/fabric/protos/peer"
)
// SimpleChaincode example simple Chaincode implementation
type SimpleChaincode struct {
}
func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface)
pb.Response {
fmt.Println("ex02 Init")
_, args := stub.GetFunctionAndParameters()
var A, B string // Entities
var Aval, Bval int // Asset holdings
var err error
if len(args) != 4 {
return shim.Error("Incorrect number of arguments. Expecting 4")
}
// Initialize the chaincode
A = args[0]
Aval, err = strconv.Atoi(args[1])
if err != nil {
return shim.Error("Expecting integer value for asset holding")
}
B = args[2]
Bval, err = strconv.Atoi(args[3])
if err != nil {
return shim.Error("Expecting integer value for asset holding")
}
fmt.Printf("Aval = %d, Bval = %d\n", Aval, Bval)
// Write the state to the ledger
err = stub.PutState(A, []byte(strconv.Itoa(Aval)))
if err != nil {
return shim.Error(err.Error())
}
err = stub.PutState(B, []byte(strconv.Itoa(Bval)))
if err != nil {
return shim.Error(err.Error())
}
return shim.Success(nil)
}
解决方案
您可以通过多种方式安装链码
- 节点SDK
- JavaSDK
- 命令行界面
我建议您首先尝试使用 CLI,fabric-samples 有一个示例。
在看到的结构编译之后,只有二进制文件将部署到对等方
推荐阅读
- directory - Python 3.x:从不同目录中的文件导入函数、配置字典等
- java - 如果我的子类也有不同的方法怎么办?
- python-3.x - 使用带有会话的 Python 请求登录网站
- mongodb - 对于这样的查询,什么索引是有效的:FieldA <= xxx AND FieldB >= xxx
- python - python 3 是否在语义上版本化并向前兼容
- c# - 在 Microsoft Graph API 中查找特定用户的组名的问题
- r - 在具有集群数据的 R 中,当重复选择集群时,您将如何在集群级别引导并保持相同的观察?
- python - 另一个正则表达式字符串匹配
- google-cloud-platform - appcfg 回滚的 gcloud 等价物是什么?
- firebase - Firebase 存储:检查用户是否为管理员