Our original transaction endorsement policy required a member of each of the 4 organizations to endorse (sign) a chaincode invocation transaction. Now that we have added a new organization, we must update that policy to require a signature from a member of each of the 5 organizations. In the middleware folder, this new policy is defined in constants.js as follows:
var FIVE_ORG_MEMBERS_AND_ADMIN = [{ role: { name: 'member', mspId: 'ExporterOrgMSP' } }, { role: { name: 'member', mspId: 'ExportingEntityOrgMSP' } }, { role: { name: 'member', mspId: 'ImporterOrgMSP' } }, { role: { name: 'member', mspId: 'CarrierOrgMSP' } }, { role: { name: 'member', mspId: 'RegulatorOrgMSP' } }, { role: { name: 'admin', mspId: 'TradeOrdererMSP' } }]; var ALL_FIVE_ORG_MEMBERS = { identities: FIVE_ORG_MEMBERS_AND_ADMIN, policy: { '5-of': [{ 'signed-by': 0 }, { 'signed-by': 1 }, { 'signed-by': 2 }, { 'signed-by': 3 }, { 'signed-by': 4 }] } };
To switch the endorsement policy in our middleware, we just need to change the value of the TRANSACTION_ENDORSEMENT_POLICY variable in constants.js from ALL_FOUR_ORG_MEMBERS to ALL_FIVE_ORG_MEMBERS.