文章目录
一、SDK 配置
在 artec 目录下创建 web 目录。
1、config/config.yaml
config.yaml 配置文件给应用程序所使用的 Fabric-SDK-Go 配置相关参数及 Fabric 组件的通信地址。
name: "app-network"
version: 1.0.0
client:
organization: Org1
logging:
level: info
cryptoconfig:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config
credentialStore:
path: /tmp/app-store
cryptoStore:
path: /tmp/app-msp
BCCSP:
security:
enabled: true
default:
provider: "SW"
hashAlgorithm: "SHA2"
softVerify: true
level: 256
tlsCerts:
systemCertPool: true
client:
key:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.key
cert:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.crt
channels:
mychannel:
peers:
peer0.org1.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true
peer1.org1.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true
peer0.org2.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true
peer1.org2.example.com:
endorsingPeer: true
chaincodeQuery: true
ledgerQuery: true
eventSource: true
policies:
queryChannelConfig:
minResponses: 1
maxTargets: 1
retryOpts:
attempts: 5
initialBackoff: 500ms
maxBackoff: 5s
backoffFactor: 2.0
discovery:
maxTargets: 2
retryOpts:
attempts: 4
initialBackoff: 500ms
maxBackoff: 5s
backoffFactor: 2.0
eventService:
resolverStrategy: PreferOrg
balancer: Random
blockHeightLagThreshold: 5
reconnectBlockHeightLagThreshold: 10
peerMonitorPeriod: 5s
organizations:
Org1:
mspid: Org1MSP
cryptoPath: peerOrganizations/org1.example.com/users/{
userName}@org1.example.com/msp
peers:
- peer0.org1.example.com
- peer1.org1.example.com
certificateAuthorities:
- ca.org1.example.com
Org2:
mspid: Org2MSP
cryptoPath: peerOrganizations/org2.example.com/users/{
userName}@org2.example.com/msp
peers:
- peer0.org2.example.com
- peer1.org2.example.com
certificateAuthorities:
- ca.org2.example.com
OrdererOrg:
mspid: OrdererMSP
cryptoPath: ordererOrganizations/example.com/users/{
username}@example.com/msp
orderers:
- orderer0.example.com
- orderer1.example.com
- orderer2.example.com
- orderer3.example.com
- orderer4.example.com
orderers:
orderer0.example.com:
url: localhost:7050
grpcOptions:
ssl-target-name-override: orderer0.example.com
allow-insecure: false
tlsCACerts:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
orderer1.example.com:
url: localhost:8050
grpcOptions:
ssl-target-name-override: orderer1.example.com
allow-insecure: false
tlsCACerts:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
orderer2.example.com:
url: localhost:9050
grpcOptions:
ssl-target-name-override: orderer2.example.com
allow-insecure: false
tlsCACerts:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
orderer3.example.com:
url: localhost:10050
grpcOptions:
ssl-target-name-override: orderer3.example.com
allow-insecure: false
tlsCACerts:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
orderer4.example.com:
url: localhost:11050
grpcOptions:
ssl-target-name-override: orderer4.example.com
allow-insecure: false
tlsCACerts:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
peers:
peer0.org1.example.com:
url: localhost:7051
grpcOptions:
ssl-target-name-override: peer0.org1.example.com
allow-insecure: false
tlsCACerts:
path: ${
GOPATH}/src/github.com/artec/network/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem
peer1.org1.example.com:
url: localhost:8051
grpcOptions:
ssl-target-name-override