code: func (n *Network) UpdateChannelAnchors(o *Orderer, channelName string) {
  	tempFile, err := ioutil.TempFile("", "update-anchors")
  	Expect(err).NotTo(HaveOccurred())
  	tempFile.Close()
  	defer os.Remove(tempFile.Name())
  
  	peersByOrg := map[string]*Peer{}
  	for _, p := range n.AnchorsForChannel(channelName) {
  		peersByOrg[p.Organization] = p
  	}
  
  	for orgName, p := range peersByOrg {
  		anchorUpdate := commands.OutputAnchorPeersUpdate{
  			OutputAnchorPeersUpdate: tempFile.Name(),
  			ChannelID:               channelName,
  			Profile:                 n.ProfileForChannel(channelName),
  			ConfigPath:              n.RootDir,
  			AsOrg:                   orgName,
  		}
  		sess, err := n.ConfigTxGen(anchorUpdate)
  		Expect(err).NotTo(HaveOccurred())
  		Eventually(sess, n.EventuallyTimeout).Should(gexec.Exit(0))
  
  		sess, err = n.PeerAdminSession(p, commands.ChannelUpdate{
  			ChannelID: channelName,
  			Orderer:   n.OrdererAddress(o, ListenPort),
  			File:      tempFile.Name(),
  		})
  		Expect(err).NotTo(HaveOccurred())
  		Eventually(sess, n.EventuallyTimeout).Should(gexec.Exit(0))
  	}
  }
docs: // UpdateChannelAnchors determines the anchor peers for the specified channel,
  // creates an anchor peer update transaction for each organization, and submits
  // the update transactions to the orderer.