我尝试了两个不同的教程:
>
本地部署docker映像:https://github.com/hyperledger/fabric-samples我尝试了fabcar示例。一切都很好。我可以注册管理员,注册用户并使用该用户标识调用事务。不错。
第二个在Bluemix上部署fabric composer playground的方法是:https://ibm-blockchain.github.io/setup/I能够进入composer playground并部署业务网络示例。我还可以上传和部署我在本地用Composer-CLI设计的自己的业务网络。为了测试事务,我通过具有管理权限的Rest服务器公开了网络。一切都很好。
echo "=> CREATE_ALL: Running Install Chaincode on Org1 Peer1" CHAINCODE_NAME="fabcar" CHAINCODE_VERSION="1.0" MSP_CONFIGPATH="/shared/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" PEER_MSPID="Org1MSP" PEER_ADDRESS="blockchain-org1peer1:30110" create/chaincode_install.sh
在chaincode_install.yaml.base第16行中,我更改了chaincode的路径。我分叉https://github.com/hyperledger/fabric并将示例1中的fabcar.go链码添加到新的存储库https://github.com/bigbelette/fabric中
command: ["sh", "-c", "git clone https://github.com/bigbelette/fabric $GOPATH/src/github.com/bigbelette/fabric/ && peer chaincode install -n ${CHAINCODE_NAME} -v ${CHAINCODE_VERSION} -p github.com/bigbelette/fabric/examples/chaincode/go/fabcar/"]
在create_all.sh中。第49行。我更改了env变量CHAINCODE_NAME和chaincode_version的值:
CHANNEL_NAME="channel1" CHAINCODE_NAME="fabcar" CHAINCODE_VERSION="1.0" MSP_CONFIGPATH="/shared/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" PEER_MSPID="Org1MSP" PEER_ADDRESS="blockchain-org1peer1:30110" create/chaincode_instantiate.sh
command: ["sh", "-c", "peer chaincode instantiate -o blockchain-orderer:31010 -C ${CHANNEL_NAME} -n ${CHAINCODE_NAME} -v ${CHAINCODE_VERSION} -c '{\"Args\":[\"\"]}'"]
似乎给我证书的CA不被同行识别。但是我的网络中只有一个CA!?或者这是MSP定义中的一个问题(我仍然不太理解)。
谢谢你的帮助。
我终于发现了错误。
我的网络有1个CA(根CA,命名为CA)和2个“子”CA(ca1和ca2)。我直接通过根CA注册admin和user,因为我没有在Fabric_CA_Client类的参数中提到CA的名称:
fabric_ca_client = new Fabric_CA_Client('http://184.173.5.108:30054', tlsOption, crypto_suite)
如果没有名称,则使用的CA将是默认CA(在我的情况下是根CA)。但是根用户证书的签名不能被对等方识别。仅接受来自最后层次CA级别的签名。因此,解决方案是引用CA的名称:
fabric_ca_client = new Fabric_CA_Client('http://184.173.5.108:30054', tlsOptions , 'CA1', crypto_suite)
我在Hyperledger结构节点SDK中遇到问题。 网络详情: 该网络由4个组织组成,每个组织部署在不同的库伯内特斯集群上。 每个组织有2个同行加入了一个渠道,比如myChannel。 每个组织有1个CA运行。 订购服务是Raft. CouchDB用作statedb。 来自CLI的调用也正常工作,数据正在所有8个对等体之间同步。 Hypelredger Explorer已经启动并运行了一个组织的
用例:一个智能家居,它从里面的所有传感器收集原始数据,处理它们,并从中提取高级信息。房子的主人可能想与其他人分享这些信息,如医生、家人、朋友...因此,我试图找出处理这些数据的访问权限的最佳方式。现在,所有的信息都被仔细地加密并存储在数据库中(不可信),只有拥有正确密钥的人才能正确地解密这些数据。 我的想法是:我想使用Hyperledger Fabric来存储和管理对这些文件的访问权限,并存储所收
我正在学习关于将Hyperledger Composer区块链业务网络部署到Hyperledger Fabric(多个组织)的官方教程。我能够使用提供程序Org1和Org2示例来启动网络。现在我想将组织自定义为我自己的组织。但是在执行。/byfn.sh-m up-s couchdb-a命令时。我得到以下错误;我检查了所有的yaml文件,但我无法找到错误的可能根本原因。我只是真的需要帮助。谢谢你。
我正在构建一个Hyperledger结构网络,并试图让一个组织同时拥有一个对等节点和一个订购节点。我使用cryptogen生成证书和密钥,并且只创建一个组织作为“对等组织”。我有一个网络,有6个组织——其中5个有一个对等组织,一个有一个订购者的订购者组织。然后,我获取了这些配置文件,删除了order组织,并将orderendpoint添加到一个对等组织中。我现在犯了一个错误。 打印到屏幕上: 错误
我在实例化chaincode时设置了背书策略,我想知道是否可以在以后使用node sdk更新背书策略,因为当新组织添加到频道时,我希望它们也成为背书策略的一部分。目前我们正在做的解决方案是将链码升级到新版本,在所有对等机上再次安装,然后在升级时更改背书策略。但这感觉不是正确的方式。这方面的任何指导都会非常有帮助!
我需要在hyperledger-fabric上开发一个项目使用一个GO SDK。但是根据最近的发行版,这些sdks还没有正式发布。 我已经完成了这篇文章。但是,在产品开发中使用是否更好?那么,有人知道正在使用的产品或网络项目吗?