Akshay Sood
Akshay Sood

Reputation: 6786

Understanding ACL in Hyperledger Fabric v1.3

I was trying to understand ACL in Hyperledger Fabric v1.3. I read configtx.yaml and I saw the channel section described below:

Channel: &ChannelDefaults
    # Policies defines the set of policies at this level of the config tree
    # For Channel policies, their canonical path is
    #   /Channel/<PolicyName>
    Policies:
        # Who may invoke the 'Deliver' API
        Readers:
            Type: ImplicitMeta
            Rule: "ANY Readers"
        # Who may invoke the 'Broadcast' API
        Writers:
            Type: ImplicitMeta
            Rule: "ANY Writers"
        # By default, who may modify elements at this config level
        Admins:
            Type: ImplicitMeta
            Rule: "MAJORITY Admins"

As per documentation it is mentioned for Readers # Who may invoke the 'Deliver' API and for Writers # Who may invoke the 'Broadcast' API. I am not able to understand what Deliver API and what Broadcast API do.

Please let me know if anyone know.

Upvotes: 0

Views: 148

Answers (1)

Gari Singh
Gari Singh

Reputation: 12053

Ordering service nodes implement two APIs:

  • Broadcast - the API for submitting transactions to the orderer
  • Deliver - the API for receiving blocks from the orderer

Typically clients use the broadcast API and peer nodes use the deliver API. Separating the policies allows you to permit certain clients / apps to only submit transactions but not be able to actually receive blocks and vice versa - peers would be able to consume blocks but not be able to submit transactions to the orderer.

Upvotes: 2

Related Questions