我可以在没有 ca-server 的情况下将 rest api 部署到 Hyperledger Fabric 吗?
Can I deploy a rest api to Hyperledger Fabric without ca-server?
我已成功按照此存储库的说明进行操作 fabric-network-on-swarm and created a swarm network and successfully install and instantiate my own chaincode that I had already created with convector。
我还基于此存储库创建了一个 convector-rest-api。
在我的设置中,我使用 cryptogen
创建了证书,但我找不到不使用 fabric-ca-server
& [= 将其余的 api 注入我的容器的方法14=]
-- 已编辑 --
(1) 我可以像这样创建自己的 network-profile.yaml
吗?:
name: "Network"
version: "1.0"
channels:
mychannel:
orderers:
- orderer.example.com
peers:
peer0.org1.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true
organizations:
Org1:
mspid: Org1MSP
peers:
- peer0.org1.example.com
adminPrivateKey:
path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/keystore/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9_sk
signedCert:
path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/signcerts/Admin@org1.example.com-cert.pem
orderers:
orderer.example.com:
url: grpcs://localhost:7050
grpcOptions:
ssl-target-name-override: orderer.example.com
grpc-max-send-message-length: 4194304
tlsCACerts:
path: test/fixtures/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tlscacerts/example.com-cert.pem
peers:
peer0.org1.example.com:
url: grpcs://localhost:7051
grpcOptions:
ssl-target-name-override: peer0.org1.example.com
grpc.keepalive_time_ms: 600000
tlsCACerts:
path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tlscacerts/org1.example.com-cert.pem
没有添加关于我的信息 certificateAuthorities
?
(2) 我使用 crytogen
为 orderer
和我的 peer
生成加密材料。
我应该使用哪个证书作为我的 keyStore
来连接我的 api?
如果您还想注册身份和颁发证书,则需要 fabric-ca
。但是,如果您使用自己的 CA 作为 cryptogen
,则不需要在 API 处使用 fabric-ca
。取而代之的是,您应该定义将用于连接的证书,以及区块链网络的 url。您在以下 link.
处有一个示例
--- 已编辑 ---
已添加以下答案以回应@StPaulis 提出的两个新问题。
- 是的,您可以创建自己的
network-profile.yaml
。更重要的是,你必须做到。
- 您应该使用的凭据是与您为拥有同级的组织生成的用户之一相关的凭据,例如,admin 密钥库和 signcert。
我已成功按照此存储库的说明进行操作 fabric-network-on-swarm and created a swarm network and successfully install and instantiate my own chaincode that I had already created with convector。
我还基于此存储库创建了一个 convector-rest-api。
在我的设置中,我使用 cryptogen
创建了证书,但我找不到不使用 fabric-ca-server
& [= 将其余的 api 注入我的容器的方法14=]
-- 已编辑 --
(1) 我可以像这样创建自己的 network-profile.yaml
吗?:
name: "Network"
version: "1.0"
channels:
mychannel:
orderers:
- orderer.example.com
peers:
peer0.org1.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true
organizations:
Org1:
mspid: Org1MSP
peers:
- peer0.org1.example.com
adminPrivateKey:
path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/keystore/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9_sk
signedCert:
path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/signcerts/Admin@org1.example.com-cert.pem
orderers:
orderer.example.com:
url: grpcs://localhost:7050
grpcOptions:
ssl-target-name-override: orderer.example.com
grpc-max-send-message-length: 4194304
tlsCACerts:
path: test/fixtures/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tlscacerts/example.com-cert.pem
peers:
peer0.org1.example.com:
url: grpcs://localhost:7051
grpcOptions:
ssl-target-name-override: peer0.org1.example.com
grpc.keepalive_time_ms: 600000
tlsCACerts:
path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tlscacerts/org1.example.com-cert.pem
没有添加关于我的信息 certificateAuthorities
?
(2) 我使用 crytogen
为 orderer
和我的 peer
生成加密材料。
我应该使用哪个证书作为我的 keyStore
来连接我的 api?
如果您还想注册身份和颁发证书,则需要 fabric-ca
。但是,如果您使用自己的 CA 作为 cryptogen
,则不需要在 API 处使用 fabric-ca
。取而代之的是,您应该定义将用于连接的证书,以及区块链网络的 url。您在以下 link.
--- 已编辑 ---
已添加以下答案以回应@StPaulis 提出的两个新问题。
- 是的,您可以创建自己的
network-profile.yaml
。更重要的是,你必须做到。 - 您应该使用的凭据是与您为拥有同级的组织生成的用户之一相关的凭据,例如,admin 密钥库和 signcert。