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/owner2/fsc/msp/signcerts/cert.pem key: file: /var/fsc/keys/owner2/fsc/msp/keystore/priv_sk tls: enabled: false # TODO p2p: listenAddress: /ip4/0.0.0.0/tcp/9301 # 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: auditor kvs: # key-value-store persistence: type: badger # badger or memory opts: path: /var/fsc/data/owner2/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: auditor identity: id: auditor path: /var/fsc/keys/auditor/fsc/msp/signcerts/cert.pem addresses: P2P: auditor.example.com:9001 - 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 aliases: - owner1 # ------------------- 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/owner2/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: defaultCacheSize: 3 # how many idemix keys to pre-generate owners: - id: carlos # the unique identifier of this wallet. Here is an example of use: `ttx.GetWallet(context, "alice")` # default: true # is this the default owner wallet path: /var/fsc/keys/owner2/wallet/carlos/msp - id: dan path: /var/fsc/keys/owner2/wallet/dan/msp # Internal database to keep track of token transactions. # It is used by auditors and token owners to track history ttxdb: persistence: # type can be badger (disk) or memory type: badger opts: path: /var/fsc/data/owner2/txdb