我正在尝试在链接中运行余额转移示例:https://github.com/hyperledger/fabric-samples/tree/master/balance-transfer#sample-rest-apis-request
我想问一下,为什么我仍然可以调用链码并在授权时成功运行:Bearer是org1但是调用是在Org2上完成的([" peer1.org2.example.com")?为什么这不会导致授权错误?
另外,为什么我可以在Org2上查询链代码使用Org1证书。是否存在与CA相关的任何设置问题?
echo "POST invoke chaincode on peers of Org1"
echo
TRX_ID=$(curl -s -X POST \
http://localhost:4000/channels/mychannel/chaincodes/mycc \
-H "authorization: Bearer $ORG1_TOKEN" \
-H "content-type: application/json" \
-d '{
"peers": ["peer1.org2.example.com"],
"fcn":"move",
"args":["a","b","10"]
}')
echo "Transacton ID is $TRX_ID"
echo
echo
非常感谢。
答案 0 :(得分:0)
这是因为JSON字符串中的对等体引用了支持对等体。它可以留空。授权基于令牌,并且将根据日志在org1对等体上完成事务。