logging: spec: info format: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}' # ------------------- FSC Node Configuration ------------------------- # The FSC node is responsible for the peer to peer communication with other token services. fsc: identity: cert: file: /var/fsc/keys/auditor/fsc/msp/signcerts/cert.pem key: file: /var/fsc/keys/auditor/fsc/msp/keystore/priv_sk tls: enabled: false # TODO p2p: listenAddress: /ip4/0.0.0.0/tcp/9001 # If empty, this is a P2P boostrap node. Otherwise, it contains the name of the FSC node that is a bootstrap node. # The name of the FSC node that is a bootstrap node must be set under fsc.endpoint.resolvers bootstrapNode: kvs: # key-value-store persistence: type: badger # badger or memory opts: path: /var/fsc/data/auditor/kvs # The endpoint section tells how to reach other FSC node in the network. # For each node, the name, the domain, the identity of the node, and its addresses must be specified. endpoint: resolvers: - name: issuer identity: id: issuer path: /var/fsc/keys/issuer/fsc/msp/signcerts/cert.pem addresses: P2P: issuer.example.com:9101 - name: owner1 identity: id: owner1 path: /var/fsc/keys/owner1/fsc/msp/signcerts/cert.pem addresses: P2P: owner1.example.com:9201 - name: owner2 identity: id: owner2 path: /var/fsc/keys/owner2/fsc/msp/signcerts/cert.pem addresses: P2P: owner2.example.com:9301 # ------------------- Fabric Configuration ------------------------- fabric: enabled: true mynetwork: default: true mspConfigPath: /var/fsc/keys/fabric/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp defaultMSP: Org1MSP msps: - id: Org1MSP mspType: bccsp mspID: Org1MSP path: /var/fsc/keys/fabric/organizations/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp tls: enabled: true # If the keepalive values are too low, Fabric peers will complain with: ENHANCE_YOUR_CALM, debug data: "too_many_pings" keepalive: interval: 300s timeout: 600s # List of orderer nodes this node can connect to. There must be at least one orderer node. Others are discovered. orderers: - address: orderer.example.com:7050 connectionTimeout: 10s tlsEnabled: true tlsRootCertFile: /var/fsc/keys/fabric/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt serverNameOverride: orderer.example.com # List of trusted peers this node can connect to. There must be at least one trusted peer. Others are discovered. peers: - address: peer0.org1.example.com:7051 connectionTimeout: 10s tlsEnabled: true tlsRootCertFile: /var/fsc/keys/fabric/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt serverNameOverride: peer0.org1.example.com # Channel where the token chaincode is deployed channels: - name: mychannel default: true # Configuration of the vault used to store the RW sets assembled by this node vault: persistence: type: badger opts: path: /var/fsc/data/auditor/vault # ------------------- Token SDK Configuration ------------------------- token: enabled: true tms: mytms: # unique name of this token management system network: mynetwork # the name of the fabric network as configured above channel: mychannel # the name of the network's channel this TMS refers to, if applicable namespace: tokenchaincode # chaincode name driver: zkatdlog # privacy preserving driver (zero knowledge asset transfer) wallets: auditors: - id: auditor # the unique identifier of this wallet. Here is an example of use: `ttx.GetIssuerWallet(context, "issuer)` default: true # is this the default issuer wallet path: /var/fsc/keys/auditor/aud/msp # Internal database to keep track of token transactions. # It is used by auditors and token owners to track history ttxdb: persistence: type: badger opts: path: /var/fsc/data/auditor/txdb