Skip to content

Instantly share code, notes, and snippets.

@kctam
kctam / 7_addTlsAppCh.sh
Created March 20, 2020 03:05
Add TLS certificate to mychannel
TLS_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer6.example.com/tls/server.crt
docker exec orderer-cli sh -c 'peer channel fetch config config_block.pb -o orderer.example.com:7050 -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem'
docker exec orderer-cli sh -c 'configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config.json'
docker exec -e TLS_FILE=$TLS_FILE orderer-cli sh -c 'echo "{\"client_tls_cert\":\"$(cat $TLS_FILE | base64 -w 0)\",\"host\":\"orderer6.example.com\",\"port\":7050,\"server_tls_cert\":\"$(cat $TLS_FILE | base64 -w 0)\"}" > $PWD/org6consenter.json'
docker exec orderer-cli sh -c 'jq ".channel_group.groups.Orderer.values.ConsensusType.value.metadata.consenters += [$(cat org6consenter.json)]" config.json > modified_config.json'
dock
@kctam
kctam / 6_addEndPointSysCh.sh
Created March 20, 2020 03:04
Add End Point to System channel
docker exec orderer-cli sh -c 'peer channel fetch config config_block.pb -o orderer.example.com:7050 -c byfn-sys-channel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem'
docker exec orderer-cli sh -c 'configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config.json'
docker exec orderer-cli sh -c 'jq ".channel_group.values.OrdererAddresses.value.addresses += [\"orderer6.example.com:7050\"]" config.json > modified_config.json'
docker exec orderer-cli sh -c 'configtxlator proto_encode --input config.json --type common.Config --output config.pb'
docker exec orderer-cli sh -c 'configtxlator proto_encode --input modified_config.json --type common.Config --output modified_config.pb'
docker exec orderer-cli sh -c 'configtxlator compute_update --channel_id byfn-sys-channel --original config.pb --updated modified_config.pb --output co
@kctam
kctam / 4_fetchConfBlkSysCh.sh
Created March 20, 2020 03:02
Fetch latest conf block from system channel
docker exec orderer-cli sh -c 'peer channel fetch config latest_config.block -o orderer.example.com:7050 -c byfn-sys-channel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem'
docker cp orderer-cli:/opt/gopath/src/github.com/hyperledger/fabric/peer/latest_config.block ./channel-artifacts/latest_config.block
@kctam
kctam / 3_addTlsSysCh.sh
Created March 20, 2020 03:01
Add TLS certificate to system channel
TLS_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer6.example.com/tls/server.crt
docker exec orderer-cli sh -c 'peer channel fetch config config_block.pb -o orderer.example.com:7050 -c byfn-sys-channel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem'
docker exec orderer-cli sh -c 'configtxlator proto_decode --input config_block.pb --type common.Block | jq .data.data[0].payload.data.config > config.json'
docker exec -e TLS_FILE=$TLS_FILE orderer-cli sh -c 'echo "{\"client_tls_cert\":\"$(cat $TLS_FILE | base64 -w 0)\",\"host\":\"orderer6.example.com\",\"port\":7050,\"server_tls_cert\":\"$(cat $TLS_FILE | base64 -w 0)\"}" > $PWD/org6consenter.json'
docker exec orderer-cli sh -c 'jq ".channel_group.groups.Orderer.values.ConsensusType.value.metadata.consenters += [$(cat org6consenter.json)]" config.json > modified_config.jso
@kctam
kctam / sacc.go
Created March 11, 2020 02:10
Modified sacc.go to demonstrate Private Data and Transient Data
/*
* Copyright IBM Corp All Rights Reserved
*
* SPDX-License-Identifier: Apache-2.0
*/
package main
import (
"encoding/json"
@kctam
kctam / sacc.go
Last active March 3, 2020 04:03
Modified sacc.go for demonstrating private data implicit collections
/*
* Copyright IBM Corp All Rights Reserved
*
* SPDX-License-Identifier: Apache-2.0
*/
package main
import (
"fmt"
@kctam
kctam / docker-compose-host2.yaml
Created January 29, 2020 04:17
Peer-owned-orderer Demo
version: '2'
volumes:
orderer0.org2.example.com:
orderer1.org2.example.com:
peer0.org2.example.com:
peer1.org2.example.com:
networks:
byfn:
@kctam
kctam / docker-compose-host1.yaml
Created January 29, 2020 04:15
Peer-owned-orderer Demo
version: '2'
volumes:
orderer0.org1.example.com:
orderer1.org1.example.com:
peer0.org1.example.com:
peer1.org1.example.com:
networks:
byfn:
@kctam
kctam / configtx.yaml
Created January 29, 2020 04:07
Peer-owned-orderer Demo
Organizations:
- &Org1
Name: Org1MSP
ID: Org1MSP
MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
Policies: &Org1MSPPolicies
Readers:
Type: Signature
Rule: "OR('Org1MSP.member')"
Writers:
@kctam
kctam / crypto-config.yaml
Created January 29, 2020 04:00
Peer-owned-orderer Demo
PeerOrgs:
- Name: Org1
Domain: org1.example.com
EnableNodeOUs: true
Specs:
- Hostname: orderer0
- Hostname: orderer1
- Hostname: peer0
- Hostname: peer1
Users: