markparz (Thu, 02 Feb 2017 23:31:56 GMT):
Channel used for technical discussions of both endorsing and committing along with Gossip.

markparz (Thu, 02 Feb 2017 23:33:00 GMT):
Channel used for technical discussions of both endorser and committer.

nickgaski (Thu, 02 Feb 2017 23:49:03 GMT):
Has joined the channel.

C0rWin (Fri, 03 Feb 2017 00:11:37 GMT):
Has joined the channel.

salmanbaset (Fri, 03 Feb 2017 01:19:59 GMT):
Has joined the channel.

tuand (Fri, 03 Feb 2017 02:30:08 GMT):
Has joined the channel.

yacovm (Fri, 03 Feb 2017 02:36:03 GMT):
Has joined the channel.

Ratnakar (Fri, 03 Feb 2017 02:52:26 GMT):
Has joined the channel.

grapebaba (Fri, 03 Feb 2017 06:26:26 GMT):
Has joined the channel.

frbrkoala (Fri, 03 Feb 2017 07:02:19 GMT):
Has joined the channel.

nvlasov (Fri, 03 Feb 2017 07:13:26 GMT):
Has joined the channel.

cca88 (Fri, 03 Feb 2017 08:21:36 GMT):
Has joined the channel.

dave.enyeart (Fri, 03 Feb 2017 11:20:57 GMT):
Has joined the channel.

jdockter (Fri, 03 Feb 2017 11:39:24 GMT):
Has joined the channel.

wlahti (Fri, 03 Feb 2017 13:37:55 GMT):
Has joined the channel.

silliman (Fri, 03 Feb 2017 13:57:16 GMT):
Has joined the channel.

jeffgarratt (Fri, 03 Feb 2017 14:38:59 GMT):
Has joined the channel.

jeffgarratt (Fri, 03 Feb 2017 14:39:16 GMT):
wow, the elevator tone is a bit scary when you join :)

gormand (Fri, 03 Feb 2017 14:43:17 GMT):
Has joined the channel.

muralisr (Fri, 03 Feb 2017 16:25:15 GMT):
Has joined the channel.

marcusvcs (Fri, 03 Feb 2017 18:48:12 GMT):
Has joined the channel.

rickr (Fri, 03 Feb 2017 19:02:47 GMT):
Has joined the channel.

fz (Fri, 03 Feb 2017 19:28:18 GMT):
Has joined the channel.

karkal (Fri, 03 Feb 2017 19:53:34 GMT):
Has joined the channel.

jiangyaoguo (Sat, 04 Feb 2017 01:31:41 GMT):
Has joined the channel.

genggjh (Sat, 04 Feb 2017 03:44:55 GMT):
Has joined the channel.

lehors (Sun, 05 Feb 2017 09:06:03 GMT):
Has joined the channel.

mandler (Sun, 05 Feb 2017 10:47:43 GMT):
Has joined the channel.

mastersingh24 (Sun, 05 Feb 2017 18:45:00 GMT):
Has joined the channel.

mastersingh24 (Sun, 05 Feb 2017 18:45:17 GMT):
@jeffgarratt - seriously - quite scary

mastersingh24 (Sun, 05 Feb 2017 18:46:00 GMT):
@greg.haskins @muralisr - I'm looking at https://gerrit.hyperledger.org/r/#/c/4943/

greg.haskins (Sun, 05 Feb 2017 18:46:00 GMT):
Has joined the channel.

mastersingh24 (Sun, 05 Feb 2017 18:51:59 GMT):
does this mean that when sending over a deploy from say the NodeJS SDK that a Dockerfile should / must no longer be included in the archive?

greg.haskins (Sun, 05 Feb 2017 19:05:16 GMT):
@mastersingh24 "should not" is most appropriate

greg.haskins (Sun, 05 Feb 2017 19:05:24 GMT):
if you add one, it will be completely disregarded

greg.haskins (Sun, 05 Feb 2017 19:05:41 GMT):
but nothing will break, at least at the peer level

greg.haskins (Sun, 05 Feb 2017 19:06:10 GMT):
(obviously if you were somehow taking advantage of the dockerfile for your chaincode to do something for you, that would break

mastersingh24 (Sun, 05 Feb 2017 20:12:53 GMT):
cool - that's what it looked like to me as well - but just wanted to make sure. And of course with the ccenv container we no longer need to vendor the fabric / shim src?

greg.haskins (Sun, 05 Feb 2017 20:24:04 GMT):
Correct. If you do not vendor the shim, it will implicitly give you the one that matches the peer

greg.haskins (Sun, 05 Feb 2017 20:24:25 GMT):
If you do vendor it, the vendor should override

Honglei (Sun, 05 Feb 2017 23:57:33 GMT):
Has joined the channel.

hanhzf (Mon, 06 Feb 2017 03:36:40 GMT):
Has joined the channel.

bryanhuang (Mon, 06 Feb 2017 04:34:31 GMT):
Has joined the channel.

gennadyl (Mon, 06 Feb 2017 08:20:23 GMT):
Has joined the channel.

david.peyronnin (Mon, 06 Feb 2017 09:52:46 GMT):
Has joined the channel.

mastersingh24 (Mon, 06 Feb 2017 13:36:15 GMT):
@greg.haskins - https://jira.hyperledger.org/browse/FAB-2046 - I imagine that this was likely a point in time statement? I have not tried this using snapshot builds, but I assume that this was likely caused by the fact the the published ccenv image(s) have not been updated since we added these packages?

greg.haskins (Mon, 06 Feb 2017 13:37:28 GMT):
your assessment sounds reasonable to me

greg.haskins (Mon, 06 Feb 2017 13:38:29 GMT):
basically, we _still_ dont support anything but building from source (FAB-678) and if you do, the shim should be tightly coupled to the peer/fabric by virtue of sharing the source

greg.haskins (Mon, 06 Feb 2017 13:39:02 GMT):
once FAB-678 is in place, we will continue to have that tight coupling even with dockerhub images and binary deployments

mastersingh24 (Mon, 06 Feb 2017 13:39:18 GMT):
cool

greg.haskins (Mon, 06 Feb 2017 13:39:21 GMT):
until then, any mismatches are probably people pulling incompatible things together

mastersingh24 (Mon, 06 Feb 2017 13:39:30 GMT):
that's what I figured

muralisr (Mon, 06 Feb 2017 13:41:12 GMT):
one thing @mastersingh24 ... this is besides the main point ... but ACL api's would likely change too (and they don;t work now). So one option would be to just release note that for alpha

harrijk (Mon, 06 Feb 2017 15:14:33 GMT):
Has joined the channel.

yuki-kon (Mon, 06 Feb 2017 16:53:28 GMT):
Has joined the channel.

lehors (Mon, 06 Feb 2017 20:24:52 GMT):
@mastersingh24 you wrote in another channel that "the CLI needs a real overhaul in this aspect as it should be a real client of the orderer", could you please explain? What does the CLI do today instead?

weeds (Mon, 06 Feb 2017 20:25:48 GMT):
Has joined the channel.

mgutala (Mon, 06 Feb 2017 21:39:12 GMT):
Has joined the channel.

tarima (Tue, 07 Feb 2017 01:11:17 GMT):
Has joined the channel.

crazybit (Tue, 07 Feb 2017 05:31:35 GMT):
Has joined the channel.

bur (Tue, 07 Feb 2017 07:33:42 GMT):
Has joined the channel.

mbaizan (Tue, 07 Feb 2017 07:44:32 GMT):
Has joined the channel.

vitaly.ilinykh (Tue, 07 Feb 2017 08:41:35 GMT):
Has joined the channel.

gvlax (Tue, 07 Feb 2017 11:02:49 GMT):
Has joined the channel.

MKabanau (Tue, 07 Feb 2017 14:13:53 GMT):
Has joined the channel.

kenzhang (Tue, 07 Feb 2017 14:35:09 GMT):
Has joined the channel.

cbf (Tue, 07 Feb 2017 15:14:14 GMT):
Has joined the channel.

cbf (Tue, 07 Feb 2017 15:15:00 GMT):
is it just me or is this channel name unnecessarily verbose?

mastersingh24 (Tue, 07 Feb 2017 15:16:05 GMT):
it's just you

mastersingh24 (Tue, 07 Feb 2017 15:16:20 GMT):
I think it was a merge of the other channels - so name was just for recognition

adc (Tue, 07 Feb 2017 15:19:01 GMT):
Has joined the channel.

mpage (Tue, 07 Feb 2017 15:28:53 GMT):
Has joined the channel.

troyronda (Tue, 07 Feb 2017 16:32:01 GMT):
Has joined the channel.

beauson45 (Tue, 07 Feb 2017 20:58:39 GMT):
Has joined the channel.

mgk (Tue, 07 Feb 2017 22:06:12 GMT):
Has joined the channel.

yp (Wed, 08 Feb 2017 02:57:53 GMT):
Has joined the channel.

kushnir.grigoriy (Wed, 08 Feb 2017 13:50:18 GMT):
Has joined the channel.

shaih (Wed, 08 Feb 2017 13:58:52 GMT):
Has joined the channel.

frank.felhoffer (Wed, 08 Feb 2017 14:34:41 GMT):
Has joined the channel.

weeds (Thu, 09 Feb 2017 01:09:33 GMT):
agree- it was for recognition

binhn (Thu, 09 Feb 2017 14:52:32 GMT):
Has joined the channel.

rahulhegde (Thu, 09 Feb 2017 15:04:55 GMT):
Has joined the channel.

kenzhang (Fri, 10 Feb 2017 00:22:52 GMT):
does anyone know if the orderer support TLS yet? I am getting errors which doesn't seem to make sense to me: 2017-02-09 19:21:41.594 EST [orderer/config] completeInitialization -> INFO 003 Validated configuration to: &{General:{LedgerType:ram QueueSize:10 MaxWindowSize:1000 ListenAddress:127.0.0.1 ListenPort:7050 TLS:{Enabled:true `ServerKey`:/etc/hyperledger/fabric/orderer-server-key.pem `ServerCertificate`:/etc/hyperledger/fabric/orderer-server-cert.pem ServerRootCAs:[/etc/hyperledger/fabric/ca-cert.pem] ClientAuthEnabled:false ClientRootCAs:[]} GenesisMethod:provisional GenesisFile:./genesisblock Profile:{Enabled:false Address:0.0.0.0:6060} LogLevel:debug LocalMSPDir:/etc/hyperledger/fabric/msp/sampleconfig} RAMLedger:{HistorySize:1000} FileLedger:{Location: Prefix:hyperledger-fabric-ordererledger} Kafka:{Brokers:[127.0.0.1:9092] Retry:{Period:3s Stop:1m0s} Verbose:false Version:{version:[0 9 0 1]}} Genesis:{OrdererType:solo BatchTimeout:10s BatchSize:{MaxMessageCount:10 AbsoluteMaxBytes:103809024 PreferredMaxBytes:524288} SbftShared:{N:1 F:0 RequestTimeoutNsec:1000000000 Peers:map[:6101:sbft/testdata/cert1.pem]}} SbftLocal:{PeerCommAddr::6101 CertFile:sbft/testdata/cert1.pem KeyFile:sbft/testdata/key.pem DataDir:/tmp}} Failed to return new GRPC server: secureConfig must contain both `ServerKey` and `ServerCertificate` when UseTLS is true

kenzhang (Fri, 10 Feb 2017 00:22:52 GMT):
does anyone know if the orderer support TLS yet? I am getting errors which doesn't seem to make sense to me: 2017-02-09 19:21:41.594 EST [orderer/config] completeInitialization -> INFO 003 Validated configuration to: &{General:{LedgerType:ram QueueSize:10 MaxWindowSize:1000 ListenAddress:127.0.0.1 ListenPort:7050 TLS:{Enabled:true `ServerKey`:/etc/hyperledger/fabric/orderer-server-key.pem `ServerCertificate`:/etc/hyperledger/fabric/orderer-server-cert.pem ServerRootCAs:[/etc/hyperledger/fabric/ca-cert.pem] ClientAuthEnabled:false ClientRootCAs:[]} GenesisMethod:provisional GenesisFile:./genesisblock Profile:{Enabled:false Address:0.0.0.0:6060} LogLevel:debug LocalMSPDir:/etc/hyperledger/fabric/msp/sampleconfig} RAMLedger:{HistorySize:1000} FileLedger:{Location: Prefix:hyperledger-fabric-ordererledger} Kafka:{Brokers:[127.0.0.1:9092] Retry:{Period:3s Stop:1m0s} Verbose:false Version:{version:[0 9 0 1]}} Genesis:{OrdererType:solo BatchTimeout:10s BatchSize:{MaxMessageCount:10 AbsoluteMaxBytes:103809024 PreferredMaxBytes:524288} SbftShared:{N:1 F:0 RequestTimeoutNsec:1000000000 Peers:map[:6101:sbft/testdata/cert1.pem]}} SbftLocal:{PeerCommAddr::6101 CertFile:sbft/testdata/cert1.pem KeyFile:sbft/testdata/key.pem DataDir:/tmp}} Failed to return new GRPC server: secureConfig must contain both `ServerKey` and `ServerCertificate` when UseTLS is true

kenzhang (Fri, 10 Feb 2017 00:23:26 GMT):
the `ServerKey` and `ServerCertificate` is specified and recognized in the config but it's complained not found later on

mastersingh24 (Fri, 10 Feb 2017 10:22:42 GMT):
@kenzhang - we have not yet hooked up TLS on the orderer as none of the other components will be able to talk to it if TLS is enabled

mastersingh24 (Fri, 10 Feb 2017 10:25:04 GMT):
but I'll fix this up right now anyway in terms of making sure that we can start the orderer with TLS

yacovm (Fri, 10 Feb 2017 10:37:19 GMT):
Is there tls support for alpha ?

yacovm (Fri, 10 Feb 2017 10:38:02 GMT):
Or should i say- will there be tls support for alpha?

mastersingh24 (Fri, 10 Feb 2017 10:40:49 GMT):
well minimally I am going to try to get the grpcServer stuff integrated into the peer this weekend in preparation for that. I'd like to see if we *can* get the TLS path working ASAP

mastersingh24 (Fri, 10 Feb 2017 10:41:34 GMT):
I'll get the prereq stuff in this weekend hopefully and then we can work on seeing if we can actually get TLS working :)

kenzhang (Fri, 10 Feb 2017 13:01:44 GMT):
Thanks for the update. Is the March release an alpha release? or a GA release?

xixuejia (Fri, 10 Feb 2017 13:17:00 GMT):
Has joined the channel.

tsnyder (Fri, 10 Feb 2017 13:35:36 GMT):
Has joined the channel.

ssaddem (Fri, 10 Feb 2017 13:52:22 GMT):
Has joined the channel.

frankylu (Sun, 12 Feb 2017 00:10:09 GMT):
Has joined the channel.

s.narayanan (Mon, 13 Feb 2017 15:52:29 GMT):
Has joined the channel.

shibo.lin (Tue, 14 Feb 2017 06:21:15 GMT):
Has joined the channel.

joshhus (Tue, 14 Feb 2017 18:14:35 GMT):
Has joined the channel.

sanchezl (Tue, 14 Feb 2017 19:54:48 GMT):
Has joined the channel.

siddhid (Wed, 15 Feb 2017 03:37:20 GMT):
Has joined the channel.

siddhid (Wed, 15 Feb 2017 03:37:57 GMT):
Hi Guys In fabric 1.0 we can create multiple channels. But wanted to know if there is a way where we create a dedicated channel between 2 peers, such that the third peer is prevented from joining the channel? Thanks

siddhid (Wed, 15 Feb 2017 04:28:47 GMT):
what is the command prompt command for specifying the peer certificates to be included/avoided while creating the channel?

dave.enyeart (Wed, 15 Feb 2017 12:05:16 GMT):
@muralisr I pulled the latest this morning, instantiate is failing in peer as follows:

dave.enyeart (Wed, 15 Feb 2017 12:05:27 GMT):
peer chaincode instantiate -C myc1 -n marbles2 -p github.com/hyperledger/fabric/examples/chaincode/go/marbles02 -c '{"Args":["init"]}' -v 2

dave.enyeart (Wed, 15 Feb 2017 12:06:00 GMT):
2017-02-15 12:01:15.086 UTC [protoutils] validateChannelHeader -> INFO a4a validateChannelHeader info: header type 3 2017-02-15 12:01:15.086 UTC [protoutils] checkSignatureFromCreator -> INFO a4b checkSignatureFromCreator starts panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x8cba43] goroutine 2256 [running]: panic(0xafea40, 0xc4200100c0) /opt/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/common/configtx/handlers/msp.(*MSPConfigHandler).DeserializeIdentity(0xc42153c8c0, 0xc421a11000, 0x3a6, 0x3a6, 0x0, 0x0, 0xc421410070, 0x1) :1 +0x43 github.com/hyperledger/fabric/core/common/validation.checkSignatureFromCreator(0xc421a11000, 0x3a6, 0x3a6, 0xc42153e9b0, 0x46, 0x46, 0xc4216ecf00, 0x4a8, 0x4a8, 0xc421410060, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/common/validation/msgvalidation.go:129 +0x156 github.com/hyperledger/fabric/core/common/validation.ValidateProposalMessage(0xc421759800, 0x0, 0x69e357, 0xc41ff4ba44, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/common/validation/msgvalidation.go:81 +0x1bf github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal(0x11a4fb0, 0x7f6feb800dc0, 0xc4217597a0, 0xc421759800, 0x0, 0x0, 0x0)

muralisr (Wed, 15 Feb 2017 12:56:58 GMT):
@dave.enyeart thanks will try out shortly

adc (Wed, 15 Feb 2017 12:57:24 GMT):
mhh, it should fail anyway more gracefully. Probably more checks are needed at the MSP level

muralisr (Wed, 15 Feb 2017 12:58:13 GMT):
@adc but why does it fail int the first place ?

adc (Wed, 15 Feb 2017 12:58:52 GMT):
trying to figure it out. It look like something might be missing in the MSP identity

yacovm (Wed, 15 Feb 2017 12:59:04 GMT):
isn't it the SAMPLE thing?

adc (Wed, 15 Feb 2017 12:59:08 GMT):
but the stacktrace does not give exact position

yacovm (Wed, 15 Feb 2017 12:59:39 GMT):
Perhaps it's https://gerrit.hyperledger.org/r/#/c/6021 ?

muralisr (Wed, 15 Feb 2017 13:00:26 GMT):
we should try to make sure e-2-e scenarios work before submitting CRs

yacovm (Wed, 15 Feb 2017 13:01:00 GMT):
we should have an e-2-e test

yacovm (Wed, 15 Feb 2017 13:01:03 GMT):
that runs in CI

yacovm (Wed, 15 Feb 2017 13:02:14 GMT):
If you compute the time it takes to test e-2-e scenarios and multiply it by number of commits, you get an insane amount of person years ;)

aso (Wed, 15 Feb 2017 13:04:52 GMT):
Has joined the channel.

aso (Wed, 15 Feb 2017 13:05:12 GMT):
it will be fixed when 5989 and 6021 are merged afaik

aso (Wed, 15 Feb 2017 13:05:28 GMT):
(but there's a defect in MSP because it should fail gracefully)

yacovm (Wed, 15 Feb 2017 13:06:28 GMT):
thanks @aso

yacovm (Wed, 15 Feb 2017 13:22:25 GMT):
But @muralisr of course you're also right in the general sense.

murrekatt (Thu, 16 Feb 2017 06:18:08 GMT):
Has joined the channel.

murrekatt (Thu, 16 Feb 2017 06:34:42 GMT):
for version v1.0 what's the best read to understand the network protocols? i see it changed a lot from v0.6

wutongtree (Thu, 16 Feb 2017 10:06:19 GMT):
Has joined the channel.

s.narayanan (Thu, 16 Feb 2017 18:28:17 GMT):
A few questions on endorsing peers. How does a client look up endorsing peers for a chaincode transaction? Presume the client can send the transaction proposal to multiple endorsing peers in parallel? Also presume channels are only needed for ordering services (consensus). Does a client have to use to a channel to submit requests for endorsement?

s.narayanan (Thu, 16 Feb 2017 18:28:17 GMT):
A few questions on endorsing peers. How does a client look up endorsing peers for a transaction? Presume the client can send the transaction proposal to multiple endorsing peers in parallel?

jeffgarratt (Thu, 16 Feb 2017 22:04:26 GMT):
@s.narayanan As to the multiple endorsers in parallel, yes. As to who the endorsers are, that is more involved. It depends on the configuration of the channel and it's MSP/policy setup.

jeffgarratt (Thu, 16 Feb 2017 22:04:51 GMT):
and the response was wrt to v1.0

ylsGit (Fri, 17 Feb 2017 02:29:14 GMT):
Has joined the channel.

gormand (Fri, 17 Feb 2017 12:02:59 GMT):
Hi - I'm getting some in depth questions about what are the triggers for a peer to know it is out of date and needs to resync either with the channel or with another peer? Does it check the block height with the channel and therefore know it's out of date? If a peer tries to resync with another peer, how does it know the other peer is up to date?

yacovm (Fri, 17 Feb 2017 12:44:42 GMT):
a peer knows it is out of date by having other peers tell it their ledger height. Also, a peer can query for the latest block from the ordering service https://github.com/hyperledger/fabric/blob/master/protos/orderer/ab.proto#L37-L43

gormand (Fri, 17 Feb 2017 12:55:35 GMT):
Thanks @yacovm !!

dave.enyeart (Fri, 17 Feb 2017 15:29:21 GMT):
@muralisr I pulled the latest this morning. Now instantiate fails as follows:

dave.enyeart (Fri, 17 Feb 2017 15:29:27 GMT):
```vagrant@hyperledger-devenv:v0.3.0-36bbeb6:/opt/gopath/src/github.com/hyperledger/fabric$ peer chaincode instantiate -C myc1 -n marbles2 -p github.com/hyperledger/fabric/examples/chaincode/go/marbles02 -c '{"Args":["init"]}' -v 2 Error: Error endorsing chaincode: rpc error: code = 2 desc = Error starting container: API error (404): {"message":"oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"chaincode\\\": executable file not found in $PATH\"\n"}```

muralisr (Fri, 17 Feb 2017 15:29:57 GMT):
I have seen this @dave.enyeart

muralisr (Fri, 17 Feb 2017 15:30:05 GMT):
I had to destroy vagrant and restart

dave.enyeart (Fri, 17 Feb 2017 15:30:09 GMT):
ok

muralisr (Fri, 17 Feb 2017 15:30:24 GMT):
I assumed some fundamental change

muralisr (Fri, 17 Feb 2017 15:30:56 GMT):
but let me pull latest and try too (have to do that anyway) @dave.enyeart

dave.enyeart (Fri, 17 Feb 2017 15:52:14 GMT):
@muralisr After vagrant up it fails with a different error:

dave.enyeart (Fri, 17 Feb 2017 15:52:20 GMT):
```vagrant@hyperledger-devenv:v0.3.0-ea5b30c:/opt/gopath/src/github.com/hyperledger/fabric$ peer chaincode instantiate -C myc1 -n marbles2 -p github.com/hyperledger/fabric/examples/chaincode/go/marbles02 -c '{"Args":["init"]}' -v 2 Error: Got unexpected status: NOT_FOUND```

dave.enyeart (Fri, 17 Feb 2017 15:52:47 GMT):
peer looked ok during instantiate:

dave.enyeart (Fri, 17 Feb 2017 15:52:52 GMT):
```2017-02-17 15:51:29.304 UTC [lockbasedtxmgr] GetTxSimulationResults -> DEBU 53b Simulation completed, getting simulation results 2017-02-17 15:51:29.304 UTC [lockbasedtxmgr] Done -> DEBU 53c Done query executer/ tx simulator [62c95d2f-3cb3-4962-9a65-c38bbc0817ec]```

muralisr (Fri, 17 Feb 2017 15:56:09 GMT):
ok. That sounds like a orderer issue

muralisr (Fri, 17 Feb 2017 15:56:24 GMT):
haven't had a chance to try it yet

muralisr (Fri, 17 Feb 2017 15:56:33 GMT):
will do so in a few mins

muralisr (Fri, 17 Feb 2017 16:20:40 GMT):
@dave.enyeart I'm seeing a different error `Error: Error endorsing chaincode: rpc error: code = 2 desc = failure opening codepackage gzip stream: EOF`

muralisr (Fri, 17 Feb 2017 16:21:37 GMT):
( @greg.haskins something with the filter changes.... investigating )

greg.haskins (Fri, 17 Feb 2017 16:26:29 GMT):
@muralisr @dave.enyeart Dave's error looks like a stale-container problem

greg.haskins (Fri, 17 Feb 2017 16:27:28 GMT):
I changed the launch sequence recently from "$GOPATH/bin/$name" to "chaincode" where the chaincode binary is in /usr/local/bin

greg.haskins (Fri, 17 Feb 2017 16:27:49 GMT):
the fact that its not finding "chaincode" implies the container was not rebuilt after the update

greg.haskins (Fri, 17 Feb 2017 16:28:27 GMT):
a vagrant destroy/up would fix it by virtue of destroying the docker cache

greg.haskins (Fri, 17 Feb 2017 16:28:38 GMT):
but there are lighterweight options im sure

greg.haskins (Fri, 17 Feb 2017 16:29:05 GMT):
as far as that gzip decode error @muralisr, thats a mystery

muralisr (Fri, 17 Feb 2017 16:29:37 GMT):
indeed... I'll look at that as I can recreate and update @greg.haskins

greg.haskins (Fri, 17 Feb 2017 16:29:43 GMT):
ok

greg.haskins (Fri, 17 Feb 2017 16:30:07 GMT):
@muralisr did you see that error in the context of UTs or run-time ?

muralisr (Fri, 17 Feb 2017 16:30:24 GMT):
when I was doing end-2-end

muralisr (Fri, 17 Feb 2017 16:30:44 GMT):
so basically CLI commands

muralisr (Fri, 17 Feb 2017 16:31:08 GMT):
I'm thinking some code needs to be modified in that path

muralisr (Fri, 17 Feb 2017 16:31:08 GMT):
I'm thinking some code needs to be modified in that path @greg.haskins

greg.haskins (Fri, 17 Feb 2017 16:32:51 GMT):
im not sure how you would get into this circumstance, but its hitting this: https://github.com/hyperledger/fabric/blob/master/core/chaincode/platforms/golang/platform.go#L115

greg.haskins (Fri, 17 Feb 2017 16:33:25 GMT):
the code is hardwired to expect cds.CodePackage is a tar.gz

greg.haskins (Fri, 17 Feb 2017 16:33:35 GMT):
is it possible that it may sometimes be empty, such as LCCC?

greg.haskins (Fri, 17 Feb 2017 16:33:54 GMT):
thats the only legit scenario that I can think of

greg.haskins (Fri, 17 Feb 2017 16:35:40 GMT):
@muralisr assuming the theory is right, I think an "if cds.CodePackage && len(cds.CodePackage) { return }" should fix it

muralisr (Fri, 17 Feb 2017 16:36:05 GMT):
I think that's exactly right @greg.haskins

greg.haskins (Fri, 17 Feb 2017 16:36:30 GMT):
do you want to patch on your end so you can test?

greg.haskins (Fri, 17 Feb 2017 16:36:35 GMT):
otherwise, happy to submit a CR

muralisr (Fri, 17 Feb 2017 16:36:46 GMT):
I'll copy paste the above and test

greg.haskins (Fri, 17 Feb 2017 16:36:58 GMT):
ok

muralisr (Fri, 17 Feb 2017 16:37:01 GMT):
and let you know ?

greg.haskins (Fri, 17 Feb 2017 16:37:05 GMT):
of course

muralisr (Fri, 17 Feb 2017 16:37:14 GMT):
Rocket is stalling :-)

muralisr (Fri, 17 Feb 2017 16:37:42 GMT):
my statements are coming in delayed a bit...

muralisr (Fri, 17 Feb 2017 16:45:32 GMT):
that was it @greg.haskins

muralisr (Fri, 17 Feb 2017 16:45:35 GMT):

Message Attachments

muralisr (Fri, 17 Feb 2017 16:45:40 GMT):
that fixes it

muralisr (Fri, 17 Feb 2017 16:45:47 GMT):
and its a valid fix

chris.elder (Fri, 17 Feb 2017 16:58:51 GMT):
Has joined the channel.

muralisr (Fri, 17 Feb 2017 17:02:26 GMT):
@greg.haskins ^^^

greg.haskins (Fri, 17 Feb 2017 17:03:01 GMT):
looks good, sorry for not catching that case

greg.haskins (Fri, 17 Feb 2017 17:03:28 GMT):
do you want me to push?

greg.haskins (Fri, 17 Feb 2017 17:03:37 GMT):
im fine either way

muralisr (Fri, 17 Feb 2017 17:03:45 GMT):
actually I shoud have seen it too ... (not your fault at all I think)

muralisr (Fri, 17 Feb 2017 17:03:47 GMT):
please

greg.haskins (Fri, 17 Feb 2017 17:03:51 GMT):
ok

greg.haskins (Fri, 17 Feb 2017 17:04:18 GMT):
can you file JIRA?

muralisr (Fri, 17 Feb 2017 17:04:23 GMT):
will do

muralisr (Fri, 17 Feb 2017 17:04:28 GMT):
one moment

muralisr (Fri, 17 Feb 2017 17:10:22 GMT):
https://jira.hyperledger.org/browse/FAB-2341 .... thanks @greg.haskins

muralisr (Fri, 17 Feb 2017 20:16:22 GMT):
with https://gerrit.hyperledger.org/r/#/c/6161 end-to-end tests work (channel create/join, chaincode install/instantiate/invoke/query)

elli-androulaki (Sat, 18 Feb 2017 10:27:22 GMT):
Has joined the channel.

warm3snow (Tue, 21 Feb 2017 05:18:47 GMT):
Has joined the channel.

tuand (Tue, 21 Feb 2017 23:11:28 GMT):
anyone have a serialized policy I can use for testing ? trying to send a CC instantiate request and want to populate the ChaincodeInput struct ... @muralisr @jeffgarratt

muralisr (Tue, 21 Feb 2017 23:11:42 GMT):
hey Tuan

muralisr (Tue, 21 Feb 2017 23:12:23 GMT):
policy as in endorsement policy ?

muralisr (Tue, 21 Feb 2017 23:12:49 GMT):
the "-P" option in CLI's "instantiate" command ?

murrekatt (Wed, 22 Feb 2017 10:10:54 GMT):
on current master, what does `[gossip/comm#-1] func1 -> WARN 02c 0.0.0.0:7051, PKIid:[] isn't responsive: EOF` in the logs from the peer mean and what can be done to address it?

yacovm (Wed, 22 Feb 2017 11:00:47 GMT):
@murrekatt remove the 0.0.0.0:7051 from https://github.com/hyperledger/fabric/blob/master/peer/core.yaml#L72

murrekatt (Wed, 22 Feb 2017 12:01:55 GMT):
@yacovm thanks, what is needed from the system with the current value? could i e.g. put in a peer there or how does it work?

yacovm (Wed, 22 Feb 2017 12:34:26 GMT):
you can put a peer there instead

yacovm (Wed, 22 Feb 2017 12:34:36 GMT):
if you run a single peer, you can simply not put anything and leave it empty

yacovm (Wed, 22 Feb 2017 12:34:42 GMT):
if you run some peers in the same organization

yacovm (Wed, 22 Feb 2017 12:34:56 GMT):
you can just select some peer among them

yacovm (Wed, 22 Feb 2017 12:34:59 GMT):
and put its ip:port

yacovm (Wed, 22 Feb 2017 12:35:03 GMT):
@murrekatt

yacovm (Wed, 22 Feb 2017 12:35:09 GMT):
(was in a meeting so couldn't answer)

murrekatt (Wed, 22 Feb 2017 12:43:11 GMT):
thanks @yacovm

murrekatt (Wed, 22 Feb 2017 12:44:40 GMT):
btw, the `core.yml` file is that a container build time thing or can that be provided from outside the container? @yacovm

yacovm (Wed, 22 Feb 2017 12:46:39 GMT):
so, the core.yml is also copied at the build time

yacovm (Wed, 22 Feb 2017 12:46:42 GMT):
but it can be overrided

yacovm (Wed, 22 Feb 2017 12:46:46 GMT):
by the docker-compose environment params

murrekatt (Wed, 22 Feb 2017 12:55:17 GMT):
to give a whole new yml file?

yacovm (Wed, 22 Feb 2017 13:01:26 GMT):
what do you mean?

murrekatt (Wed, 22 Feb 2017 13:04:07 GMT):
can i provide an env variable that says use this other core.yml file or you meant that i can override some of the configs one by one using env variables?

psa (Wed, 22 Feb 2017 13:06:55 GMT):
Has joined the channel.

yacovm (Wed, 22 Feb 2017 13:07:07 GMT):
the latter

murrekatt (Wed, 22 Feb 2017 13:08:44 GMT):
ok then i knew all options :)

murrekatt (Wed, 22 Feb 2017 13:10:31 GMT):
one more thing related to the bootstrap, in a multi-peer setup (say a test setup on one machine) if a peer doesn't have a bootstrap endpoint do the peers still connect?

murrekatt (Wed, 22 Feb 2017 13:10:50 GMT):
i'm atm looking at the example compose files in `fabric/docs`

yacovm (Wed, 22 Feb 2017 13:22:04 GMT):
so, in this case

yacovm (Wed, 22 Feb 2017 13:22:12 GMT):
it'll take the endpoint from the anchor peer set

yacovm (Wed, 22 Feb 2017 13:22:16 GMT):
when you create a channel

yacovm (Wed, 22 Feb 2017 13:22:27 GMT):
invoke: `peer channel create -h` and you'll see, there is a `-a` flag

murrekatt (Wed, 22 Feb 2017 13:44:45 GMT):
ok, yes i saw that one. what's the bootstrap peer config vs anchor peers that you mention?

yacovm (Wed, 22 Feb 2017 13:45:59 GMT):
so, the bootstrap is at startup

yacovm (Wed, 22 Feb 2017 13:46:05 GMT):
the anchor peer list is when you join a channel

lohitkrishnan (Wed, 22 Feb 2017 13:47:59 GMT):
Has joined the channel.

murrekatt (Wed, 22 Feb 2017 13:59:36 GMT):
right. and the bootstrap can be for any channels, even those the peer cannot access?

yacovm (Wed, 22 Feb 2017 14:13:00 GMT):
so

yacovm (Wed, 22 Feb 2017 14:13:17 GMT):
the bootstrap peer is something you define in the configuration and isn't related to channels

tuand (Wed, 22 Feb 2017 14:34:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=L93zzvGQ6BFN8CbwC) @muralisr i think so ... that's what becomes `policyMarhsalled` in peer/chaincode/common.go ?

murrekatt (Wed, 22 Feb 2017 14:51:22 GMT):
@yacovm ok, so joining a channel must be explicit and will not happen when a peer connects with another peer?

yacovm (Wed, 22 Feb 2017 14:51:35 GMT):
yeah

murrekatt (Wed, 22 Feb 2017 14:53:26 GMT):
so bootstrap just provides a way to find other peers but that doesn't mean they exchange any info like channels

yacovm (Wed, 22 Feb 2017 14:53:32 GMT):
exactly

murrekatt (Wed, 22 Feb 2017 14:54:08 GMT):
just coming from the situation when a peer needs to join the very first time or for some reason lost track of channels it should be on

murrekatt (Wed, 22 Feb 2017 14:54:38 GMT):
as i understand you the peers must know that themselves and there is no way they find that out just by using their say certificates

yacovm (Wed, 22 Feb 2017 14:55:40 GMT):
a peer joins a channel manually

murrekatt (Wed, 22 Feb 2017 14:55:41 GMT):
remember reading somewhere about the system channel that keeps some info about this in some special cases...need to see where i read that

yacovm (Wed, 22 Feb 2017 14:55:42 GMT):
*not* automatically

murrekatt (Wed, 22 Feb 2017 14:55:48 GMT):
right

yacovm (Wed, 22 Feb 2017 14:55:50 GMT):
no no noi

yacovm (Wed, 22 Feb 2017 14:55:54 GMT):
the system channel is not in the peers

murrekatt (Wed, 22 Feb 2017 14:56:00 GMT):
yes in the orderer

yacovm (Wed, 22 Feb 2017 14:56:03 GMT):
yeah

murrekatt (Wed, 22 Feb 2017 14:56:42 GMT):
thanks @yacovm

murrekatt (Wed, 22 Feb 2017 14:57:30 GMT):
trying to find out things reading partially outdated docs but not clear what is and what isn't outdated

muralisr (Wed, 22 Feb 2017 15:16:22 GMT):
@tuan, yes

muralisr (Wed, 22 Feb 2017 15:16:22 GMT):
@tuand yes

davidkel (Wed, 22 Feb 2017 16:26:57 GMT):
Has joined the channel.

tuand (Wed, 22 Feb 2017 22:05:37 GMT):
from java sdk, trying to run install/instantiate/invoke/query flow and getting this error on peer ?

tuand (Wed, 22 Feb 2017 22:05:57 GMT):
```[36m2017-02-22 21:34:08.151 UTC [shim] func1 -> DEBU 4d2 [2cd3e0f8]Received message TRANSACTION from shim 2017-02-22 21:34:08.151 UTC [shim] handleMessage -> DEBU 4d3 [2cd3e0f8]Handling ChaincodeMessage of type: TRANSACTION(state:ready) 2017-02-22 21:34:08.151 UTC [shim] enterTransactionState -> DEBU 4d4 [2cd3e0f8]Received TRANSACTION, invoking transaction on chaincode(Src:ready, Dst:ready) 2017-02-22 21:34:08.151 UTC [vscc] Invoke -> INFO 4d5 VSCC invoked 2017-02-22 21:34:08.151 UTC [cauthdsl] func1 -> DEBU 4d6 Gate evaluation starts: (&{N:1 policies: }) 2017-02-22 21:34:08.151 UTC [cauthdsl] func2 -> DEBU 4d7 Principal evaluation starts: (&{%!s(int32=0)}) (used [%!s(bool=false)]) panic: Not yet implemented goroutine 434 [running]: panic(0xbb69c0, 0xc42179a000) /opt/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/msp.(*bccspmsp).SatisfiesPrincipal(0xc42143a960, 0x12bfc40, 0xc421679800, 0xc42176dce0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/msp/mspimpl.go:536 +0xa55 github.com/hyperledger/fabric/msp.(*identity).SatisfiesPrincipal(0xc421679800, 0xc42176dce0, 0x3a6, 0x3a6) /opt/gopath/src/github.com/hyperledger/fabric/msp/identities.go:55 +0x4a github.com/hyperledger/fabric/common/cauthdsl.compile.func2(0xc420024588, 0x1, 0x1, 0xc42177f4f0, 0x1, 0x1, 0x410a4e) /opt/gopath/src/github.com/hyperledger/fabric/common/cauthdsl/cauthdsl.go:78 +0x205 github.com/hyperledger/fabric/common/cauthdsl.compile.func1(0xc420024588, 0x1, 0x1, 0xc42177f3eb, 0x1, 0x1, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/common/cauthdsl/cauthdsl.go:51 +0x1ce github.com/hyperledger/fabric/common/cauthdsl.(*policy).Evaluate(0xc420024570, 0xc420024588, 0x1, 0x1, 0x418, 0xc421790000) /opt/gopath/src/github.com/hyperledger/fabric/common/cauthdsl/policy.go:73 +0x96 github.com/hyperledger/fabric/core/scc/vscc.(*ValidatorOneValidSignature).Invoke(0x12fbda8, 0x12c1920, 0xc42177db80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/scc/vscc/validator_onevalidsignature.go:141 +0x5c6 github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction.func1(0xc421392c40, 0xc4202b68c0) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:312 +0x770 created by github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction```

tuand (Wed, 22 Feb 2017 22:06:47 GMT):
I instantiated the CC with policy `AND('DEFAULT.member')`

tuand (Wed, 22 Feb 2017 22:07:38 GMT):
this flow works fine if I don't set the policy

tuand (Wed, 22 Feb 2017 22:08:20 GMT):
running with fabric commit e3fe66b

muralisr (Thu, 23 Feb 2017 16:03:14 GMT):
@tuand lets check with @aso ^^^

tuand (Thu, 23 Feb 2017 16:33:50 GMT):
interesting, I can't find Ale @aso in the user list ... @adc or @eli , can you help ? ^^^

mastersingh24 (Thu, 23 Feb 2017 16:39:18 GMT):
@tuand - what configuration are you using for the peer?

mastersingh24 (Thu, 23 Feb 2017 16:39:33 GMT):
and ordering service?

mastersingh24 (Thu, 23 Feb 2017 16:40:19 GMT):
and actually I think instantiate might require "admin" not "member"?

tuand (Thu, 23 Feb 2017 16:41:04 GMT):
I tried with both DEFAULT.admin and DEFAULT.member with same result

mastersingh24 (Thu, 23 Feb 2017 16:41:08 GMT):
oh - I guess you are having problems after you've already instantiated?

mastersingh24 (Thu, 23 Feb 2017 16:41:19 GMT):
or with actually instantiate

tuand (Thu, 23 Feb 2017 16:42:47 GMT):
on invoke i think, sdk got an event back for instantiate

tuand (Thu, 23 Feb 2017 16:44:54 GMT):
attaching docker-compose file ... 1 sec

tuand (Thu, 23 Feb 2017 16:45:46 GMT):

Message Attachments

mastersingh24 (Thu, 23 Feb 2017 16:46:37 GMT):
you may also want to pull down https://gerrit.hyperledger.org/r/gitweb?p=fabric.git;a=commit;h=2fc6bc606bc5f732d9b04ce28e1d28dfbd220173

tuand (Thu, 23 Feb 2017 16:48:57 GMT):
ok. might be a bit slow responding, might need to do some fixup as java sdk is finicky with latest fabric commits

mastersingh24 (Thu, 23 Feb 2017 16:58:30 GMT):
I'd recommend pulling in at least what I posted above as that's where it actually starts really enforcing stuff

aso (Thu, 23 Feb 2017 17:29:23 GMT):
Hi @tuand

aso (Thu, 23 Feb 2017 17:29:36 GMT):
``` panic: Not yet implemented ``` means you need to pull again

aso (Thu, 23 Feb 2017 17:30:08 GMT):
that was implemented in https://gerrit.hyperledger.org/r/#/c/6349/

tuand (Thu, 23 Feb 2017 17:37:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=NwfW4sDSNwbc6dm3w) got it. Thanks @aso !

tuand (Thu, 23 Feb 2017 18:51:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=h5P5MLt7SpQjahmax) java sdk can send instantiateCC request with policy now. thanks @aso

rickr (Thu, 23 Feb 2017 23:49:47 GMT):
Hi -- I can run inst/init/invoke/query on the testchainid chain. Recycle orderer/peer and first create an 'foo' chain and join the peer. From that there's no idication that I can see anything went wrong. The proposal for joining the peer is succesful. I then start running that scenario on this new chain. Install is ok but instiate proposal fails. peer dies. https://jpst.it/U6TW ``` goroutine 312 [running]: panic(0xb3fa60, 0xc42000e0d0) /usr/local/lib/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/common/configvalues/msp.(*MSPConfigHandler).DeserializeIdentity(0xc42149db60, 0xc421504300, 0x2ed, 0x2ed, 0x0, 0x0, 0x3, 0xc4214772f0) :1 +0x44 github.com/hyperledger/fabric/core/common/validation.checkSignatureFromCreator(0xc421504300, 0x2ed, 0x2ed, 0xc421481d60, 0x46, 0x46, 0xc4215eb800, 0x3e1, 0x3e1, 0xc4214772e0, ...) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/core/common/validation/msgvalidation.go:145 +0x156 github.com/hyperledger/fabric/core/common/validation.ValidateProposalMessage(0xc4215bbfb0, 0x0, 0x9080, 0x2212bf5d21554868, 0xd041685d, 0x0) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/core/common/validation/msgvalidation.go:88 +0x1cd github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal(0x1208b88, 0x7f6d781ec600, 0xc4215bbf50, 0xc4215bbfb0, 0x0, 0x0, 0x0) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/core/endorser/endorser.go:276 +0x67 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler(0xbbd920, 0x1208b88, 0x7f6d781ec600, 0xc4215bbf50, 0xc42005e180, 0x0, 0x0, 0x0, 0x0, 0x11ec5a0) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:99 +0x27d github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc4200883f0, 0x11d1b60, 0xc420088a20, 0xc42009ad20, 0xc4200d91d0, 0x11b2d10, 0xc4215bbf20, 0x0, 0x0) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:580 +0xa2d github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream(0xc4200883f0, 0x11d1b60, 0xc420088a20, 0xc42009ad20, 0xc4215bbf20) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:737 +0x6ad github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc4216ec830, 0xc4200883f0, 0x11d1b60, 0xc420088a20, 0xc42009ad20) /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:402 +0xab created by github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1 /home/rineholt/gitws/bc/fabric-0221/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:403 +0xa3 vagrant@hyperledger-devenv:v0.3.0-e3fe66b:/opt/gopath/src/github.com/hyperledger/fabric$ ```

rickr (Thu, 23 Feb 2017 23:52:04 GMT):
``` commit e3fe66ba19c3d77d88431d74d5647d0372496313 Merge: 9b972b2 011cd41 Author: Binh Nguyen Date: Tue Feb 21 16:50:46 2017 +0000```

CarlXK (Fri, 24 Feb 2017 02:02:49 GMT):
Has joined the channel.

ryokawajp (Fri, 24 Feb 2017 11:00:57 GMT):
Has joined the channel.

RangaOnkaram (Fri, 24 Feb 2017 14:47:28 GMT):
Has joined the channel.

tuand (Fri, 24 Feb 2017 20:52:18 GMT):
@jeffgarratt do we ( will we ) have an "official tool" for users to create the bootstrap blocks, policies and what not ? I'm asking since the SDK is supposed to be fed these artifacts as binary files or byte arrays. Want to see if there's any conventions like standard filenames, output directories, etc.. yet

jeffgarratt (Fri, 24 Feb 2017 21:54:28 GMT):
@tuand I am in hold mode until the system has stabilized a bit. I am hoping to clarify the usage a bit more before make determinations on tooling.

tuand (Fri, 24 Feb 2017 22:05:23 GMT):
ok @jeffgarratt I'll ask again monday when we'll all be sitting around with nothing to do ;)

muralisr (Fri, 24 Feb 2017 22:24:24 GMT):
@jeffgarratt @tuand hopefully once https://gerrit.hyperledger.org/r/#/c/6489/ https://gerrit.hyperledger.org/r/#/c/6379/ https://gerrit.hyperledger.org/r/#/c/5955/ are merged (imminent) we can be back on track

jeffgarratt (Fri, 24 Feb 2017 22:25:06 GMT):
:)

bretharrison (Sat, 25 Feb 2017 14:51:32 GMT):
Has joined the channel.

muralisr (Sat, 25 Feb 2017 15:10:23 GMT):
@rickr can you give some instructions to setup and test with java SDK ?

jimthematrix (Sat, 25 Feb 2017 20:25:08 GMT):
Has joined the channel.

jimthematrix (Sat, 25 Feb 2017 20:26:04 GMT):
I just tested the latest, the sdk definitely still suffers the “signature invalid” problem that was reported two days ago. from inspecting the golang source where this happens, it’s actually past the validation of the cert, indicating that as far as msp config is concerned it seems fine. but it failed as the signature verification step, which never happened before, this implies a problem in the crypto layer. @adc @aso would need your help to investigate

jimthematrix (Sat, 25 Feb 2017 20:26:04 GMT):
I just tested the latest, the sdk definitely still suffers the “signature invalid” problem that was reported two days ago. from inspecting the golang source where this happens, it’s actually past the validation of the cert, indicating that as far as msp config is concerned it seems fine. but it failed as the signature verification step, which never happened before, this implies an issue in the crypto layer. @adc @aso would need your help to investigate

muralisr (Sat, 25 Feb 2017 20:41:51 GMT):
@jimthematrix the right MSPID and matching crypto needs to be used

muralisr (Sat, 25 Feb 2017 20:43:17 GMT):
so we could generated config tx with DEFAULT using msp/sampleconfig (generated from fabric-ca so should match the crypto being used in SDK)

jimthematrix (Sat, 25 Feb 2017 20:43:19 GMT):
what's the value for the "testchainid"?

muralisr (Sat, 25 Feb 2017 20:43:27 GMT):
ah yes

muralisr (Sat, 25 Feb 2017 20:43:54 GMT):
so there are two options there... best to create a chain ("foo") and join it

muralisr (Sat, 25 Feb 2017 20:46:36 GMT):
need to play with the testchainid option a bit (have been focusing on using "real" channels for a while)

jimthematrix (Sat, 25 Feb 2017 20:48:30 GMT):
i wonder how that got past cert validation before the signature verify, if the msp wasn't set up right...

muralisr (Sat, 25 Feb 2017 20:52:03 GMT):
good question.. let me check something (I assume you were using default testchainid ?)

muralisr (Sat, 25 Feb 2017 21:01:45 GMT):
@jimthematrix need to try something... will update soon Jim

muralisr (Sat, 25 Feb 2017 21:12:22 GMT):
@jimthematrix how do you run the orderer ?

muralisr (Sat, 25 Feb 2017 21:12:42 GMT):
if from docker, can you share the compose yml ?

bretharrison (Sat, 25 Feb 2017 22:05:38 GMT):

Message Attachments

bretharrison (Sat, 25 Feb 2017 22:06:04 GMT):
had to use txt, yml was not allowed to be uploaded

jimthematrix (Sun, 26 Feb 2017 00:24:40 GMT):
@muralisr how do you debug peer code these days? i used to be able to use a command like below to debug: ```CORE_PEER_ID=vp0 CORE_PEER_PROFILE_ENABLED=true CORE_PEER_COMMITTER_LEDGER_ORDERER=localhost:7050 CORE_PEER_MSPCONFIGPATH=/Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/msp/sampleconfig/ dlv debug -- node start``` but now it panics and exits

jimthematrix (Sun, 26 Feb 2017 00:24:40 GMT):
@muralisr how do you debug peer code these days? i used to be able to use a command like below in the `peer` folder to debug: ```CORE_PEER_ID=vp0 CORE_PEER_PROFILE_ENABLED=true CORE_PEER_COMMITTER_LEDGER_ORDERER=localhost:7050 CORE_PEER_MSPCONFIGPATH=/Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/msp/sampleconfig/ dlv debug -- node start``` but now it panics and exits

jimthematrix (Sun, 26 Feb 2017 00:41:46 GMT):
```2017-02-25 19:23:43.512 EST [msp] Validate -> INFO 018 MSP DEFAULT validating identity 2017-02-25 19:23:43.512 EST [gossip/gossip#0.0.0.0:7051] NewGossipService -> WARN 019 External endpoint is empty, peer will not be accessible outside of its organization 2017-02-25 19:23:43.512 EST [gossip/gossip#0.0.0.0:7051] Stop -> INFO 01b Stopping gossip 2017-02-25 19:23:43.512 EST [gossip/discovery#0.0.0.0:7051] Stop -> INFO 01c Stopping 2017-02-25 19:23:43.512 EST [gossip/gossip#0.0.0.0:7051] start -> INFO 01a Gossip instance 0.0.0.0:7051 started 2017-02-25 19:23:43.512 EST [gossip/discovery#0.0.0.0:7051] Stop -> INFO 01e Stopped 2017-02-25 19:23:43.512 EST [gossip/comm#-1] Stop -> INFO 01d Stopping 2017-02-25 19:23:43.512 EST [gossip/comm#-1] 1 -> WARN 01f Recovered 2017-02-25 19:23:43.512 EST [gossip/comm#-1] Stop -> INFO 020 Stopped panic: ---empty version---(chain=,chaincode=cscc,version=,txid=d14f1427-d73c-4066-9ce6-7a0c9e7672b9,syscc=true,proposal=0x0 goroutine 1 [running]: github.com/hyperledger/fabric/core/common/ccprovider.NewCCContext(0x0, 0x0, 0x4870c67, 0x4, 0x0, 0x0, 0xc4202fb7d0, 0x24, 0x4498d01, 0x0, ...) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/core/common/ccprovider/ccprovider.go:202 +0x9c8 github.com/hyperledger/fabric/core/chaincode.(*ccProviderImpl).GetCCContext(0xc4217c9d80, 0x0, 0x0, 0x4870c67, 0x4, 0x0, 0x0, 0xc4202fb7d0, 0x24, 0xc42001f301, ...) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/core/chaincode/ccproviderimpl.go:71 +0xb3 github.com/hyperledger/fabric/core/scc.deploySysCC(0x0, 0x0, 0x4c66f00, 0x0, 0x0) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/core/scc/sysccapi.go:121 +0x515 github.com/hyperledger/fabric/core/scc.DeploySysCCs(0x0, 0x0) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/core/scc/importsysccs.go:79 +0x65 github.com/hyperledger/fabric/peer/node.initSysCCs() /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/peer/node/start.go:82 +0x33 github.com/hyperledger/fabric/peer/node.serve(0x4c8f358, 0x0, 0x0, 0x0, 0x0) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/peer/node/start.go:162 +0x978 ```

yacovm (Sun, 26 Feb 2017 07:19:00 GMT):
Did you build it using go build?

yacovm (Sun, 26 Feb 2017 07:19:07 GMT):
@jimthematrix

jimthematrix (Sun, 26 Feb 2017 07:19:34 GMT):
`dlv debug`

jimthematrix (Sun, 26 Feb 2017 07:19:50 GMT):
does the build with debug instrumentation

yacovm (Sun, 26 Feb 2017 07:20:31 GMT):
Empty version is usually because you need to pass some magical phrase to the build, like `make peer` does

jimthematrix (Sun, 26 Feb 2017 07:31:45 GMT):
yeah i'm pretty sure it's the need to pass `-ldflags` but i've tried various way to no avail, ```dlv debug --build-flag="-ldflags='-X ....'"```

jimthematrix (Sun, 26 Feb 2017 07:33:38 GMT):
i think the "invalid signature" problem mystery was caused by the fact that peer node uses SHA3 (instead of SHA2) 256 hashing, which was recently changed. changing the signing to use SHA3 256 got me past that error

jimthematrix (Sun, 26 Feb 2017 07:33:38 GMT):
i think the "invalid signature" problem mystery was caused by the fact that peer node uses SHA3 (instead of SHA2) 256 hashing, which was recently changed. changing the signing to use SHA3 256 got me past that error (@rickr)

jimthematrix (Sun, 26 Feb 2017 07:33:38 GMT):
i think the "invalid signature" problem mystery was caused by the fact that peer node uses SHA3 (instead of SHA2) 256 hashing, which was recently changed. changing the signing to use SHA3 256 got me past that error @rickr

jimthematrix (Sun, 26 Feb 2017 07:33:38 GMT):
i think the "invalid signature" problem mystery was caused by the fact that peer node uses SHA3 (instead of SHA2) 256 hashing, which was recently changed. changing the signing to use SHA3 256 got me past that error @rickr @pmullaney

jimthematrix (Sun, 26 Feb 2017 07:34:48 GMT):
the next error was comparing the tx ID where the peer reconstructed the id based on creator and nonce. it failed because the peer uses SHA2 256 for this particular step

jimthematrix (Sun, 26 Feb 2017 07:35:18 GMT):
I've got node SDK to change the hashing algo according, and that got me a little further

jimthematrix (Sun, 26 Feb 2017 07:35:49 GMT):
and now encountering this: ```error: [Peer.js]: GRPC client got an error response from the peer. Error: Illegal file detected in payload: "."```

jimthematrix (Sun, 26 Feb 2017 07:44:12 GMT):
that's the first entry in the tarball for the install proposal. seems harmless to me, why should that be considered "illegal"? @greg.haskins ?

jimthematrix (Sun, 26 Feb 2017 08:15:07 GMT):
http://gerrit.hyperledger.org/r/6543 for the signature (and txId generation) issue related to using SHA2/3 256 at various points

greg.haskins (Sun, 26 Feb 2017 12:37:23 GMT):
@jimthematrix "Illegal" was probably too strong of a word. "Invalid" would have been a better choice. Bottom line, the only valid content is text files that end with (go|c|h). Anything else (like the directory ".") has no business in that payload and is just slop on behalf of the payload creator

greg.haskins (Sun, 26 Feb 2017 12:38:37 GMT):
Considering that the payload has implications in multiple dimensions (security, network strain, etc) we really want to discourage slop

greg.haskins (Sun, 26 Feb 2017 13:11:09 GMT):
@jimthematrix Regarding dlv, try "dlv exec" against the binary built by "make peer" instead

greg.haskins (Sun, 26 Feb 2017 13:11:19 GMT):
Thats how I run

greg.haskins (Sun, 26 Feb 2017 13:11:49 GMT):
The you don't need to worry about replicating the build

jimthematrix (Sun, 26 Feb 2017 15:16:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=nu52dehrrc6cRs9B3) @greg.haskins i briefly searched for a tarball packer that doesn't include the "." but haven't found one. i think that's how most tarball packers work though (including the "." entry). can we be more practical on this one? what harm can the "." entry do?

greg.haskins (Sun, 26 Feb 2017 18:48:16 GMT):
@jimthematrix Every byte is a liability so unless there is no other way we should strive to be as efficient as possible. I don't think we have crossed the "there is no other way" threshold yet. I am not aware of any fundamental tendency of tar encoders to include the dir/symlink. I already have patches underway for the SDK to clean up how we generate the golang package. Let's see if it can be solved first before punting.

greg.haskins (Sun, 26 Feb 2017 21:56:47 GMT):
@jimthematrix @mastersingh24 https://jira.hyperledger.org/browse/FAB-2493

jimthematrix (Sun, 26 Feb 2017 21:58:44 GMT):
yes I'm working on this, got past the illegal file entries error by forcing the "entries" to be src/chaincodePath on the tarball packer. now need to set the files to have -rw-rw-rw- mode

greg.haskins (Sun, 26 Feb 2017 21:59:05 GMT):
ok, I am working on a refactor too, we should sync up

greg.haskins (Sun, 26 Feb 2017 21:59:08 GMT):
https://gerrit.hyperledger.org/r/#/c/6551/

greg.haskins (Sun, 26 Feb 2017 21:59:39 GMT):
still WIP, and more patches to come to complete FAB-2493

greg.haskins (Sun, 26 Feb 2017 22:00:08 GMT):
dealing with a weird UT failure now related to fs.copy() that I do not understand

muralisr (Sun, 26 Feb 2017 22:03:11 GMT):
@greg.haskins to make sure I understand...the suggestion in https://jira.hyperledger.org/browse/FAB-2493 is at the collection time (say in the SDK) and not in the peer at executing the install correct ?

jimthematrix (Sun, 26 Feb 2017 22:03:15 GMT):
i added https://gerrit.hyperledger.org/r/#/c/6551/4 comment for the trick to exclude the unnecessary folder entries

muralisr (Sun, 26 Feb 2017 22:03:32 GMT):
ie not a filter on the filter

muralisr (Sun, 26 Feb 2017 22:03:36 GMT):
oops

muralisr (Sun, 26 Feb 2017 22:03:42 GMT):
not a filter on the peer

greg.haskins (Sun, 26 Feb 2017 22:03:50 GMT):
@muralisr correct, it would be done by the entity assembling the codepackage, namely the SDK or CLI

muralisr (Sun, 26 Feb 2017 22:04:05 GMT):
makes sense, @greg.haskins ...thanks

jimthematrix (Sun, 26 Feb 2017 22:04:36 GMT):
@greg.haskins what UT failure are you seeing?

muralisr (Sun, 26 Feb 2017 22:04:59 GMT):
(the lines get blurred when talking of CLI and peer sometimes.. hence the question)

greg.haskins (Sun, 26 Feb 2017 22:06:52 GMT):
@jimthematrix look at the result of patch v4: https://jenkins.hyperledger.org/job/fabric-sdk-node-verify-x86_64/572/

greg.haskins (Sun, 26 Feb 2017 22:13:50 GMT):
@jimthematrix does that ring a bell at all?

greg.haskins (Sun, 26 Feb 2017 22:13:57 GMT):
i am confused what it is telling me

greg.haskins (Sun, 26 Feb 2017 22:14:22 GMT):
it seems like either fs.mkdtemp() or fs.copy() isnt recognized, but I dont understand why that is different from the original impl

jimthematrix (Mon, 27 Feb 2017 01:34:22 GMT):
hi @greg.haskins those two methods are from the "fs-extra" module

jimthematrix (Mon, 27 Feb 2017 01:34:42 GMT):
if you swap the "fs" for "fs-extra" the error should be fixed

jimthematrix (Mon, 27 Feb 2017 01:34:42 GMT):
if you swap the "fs" for "fs-extra" in golang.js the error should be fixed

jimthematrix (Mon, 27 Feb 2017 01:35:33 GMT):
(sorry had to drop off daughter for volleyball practice)

greg.haskins (Mon, 27 Feb 2017 01:42:46 GMT):
@jimthematrix oh man, I dont know how long it would have taken to notice that!

greg.haskins (Mon, 27 Feb 2017 01:42:48 GMT):
thanks!

greg.haskins (Mon, 27 Feb 2017 01:43:05 GMT):
pushed v5, fingers crossed

greg.haskins (Mon, 27 Feb 2017 01:43:05 GMT):
pushed v6, fingers crossed

jimthematrix (Mon, 27 Feb 2017 01:43:56 GMT):
:ok_hand:

jimthematrix (Mon, 27 Feb 2017 02:00:30 GMT):
Greg, looks like there's more issues in utils.js

jimthematrix (Mon, 27 Feb 2017 03:24:53 GMT):
6551 is merged

hyp0th3rmi4 (Mon, 27 Feb 2017 08:04:52 GMT):
Has joined the channel.

mastersingh24 (Mon, 27 Feb 2017 13:31:38 GMT):
FYI folks - I'm working a little tool to help generate artifacts to use in the e2e similar to the stuff generated by the BDD tests. I'm doing it all in Go and will make it available as a command line tool

divyank (Mon, 27 Feb 2017 16:59:38 GMT):
Has joined the channel.

Rweb2 (Tue, 28 Feb 2017 01:10:43 GMT):
Has joined the channel.

jeffchi (Tue, 28 Feb 2017 02:57:20 GMT):
Has joined the channel.

stchrysa (Tue, 28 Feb 2017 10:00:45 GMT):
Has joined the channel.

suryalanka (Tue, 28 Feb 2017 14:20:44 GMT):
Has joined the channel.

mastersingh24 (Tue, 28 Feb 2017 15:49:13 GMT):
@muralisr @yacovm - https://gerrit.hyperledger.org/r/#/c/6635/

mastersingh24 (Tue, 28 Feb 2017 15:49:28 GMT):
it's a WIP but it actually does work. let me know what you thing

mastersingh24 (Tue, 28 Feb 2017 15:49:28 GMT):
it's a WIP but it actually does work. let me know what you think

yacovm (Tue, 28 Feb 2017 15:49:34 GMT):
Will check it today

toddinpal (Tue, 28 Feb 2017 15:50:49 GMT):
Has joined the channel.

toddinpal (Tue, 28 Feb 2017 15:52:48 GMT):
In the new fabric 1.0 model, where/how are Byzantine faults handled? Specifically who or where is a faulty endorser detected? In other words if an endorser presents a different ReadWriteSet from other endorsers, how/where is that caught?

crmiles (Tue, 28 Feb 2017 17:46:32 GMT):
Has joined the channel.

muralisr (Tue, 28 Feb 2017 17:56:33 GMT):
@mastersingh24 nice ! I know WIP... but if we can eliminate one user error prone path and also generate configtx.yaml, would be a very nice to have. Just a thought (and does not ahve to be done in this CR...)

muralisr (Tue, 28 Feb 2017 17:56:48 GMT):
and like @yacovm will check it closely later today

mastersingh24 (Tue, 28 Feb 2017 18:03:20 GMT):
@muralisr - you read my mind

mastersingh24 (Tue, 28 Feb 2017 18:03:26 GMT):
that's actually next on the agenda

mastersingh24 (Tue, 28 Feb 2017 18:03:46 GMT):
I think I can generate all the org stuff, etc in the configtx.yaml

muralisr (Tue, 28 Feb 2017 18:07:08 GMT):
right! .. only thing will be user may have to go in and change the MSP path if he has too ... but then he shoudn't have to if he chaose is input directory param wisely

mastersingh24 (Tue, 28 Feb 2017 18:08:22 GMT):
well I'll generate the file in the same structure and point the absolute paths in the file

mastersingh24 (Tue, 28 Feb 2017 18:08:37 GMT):
so should be able to run the configtx tool and just point it at the file

mastersingh24 (Tue, 28 Feb 2017 18:08:50 GMT):
for bonus points, I want to also spit out a compose file ;)

C0rWin (Tue, 28 Feb 2017 18:13:19 GMT):
Just to make sure I have got it correct. We will be using tool to generate configtx.yaml file which will be fed into another tool to generate genesis block, which will be input into third tool to generate/create channel. Is this correct?

C0rWin (Tue, 28 Feb 2017 18:15:47 GMT):
\/\/cc @mastersingh24 @muralisr

C0rWin (Tue, 28 Feb 2017 18:15:47 GMT):
./cc @mastersingh24 @muralisr

mastersingh24 (Tue, 28 Feb 2017 18:23:11 GMT):
@C0rWin - I think that's right. I'll look to simplify things as best I can over time

C0rWin (Tue, 28 Feb 2017 18:26:39 GMT):
@mastersingh24 Although this much easier than manually handling configtx.yaml, sounds pretty complex ;) why not to generate config block instead of intermidiate config file?

mastersingh24 (Tue, 28 Feb 2017 18:27:21 GMT):
yeah - that's doable as well

mastersingh24 (Tue, 28 Feb 2017 18:27:21 GMT):
yeah - that's doable as well - just had to read the directions ;)

mastersingh24 (Tue, 28 Feb 2017 18:28:27 GMT):
I can generate the crypto material, configtx.yaml (in case someone wants to modify it), the genesis block and the blob needed for create channel

C0rWin (Tue, 28 Feb 2017 18:30:43 GMT):
Sounds pretty awesome

s.narayanan (Tue, 28 Feb 2017 19:24:31 GMT):
What is the process of deploying system chaincodes (ESCC, VSCC, LSCC, CSCC etc.).? Do they come up automatically with the peer or need to be explicitly deployed?

jimthematrix (Tue, 28 Feb 2017 21:12:45 GMT):
@jyellick @muralisr seeing the following error when creating channel using CLI: ```jimzhang:fabric jimzhang$ CORE_PEER_COMMITTER_LEDGER_ORDERER=localhost:7050 build/bin/peer channel create -c foo -f foo.tx Error: Got unexpected status: BAD_REQUEST Usage: peer channel create [flags] Global Flags: -b, --blockpath string Path to file containing genesis block -c, --chain string In case of a newChain command, the chain ID to create. -f, --file string Configuration transaction file generated by a tool such as configtxgen for submitting to orderer --logging-level string Default logging level and overrides, see core.yaml for full syntax --test.coverprofile string Done (default "coverage.cov") -v, --version Display current version of fabric peer server ```

jyellick (Tue, 28 Feb 2017 21:12:46 GMT):
Has joined the channel.

jimthematrix (Tue, 28 Feb 2017 21:13:34 GMT):
the peer and orderer log: ```peer1 | 2017-02-28 21:11:17.720 UTC [gossip/discovery#192.168.0.4:7051] periodicalSendAlive -> DEBU 1bd Sleeping 5s orderer | 2017-02-28 21:11:18.579 UTC [orderer/main] Deliver -> DEBU 340 Starting new Deliver handler orderer | 2017-02-28 21:11:18.579 UTC [orderer/common/deliver] Handle -> DEBU 341 Starting new deliver loop orderer | 2017-02-28 21:11:18.579 UTC [orderer/common/deliver] Handle -> DEBU 342 Attempting to read seek info message orderer | 2017-02-28 21:11:18.580 UTC [orderer/main] Broadcast -> DEBU 343 Starting new Broadcast handler orderer | 2017-02-28 21:11:18.580 UTC [orderer/common/broadcast] Handle -> DEBU 344 Preprocessing CONFIG_UPDATE orderer | 2017-02-28 21:11:18.580 UTC [orderer/multichain] Process -> DEBU 345 Processing channel reconfiguration request for channel foo orderer | 2017-02-28 21:11:18.583 UTC [orderer/common/deliver] Handle -> ERRO 346 Error reading from stream: stream error: code = 1 desc = "context canceled" peer2 | 2017-02-28 21:11:18.883 UTC [gossip/discovery#192.168.0.5:7051] periodicalSendAlive -> DEBU 1bd Sleeping 5s peer3 | 2017-02-28 21:11:19.221 UTC [gossip/discovery#192.168.0.6:7051] periodicalSendAlive -> DEBU 1bd Sleeping 5s peer1 | 2017-02-28 21:11:22.722 UTC [gossip/discovery#192.168.0.4:7051] periodicalSendAlive -> DEBU 1be Sleeping 5s ```

muralisr (Tue, 28 Feb 2017 21:40:45 GMT):
@jimthematrix I see that when the channel is already there (for example)

muralisr (Tue, 28 Feb 2017 21:41:03 GMT):
let me check something

muralisr (Tue, 28 Feb 2017 21:43:48 GMT):
right I issued `peer channel create...` twice in succession ...got the BAD_REQUEST error the second time

jimthematrix (Tue, 28 Feb 2017 21:44:51 GMT):
ok i'll try this again

jimthematrix (Tue, 28 Feb 2017 21:45:15 GMT):
i'm pretty sure i saw this error even the first attempt to create channel

jimthematrix (Tue, 28 Feb 2017 21:45:22 GMT):
but i'll know for sure soon

jimthematrix (Tue, 28 Feb 2017 21:45:31 GMT):
just pulled the latest and rebuilding docker

jimthematrix (Tue, 28 Feb 2017 21:46:00 GMT):
(was told the change to use SKIs to track private keys were backed out)

muralisr (Tue, 28 Feb 2017 21:46:02 GMT):
ok

jsong1230 (Wed, 01 Mar 2017 03:22:25 GMT):
Has joined the channel.

SyneBlockChainTeam (Wed, 01 Mar 2017 11:42:27 GMT):
Has joined the channel.

bkvellanki (Wed, 01 Mar 2017 20:15:05 GMT):
Has joined the channel.

Donald Liu (Thu, 02 Mar 2017 01:21:44 GMT):
Has joined the channel.

jimthematrix (Fri, 03 Mar 2017 18:10:46 GMT):
@dave.enyeart @muralisr there doesn't seem to be a block event getting sent out when the genesis block gets committed to the ledger during join channel call, am I missing something?

jimthematrix (Fri, 03 Mar 2017 18:12:16 GMT):
I'm trying to get a reliable way to notify the app that the channel has been successfully joined on a peer. i thought "ok it's a block event". but looking at the peer log there doesn't seem to be one for this occasion

wisam.mohammed (Fri, 03 Mar 2017 19:07:19 GMT):
Has joined the channel.

wisam.mohammed (Fri, 03 Mar 2017 19:17:19 GMT):
Hi every one

wisam.mohammed (Fri, 03 Mar 2017 19:17:21 GMT):
I try to use CLI. I have the following error when I try to install the chaincode. BTW, create/join channal already done. 1:38:15 PM: ------------------ 1:38:17 PM: root@peer-03:/fabric/peer# CORE_PEER_ADDRESS=peer-01:7051 peer chaincode install -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v v0 2017-03-03 16:37:12.576 UTC [logging] InitFromViper -> DEBU 001 Setting default logging level to DEBUG for command 'chaincode' 2017-03-03 16:37:12.580 UTC [msp] GetLocalMSP -> DEBU 002 Returning existing local MSP 2017-03-03 16:37:12.580 UTC [msp] GetDefaultSigningIdentity -> DEBU 003 Obtaining default signing identity panic: runtime error: index out of range goroutine 1 [running]: panic(0xc0b000, 0xc4200120e0) /opt/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/core/chaincode/platforms/golang.(*Platform).ValidateSpec(0x130e338, 0xc420342580, 0x130e338, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/platforms/golang/platform.go:87 +0x36d github.com/hyperledger/fabric/peer/chaincode.checkSpec(0xc420342580, 0x6, 0xc420196efc) /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/common.go:51 +0xf1 github.com/hyperledger/fabric/peer/chaincode.getChaincodeBytes(0xc420342580, 0xc420342501, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/common.go:59 +0x147 github.com/hyperledger/fabric/peer/chaincode.chaincodeInstall(0xc4202146c0, 0xc42026a5a0, 0x0, 0x6, 0xc420336720, 0x9, 0x9) /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/install.go:105 +0x2b1 github.com/hyperledger/fabric/peer/chaincode.installCmd.func1(0xc4202146c0, 0xc42026a5a0, 0x0, 0x6, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/install.go:44 +0x52 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0xc4202146c0, 0xc42026a3c0, 0x6, 0x6, 0xc4202146c0, 0xc42026a3c0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x234 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x12b8ce0, 0xf, 0xc4201f2da8, 0x7) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x367 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x12b8ce0, 0x10, 0xc4201f2da8) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b main.main() /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 +0x52d

wisam.mohammed (Fri, 03 Mar 2017 19:18:09 GMT):
any idea :) ?

Ratnakar (Fri, 03 Mar 2017 19:21:28 GMT):
@wisam.mohammed what is your GOPATH ?

wisam.mohammed (Fri, 03 Mar 2017 19:23:40 GMT):
@Ratnakar I don't know :/

wisam.mohammed (Fri, 03 Mar 2017 19:25:43 GMT):
this is first time for me using cli

Ratnakar (Fri, 03 Mar 2017 19:28:36 GMT):
could you tell me which link you are following for instructions

dave.enyeart (Fri, 03 Mar 2017 19:29:15 GMT):
@jimthematrix I checked the code and you are right. Block events get sent from normal committer path. joinChain() is a separate path that doesn't go through the normal committer path, and therefore no block event. @muralisr @binhn Should joinChain() be calling producer.SendProducerBlockEvent(block)?

wisam.mohammed (Fri, 03 Mar 2017 19:29:47 GMT):
@Ratnakar http://hyperledger-fabric.readthedocs.io/en/latest/asset_setup.html#asset-transfer-with-cli AND https://github.com/hyperledger/fabric/blob/master/docs/source/install_instantiate.rst

jimthematrix (Fri, 03 Mar 2017 19:31:06 GMT):
thanks @dave.enyeart for confirming that, i would advocate for one and this seems a code that that's on the leaf branch

jimthematrix (Fri, 03 Mar 2017 19:31:13 GMT):
so it feels safe to do...

jimthematrix (Fri, 03 Mar 2017 19:31:28 GMT):
but will let @binhn and @muralisr weigh in

jimthematrix (Fri, 03 Mar 2017 19:31:52 GMT):
"I'll always have sleep()" :wink:

binhn (Fri, 03 Mar 2017 19:31:53 GMT):
@dave.enyeart the event is / should be emitted on the round-trip when the genesis block delivered to the peer who joined the channel

dave.enyeart (Fri, 03 Mar 2017 19:37:03 GMT):
@binhn the block event is currently not emitted for genesis blocks, since it goes through joinChain() rather than normal committer flow. I can add it to joinChain(). Agreed?

binhn (Fri, 03 Mar 2017 19:39:34 GMT):
no, it should be on the commit side like any other block; when a peer joins a channel, it eventually receives the GB and we should emit block event when we process that GB

binhn (Fri, 03 Mar 2017 19:39:53 GMT):
if that path is not there, we should defect it

mastersingh24 (Fri, 03 Mar 2017 19:49:20 GMT):
@dave.enyeart - I recall that's there a check in place for the type of block/transaction during commit? so perhaps config blocks don't make it to where we actually emit the events after commit?

dave.enyeart (Fri, 03 Mar 2017 20:02:00 GMT):
@mastersingh24 config blocks do emit events in general. genesis block is a special case though. tracking it down with binh and artem now.

C0rWin (Fri, 03 Mar 2017 20:03:05 GMT):
GB, block commit directly into the ledger during the channel creation

C0rWin (Fri, 03 Mar 2017 20:03:21 GMT):
otherwise there is a chicken and the egg problem

C0rWin (Fri, 03 Mar 2017 20:03:39 GMT):
just confirmed, no event for GB

wisam.mohammed (Fri, 03 Mar 2017 20:10:52 GMT):
@Ratnakar I set the GOPATH. now is " /root"

wisam.mohammed (Fri, 03 Mar 2017 20:11:46 GMT):
@Ratnakar there gone. but new error it say "Error: Error getting chaincode code chaincode:"

wisam.mohammed (Fri, 03 Mar 2017 20:12:34 GMT):
@Ratnakar * the error gone. but there is new error it say "Error: Error getting chaincode code chaincode:"

Ratnakar (Fri, 03 Mar 2017 20:12:35 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=4d3Kssjp9nhorP5aD) @wisam.mohammed Those are little old instructions , Probably you can refer https://github.com/ratnakar-asara/e2e for now till this gets merged https://gerrit.hyperledger.org/r/#/c/6607

wisam.mohammed (Fri, 03 Mar 2017 20:13:59 GMT):
@Ratnakar Ok

dave.enyeart (Fri, 03 Mar 2017 20:15:25 GMT):
@jimthematrix @C0rWin @binhn Ok, Binh says that Artem will add the gb event emission in joinChain() as a temporary workaround.

dave.enyeart (Fri, 03 Mar 2017 20:17:59 GMT):
@C0rWin Just make sure the event emission is at the very end of joinChain(), so that all the infrastructure is ready before the event goes out

dave.enyeart (Fri, 03 Mar 2017 20:18:49 GMT):
In fact, if this is not a new chain, SDK would prefer that all known blocks are delivered before the event goes back

dave.enyeart (Fri, 03 Mar 2017 20:18:49 GMT):
In fact, if this is not a new chain in the network, SDK would prefer that all known blocks are delivered before the event goes back

dave.enyeart (Fri, 03 Mar 2017 20:19:03 GMT):
@bretharrison ^^^^^^

jimthematrix (Fri, 03 Mar 2017 21:24:07 GMT):
thanks @dave.enyeart @C0rWin !

C0rWin (Fri, 03 Mar 2017 21:35:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=D8fbSJeHS4QiDcZWB) @jimthematrix https://gerrit.hyperledger.org/r/#/c/6807/

dave.enyeart (Fri, 03 Mar 2017 22:24:58 GMT):
@C0rWin @jimthematrix I was thinking the event should be sent out at the end of joinChain(), to ensure the createChain() and InitChain() initialization steps completed before the event goes back to SDK. Otherwise SDK may try to use it before its initialized.

C0rWin (Fri, 03 Mar 2017 22:25:39 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=FddzM6u6NrhhWc4QF) @dave.enyeart make sense

C0rWin (Fri, 03 Mar 2017 22:25:50 GMT):
@jimthematrix what do you think?

dave.enyeart (Fri, 03 Mar 2017 22:26:25 GMT):
@bretharrison (on Jim's team) requested that

C0rWin (Fri, 03 Mar 2017 22:27:57 GMT):
ok, doing that will mean it will send event also on peer restart as well

dave.enyeart (Fri, 03 Mar 2017 22:28:22 GMT):
ugh, that's not good

C0rWin (Fri, 03 Mar 2017 22:28:58 GMT):
let me think how to do it

C0rWin (Fri, 03 Mar 2017 22:29:04 GMT):
I think I can handle it

yacovm (Fri, 03 Mar 2017 22:29:35 GMT):
perhaps use timestamp?

C0rWin (Fri, 03 Mar 2017 22:29:42 GMT):
no-no

C0rWin (Fri, 03 Mar 2017 22:29:52 GMT):
will move it into

C0rWin (Fri, 03 Mar 2017 22:29:57 GMT):
```func joinChain(blockBytes []byte) pb.Response { if blockBytes == nil { return shim.Error("Genesis block must not be nil.") } block, err := utils.GetBlockFromBlockBytes(blockBytes) if err != nil { return shim.Error(fmt.Sprintf("Failed to reconstruct the genesis block, %s", err)) } if err = peer.CreateChainFromBlock(block); err != nil { return shim.Error(err.Error()) } chainID, err := utils.GetChainIDFromBlock(block) if err != nil { return shim.Error(fmt.Sprintf("Failed to get the chain ID from the configuration block, %s", err)) } peer.InitChain(chainID) return shim.Success(nil) }```

yacovm (Fri, 03 Mar 2017 22:30:02 GMT):
ah

yacovm (Fri, 03 Mar 2017 22:30:04 GMT):
even better!

C0rWin (Fri, 03 Mar 2017 22:30:11 GMT):
so will be called only on join channel

yacovm (Fri, 03 Mar 2017 22:30:17 GMT):
:thumbsup:

C0rWin (Fri, 03 Mar 2017 22:30:22 GMT):
what do you think @dave.enyeart @jimthematrix ?

dave.enyeart (Fri, 03 Mar 2017 22:30:29 GMT):
loving it

C0rWin (Fri, 03 Mar 2017 22:31:39 GMT):
ok

C0rWin (Fri, 03 Mar 2017 22:32:15 GMT):
done

C0rWin (Fri, 03 Mar 2017 22:32:40 GMT):
https://gerrit.hyperledger.org/r/#/c/6807/

fbenhamo (Sat, 04 Mar 2017 02:52:32 GMT):
Has joined the channel.

jimthematrix (Sat, 04 Mar 2017 14:32:35 GMT):
@C0rWin 6807 looks good to me, sorry for the late response, thanks for providing the fix so quickly

calin.grecu (Sun, 05 Mar 2017 13:50:34 GMT):
Has joined the channel.

jeffgarratt (Mon, 06 Mar 2017 23:19:30 GMT):
@mffrench this is the channel I was referring to

mffrench (Mon, 06 Mar 2017 23:19:30 GMT):
Has joined the channel.

jeffgarratt (Mon, 06 Mar 2017 23:20:09 GMT):
I can take some time to upgrade to python 3.x since we now use virtual environments for setup.

jeffgarratt (Mon, 06 Mar 2017 23:37:23 GMT):
@mffrench please refer to https://github.com/hyperledger/fabric/tree/master/bddtests#welcome-to-the-behavioral-driven-development-bdd-subsytem-for-fabric for the instructions on setting up for behave testing using python 2.x through virtual environment. Will not impact your python 3 setup.

ziyuan (Mon, 06 Mar 2017 23:57:06 GMT):
Has joined the channel.

WeDoIoE (Tue, 07 Mar 2017 00:15:23 GMT):
Has joined the channel.

GenkiA (Tue, 07 Mar 2017 03:47:37 GMT):
Has joined the channel.

evafo (Tue, 07 Mar 2017 05:02:44 GMT):
Has joined the channel.

DannyWong (Tue, 07 Mar 2017 05:35:44 GMT):
Has joined the channel.

levinkwong (Tue, 07 Mar 2017 05:36:13 GMT):
Has joined the channel.

mffrench (Tue, 07 Mar 2017 08:18:30 GMT):
@jeffgarratt : thank you for your inputs ! will look to this deeper :)

mffrench (Tue, 07 Mar 2017 09:54:06 GMT):
FYI : some problem I get since yesterday : ``` $ make docker Building docker testenv-image docker build -t hyperledger/fabric-testenv build/image/testenv Sending build context to Docker daemon 43.61 MB Step 1 : FROM hyperledger/fabric-buildenv:x86_64-0.7.0-snapshot-01cc491 Pulling repository docker.io/hyperledger/fabric-buildenv Error: image hyperledger/fabric-buildenv:x86_64-0.7.0-snapshot-01cc491 not found Makefile:232: recipe for target 'build/image/testenv/.dummy-x86_64-0.7.0-snapshot-ba68129' failed make: *** [build/image/testenv/.dummy-x86_64-0.7.0-snapshot-ba68129] Error 1 ```

mffrench (Tue, 07 Mar 2017 09:54:06 GMT):
FYI : some problem I get since yesterday : ``` $ make docker ... Building docker testenv-image docker build -t hyperledger/fabric-testenv build/image/testenv Sending build context to Docker daemon 43.61 MB Step 1 : FROM hyperledger/fabric-buildenv:x86_64-0.7.0-snapshot-01cc491 Pulling repository docker.io/hyperledger/fabric-buildenv Error: image hyperledger/fabric-buildenv:x86_64-0.7.0-snapshot-01cc491 not found Makefile:232: recipe for target 'build/image/testenv/.dummy-x86_64-0.7.0-snapshot-ba68129' failed make: *** [build/image/testenv/.dummy-x86_64-0.7.0-snapshot-ba68129] Error 1 ```

mffrench (Tue, 07 Mar 2017 09:56:58 GMT):
because I clean my docker env manually in fact

mffrench (Tue, 07 Mar 2017 09:57:27 GMT):
after make docker-clean all dockerfile are cleaned properly with images

mffrench (Tue, 07 Mar 2017 09:58:50 GMT):
is there also some doc about docker images usage for DEV I should read ?

Manikanda Gunasekaran (Tue, 07 Mar 2017 10:21:07 GMT):
Has joined the channel.

jimthematrix (Tue, 07 Mar 2017 13:50:22 GMT):
getting the following error when sending transactions: ```peer3 | 2017-03-07 13:45:34.167 UTC [deliveryClient] NewDeliverService -> ERRO 031 Cannot dial to 127.0.0.1:7050, because of grpc: timed out when dialing peer3 | 2017-03-07 13:45:34.168 UTC [gossip/service] InitializeChannel -> WARN 032 Cannot create delivery client, due to Wasn't able to connect to any of ordering service endpoints [127.0.0.1:7050] peer3 | 2017-03-07 13:45:34.168 UTC [gossip/service] InitializeChannel -> WARN 033 Delivery client is down won't be able to pull blocks for chain mychannel ```

jimthematrix (Tue, 07 Mar 2017 13:51:48 GMT):
notice the peer is contacting '127.0.0.1:7050' even though the docker compose sets the orderer to a reference to the orderer container: ``` peer3: container_name: peer3 image: hyperledger/fabric-peer environment: - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_NETWORKID=peer3 - CORE_NEXT=true - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_ID=peer3 - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 - CORE_PEER_LOCALMSPID=Org2MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/configtx/crypto-config/peerOrganizations/peerOrg2/peers/peerOrg2Peer2/ working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start --peer-defaultchain=false ports: - 8056:7051 - 8058:7053 links: - orderer:orderer volumes: - /var/run/:/host/var/run/ - ./:/etc/hyperledger/configtx depends_on: - orderer - peer0 - peer1 - peer2 networks: - bridge ```

C0rWin (Tue, 07 Mar 2017 13:52:41 GMT):
@jimthematrix have you configured config block to include valid address of the ordering service?

C0rWin (Tue, 07 Mar 2017 13:54:01 GMT):
the ` - CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050` is not longer valid, ordering service address should be provided in config transaction

jimthematrix (Tue, 07 Mar 2017 14:29:29 GMT):
wow that's a recent change right? it makes sense but kind of frustrating that we didn't heard anything about it until now

jimthematrix (Tue, 07 Mar 2017 14:31:24 GMT):
it allows each chain to pick a different orderering service so it's a good enhancement, but I wish we were told about it sooner

muralisr (Tue, 07 Mar 2017 14:35:41 GMT):
@jimthematrix since we know which orderer created the channel tx, we shouldn't have to specify TX

muralisr (Tue, 07 Mar 2017 14:35:41 GMT):
@jimthematrix since we know which orderer created the channel tx, we shouldn't have to specify orderer at the time of joining

C0rWin (Tue, 07 Mar 2017 15:23:32 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bnYMcN3vCK2RGyLjQ) @jimthematrix well, I've reported about the change during scrums and also there was additional commit updating docs.

ManjeetGambhir (Tue, 07 Mar 2017 19:51:37 GMT):
Has joined the channel.

ManjeetGambhir (Wed, 08 Mar 2017 03:18:50 GMT):
@muralisr Thanks murali for working session ..it was really helpful..

Hangyu (Wed, 08 Mar 2017 04:02:35 GMT):
Has joined the channel.

SubhodI (Wed, 08 Mar 2017 09:12:47 GMT):
Has joined the channel.

SubhodI (Wed, 08 Mar 2017 09:16:35 GMT):
How to specify endorsement policy for a chaincode? As on the docs "peer chaincode deploy -C testchainid -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a","100","b","200"]}' -P "AND('Org1.member', 'Org2.member')" " my question is how does Org1.member and Org2.member looks like? any practical example?

mffrench (Wed, 08 Mar 2017 10:49:02 GMT):
Hi there

mffrench (Wed, 08 Mar 2017 10:49:18 GMT):
I'm currently facing a new issue on bdd tests

mffrench (Wed, 08 Mar 2017 10:50:23 GMT):
``` $ behave -k -D cache-deployment-spec ... And the user "dev0Org0" broadcasts ConfigUpdate Tx "configUpdateTx1" to orderer "orderer0" to create channel "com.acme.blockchain.jdoe.Channel1" # steps/bootstrap_impl.py:214 0.000s Traceback (most recent call last): File "/home/mffrench/.echinopsii/.python2_env/behave_venv/local/lib/python2.7/site-packages/behave/model.py", line 1456, in run match.run(runner.context) File "/home/mffrench/.echinopsii/.python2_env/behave_venv/local/lib/python2.7/site-packages/behave/model.py", line 1903, in run self.func(context, *args, **kwargs) File "steps/bootstrap_impl.py", line 219, in step_impl bootstrap_util.broadcastCreateChannelConfigTx(context=context, composeService=orderer, chainId=channelId, user=user, configTxEnvelope=configTxEnvelope) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/bootstrap_util.py", line 1001, in broadcastCreateChannelConfigTx dataFunc=dataFunc) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/orderer_util.py", line 178, in broadcastMessages abStub = self.getABStubForComposeService(context, composeService) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/orderer_util.py", line 198, in getABStubForComposeService channel = getGRPCChannel(*bdd_test_util.getPortHostMapping(context.compose_containers, composeService, 7050)) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/bdd_test_util.py", line 105, in getPortHostMapping if port_protocol in container.ports: TypeError: argument of type 'NoneType' is not iterable Captured stdout: Will copy gensisiBlock over at this point after_step: ```

mffrench (Wed, 08 Mar 2017 10:50:53 GMT):
so I got a look to the running container and noticed the orderer one was not running

mffrench (Wed, 08 Mar 2017 10:51:06 GMT):
looking to the logs I get this error message :

mffrench (Wed, 08 Mar 2017 10:51:21 GMT):
``` $ docker logs 313a094603ea11e7b11c3c18a00389c0_orderer0_1 ... 2017-03-08 10:30:10.295 UTC [orderer/multichain] newLedgerResources -> CRIT 040 Error creating configtx manager and handlers: Not found ```

mffrench (Wed, 08 Mar 2017 10:52:02 GMT):
will dig further into it meanwhile if you have any tips to help let me know !

jeffgarratt (Wed, 08 Mar 2017 13:40:25 GMT):
@mffrench working to get behave tests passing with latest updates. Can watch https://jira.hyperledger.org/browse/FAB-1141 for updates

mffrench (Wed, 08 Mar 2017 15:16:21 GMT):
@jeffgarratt : thank you for this input. I'm currently on my way to learn fabric in deep and I think these bddtests - and related problems - are perfect for my learning curve.

jeffgarratt (Wed, 08 Mar 2017 15:16:37 GMT):
good deal

jeffgarratt (Wed, 08 Mar 2017 15:16:46 GMT):
should be an update today

mffrench (Wed, 08 Mar 2017 15:20:40 GMT):
about the orderer problem it seems to come from a standard conf parameter missing : IngressPolicyNames (I did update the error message -> https://github.com/hyperledger/fabric/compare/master...mffrench:behave_py2)

Suma (Wed, 08 Mar 2017 15:43:48 GMT):
Has joined the channel.

mffrench (Wed, 08 Mar 2017 15:56:23 GMT):
@jeffgarratt : is there any logging policy for the bddtests ?

jeffgarratt (Wed, 08 Mar 2017 16:07:35 GMT):
that was removed

jeffgarratt (Wed, 08 Mar 2017 16:07:44 GMT):
IngressPolicyNames was recently removed

jeffgarratt (Wed, 08 Mar 2017 16:07:55 GMT):
the current issue is with BlockDatatHashStrcutureData

jeffgarratt (Wed, 08 Mar 2017 16:08:04 GMT):
fworking on that now

jeffgarratt (Wed, 08 Mar 2017 16:08:16 GMT):
will update jira 1141 asap

jimthematrix (Wed, 08 Mar 2017 16:31:43 GMT):
@jyellick seeing the following error when using the latest `configtxgen`: ```panic: Error copying group Application: Error copying group Org1MSP: Duplicate key: AnchorPeers goroutine 1 [running]: github.com/hyperledger/fabric/common/configtx/tool/provisional.(*bootstrapper).GenesisBlockForChannel(0xc420210c00, 0x45bbcd6, 0xb, 0x1) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/common/configtx/tool/provisional/provisional.go:212 +0x211 main.doOutputBlock(0x483ff80, 0xc420210c00, 0x45bbcd6, 0xb, 0x7fff5fbffb33, 0x15, 0x4b, 0x0) /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen/main.go:42 +0xfb main.main() /Users/jimzhang/workspace/go/src/github.com/hyperledger/fabric/common/configtx/tool/configtxgen/main.go:207 +0x751 ```

jimthematrix (Wed, 08 Mar 2017 16:32:18 GMT):
here's the configtx.yaml:

jimthematrix (Wed, 08 Mar 2017 16:33:23 GMT):
well can't paste here, let me try pasting in chunks

jimthematrix (Wed, 08 Mar 2017 16:33:39 GMT):
```Profiles: TwoOrgs: Orderer: <<: *OrdererDefaults Organizations: - *OrdererOrg Application: <<: *ApplicationDefaults Organizations: - *Org0 - *Org1 ```

jimthematrix (Wed, 08 Mar 2017 16:33:52 GMT):
```Organizations: # SampleOrg defines an MSP using the sampleconfig. It should never be used # in production but may be used as a template for other definitions - &OrdererOrg # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: OrdererMSP # ID to load the MSP definition as ID: OrdererMSP # MSPDir is the filesystem path which contains the MSP configuration ######################################################################### # FIXME: this path needs to be fixed to point to the actual location of # # the project 'fabric-sdk-node' in the file system # ######################################################################### MSPDir: /Users/jimzhang/workspace/fabric-sdk-node/test/fixtures/channel/crypto-config/ordererOrganizations/ordererOrg1/msp # BCCSP (Blockchain crypto provider): Select which crypto implementation or # library to use BCCSP: Default: SW SW: Hash: SHA2 Security: 256 # Location of Key Store. If this is unset, a location will # be chosen using 'MSPDir'/keystore FileKeyStore: KeyStore:```

jimthematrix (Wed, 08 Mar 2017 16:34:09 GMT):
``` - &Org0 # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: Org1MSP # ID to load the MSP definition as ID: Org1MSP # MSPDir is the filesystem path which contains the MSP configuration ######################################################################### # FIXME: this path needs to be fixed to point to the actual location of # # the project 'fabric-sdk-node' in the file system # ######################################################################### MSPDir: /Users/jimzhang/workspace/fabric-sdk-node/test/fixtures/channel/crypto-config/peerOrganizations/peerOrg1/msp/ # BCCSP (Blockchain crypto provider): Select which crypto implementation or # library to use BCCSP: Default: SW SW: Hash: SHA2 Security: 256 # Location of Key Store. If this is unset, a location will # be chosen using 'MSPDir'/keystore FileKeyStore: KeyStore: AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: localhost Port: 7051 - Host: localhost Port: 7056 - &Org1 # DefaultOrg defines the organization which is used in the sampleconfig # of the fabric.git development environment Name: Org2MSP # ID to load the MSP definition as ID: Org2MSP # MSPDir is the filesystem path which contains the MSP configuration ######################################################################### # FIXME: this path needs to be fixed to point to the actual location of # # the project 'fabric-sdk-node' in the file system # ######################################################################### MSPDir: /Users/jimzhang/workspace/fabric-sdk-node/test/fixtures/channel/crypto-config/peerOrganizations/peerOrg2/msp/ # BCCSP (Blockchain crypto provider): Select which crypto implementation or # library to use BCCSP: Default: SW SW: Hash: SHA2 Security: 256 # Location of Key Store. If this is unset, a location will # be chosen using 'MSPDir'/keystore FileKeyStore: KeyStore: AnchorPeers: # AnchorPeers defines the location of peers which can be used # for cross org gossip communication. Note, this value is only # encoded in the genesis block in the Application section context - Host: localhost Port: 8051 - Host: localhost Port: 8056 ```

jyellick (Wed, 08 Mar 2017 16:37:18 GMT):
(Looking)

jyellick (Wed, 08 Mar 2017 16:40:10 GMT):
Thanks @jimthematrix this is a bug but a simple one line fix

jyellick (Wed, 08 Mar 2017 16:40:21 GMT):
Do you have a JIRA issue, or should I create one?

jimthematrix (Wed, 08 Mar 2017 16:40:43 GMT):
haven't created one, so please go ahead

jyellick (Wed, 08 Mar 2017 16:52:12 GMT):
@jimthematrix https://gerrit.hyperledger.org/r/#/c/7035/

jimthematrix (Wed, 08 Mar 2017 16:53:33 GMT):
thanks Jason, will try that

mffrench (Wed, 08 Mar 2017 17:17:56 GMT):
seems to me bddtests generated protobuf py files are not sync with last fabric proto definitions ... it would be great to manage such protobuf python files generation on the makefile (the protos target on the makefile works for go only as far as I understand)

tulioribeiro (Wed, 08 Mar 2017 17:18:55 GMT):
Has joined the channel.

tulioribeiro (Wed, 08 Mar 2017 17:21:14 GMT):
Hi guys, could someone help to figure out how to solve this issue: Error: Error endorsing chaincode: rpc error: code = 2 desc = Illegal file mode detected for file src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02/chaincode_example02: 100755

tulioribeiro (Wed, 08 Mar 2017 17:21:27 GMT):
Thanks in advance

jeffgarratt (Wed, 08 Mar 2017 17:30:38 GMT):
@mffrench this is not currently done so we can understand the changes prior to modification of py code. In general the developer should have re-generated the proto files prior to checkin of go code. We are out of sync at the moment.

jimthematrix (Wed, 08 Mar 2017 17:31:27 GMT):
@rameshthoomu latest fabric verify job is failing (preventing 7035 from being verified): ```17:21:19 cd unit-test && docker-compose up --abort-on-container-exit --force-recreate && docker-compose down 17:21:19 The TEST_PKGS variable is not set. Defaulting to a blank string. 17:21:19 Creating unittest_vp_1 17:21:19 Creating couchdb 17:21:23 Creating unittest_unit-tests_1 17:21:30 17:21:30 ERROR: for unit-tests Cannot start service unit-tests: Cannot link to a non running container: /unittest_vp_1 AS /unittest_unit-tests_1/unittest_vp_1 17:21:30 Encountered errors while bringing up the project. 17:21:31 Makefile:117: recipe for target 'unit-test' failed 17:21:31 make: *** [unit-test] Error 1 17:21:31 Build step 'Execute shell' marked build as failure ```

rameshthoomu (Wed, 08 Mar 2017 17:31:27 GMT):
Has joined the channel.

jeffgarratt (Wed, 08 Mar 2017 17:31:28 GMT):
@tulioribeiro this is a windows file system issue

jeffgarratt (Wed, 08 Mar 2017 17:31:45 GMT):
simple fix for you env only.. meaning, I would not check it in...

rameshthoomu (Wed, 08 Mar 2017 17:31:59 GMT):
looking into this..

jimthematrix (Wed, 08 Mar 2017 17:32:05 GMT):
thanks

jeffgarratt (Wed, 08 Mar 2017 17:32:21 GMT):
@tulioribeiro @@ -145,9 +145,9 @@ func (goPlatform *Platform) ValidateDeploymentSpec(cds *pb.ChaincodeDeploymentSp // // Anything else is suspect in this context and will be rejected // -------------------------------------------------------------------------------------- - if header.Mode&^0100666 != 0 { - return fmt.Errorf("Illegal file mode detected for file %s: %o", header.Name, header.Mode) - } + //if header.Mode&^0100666 != 0 { + // return fmt.Errorf("Illegal file mode detected for file %s: %o", header.Name, header.Mode) + //} }

jeffgarratt (Wed, 08 Mar 2017 17:32:41 GMT):
@tulioribeiro sorry... missed a bit...

jeffgarratt (Wed, 08 Mar 2017 17:32:42 GMT):
--- a/core/chaincode/platforms/golang/platform.go +++ b/core/chaincode/platforms/golang/platform.go @@ -145,9 +145,9 @@ func (goPlatform *Platform) ValidateDeploymentSpec(cds *pb.ChaincodeDeploymentSp // // Anything else is suspect in this context and will be rejected // -------------------------------------------------------------------------------------- - if header.Mode&^0100666 != 0 { - return fmt.Errorf("Illegal file mode detected for file %s: %o", header.Name, header.Mode) - } + //if header.Mode&^0100666 != 0 { + // return fmt.Errorf("Illegal file mode detected for file %s: %o", header.Name, header.Mode) + //} } return nil

jeffgarratt (Wed, 08 Mar 2017 17:33:01 GMT):
this will allow you to run just fine on windows 'dev' environment

jeffgarratt (Wed, 08 Mar 2017 17:33:35 GMT):
of course use caution with respect to product

tulioribeiro (Wed, 08 Mar 2017 17:52:46 GMT):
@jeffgarratt I'm not using windows, I'm trying running outside of vagrant. I'm using Linux Mint 18. Thanks again.

tulioribeiro (Wed, 08 Mar 2017 17:53:45 GMT):
I've rebuild my vagrant machine, I'll verify if the issue continues there.

jeffgarratt (Wed, 08 Mar 2017 18:23:48 GMT):
understood

jeffgarratt (Wed, 08 Mar 2017 18:24:28 GMT):
@tulioribeiro basically make sure nothing is executable that goes into deployment

mffrench (Wed, 08 Mar 2017 21:00:35 GMT):
@jeffgarratt and for the some interested on my behave venture on current dev fabric : I did some progress from step 22 to step 25 :)

mffrench (Wed, 08 Mar 2017 21:02:11 GMT):
you can follow my changes here : https://github.com/hyperledger/fabric/compare/master...mffrench:behave_py2

mffrench (Wed, 08 Mar 2017 21:03:07 GMT):
current error : ``` Then user "dev0Org0" should get a delivery "genesisBlockForMyNewChannel" from "orderer0" of "1" blocks with "1" messages within "1" seconds # steps/bootstrap_impl.py:247 0.001s Assertion Failed: Expected 1 blocks, received 0 ```

mffrench (Wed, 08 Mar 2017 21:04:32 GMT):
on the ordered side I can see these logs : ``` 2017-03-08 20:55:58.148 UTC [orderer/common/broadcast] Handle -> DEBU 0c2 Broadcast is filtering message for channel 939dbc2b044111e7b11c3c18a00389c0 2017-03-08 20:55:58.148 UTC [common/policies] GetPolicy -> DEBU 0c3 Returning policy Writers for evaluation 2017-03-08 20:55:58.148 UTC [orderer/common/sigfilter] Apply -> DEBU 0c4 Rejecting because of err: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining 2017-03-08 20:55:58.148 UTC [orderer/common/broadcast] Handle -> DEBU 0c5 Rejecting broadcast message : Rejected by rule: *sigfilter.sigFilter ```

mffrench (Wed, 08 Mar 2017 21:05:34 GMT):
Will dig this later !

ManjeetGambhir (Thu, 09 Mar 2017 00:05:47 GMT):
Thanks @muralisr @rickr @weeds @simsc for all support provided in block event processing...Now we have proposalrequest, proposal response and validity of transaction of sample code..thanks ..will use now internal chaincode and see the progress

simsc (Thu, 09 Mar 2017 00:05:47 GMT):
Has joined the channel.

xiangyw (Thu, 09 Mar 2017 01:38:45 GMT):
Has joined the channel.

bkvellanki (Thu, 09 Mar 2017 03:16:21 GMT):
Hi Manjeet..can you please share the sample code..

bkvellanki (Thu, 09 Mar 2017 03:16:27 GMT):
appreciate your help

steigensonne (Thu, 09 Mar 2017 09:45:33 GMT):
Has joined the channel.

aberfou (Thu, 09 Mar 2017 13:48:40 GMT):
Has joined the channel.

weeds (Thu, 09 Mar 2017 17:14:32 GMT):
@ManjeetGambhir VERY COOL!

mffrench (Thu, 09 Mar 2017 17:45:36 GMT):
Hi there

mffrench (Thu, 09 Mar 2017 17:46:39 GMT):
still on the behave tests and I'm now facing error on the endorser install proposal step

mffrench (Thu, 09 Mar 2017 17:49:20 GMT):
``` And user "dev0Org0" using cert alias "dev0Org0App1" creates a install proposal "installProposal1" for channel "com.acme.blockchain.jdoe.Channel1" using chaincode spec "cc_spec" # steps/endorser_impl.py:41 0.004s Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/behave/model.py", line 1456, in run match.run(runner.context) File "/usr/local/lib/python2.7/dist-packages/behave/model.py", line 1903, in run self.func(context, *args, **kwargs) File "steps/endorser_impl.py", line 49, in step_impl ccDeploymentSpec = endorser_util.createDeploymentSpec(context=context, ccSpec=ccSpec) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/endorser_util.py", line 157, in createDeploymentSpec _createDeploymentSpecAsFile(ccSpec=ccSpec, outputPath=outputPath) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/endorser_util.py", line 145, in _createDeploymentSpecAsFile bdd_test_util.cli_call(["peer","chaincode","package"] + nameArgs + ctorArgs + pathArgs + versionArgs + [outputPath], expect_success=True, env=myEnv) File "/home/mffrench/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests/steps/bdd_test_util.py", line 38, in cli_call raise e OSError: [Errno 2] No such file or directory ```

mffrench (Thu, 09 Mar 2017 17:50:21 GMT):
because the compiled peer binary is not in the path ( executed command is : ``` ['peer', 'chaincode', 'package', '-n', u'example02', '-c', '{"Args": ["init", "a", "100", "b", "200"]}', '-p', u'github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02', '-v', u'test', 'tmp/a19eecde04e811e7a1993c18a00389c0/deploymentspec-golang-github-com-hyperledger-fabric-examples-chaincode-go-chaincode-example02-example02'] ``` )

mffrench (Thu, 09 Mar 2017 17:53:37 GMT):
then when I add build/bin to my path I get following error : ``` Error Message: panic: Fatal error when setting up MSP from directory ./../msp/sampleConfig: err Could not load a valid signer certificate from directory ../msp/sampleConfig/signcerts, err Could not read directory open ../msp/sampleConfig/signcerts: no such file or directory, err ../msp/sampleConfig/signcerts ```

mffrench (Thu, 09 Mar 2017 17:55:19 GMT):
so i'd like to know if I should generate this MSP setup myself or if this is some static configuration which should be in the git repo already ?

jeffgarratt (Thu, 09 Mar 2017 21:50:17 GMT):
@mffrench quick change, or you can repull master. This is fixed :)

jeffgarratt (Thu, 09 Mar 2017 22:02:09 GMT):
(behave_venv) vagrant@hyperledger-devenv:v0.3.0-7134cad:/opt/gopath/src/github.com/hyperledger/fabric/bddtests$ docker inspect a0d45c6bfb8e | grep peer "sleep 2; peer node start --peer-defaultchain=false"

jeffgarratt (Thu, 09 Mar 2017 22:20:49 GMT):
@mffrench all of the MSP setup is automatic.

ruslan.kryukov (Fri, 10 Mar 2017 04:06:45 GMT):
Has joined the channel.

AlanLee (Fri, 10 Mar 2017 04:17:48 GMT):
Has joined the channel.

SyneBlockChainTeam (Fri, 10 Mar 2017 05:09:34 GMT):
While running "make dist-all clean" as mentioned on 'Building the fabric' ( http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/build.html), we are receive various errors e.g. Makefile:258: recipe for target 'ccenv-docker-clean' failed make: [ccenv-docker-clean] Error 123 (ignored) Makefile:258: recipe for target 'javaenv-docker-clean' failed make: [javaenv-docker-clean] Error 123 (ignored) Makefile:180: recipe for target 'build/bin/peer' failed make: *** [build/bin/peer] Error 2 Below is the complete log, for detailed information: Please let us know, how to resolve this or let us know where to this query. Thanks in advance.

SyneBlockChainTeam (Fri, 10 Mar 2017 05:11:50 GMT):
test

SyneBlockChainTeam (Fri, 10 Mar 2017 05:13:17 GMT):

Message Attachments

SyneBlockChainTeam (Fri, 10 Mar 2017 05:13:17 GMT):
While running "make dist-all clean" as mentioned on 'Building the fabric' ( http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/build.html), we are receiving various errors e.g. Makefile:258: recipe for target 'ccenv-docker-clean' failed make: [ccenv-docker-clean] Error 123 (ignored) ... ... Makefile:258: recipe for target 'javaenv-docker-clean' failed make: [javaenv-docker-clean] Error 123 (ignored) ... ... Makefile:180: recipe for target 'build/bin/peer' failed make: *** [build/bin/peer] Error 2 (We have attached the complete log, for reference) Please let us know, how to resolve this or let us know where to post this query. Thanks in advance.
Message Attachments

SyneBlockChainTeam (Fri, 10 Mar 2017 05:13:17 GMT):
While running "make dist-all clean" as mentioned on 'Building the fabric' ( http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/build.html), we are receive various errors e.g. Makefile:258: recipe for target 'ccenv-docker-clean' failed make: [ccenv-docker-clean] Error 123 (ignored) ... ... Makefile:258: recipe for target 'javaenv-docker-clean' failed make: [javaenv-docker-clean] Error 123 (ignored) ... ... Makefile:180: recipe for target 'build/bin/peer' failed make: *** [build/bin/peer] Error 2 (We have attached the complete log, for reference) Please let us know, how to resolve this or let us know where to this query. Thanks in advance.
Message Attachments

muralisr (Fri, 10 Mar 2017 13:00:56 GMT):
@SyneBlockChainTeam let me copy this to fabric too

JatinderBali (Fri, 10 Mar 2017 15:45:04 GMT):
Has joined the channel.

mffrench (Fri, 10 Mar 2017 15:46:36 GMT):
@jeffgarratt : great ! Will look on this and report other issues if any :)

jeffgarratt (Fri, 10 Mar 2017 15:46:56 GMT):
@mffrench sounds good!

mffrench (Fri, 10 Mar 2017 16:31:36 GMT):
:) ``` 1 feature passed, 0 failed, 2 skipped 1 scenario passed, 0 failed, 24 skipped 61 steps passed, 0 failed, 211 skipped, 0 undefined Took 1m5.161s ```

mffrench (Fri, 10 Mar 2017 16:32:07 GMT):
just a last little diff to make it work on my env :

mffrench (Fri, 10 Mar 2017 16:33:44 GMT):
``` 152a153 > fabric_go_root_path = myEnv['GOPATH'] + "/src/github.com/hyperledger/fabric" 159c160 < bdd_test_util.cli_call(["peer","chaincode","package"] + nameArgs + ctorArgs + pathArgs + versionArgs + [outputPath], expect_success=True, env=myEnv) --- > bdd_test_util.cli_call([fabric_go_root_path + "/build/bin/peer","chaincode","package"] + nameArgs + ctorArgs + pathArgs + versionArgs + [outputPath], expect_success=True, env=myEnv) ```

mffrench (Fri, 10 Mar 2017 16:34:12 GMT):
then you don't need to update your PATH to find the fresh compiled peer binary

jeffgarratt (Fri, 10 Mar 2017 16:54:08 GMT):
awesome!!

jeffgarratt (Fri, 10 Mar 2017 16:55:17 GMT):
@mffrench subsequent runs should be faster if you use the cache for deployment spec flag

jeffgarratt (Fri, 10 Mar 2017 16:55:42 GMT):
also, you can turn off the doNotDecompose flag if you wish to keep your system around (which I always do, as I use for dev)

jeffgarratt (Fri, 10 Mar 2017 16:56:03 GMT):
each run is compartmenalized and will NOT collide

jeffgarratt (Fri, 10 Mar 2017 16:56:42 GMT):
just remember to clean up (the networks as well ) :)

jeffgarratt (Fri, 10 Mar 2017 16:56:52 GMT):
i run the following post run...

jeffgarratt (Fri, 10 Mar 2017 16:57:06 GMT):
docker kill $(docker ps -qa) docker rm $(docker ps -qa) docker network rm $(docker network ls -q)

mffrench (Fri, 10 Mar 2017 16:59:57 GMT):
I wrotte a little script to reinit the bddtests as I've several docker containers I don't want to remove

mffrench (Fri, 10 Mar 2017 17:00:00 GMT):
=> https://github.com/mffrench/fabric/blob/behave_py2/bddtests/scripts/reinit.sh

jeffgarratt (Fri, 10 Mar 2017 17:00:53 GMT):
remember, this is not required between runs

jeffgarratt (Fri, 10 Mar 2017 17:01:03 GMT):
you can keep multiple runs up all the time

jeffgarratt (Fri, 10 Mar 2017 17:01:06 GMT):
to compare

jeffgarratt (Fri, 10 Mar 2017 17:01:18 GMT):
they will not collide, even at chaincode level

mffrench (Fri, 10 Mar 2017 17:03:01 GMT):
yeah sure : this just to help cleaning docker stuffs... I reached more than hundred fabric containers and maybe 30 docker networks last monday ;)

jeffgarratt (Fri, 10 Mar 2017 17:03:15 GMT):
you are limited to 39 networks :)

jeffgarratt (Fri, 10 Mar 2017 17:03:24 GMT):
then bang!!

jeffgarratt (Fri, 10 Mar 2017 17:03:26 GMT):
no more

jeffgarratt (Fri, 10 Mar 2017 17:03:48 GMT):
also, you can use the report to verify stuff

DannyWong (Fri, 10 Mar 2017 17:04:10 GMT):
how much memory your machine got!?

jeffgarratt (Fri, 10 Mar 2017 17:04:15 GMT):
16GB

DannyWong (Fri, 10 Mar 2017 17:04:17 GMT):
100+ docker!

jeffgarratt (Fri, 10 Mar 2017 17:04:50 GMT):
here is another one to help clean your images

jeffgarratt (Fri, 10 Mar 2017 17:05:00 GMT):
docker rmi $(docker images | grep "\-vp[0-9]*\-" | tr -s ' ' | cut -d ' ' -f 1 | less)

jeffgarratt (Fri, 10 Mar 2017 17:05:14 GMT):
that will remove the chaincoide images crerated over time

jeffgarratt (Fri, 10 Mar 2017 17:05:20 GMT):
which add up fast

jeffgarratt (Fri, 10 Mar 2017 17:05:27 GMT):
stop system first to get all of them

mffrench (Fri, 10 Mar 2017 17:08:22 GMT):
@DannyWong : 16GB. Many of them where not running any more (there were the results of previous failing bddtests) but yeah this could be considered as a resource leak in some way and should be monitored...

jeffgarratt (Fri, 10 Mar 2017 17:09:02 GMT):
the latest feature file has the doNotDecompose tag commented out

jeffgarratt (Fri, 10 Mar 2017 17:09:12 GMT):
this will cleaup your system post run

jeffgarratt (Fri, 10 Mar 2017 17:09:28 GMT):
as we use this in CI

mffrench (Fri, 10 Mar 2017 17:09:29 GMT):
yep I see this change this week :)

jeffgarratt (Fri, 10 Mar 2017 17:09:49 GMT):
don't forget there is a report created per run

jeffgarratt (Fri, 10 Mar 2017 17:10:19 GMT):
if you have docGenerate on

mffrench (Fri, 10 Mar 2017 17:10:47 GMT):
yep ! I will look closer to each steps now (and probably continue my python3 port through)

jeffgarratt (Fri, 10 Mar 2017 17:11:06 GMT):
good luck!!

mffrench (Fri, 10 Mar 2017 17:11:49 GMT):
thank you :)

AlanLee (Fri, 10 Mar 2017 23:52:01 GMT):
Question: Hi, we used to use v0.6 and intend to migrate to use v1.0. We are new to touch v1.0. Membership service seems to be gone and replaced by COPS? or endorser? (Sorry, would you kindly explain a bit what is endorser or if it is related to membership ?) Thank you.

muralisr (Sat, 11 Mar 2017 00:17:45 GMT):
@AlanLee the equivalent of "membership service" in 0.6 is "fabric-ca" in 1.0. In 0.6, the peer used to interact with membership service directly while in 1.0 peer does not directly interact with the fabric-ca. Membership information is specified to the peers for each channel it participates with. That information is used for validating requests coming in on a channel (say from SDK based apps). So it is the application (using the SDK) that would interact directly with fabric-ca to get the credentials to send to the peer for executing those requests. The peer executes the request using a chaincode and if succeful endorses it with its signature. Hence, in that role, the peer is called an endorser.

muralisr (Sat, 11 Mar 2017 00:17:45 GMT):
@AlanLee the equivalent of "membership service" in 0.6 is "fabric-ca" in 1.0. In 0.6, the peer used to interact with membership service directly while in 1.0 peer does not directly interact with the fabric-ca. Membership information is specified to the peers for each channel it participates with. That information is used for validating requests coming in on a channel (say from SDK based apps). So it is the application (using the SDK) that would interact directly with fabric-ca to get the credentials so it can send requests using those credentials to the peer for execution. The peer executes the request using a chaincode and if succeful endorses it with its signature. Hence, in that role, the peer is called an endorser.

AlanLee (Sat, 11 Mar 2017 00:23:38 GMT):
Thanks @muralisr . Great thanks for your explanation. Do we have installation steps (on Documentation) on how we can use it (or migrate / try)? Previously, we have troubles connecting the peer(the endorser) to the "COPS" before (we haven't tried out fabric-ca yet). Thank you.

muralisr (Sat, 11 Mar 2017 00:25:16 GMT):
@AlanLee i would check in fabric-ca and fabric-sdk-node. I think the READMEs in both projects are good place to start

muralisr (Sat, 11 Mar 2017 00:25:53 GMT):
let me know if you need links to both

AlanLee (Sat, 11 Mar 2017 00:25:53 GMT):
By the way, we need to convert the previous chain-code to use fabric-sdk-node now?

muralisr (Sat, 11 Mar 2017 00:26:25 GMT):
there have been some changes to the API but for most part should be painless

muralisr (Sat, 11 Mar 2017 00:27:20 GMT):
for example, `Invoke(...) ([]byte, error)` is now `Invoke(...) Response`

muralisr (Sat, 11 Mar 2017 00:27:30 GMT):
changes of that magnitude

muralisr (Sat, 11 Mar 2017 00:29:02 GMT):
the biggest changes to chaincode are in ACL ... this is still a work in progress. If you are using ACL in chaincode, refer questions in fabric-crypto please

evafo (Sat, 11 Mar 2017 07:12:39 GMT):
Do you p Know can developers mutual insurance on Hyperledger ?

dRand (Sat, 11 Mar 2017 11:28:14 GMT):
Has joined the channel.

mastersingh24 (Sat, 11 Mar 2017 12:09:57 GMT):
@evafo - not sure I understand the question?

mastersingh24 (Sat, 11 Mar 2017 15:05:23 GMT):
@binhn @muralisr I'm working on trying to get the e2e_cli working with TLS enabled

muralisr (Sat, 11 Mar 2017 15:11:44 GMT):
one thing @mastersingh24 ...can you check this code out please..this is the peer trying to setup an orderer client

muralisr (Sat, 11 Mar 2017 15:11:56 GMT):
```func NewDeliverService(gossip blocksprovider.GossipServiceAdapter, endpoints []string, mcs api.MessageCryptoService) (DeliverService, error) { indices := rand.Perm(len(endpoints)) for _, idx := range indices { logger.Infof("Creating delivery service to get blocks from the ordering service, %s", endpoints[idx]) dialOpts := []grpc.DialOption{grpc.WithTimeout(3 * time.Second), grpc.WithBlock()} if comm.TLSEnabled() { dialOpts = append(dialOpts, grpc.WithTransportCredentials(comm.InitTLSForPeer())) } else { dialOpts = append(dialOpts, grpc.WithInsecure()) } conn, err := grpc.Dial(endpoints[idx], dialOpts...) if err != nil { logger.Errorf("Cannot dial to %s, because of %s", endpoints[idx], err) continue } return NewFactoryDeliverService(gossip, &blocksDelivererFactoryImpl{conn}, conn, mcs), nil } return nil, fmt.Errorf("Wasn't able to connect to any of ordering service endpoints %s", endpoints) }```

mastersingh24 (Sat, 11 Mar 2017 15:13:41 GMT):
yeah - I saw that - but that does not seem to be the issue

mastersingh24 (Sat, 11 Mar 2017 15:13:54 GMT):
I was just able to join channel actually with TLS enabled!

mastersingh24 (Sat, 11 Mar 2017 15:14:05 GMT):
now to figure out what the hell I did ;)

muralisr (Sat, 11 Mar 2017 15:27:04 GMT):
:-)

muralisr (Sat, 11 Mar 2017 15:27:07 GMT):
good del

muralisr (Sat, 11 Mar 2017 15:27:11 GMT):
deal

muralisr (Sat, 11 Mar 2017 15:29:52 GMT):
the code itself is good... I was not sure about the using the same peer side TLS certs (serverhostoverride etc) for the orderer client as well

binhn (Sat, 11 Mar 2017 16:32:20 GMT):
@muralisr @mastersingh24 @jimthematrix @kostas @jyellick @weeds @jeffgarratt @C0rWin @yacovm @Asara @bmos299 @simsc I created https://jira.hyperledger.org/browse/FAB-2744 to capture TLS config and setup that all may share and document later

Asara (Sat, 11 Mar 2017 16:32:20 GMT):
Has joined the channel.

bmos299 (Sat, 11 Mar 2017 16:32:20 GMT):
Has joined the channel.

kostas (Sat, 11 Mar 2017 16:32:20 GMT):
Has joined the channel.

binhn (Sat, 11 Mar 2017 16:34:16 GMT):
i put ratnakar's there as a subtask with attachments that you might want to start with

binhn (Sat, 11 Mar 2017 16:34:40 GMT):
gari and murali, please post yours there as well

mastersingh24 (Sat, 11 Mar 2017 17:07:09 GMT):
will do - current status: 1) Join Channel working 2) Install chaincode working 3) working on instantiate ....

binhn (Sat, 11 Mar 2017 17:11:12 GMT):
when i use cryptoGen tool, it creates this a long key filename `eac3b216abe966b113053c880ff8bf7e08167a4dc2056c06e43232c77646815e_sk` that I thought we no longer need -- @vpaprots ?

vpaprots (Sat, 11 Mar 2017 17:11:12 GMT):
Has joined the channel.

mastersingh24 (Sat, 11 Mar 2017 17:27:34 GMT):
yeah - when I built the tool, I used bccsp which generates names like that

mastersingh24 (Sat, 11 Mar 2017 17:27:53 GMT):
I believe we do actually support random names as well

jimthematrix (Sat, 11 Mar 2017 18:43:59 GMT):
@mastersingh24 In your status above, how are you testing? Bdd or cli or sdk? I'd say until you can connection from a different language (bdd or sdk) we can't claim a pass

jeffgarratt (Sat, 11 Mar 2017 18:47:57 GMT):
I am wondering if the ecdsa key usage is causing problem with the SSL negotiation?

jeffgarratt (Sat, 11 Mar 2017 18:48:05 GMT):
@jimthematrix ^^^

jeffgarratt (Sat, 11 Mar 2017 18:48:37 GMT):
I verified that no issue connecting between python nodes using RSA key based certs

mastersingh24 (Sat, 11 Mar 2017 19:21:59 GMT):
@jimthematrix - currently I've been trying to get the e2e_cli scenario working

mastersingh24 (Sat, 11 Mar 2017 19:22:12 GMT):
but I was also able to connect via openssl as well

mastersingh24 (Sat, 11 Mar 2017 19:22:56 GMT):
I think I have the last "fix" in place to get through instantiate

jimthematrix (Sat, 11 Mar 2017 19:25:56 GMT):
@mastersingh24 ok i'll try updating openssl as you suggested and give it a try again

jimthematrix (Sat, 11 Mar 2017 19:29:31 GMT):
@jeffgarratt wow that's interesting, the errors i've been seeing (connecting from sdk or openssl s_client) ranged from "wrong version number" or "unknown protocol" or "tlsv1 alert protocol version", were you seeing any of these?

jeffgarratt (Sat, 11 Mar 2017 19:32:10 GMT):
@jimthematrix @mastersingh24 should we upgrade openssl in our environments?

jeffgarratt (Sat, 11 Mar 2017 19:32:16 GMT):
if so, to what version?

mastersingh24 (Sat, 11 Mar 2017 19:33:20 GMT):
it's really only a problem running native on OSX - which uses patched version of openssl 0.9.8

mastersingh24 (Sat, 11 Mar 2017 19:33:39 GMT):
all of the Linux-based env look to have openssl 1.0.2

mastersingh24 (Sat, 11 Mar 2017 19:34:00 GMT):
here's my WIP on updating the e2e_cli to work

mastersingh24 (Sat, 11 Mar 2017 19:34:03 GMT):
https://gerrit.hyperledger.org/r/#/c/7141/

mastersingh24 (Sat, 11 Mar 2017 19:35:24 GMT):
not sure if chaincode deployment will work yet or not but you shoud be able to get all the way through create channel, join channel and install chaincode. Oh - and no TLS for the orderer yet - working on that

mastersingh24 (Sat, 11 Mar 2017 19:35:31 GMT):
need to step out for a bit tho

muralisr (Sat, 11 Mar 2017 20:06:26 GMT):
@mastersingh24 I am trying something similar to the fix in platforms.go. It currently assumes self-signed certs I think (at least current UT works with "peer.tls.cert.file") so using "peer.tls.root.file" could break that... experimenting with it.

mastersingh24 (Sat, 11 Mar 2017 20:23:13 GMT):
on the plus side, I was able to instantiate chaincode on a single peer ;)

mastersingh24 (Sat, 11 Mar 2017 20:23:21 GMT):
I think I'm failing on the orderer now

mastersingh24 (Sat, 11 Mar 2017 20:23:27 GMT):
will get on that in a bit

mastersingh24 (Sat, 11 Mar 2017 21:12:43 GMT):
@muralisr - I think I have a fix to make sure the test passes (just set the tls.rootcert to the same value as the tls.cert). I'm thinking that we should probably use rootcert if it exists and fallback to tls.cert if not

muralisr (Sat, 11 Mar 2017 21:13:22 GMT):
right. That's what I was trying too

muralisr (Sat, 11 Mar 2017 21:13:35 GMT):
but I didn't have luck with that

muralisr (Sat, 11 Mar 2017 21:13:41 GMT):
so will take what you got :-)

muralisr (Sat, 11 Mar 2017 21:13:49 GMT):
do you want me to try your patch ?

muralisr (Sat, 11 Mar 2017 21:14:02 GMT):
oh

muralisr (Sat, 11 Mar 2017 21:14:13 GMT):
`just set the tls.rootcert to the same value as the tls.cert`

muralisr (Sat, 11 Mar 2017 21:14:17 GMT):
I didn't do that part

muralisr (Sat, 11 Mar 2017 21:14:26 GMT):
let me try that

mastersingh24 (Sat, 11 Mar 2017 21:14:48 GMT):
I'm running the chaincode tests right now to see if they'll pass

muralisr (Sat, 11 Mar 2017 21:14:54 GMT):
ok

mastersingh24 (Sat, 11 Mar 2017 21:15:16 GMT):
next step is on to the orderer ;)

yacovm (Sat, 11 Mar 2017 21:15:18 GMT):
This all or nothing TLS is crazy, we should've used different listeners and ports :(

mastersingh24 (Sat, 11 Mar 2017 21:15:29 GMT):
that was the fallback

mastersingh24 (Sat, 11 Mar 2017 21:15:31 GMT):
;)

muralisr (Sat, 11 Mar 2017 21:20:31 GMT):
shouldn't be too difficult to separate out peer from orderer for TLS so we have 4 combinations (beginning to sound like a broken record, I know :-) )

mastersingh24 (Sat, 11 Mar 2017 21:36:35 GMT):
the good news is that I elminated the need for serverhostoverride for for the CLI container and for chaincode in the e2e_cli setup

mastersingh24 (Sat, 11 Mar 2017 21:36:49 GMT):
(I'm tricky like that ;) )

mastersingh24 (Sat, 11 Mar 2017 21:42:32 GMT):
@muralisr ``` func getPeerTLSCert() ([]byte, error) { if viper.GetBool("peer.tls.enabled") == false { // no need for certificates if TLS is not enabled return nil, nil } var path string // first we check for the rootcert path = viper.GetString("peer.tls.rootcert.file") if path == "" { // check for tls cert path = viper.GetString("peer.tls.cert.file") } // this should not happen if the peer is running with TLS enabled if _, err := os.Stat(path); err != nil { return nil, err } // FIXME: FAB-2037 - ensure we sanely resolve relative paths specified in the yaml return ioutil.ReadFile(path) } ```

muralisr (Sat, 11 Mar 2017 21:43:54 GMT):
that'd make the UT pass for sure

mastersingh24 (Sat, 11 Mar 2017 21:44:02 GMT):
(BTW - the previous code in there would actually fail if there was nothing in the peer.tls.cert.file setting

muralisr (Sat, 11 Mar 2017 21:44:14 GMT):
it works with e2e too ?

mastersingh24 (Sat, 11 Mar 2017 21:44:24 GMT):
the logic was kinda backwards

mastersingh24 (Sat, 11 Mar 2017 21:44:31 GMT):
I got chaincode to deploy in e2e

muralisr (Sat, 11 Mar 2017 21:44:36 GMT):
ok

mastersingh24 (Sat, 11 Mar 2017 21:44:45 GMT):
on 1 peer

muralisr (Sat, 11 Mar 2017 21:44:48 GMT):
I could have sworn I tried the above

muralisr (Sat, 11 Mar 2017 21:45:49 GMT):
could have easily done something wrong though... I was trying different things

mastersingh24 (Sat, 11 Mar 2017 21:46:18 GMT):
`CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default` is the other trick to eliminate the need for serverhost override

mastersingh24 (Sat, 11 Mar 2017 21:46:47 GMT):
this deploys chaincode on the same bridge network as the peers so hostname (e.g. peer0) works

mastersingh24 (Sat, 11 Mar 2017 21:48:18 GMT):
`CORE_PEER_ADDRESS=peer0:7051` - which as you know is what chaincode will use if set ;)

muralisr (Sat, 11 Mar 2017 21:49:00 GMT):
what is `e2ecli_default` ?

mastersingh24 (Sat, 11 Mar 2017 21:51:21 GMT):
ah

mastersingh24 (Sat, 11 Mar 2017 21:51:26 GMT):
well - good question

mastersingh24 (Sat, 11 Mar 2017 21:51:59 GMT):
so with docker-compose, it will create a bridge network - and it names it `{folder}_default`

mastersingh24 (Sat, 11 Mar 2017 21:52:16 GMT):
hence `e2ecli_default`

mastersingh24 (Sat, 11 Mar 2017 21:52:32 GMT):
so basically I tell the chaincode containers to join the e2ecli_default network

mastersingh24 (Sat, 11 Mar 2017 21:52:55 GMT):
and all works like a charm since containers can use hostnames when on the same network

mastersingh24 (Sat, 11 Mar 2017 21:54:45 GMT):
with the above change, chaincode tests are passing :clap:

weeds (Sat, 11 Mar 2017 21:56:29 GMT):
Thanks @binhn

weeds (Sat, 11 Mar 2017 21:56:49 GMT):
@Ratnakar @latitiah

latitiah (Sat, 11 Mar 2017 21:56:49 GMT):
Has joined the channel.

muralisr (Sat, 11 Mar 2017 21:59:26 GMT):
so @mastersingh24 let me summarize and you can correct me (I'm betting on that :-) )

muralisr (Sat, 11 Mar 2017 21:59:36 GMT):
(for my own understanding...)

muralisr (Sat, 11 Mar 2017 22:00:18 GMT):
1) the fix to getPeerTLSCert fixes UT (we basically keep using `path = viper.GetString("peer.tls.cert.file")` in UT)

muralisr (Sat, 11 Mar 2017 22:02:22 GMT):
2) the fix to use `path = viper.GetString("peer.tls.rootcert.file")` in getPeerTLSCert together with `CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default` fixes CLI -> peer (and CLI -> Orderer too ?)

mastersingh24 (Sat, 11 Mar 2017 22:02:47 GMT):
it does not fix the orderer (yet)

muralisr (Sat, 11 Mar 2017 22:02:58 GMT):
ah

muralisr (Sat, 11 Mar 2017 22:03:00 GMT):
ok

mastersingh24 (Sat, 11 Mar 2017 22:03:20 GMT):
but it puts us on a path to avoid the serverhostoverride stuff which can create problems

muralisr (Sat, 11 Mar 2017 22:03:27 GMT):
right

muralisr (Sat, 11 Mar 2017 22:03:31 GMT):
understood

mastersingh24 (Sat, 11 Mar 2017 22:05:01 GMT):
the key thing was figuring out how to get the chaincode to communicate with the peer using the hostname(s) (peerX) which are in the certificates. I also needed to change to the rootcert since this were not self-signed certs

muralisr (Sat, 11 Mar 2017 22:06:58 GMT):
right ...I had to continue to fight using serverhostoverride.. this should help get to the next step for sure

muralisr (Sat, 11 Mar 2017 22:07:23 GMT):
I was able to talk TLS with orderer and peer with a simpler setup

muralisr (Sat, 11 Mar 2017 22:07:35 GMT):
let me see if I can use your trick to get to next level

muralisr (Sat, 11 Mar 2017 22:07:51 GMT):
will pull the CR and try

mastersingh24 (Sat, 11 Mar 2017 22:47:13 GMT):
https://gerrit.hyperledger.org/r/#/c/7141/ - just posted an update

mastersingh24 (Sat, 11 Mar 2017 22:47:36 GMT):
with this, you can get all the way to instantiating chaincode on a single peer

mastersingh24 (Sat, 11 Mar 2017 22:48:00 GMT):
NOTE: I don't execute the script in the CLI container right now

mastersingh24 (Sat, 11 Mar 2017 22:48:41 GMT):
so after you run `docker-compose up -d` you can run `docker exec -it cli /bin/bash` and then run `./scripts/script/sh`

AbhilekhSingh (Sun, 12 Mar 2017 06:08:29 GMT):
Has joined the channel.

muralisr (Sun, 12 Mar 2017 13:57:04 GMT):
@mastersingh24 will pull and try

mastersingh24 (Sun, 12 Mar 2017 14:01:21 GMT):
I updated the JIRA as well, but I now have the orderer configured for TLS and am able to create channels and also issue commands from the CLI. I believe the last issue is to properly connect the peer delivery client to the TLS-enabled orderer

muralisr (Sun, 12 Mar 2017 14:10:42 GMT):
I think with all the changes in the delivery part shouldn't be close no ? Like you said - just hook up the root cas from MSP to the client connection ?

mastersingh24 (Sun, 12 Mar 2017 14:24:42 GMT):
we are close ;)

binhn (Sun, 12 Mar 2017 15:02:29 GMT):
:fingers_crossed:

mastersingh24 (Sun, 12 Mar 2017 18:30:10 GMT):
well folks, e2e is now working with TLS enabled throught the entire system (well it worked 3 times in a row on my machine)

mastersingh24 (Sun, 12 Mar 2017 18:30:12 GMT):
https://gerrit.hyperledger.org/r/#/c/7141/

mastersingh24 (Sun, 12 Mar 2017 18:30:43 GMT):
same instructions for running e2e - I added back automatically running the script in the CLI container

mastersingh24 (Sun, 12 Mar 2017 18:32:05 GMT):
@binhn @muralisr @jyellick @yacovm @jimthematrix ^^^^^

binhn (Sun, 12 Mar 2017 18:33:01 GMT):
:clap:

muralisr (Sun, 12 Mar 2017 18:33:14 GMT):
@mastersingh24 checking right away :-)

binhn (Sun, 12 Mar 2017 18:33:14 GMT):
i will try now

binhn (Sun, 12 Mar 2017 18:33:29 GMT):
thanks for all the hard work

mastersingh24 (Sun, 12 Mar 2017 18:48:15 GMT):
hopefully this is not a "it works on my machine" thing

muralisr (Sun, 12 Mar 2017 18:48:38 GMT):
one suggestion @mastersingh24 (and I can tell how much work has gone into this so don't shoot me :-) )

mastersingh24 (Sun, 12 Mar 2017 18:48:53 GMT):
enough work to get it working ;)

mastersingh24 (Sun, 12 Mar 2017 18:48:59 GMT):
no more no less

muralisr (Sun, 12 Mar 2017 18:49:12 GMT):
instead of -cafile, can we add a section to to core.yaml ?

muralisr (Sun, 12 Mar 2017 18:49:18 GMT):
orderer: ca

muralisr (Sun, 12 Mar 2017 18:49:33 GMT):
(upto you ...)

mastersingh24 (Sun, 12 Mar 2017 18:50:14 GMT):
I thought about that, but since we just removed any orderer config from core.yaml, I figured using flags was the way to go

muralisr (Sun, 12 Mar 2017 18:50:46 GMT):
we did but that was for "starting orderer"

muralisr (Sun, 12 Mar 2017 18:50:54 GMT):
but this is more about connecting with it

mastersingh24 (Sun, 12 Mar 2017 18:51:02 GMT):
also even for communicating with it

mastersingh24 (Sun, 12 Mar 2017 18:51:13 GMT):
you need to pass in -o now?

muralisr (Sun, 12 Mar 2017 18:51:16 GMT):
and it'll make the docker config uniform with ENV usages

mastersingh24 (Sun, 12 Mar 2017 18:51:26 GMT):
Oh

mastersingh24 (Sun, 12 Mar 2017 18:51:32 GMT):
WELL

mastersingh24 (Sun, 12 Mar 2017 18:51:45 GMT):
we don't need those certs except for the CLI

muralisr (Sun, 12 Mar 2017 18:51:54 GMT):
right

muralisr (Sun, 12 Mar 2017 18:51:58 GMT):
that's true

muralisr (Sun, 12 Mar 2017 18:52:18 GMT):
ok

mastersingh24 (Sun, 12 Mar 2017 18:52:22 GMT):
I figured it was more obvious that we need them to put them in as flags

muralisr (Sun, 12 Mar 2017 18:52:26 GMT):
let's leave the way

muralisr (Sun, 12 Mar 2017 18:52:26 GMT):
let's leave the way it is

binhn (Sun, 12 Mar 2017 18:52:37 GMT):
``` 2017-03-12 18:50:44.948 UTC [main] main -> INFO 006 Exiting..... ===================== Query on PEER3 on channel 'mychannel' is successful ===================== ===================== All GOOD, End-2-End execution completed ===================== ```

binhn (Sun, 12 Mar 2017 18:53:09 GMT):
@muralisr i thnk we should address that when we separate cli from peer

mastersingh24 (Sun, 12 Mar 2017 18:53:10 GMT):
```All GOOD, End-2-End execution completed```

mastersingh24 (Sun, 12 Mar 2017 18:53:29 GMT):
sad that I have been waching for this magic words all day ;)

mastersingh24 (Sun, 12 Mar 2017 18:53:29 GMT):
sad that I have been watching for this magic words all day ;)

mastersingh24 (Sun, 12 Mar 2017 18:53:29 GMT):
sad that I have been watching for those magic words all day ;)

muralisr (Sun, 12 Mar 2017 18:54:03 GMT):
I'm going to try from CLI without the benefeit of CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE

muralisr (Sun, 12 Mar 2017 18:54:06 GMT):
:-)

muralisr (Sun, 12 Mar 2017 18:54:09 GMT):
indeed

binhn (Sun, 12 Mar 2017 18:54:16 GMT):
:wink:

binhn (Sun, 12 Mar 2017 18:54:47 GMT):
now it is working , let's review the cr and merge

mastersingh24 (Sun, 12 Mar 2017 18:55:11 GMT):
(I admit I am missing some tests) ;)

binhn (Sun, 12 Mar 2017 18:55:45 GMT):
asking jeff to give his bdd a spin with this cr

mastersingh24 (Sun, 12 Mar 2017 19:28:44 GMT):
cool. I'll be away for about an hour or so

jimthematrix (Sun, 12 Mar 2017 21:18:47 GMT):
thanks @mastersingh24, I'm modifying the fabric-sdk-node e2e to use the new code (and crypto materials), will update on the result. my tests will also include fabric-ca (that signs user ecerts) in the mix

jimthematrix (Sun, 12 Mar 2017 21:26:50 GMT):
guess i'll start with the existing crypto materials since they are shared b/w localmsp and tls

jimthematrix (Sun, 12 Mar 2017 21:26:50 GMT):
guess i'll start with the existing crypto materials since they are shared b/w localmsp and tls now with 7141

muralisr (Sun, 12 Mar 2017 23:06:03 GMT):
@mastersingh24 @binhn I tested against non-docker env from CLI as well

muralisr (Sun, 12 Mar 2017 23:06:27 GMT):
after a few user errors, got it to work

muralisr (Sun, 12 Mar 2017 23:06:27 GMT):
after a few user errors, got it to work.. the simplest out of the box scenario can use TLS with the canned msp/sampleconfig

muralisr (Mon, 13 Mar 2017 00:56:51 GMT):

Message Attachments

jimthematrix (Mon, 13 Mar 2017 04:10:11 GMT):
node sdk still getting the same error (after updating openssl in mac to 1.0.2k, and using latest 7141 CR): ```jimzhang:fabric-sdk-node jimzhang$ node test/integration/e2e/create-channel.js info: Returning a new winston logger with default configurations TAP version 13 # ***** End-to-end flow: create channel ***** info: [crypto_ecdsa_aes]: This class requires a CryptoKeyStore to save keys, using the store: {"opts":{"path":"/Users/jimzhang/.hfc-key-store"}} info: [Client.js]: Successfully loaded user "admin" from local key value store ok 1 Successfully loaded member from persistence ok 2 Successfully enrolled user 'admin' ok 3 Successfully read file E0312 23:09:44.429632000 123145312870400 ssl_transport_security.c:947] Handshake failed with fatal error SSL_ERROR_SSL: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number. E0312 23:09:44.431319000 123145312870400 ssl_transport_security.c:947] Handshake failed with fatal error SSL_ERROR_SSL: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number. error: [Orderer.js]: sendBroadcast - on error: "Error: Connect Failed\n at ClientDuplexStream._emitStatusIfDone (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/grpc/src/node/src/client.js:201:19)\n at ClientDuplexStream._readsDone (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/grpc/src/node/src/client.js:169:8)\n at readCallback (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/grpc/src/node/src/client.js:229:12)" not ok 4 Error: SERVICE_UNAVAILABLE at ClientDuplexStream. (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/fabric-client/lib/Orderer.js:117:21) at emitOne (events.js:96:13) at ClientDuplexStream.emit (events.js:188:7) at ClientDuplexStream._emitStatusIfDone (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/grpc/src/node/src/client.js:204:12) at ClientDuplexStream._readsDone (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/grpc/src/node/src/client.js:169:8) at readCallback (/Users/jimzhang/workspace/fabric-sdk-node/node_modules/grpc/src/node/src/client.js:229:12) --- operator: fail at: testUtil.readFile.then.then.then.then.then (/Users/jimzhang/workspace/fabric-sdk-node/test/integration/e2e/create-channel.js:97:5) ... ok 5 Successfully waited to make sure new channel was created. 1..5 # tests 5 # pass 4 # fail 1 ```

jimthematrix (Mon, 13 Mar 2017 04:10:59 GMT):
if anybody have successfully connected a node.js program to a golang program running inside docker via TLS, I could use some help

jimthematrix (Mon, 13 Mar 2017 04:12:00 GMT):
the latest code I'm experimenting has been uploaded with https://gerrit.hyperledger.org/r/#/c/7135/

mastersingh24 (Mon, 13 Mar 2017 11:33:22 GMT):
@jimthematrix - I responsed over in the node sdk channel

mastersingh24 (Mon, 13 Mar 2017 11:33:22 GMT):
@jimthematrix - I responded over in the node sdk channel

mffrench (Mon, 13 Mar 2017 11:52:13 GMT):
Hi everyone

mffrench (Mon, 13 Mar 2017 11:53:05 GMT):
here's my diffs to make work bddtests both on python 2 and python 3 env : https://github.com/hyperledger/fabric/compare/master...mffrench:behave_py3

mffrench (Mon, 13 Mar 2017 11:53:49 GMT):
``` (fabric_behave_venv_py3) ╭─mffrench@dekatonmac ~/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests ‹behave_py3› ╰─$ pip -V pip 9.0.1 from /home/mffrench/.python_envs/fabric_behave_venv_py3/lib/python3.4/site-packages (python 3.4) (fabric_behave_venv_py3) ╭─mffrench@dekatonmac ~/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests ‹behave_py3› ╰─$ behave -k -D cache-deployment-spec @bootstrap Feature: Bootstrap # features/bootstrap.feature:10 ... context.failed = False 1 feature passed, 0 failed, 2 skipped 1 scenario passed, 0 failed, 24 skipped 61 steps passed, 0 failed, 211 skipped, 0 undefined Took 1m12.154s (fabric_behave_venv_py2) ╭─mffrench@dekatonmac ~/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests ‹behave_py3› ╰─$ pip -V pip 9.0.1 from /home/mffrench/.python_envs/fabric_behave_venv_py2/local/lib/python2.7/site-packages (python 2.7) (fabric_behave_venv_py2) ╭─mffrench@dekatonmac ~/.echinopsii/go_workspace/src/github.com/hyperledger/fabric/bddtests ‹behave_py3› ╰─$ behave -k -D cache-deployment-spec @bootstrap Feature: Bootstrap # features/bootstrap.feature:10 ... context.failed = False 1 feature passed, 0 failed, 2 skipped 1 scenario passed, 0 failed, 24 skipped 61 steps passed, 0 failed, 211 skipped, 0 undefined Took 1m5.687s ```

mffrench (Mon, 13 Mar 2017 11:53:54 GMT):
:)

mffrench (Mon, 13 Mar 2017 11:54:07 GMT):
let me know if you have any feedbacks

davidkel (Mon, 13 Mar 2017 17:26:13 GMT):
Is there a timeout on a chaincode instantiate INIT call ? We have chaincode that can take 2 minutes for the INIT to run and it fails with some strange errors ``` Error: [80914958]No ledger context for GetState. Sending ERROR ``` If that is the case is this timeout applicable to Invoke as well ?

Asara (Mon, 13 Mar 2017 17:33:42 GMT):
:q

muralisr (Mon, 13 Mar 2017 18:01:06 GMT):
@davidkel theres a timeout of 30 secs. I think you are running into the situation where the requester cleaned up the context and returned error back. When the chaincode requested GetState, the context was no longer there (and you get the above error). We need to remove the hardcoded timeout and return...would you mind open a JIRA item for that please ?

muralisr (Mon, 13 Mar 2017 18:01:06 GMT):
@davidkel theres a timeout of 30 secs. I think you are running into the situation where the requester cleaned up the context and returned error back. When the chaincode called GetState, the context was no longer there (and you get the above error). We need to remove the hardcoded timeout and return...would you mind open a JIRA item for that please ?

muralisr (Mon, 13 Mar 2017 18:01:06 GMT):
@davidkel theres a timeout of 30 secs. I think you are running into the situation where the requester cleaned up the context and returned error back. When the chaincode called GetState, the context was no longer there (and you get the above error). We need to remove the hardcoded timeout and allow timeout to be specified via a property...would you mind open a JIRA item for that please ?

davidkel (Mon, 13 Mar 2017 18:44:18 GMT):
@muralisr thanks for the quick response. I can open a jira for that.

davidkel (Mon, 13 Mar 2017 18:48:38 GMT):
@muralisr fyi: https://jira.hyperledger.org/browse/FAB-2767

muralisr (Mon, 13 Mar 2017 19:02:43 GMT):
@davidkel do you need this at highest priority ?

davidkel (Mon, 13 Mar 2017 19:04:03 GMT):
@muralisr It does stop our system tests from passing unfortunately and don't know of any other way round it

davidkel (Mon, 13 Mar 2017 19:05:34 GMT):
Without this it really does stop any meaningful Fabric Composer business network from being deployed onto V1

muralisr (Mon, 13 Mar 2017 19:24:09 GMT):
@davidkel ok.. if you want to quickly unblock you can change this line `timeout := time.Duration(30000) * time.Millisecond` in core/chaincode/exectransaction.go and rebuild. Not ideal but may unblock while waiting for the fix

muralisr (Mon, 13 Mar 2017 19:25:33 GMT):
the reason for the hardcoding was the hope to not make it a system wide param but a chaincode specific one which would need more work

muralisr (Mon, 13 Mar 2017 19:25:54 GMT):
but clearly we could as well have made the 30000 a param

jeffgarratt (Mon, 13 Mar 2017 21:25:17 GMT):
@binhn @muralisr @mastersingh24 @jimthematrix have worked through most of the issues wrt TLS certs and the behave system. Down to trusted roots for the chaincode to allow connect back to associated peer

jimthematrix (Tue, 14 Mar 2017 00:45:44 GMT):
@jeffgarratt on the node sdk front we have a breakthrough, @mastersingh24 got me to realize that why node sdk client was terminating the session after successful handshake ( got both @bmos299 and @ashutosh_kumar to scratch their heads when they saw this behavior in wiresharks trace), was because it saw the server cert and didn't like it due to hostname mismatch (CN=orderer0 but I was setting hostnameoverride to `localhost`), should've looked more closely at the server certs

ashutosh_kumar (Tue, 14 Mar 2017 00:45:44 GMT):
Has joined the channel.

jeffgarratt (Tue, 14 Mar 2017 00:54:41 GMT):
good deal

jeffgarratt (Tue, 14 Mar 2017 00:54:51 GMT):
I still had an issue even with proper hostnames and overrides

ashutosh_kumar (Tue, 14 Mar 2017 01:25:45 GMT):
that did not click my mind @jimthematrix . So stupid , I was like always.:cry:

ashutosh_kumar (Tue, 14 Mar 2017 01:25:49 GMT):
:cry:

binhn (Tue, 14 Mar 2017 01:27:21 GMT):
so on nodejs, even with hostnameoverride, it still reject of the cert contain different host, right?

ashutosh_kumar (Tue, 14 Mar 2017 02:06:34 GMT):
@binhn , I think hostnameoverride is TLS client setting. @jimthematrix must have changed the code to do hostnameverifition on Node js to match server cert.

ashutosh_kumar (Tue, 14 Mar 2017 02:06:34 GMT):
@binhn , I think hostnameoverride is TLS client setting. @jimthematrix must have changed the node code to do hostnameverifition on Node js to match server cert.

ashutosh_kumar (Tue, 14 Mar 2017 02:06:34 GMT):
@binhn , I think hostnameoverride is TLS client setting. @jimthematrix must have changed the code to do hostnameverifition on Node js to match server cert.

jimthematrix (Tue, 14 Mar 2017 02:34:41 GMT):
@binhn @ashutosh_kumar (this is only relevant in testing environments) the sdk needs to set the hostnameoverride in grpc call options to match the server cert on a per-endpoint basis, the API design already accommodates this (Remote.js class), and it'll be able to connect to all the different orderer/peer nodes

jimthematrix (Tue, 14 Mar 2017 02:34:41 GMT):
@binhn @ashutosh_kumar the sdk needs to set the hostnameoverride in grpc call options to match the server cert on a per-endpoint basis, the API design already accommodates this (Remote.js class), and it'll be able to connect to all the different orderer/peer nodes (this is only needed in testing environments)

ashutosh_kumar (Tue, 14 Mar 2017 02:36:49 GMT):
@jimthematrix , have you implemented SNI ?

ashutosh_kumar (Tue, 14 Mar 2017 02:38:04 GMT):
we can talk about that tomorrow as there is always tomorrow.:grin:

ashutosh_kumar (Tue, 14 Mar 2017 02:38:09 GMT):
:grimacing:

jimthematrix (Tue, 14 Mar 2017 02:39:22 GMT):
i don't believe we have that implemented

ashutosh_kumar (Tue, 14 Mar 2017 02:49:27 GMT):
with wild card certs in vogue , that is good feature to be implemented.

krupabathia (Tue, 14 Mar 2017 12:40:02 GMT):
Has joined the channel.

bmos299 (Tue, 14 Mar 2017 13:11:57 GMT):
@jimthematrix @ashutosh_kumar @binhn we implemented sni in bluemix with wildcards and had great success. I am sure at some point this will be a requirement for us...not sure when..but at somepoint. It can make like life pretty easy as the server is told what cert to send in the handshake.

bmos299 (Tue, 14 Mar 2017 13:11:57 GMT):
@jimthematrix @ashutosh_kumar @binhn we implemented sni in bluemix with wildcards and had great success. I am sure at some point this will be a requirement for us...not sure when..but at somepoint. It can make l life pretty easy as ash points out as the server is told what cert to send in the handshake.

wwendy (Tue, 14 Mar 2017 13:48:33 GMT):
Has joined the channel.

jimthematrix (Tue, 14 Mar 2017 15:25:16 GMT):
anybody know what might be causing this error? I have the hyperledger/fabric-ccenv image. ```peer0 | 2017-03-14 15:21:25.566 UTC [dockercontroller] deployImage -> ERRO 03a Error building images: Failed to generate platform-specific docker build: Error creating container: no such image peer0 | 2017-03-14 15:21:25.566 UTC [dockercontroller] deployImage -> ERRO 03b Image Output: peer0 | ******************** peer0 | peer0 | ******************** peer0 | 2017-03-14 15:21:25.566 UTC [chaincode] Launch -> ERRO 03c launchAndWaitForRegister failed Error starting container: Failed to generate platform-specific docker build: Error creating container: no such image```

jimthematrix (Tue, 14 Mar 2017 15:27:56 GMT):
@binhn @muralisr @greg.haskins @mastersingh24

muralisr (Tue, 14 Mar 2017 15:29:26 GMT):
@jimthematrix anything in the logs before that ?

muralisr (Tue, 14 Mar 2017 15:29:39 GMT):
(with debug on ?)

jimthematrix (Tue, 14 Mar 2017 15:34:22 GMT):
no other log entries that seem relevant, but i didn't have debug turned on

jimthematrix (Tue, 14 Mar 2017 15:34:45 GMT):
just rebuilt everything and trying again, will let you know if still a problem

C0rWin (Tue, 14 Mar 2017 15:36:50 GMT):
@jimthematrix when did you get this error?

C0rWin (Tue, 14 Mar 2017 15:37:00 GMT):
While querying or instantiating a CC?

jimthematrix (Tue, 14 Mar 2017 15:37:07 GMT):
instantiate cc

C0rWin (Tue, 14 Mar 2017 15:37:31 GMT):
ok, can you please show the output of `docker images | grep fabric`?

jimthematrix (Tue, 14 Mar 2017 15:38:36 GMT):
```hyperledger/fabric-couchdb latest b7eab3772a46 6 minutes ago 1.51 GB hyperledger/fabric-couchdb x86_64-0.7.0-snapshot-6e9229b b7eab3772a46 6 minutes ago 1.51 GB hyperledger/fabric-kafka latest f260e40e4ac1 8 minutes ago 1.3 GB hyperledger/fabric-kafka x86_64-0.7.0-snapshot-6e9229b f260e40e4ac1 8 minutes ago 1.3 GB hyperledger/fabric-zookeeper latest 6329119d15bb 8 minutes ago 1.31 GB hyperledger/fabric-zookeeper x86_64-0.7.0-snapshot-6e9229b 6329119d15bb 8 minutes ago 1.31 GB hyperledger/fabric-testenv latest b969ee1eec5e 8 minutes ago 1.4 GB hyperledger/fabric-testenv x86_64-0.7.0-snapshot-6e9229b b969ee1eec5e 8 minutes ago 1.4 GB hyperledger/fabric-buildenv latest 092111efcfa8 8 minutes ago 1.31 GB hyperledger/fabric-buildenv x86_64-0.7.0-snapshot-6e9229b 092111efcfa8 8 minutes ago 1.31 GB hyperledger/fabric-orderer latest f93ef44ca0ef 8 minutes ago 182 MB hyperledger/fabric-orderer x86_64-0.7.0-snapshot-6e9229b f93ef44ca0ef 8 minutes ago 182 MB hyperledger/fabric-peer latest 94286f4b2319 9 minutes ago 184 MB hyperledger/fabric-peer x86_64-0.7.0-snapshot-6e9229b 94286f4b2319 9 minutes ago 184 MB hyperledger/fabric-javaenv latest a973117e487c 9 minutes ago 1.42 GB hyperledger/fabric-javaenv x86_64-0.7.0-snapshot-6e9229b a973117e487c 9 minutes ago 1.42 GB hyperledger/fabric-ccenv latest d8205e3947ce 11 minutes ago 1.29 GB hyperledger/fabric-ccenv x86_64-0.7.0-snapshot-6e9229b d8205e3947ce 11 minutes ago 1.29 GB hyperledger/fabric-ca latest d074213e7091 2 hours ago 239 MB hyperledger/fabric-ca x86_64-0.7.0-snapshot-3b8932a d074213e7091 2 hours ago 239 MB hyperledger/fabric-baseimage x86_64-0.3.0 f4751a503f02 6 weeks ago 1.27 GB hyperledger/fabric-baseos x86_64-0.3.0 c3a4cf3b3350 6 weeks ago 161 MB ```

C0rWin (Tue, 14 Mar 2017 15:39:46 GMT):
I saw this message recently, but I was trying to run peer on rasberry pi device

C0rWin (Tue, 14 Mar 2017 15:41:36 GMT):
I figured out that while you instantiate a CC it actually build container from scratch

jimthematrix (Tue, 14 Mar 2017 15:41:42 GMT):
here's the error again with debug on: ```2017-03-14 15:37:23.647 UTC [chaincode] launchAndWaitForRegister -> DEBU 38b start container: end2end:v0(networkid:dev,peerid:peer0) 2017-03-14 15:37:23.647 UTC [chaincode] launchAndWaitForRegister -> DEBU 38c start container with args: chaincode -peer.address=peer0:7051 2017-03-14 15:37:23.647 UTC [chaincode] launchAndWaitForRegister -> DEBU 38d start container with env: CORE_CHAINCODE_ID_NAME=end2end:v0 CORE_PEER_TLS_ENABLED=true CORE_CHAINCODE_LOGLEVEL=WARNING CORE_CHAINCODE_LOGFORMAT=%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message} 2017-03-14 15:37:23.647 UTC [container] lockContainer -> DEBU 38e waiting for container(dev-peer0-end2end-v0) lock 2017-03-14 15:37:23.647 UTC [container] lockContainer -> DEBU 38f got container (dev-peer0-end2end-v0) lock 2017-03-14 15:37:23.648 UTC [dockercontroller] Start -> DEBU 390 Cleanup container dev-peer0-end2end-v0 2017-03-14 15:37:23.649 UTC [dockercontroller] stopInternal -> DEBU 391 Stop container dev-peer0-end2end-v0(No such container: dev-peer0-end2end-v0) 2017-03-14 15:37:23.650 UTC [dockercontroller] stopInternal -> DEBU 392 Kill container dev-peer0-end2end-v0 (No such container: dev-peer0-end2end-v0) 2017-03-14 15:37:23.651 UTC [dockercontroller] stopInternal -> DEBU 393 Remove container dev-peer0-end2end-v0 (No such container: dev-peer0-end2end-v0) 2017-03-14 15:37:23.651 UTC [dockercontroller] Start -> DEBU 394 Start container dev-peer0-end2end-v0 2017-03-14 15:37:23.652 UTC [dockercontroller] getDockerHostConfig -> DEBU 395 docker container hostconfig NetworkMode: fixtures_default 2017-03-14 15:37:23.655 UTC [dockercontroller] createContainer -> DEBU 396 Create container: dev-peer0-end2end-v0 2017-03-14 15:37:23.671 UTC [dockercontroller] Start -> DEBU 397 start-could not find image ...attempt to recreate image no such image 2017-03-14 15:37:23.675 UTC [chaincode-platform] generateDockerfile -> DEBU 398 FROM hyperledger/fabric-baseos:x86_64-0.3.0 ADD binpackage.tar /usr/local/bin LABEL org.hyperledger.fabric.chaincode.id.name="end2end" \ org.hyperledger.fabric.chaincode.id.version="v0" \ org.hyperledger.fabric.chaincode.type="GOLANG" \ org.hyperledger.fabric.version="0.7.0-snapshot-6e9229b" \ org.hyperledger.fabric.base.version="0.3.0" ENV CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/peer.crt COPY peer.crt /etc/hyperledger/fabric/peer.crt ```

C0rWin (Tue, 14 Mar 2017 15:42:03 GMT):
and uses ```buf = append(buf, "FROM "+cutil.GetDockerfileFromConfig("chaincode.golang.runtime"))```

C0rWin (Tue, 14 Mar 2017 15:42:15 GMT):
to reference to the platform specific base image

jimthematrix (Tue, 14 Mar 2017 15:42:26 GMT):
```2017-03-14 15:37:31.992 UTC [chaincode-platform] func1 -> ERRO 39a Failed to generate platform-specific docker build: Error returned from build: 2 "# github.com/hyperledger/fabric/vendor/google.golang.org/grpc opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:69: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:85: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:115: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:127: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:185: cc.dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:257: undefined: transport.ErrStreamDrain opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:271: undefined: transport.ErrStreamDrain opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:234: cannot use func literal (type func("github.com/hyperledger/fabric/vendor/golang.org/x/net/context".Context, string) (net.Conn, error)) as type func(string, time.Duration) (net.Conn, error) in assignment opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:242: o.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:253: o.copts.FailOnNonTempDialError undefined (type transport.ConnectOptions has no field or method FailOnNonTempDialError) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:253: too many errors " 2017-03-14 15:37:31.992 UTC [dockercontroller] deployImage -> ERRO 39b Error building images: Failed to generate platform-specific docker build: Error returned from build: 2 "# github.com/hyperledger/fabric/vendor/google.golang.org/grpc opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:69: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:85: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:115: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:127: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:185: cc.dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:257: undefined: transport.ErrStreamDrain opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:271: undefined: transport.ErrStreamDrain opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:234: cannot use func literal (type func("github.com/hyperledger/fabric/vendor/golang.org/x/net/context".Context, string) (net.Conn, error)) as type func(string, time.Duration) (net.Conn, error) in assignment opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:242: o.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:253: o.copts.FailOnNonTempDialError undefined (type transport.ConnectOptions has no field or method FailOnNonTempDialError) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:253: too many errors " ```

jimthematrix (Tue, 14 Mar 2017 15:42:40 GMT):
```2017-03-14 15:37:31.992 UTC [dockercontroller] deployImage -> ERRO 39c Image Output: ******************** ******************** 2017-03-14 15:37:31.992 UTC [container] unlockContainer -> DEBU 39d container lock deleted(dev-peer0-end2end-v0) 2017-03-14 15:37:31.992 UTC [chaincode] Launch -> ERRO 39e launchAndWaitForRegister failed Error starting container: Failed to generate platform-specific docker build: Error returned from build: 2 "# github.com/hyperledger/fabric/vendor/google.golang.org/grpc opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:69: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:85: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:115: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:127: dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:185: cc.dopts.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:257: undefined: transport.ErrStreamDrain opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/call.go:271: undefined: transport.ErrStreamDrain opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:234: cannot use func literal (type func("github.com/hyperledger/fabric/vendor/golang.org/x/net/context".Context, string) (net.Conn, error)) as type func(string, time.Duration) (net.Conn, error) in assignment opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:242: o.copts.StatsHandler undefined (type transport.ConnectOptions has no field or method StatsHandler) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:253: o.copts.FailOnNonTempDialError undefined (type transport.ConnectOptions has no field or method FailOnNonTempDialError) opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/clientconn.go:253: too many errors " ```

C0rWin (Tue, 14 Mar 2017 15:44:38 GMT):
```FROM hyperledger/fabric-baseos:x86_64-0.3.0 ADD binpackage.tar /usr/local/bin LABEL org.hyperledger.fabric.chaincode.id.name="end2end" \ org.hyperledger.fabric.chaincode.id.version="v0" \ org.hyperledger.fabric.chaincode.type="GOLANG" \ org.hyperledger.fabric.version="0.7.0-snapshot-6e9229b" \ org.hyperledger.fabric.base.version="0.3.0" ENV CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/peer.crt COPY peer.crt /etc/hyperledger/fabric/peer.crt```

C0rWin (Tue, 14 Mar 2017 15:45:12 GMT):
this pretty straightforward dockerfile, also you have hyperledger/fabric-baseos:x86_64-0.3.0 available

C0rWin (Tue, 14 Mar 2017 15:45:38 GMT):
next you show compilation errors during the docker build

C0rWin (Tue, 14 Mar 2017 15:45:54 GMT):
and I'm not 100% sure where it comes from

jimthematrix (Tue, 14 Mar 2017 15:47:56 GMT):
is the `- CORE_NEXT=true` env variable still in effect? i didn't have that in docker-compose but maybe that's needed to get the builder to use the right level of golang?

muralisr (Tue, 14 Mar 2017 15:54:11 GMT):
CORE_NEXT is not used I believe @jimthematrix

muralisr (Tue, 14 Mar 2017 15:54:25 GMT):
does `go build` directly in the chaincode on your host work ?

jimthematrix (Tue, 14 Mar 2017 16:00:08 GMT):
it's my environment, for some reason $GOPATH was null'ed out

muralisr (Tue, 14 Mar 2017 16:17:23 GMT):
whew, alls well that ends well :-)

jimthematrix (Tue, 14 Mar 2017 16:26:53 GMT):
yeah false alarm although it's kind of funny that `make docker` was successful even though first thing it complained about was not being able to find chaincode shim ;-)

lignyxg (Tue, 14 Mar 2017 17:36:11 GMT):
Has joined the channel.

mychewcents (Wed, 15 Mar 2017 12:30:41 GMT):
Has joined the channel.

balashevich (Wed, 15 Mar 2017 12:36:35 GMT):
Has joined the channel.

bkvellanki (Wed, 15 Mar 2017 23:30:32 GMT):
Is there config document that shows how to setup a new Org/Peer starting with MSP

tulioribeiro (Thu, 16 Mar 2017 13:36:05 GMT):
Take a look into fabric/examples/e2e_cli/ I think could be useful for you. : )

divyank (Thu, 16 Mar 2017 14:56:48 GMT):
Chaincode installation fails if there are executable files on the GOPATH: ```Error: Error endorsing chaincode: rpc error: code = 2 desc = Illegal file mode detected for file src/github.com/hyperledger/fabric-sdk-node/node_modules/arr-flatten/package.json: 100744```

divyank (Thu, 16 Mar 2017 14:57:08 GMT):
(This is using the peer CLI)

mastersingh24 (Thu, 16 Mar 2017 17:31:55 GMT):
@divyank - yes - this is terrible. I believe that there is a CR out there which should help with this. In the meantime, there are 2 options: 1) run the CLI from within a Docker container 2) create a special GOPATH for your chaincode project

mastersingh24 (Thu, 16 Mar 2017 17:32:00 GMT):
I've done both

binhn (Thu, 16 Mar 2017 21:45:35 GMT):
@bkvellanki https://github.com/hyperledger/fabric/blob/master/docs/source/configtxgen.rst

bkvellanki (Thu, 16 Mar 2017 21:46:22 GMT):
Thanks @binhn

binhn (Thu, 16 Mar 2017 21:49:08 GMT):
@bkvellanki you might also want to look at the bdd feature https://github.com/hyperledger/fabric/blob/master/bddtests/features/bootstrap.feature and run it then look at the document that it generates, which contains step-by-step to set up bootstrap

bkvellanki (Thu, 16 Mar 2017 21:51:16 GMT):
Ok.. I will do that first

RahulBagaria (Fri, 17 Mar 2017 04:03:02 GMT):
Has joined the channel.

tuand (Fri, 17 Mar 2017 20:44:43 GMT):
I'm getting an error on invoke CC `failed to obtain cds for example_cc.go - transaction not found example_cc.go/mychannel` ?

tuand (Fri, 17 Mar 2017 20:45:02 GMT):
install/instantiate CC worked fine.

tuand (Fri, 17 Mar 2017 20:45:33 GMT):
I'm using the setup from e2e_cli docker-compose , sending proposals to all 4 peers

muralisr (Fri, 17 Mar 2017 20:47:12 GMT):
@tuand that typically means that the instantiate's commit did not go through

muralisr (Fri, 17 Mar 2017 20:47:29 GMT):
or you have not waited enough

tuand (Fri, 17 Mar 2017 20:48:23 GMT):
thanks @muralisr ... I'll put in a sleep(5s) and see what happens

muralisr (Fri, 17 Mar 2017 21:00:34 GMT):
or 10 ;-) till orderer defaults to less than 10secs

jimthematrix (Sat, 18 Mar 2017 16:28:58 GMT):
@tuand are you listening to the events from the instantiate transaction? that'll allow you to know with certainty when its committed

tuand (Sat, 18 Mar 2017 18:06:33 GMT):
i ( well, the code ) has received the event for the instantiate ... I'm getting the error on the subsequent invoke proposal randomly on some subset of the peers I send the proposal to

tuand (Sat, 18 Mar 2017 18:07:17 GMT):
which makes me suspect that the cc container hasn't completely come up yet on some peer

tuand (Sat, 18 Mar 2017 18:08:01 GMT):
I'm working around this for now ... trying to get the rest of the scenario up and running

latitiah (Sat, 18 Mar 2017 21:37:26 GMT):
@tuand: I'm getting the same chaincode error on queries as you see above

latitiah (Sat, 18 Mar 2017 21:37:52 GMT):
I instantiated and waited for a few minutes before the query

latitiah (Sat, 18 Mar 2017 21:40:00 GMT):
So I definitely waited long enough

latitiah (Sat, 18 Mar 2017 21:41:33 GMT):
The log shows that the chaincode was instantiated and I see the container running

tuand (Sat, 18 Mar 2017 21:41:58 GMT):
hi @latitiah ... I think it's because one of the (not anchor) peers did not get the block delivered ... reading through logs now ... more details later

latitiah (Sat, 18 Mar 2017 21:42:17 GMT):
cool! Thx!

latitiah (Sat, 18 Mar 2017 21:55:43 GMT):
Yes, the cc container never starts on the other peer... I'm getting some strange error in the log (itzmine is both the channel and chaincodeID): ``` [lccc] Invoke -> ERRO 005 ChaincodeId: itzmine does not exist on channel: itzmine(err:chaincode not found itzmine) ```

tuand (Sat, 18 Mar 2017 22:18:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wfqn6gPbod6tDiebx) recapping after going through debug logs today ( excuse my wordiness )

tuand (Sat, 18 Mar 2017 22:19:48 GMT):
environment is 2orgs, 2 peers per org, 1 orderer running solo, client is java sdk, same setup as e2e_cli

tuand (Sat, 18 Mar 2017 22:19:48 GMT):
environment is 2orgs, 2 peers per org, 1 orderer running solo, client is java sdk, same setup as e2e_cli, anchor peers are [peer0Org1, peer2Org2]

tuand (Sat, 18 Mar 2017 22:21:45 GMT):
scenario is : use id Org1.admin, install cc on 4 peers, instantiate proposal on 4 peers, instantiate tx to orderer, invoke proposal to 4 peers.

tuand (Sat, 18 Mar 2017 22:23:18 GMT):
on the last step, peer3Org2 ( and *only* that peer ) responds with `Invoke -> ERRO 41d ChaincodeId: example_cc.go does not exist on channel: mychannel(err:chaincode not found example_cc.go)`

tuand (Sat, 18 Mar 2017 22:25:25 GMT):
when I look at the logs for the anchor peers, I see for the instantiate tx :

tuand (Sat, 18 Mar 2017 22:29:06 GMT):
``` [36m2017-03-18 21:16:44.783 UTC [gossip/comm#-1] sendToEndpoint -> DEBU 572 Exiting 2017-03-18 21:16:44.784 UTC [kvledger] indexBlock -> DEBU 573 Indexing block [blockNum=1, blockHash=[]byte{0xa8, 0xec, 0x90, 0xfd, 0xdf, 0x5a, 0x7d, 0xda, 0xb0, 0x7e, 0xa8, 0x35, 0x1f, 0x2d, 0x1c, 0xb, 0x50, 0x88, 0x46, 0x7d, 0x97, 0x7d, 0xb8, 0x80, 0x7c, 0xd8, 0xab, 0xb8, 0xcc, 0x5d, 0xd9, 0xa} txOffsets= txId=4d018fb2783591d87fa87238d3a9e4e4190a8019a26d2b18e07439616bf8d6ce locPointer=offset=70, bytesLength=5495 ] 2017-03-18 21:16:44.784 UTC [kvledger] indexBlock -> DEBU 574 Adding txLoc [fileSuffixNum=0, offset=13752, bytesLength=5495] for tx ID: [4d018fb2783591d87fa87238d3a9e4e4190a8019a26d2b18e07439616bf8d6ce] to index 2017-03-18 21:16:44.784 UTC [kvledger] indexBlock -> DEBU 575 Adding txLoc [fileSuffixNum=0, offset=13752, bytesLength=5495] for tx number:[1] ID: [4d018fb2783591d87fa87238d3a9e4e4190a8019a26d2b18e07439616bf8d6ce] to blockNumTranNum index 2017-03-18 21:16:44.784 UTC [kvledger] updateCheckpoint -> DEBU 576 Broadcasting about update checkpointInfo: latestFileChunkSuffixNum=[0], latestFileChunksize=[21044], isChainEmpty=[false], lastBlockNumber=[1] 2017-03-18 21:16:44.784 UTC [kvledger] Commit -> INFO 577 Channel [mychannel]: Created block [1] with 1 transaction(s) 2017-03-18 21:16:44.784 UTC [kvledger] Commit -> DEBU 578 Channel [mychannel]: Committing block [1] transactions to state database ```

tuand (Sat, 18 Mar 2017 22:30:02 GMT):
and I see on the non-anchor peer1Org1 that it also gets the block and writes it to its ledger

tuand (Sat, 18 Mar 2017 22:31:10 GMT):
*but* the org2 non anchor peer peer3Org2 never gets the block and never writes it to its ledger

tuand (Sat, 18 Mar 2017 22:32:55 GMT):
Also, between the Org2 peers, there's hardly any gossip messages, e.g no learnExistingMembers() calls at all

tuand (Sat, 18 Mar 2017 22:34:12 GMT):
it's probable that I haven't set some config option correctly in my docker-compose but any pointers appreciated

tuand (Sat, 18 Mar 2017 22:34:56 GMT):
docker-compose for peer3Org2 :

tuand (Sat, 18 Mar 2017 22:35:29 GMT):
``` peer3: container_name: peer3 image: hyperledger/fabric-peer environment: - CORE_LOGGING_LEVEL=DEBUG - CORE_NEXT=true - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer3 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_LOCALMSPID=Org2MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/ - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ADDRESS=peer3:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer3:7051 - CORE_PEER_TLS_ENABLED=false - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/key.pem - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/cert.pem - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/ca-cert.pem - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=src_default working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start --peer-defaultchain=false ports: - 8056:7051 - 8058:7053 ```

yacovm (Sat, 18 Mar 2017 23:25:37 GMT):
@tuand what's the value of CORE_PEER_GOSSIP_LEADER_ELECTION in both peers, and what's the value of CORE_PEER_GOSSIP_ORGLEADER in peer2?

yacovm (Sat, 18 Mar 2017 23:27:20 GMT):
also what's org2? You're not using the example/e2e_cli ? orgs start from 0 there

yacovm (Sat, 18 Mar 2017 23:28:31 GMT):
another thing- if the peers are in debug, and you say there is hardly any gossip messages in the orgs- it smells to me like the anchor peer of the org isn't set correctly in the configtx.yaml

tuand (Sun, 19 Mar 2017 00:00:47 GMT):
hi @yacovm ... peer2Org2 CORE_PEER_GOSSIP_ORGLEADER=true ... CORE_PEER_GOSSIP_USERLEADERELECTION(?) is from core.yaml

tuand (Sun, 19 Mar 2017 00:02:43 GMT):

Message Attachments

tuand (Sun, 19 Mar 2017 00:07:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ntpqrikMQ4ggMTvrm) @yacovm I take that back, I'm actually using a copy of the sdk-node e2e-2Orgs setup , had assumed it was the same as e2e-cli

tuand (Sun, 19 Mar 2017 00:10:31 GMT):
back in a bit, familial duties call

tuand (Sun, 19 Mar 2017 02:16:58 GMT):
You are correct @yacovm , the problem was in `configtx.yaml` . I'm running all peers/orderer/fabric-ca in vagrant and sdk-java locally. The port for the Org2 anchor peer was set to the mapped vagrant port instead of the normal peer `7051` port. Gossip msgs are flowing and all peers are updating their ledgers now. happy, happy

DannyWong (Sun, 19 Mar 2017 15:54:58 GMT):
@here anyone trying to deploy v1.0 (Fabric-CA, CA-DB/LDAP, Peers, Orderer, Kafka, Zookeeper) to Docker Swarm?

hycind (Sun, 19 Mar 2017 19:50:55 GMT):
Has joined the channel.

Willson (Mon, 20 Mar 2017 02:02:33 GMT):
Has joined the channel.

GeorgeSamman (Mon, 20 Mar 2017 03:50:41 GMT):
Has joined the channel.

Xiao (Mon, 20 Mar 2017 07:12:21 GMT):
Has joined the channel.

jacksoom (Tue, 21 Mar 2017 08:26:20 GMT):
Has joined the channel.

SyneBlockChainTeam (Tue, 21 Mar 2017 12:37:14 GMT):
"Endorser related Issue" While referring video "V1 Chaincode install and instentiate" from "https://www.youtube.com/watch?v=itn2Ps8sarE", all worked fine but we are facing one issue during the following "query" command: CORE_PEER_ADDRESS=peer0:7051 peer chaincode query -C myc -n mycc -v v0 -c '{"Args":["query ","a"]}' -o orderer:5005 Error: "Error endorsing query: rpc error: code = 2 desc = failed to obtain cds for mycc - transaction not found mycc/myc" Any clue please? Thanks.

muralisr (Tue, 21 Mar 2017 15:17:30 GMT):
@syb

muralisr (Tue, 21 Mar 2017 15:19:49 GMT):
@SyneBlockChainTeam since that video there have been a few changes. The error basically says trasanctions aren't getting committed. Try adding "-o orderer:7050" to the instantiate and invoke commands please

shanlusun (Wed, 22 Mar 2017 01:34:49 GMT):
Has joined the channel.

SyneBlockChainTeam (Wed, 22 Mar 2017 04:29:33 GMT):
@muralisr , we tried adding orderer to instantiate command but we are getting --- Error: Error getting broadcast client: Error connecting to orderer:7051 due to grpc: timed out when dialing

SyneBlockChainTeam (Wed, 22 Mar 2017 04:29:33 GMT):
@muralisr , We are using docker-compose channel.yml file from docs/source folder. Here orderer is configured on 5005 so hence we used CORE_PEER_ADDRESS=peer0:7051 peer chaincode query -C myc -n mycc -v v0 -c '{"Args":["query ","a"]}' -o orderer:5005 for instantiate and invoke as well. We dont get any error during install and instantiate commands. For your reference below are commands we are running - T1 ----------------------------------------------------------------------------------------------------- cd ~/work/src/github.com/hyperledger/fabric/docs/source docker-compose -f docker-compose-channel.yml up T2 - ----------------------------------------------------------------------------------------------------- docker exec -it cli bash peer channel create -c myc -o orderer:5005 CORE_PEER_ADDRESS=peer0:7051 peer channel join -b myc.block ----------------------------------------------------------------------------------------------------- T3 - docker exec -e GOPATH=/opt/gopath -it peer0 bash peer chaincode install -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v v0 ------------------------------------------------------------------------------------------------------ T4 - docker exec -it cli bash CORE_PEER_ADDRESS=peer0:7051 peer chaincode instantiate -C myc -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v v0 -c '{"Args":["init","a","100","b","200"]}' -o orderer:5005

SyneBlockChainTeam (Wed, 22 Mar 2017 04:29:33 GMT):
@muralisr , We are using docker-compose channel.yml file from docs/source folder. Here orderer is configured on 5005 so hence we used CORE_PEER_ADDRESS=peer0:7051 peer chaincode query -C myc -n mycc -v v0 -c '{"Args":["query ","a"]}' -o orderer:5005 for instantiate and invoke as well. We dont get any error during install and instantiate commands. For your reference below are commands we are running - T1 ----------------------------------------------------------------------------------------------------- cd ~/work/src/github.com/hyperledger/fabric/docs/source docker-compose -f docker-compose-channel.yml up T2 - ----------------------------------------------------------------------------------------------------- docker exec -it cli bash peer channel create -c myc -o orderer:5005 CORE_PEER_ADDRESS=peer0:7051 peer channel join -b myc.block ----------------------------------------------------------------------------------------------------- T3 - docker exec -e GOPATH=/opt/gopath -it peer0 bash peer chaincode install -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v v0 ------------------------------------------------------------------------------------------------------ T4 - docker exec -it cli bash CORE_PEER_ADDRESS=peer0:7051 peer chaincode instantiate -C myc -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v v0 -c '{"Args":["init","a","100","b","200"]}' -o orderer:5005 CORE_PEER_ADDRESS=peer0:7051 peer chaincode query -C myc -n mycc -v v0 -c '{"Args":["query ","a"]}' -o orderer:5005 Error: "Error endorsing query: rpc error: code = 2 desc = failed to obtain cds for mycc - transaction not found mycc/myc"

ersudiplama (Wed, 22 Mar 2017 04:58:18 GMT):
Has joined the channel.

mjkong (Wed, 22 Mar 2017 08:26:59 GMT):
Has joined the channel.

muralisr (Wed, 22 Mar 2017 14:07:42 GMT):
@SyneBlockChainTeam in step T4 after the the instantiate, I'd wait for a bit for the commit to take place on peer0. you should see a "Commit" log on peer0

muralisr (Wed, 22 Mar 2017 14:10:44 GMT):
I'm assuming you are using docker-2peer.yml ? id make sure CORE_PEER_GOSSIP_ORGLEADER=true is set

SyneBlockChainTeam (Thu, 23 Mar 2017 06:27:11 GMT):
@muralisr - still we are getting same error - "Error endorsing query: rpc error: code = 2 desc = failed to obtain cds for mycc - transaction not found mycc/myc"

SyneBlockChainTeam (Thu, 23 Mar 2017 06:27:11 GMT):
@muralisr - CORE_PEER_GOSSIP_ORGLEADER=true is already there in docker-compose-channel.yml. We tried using docker-2peer.yml as well. Still we are getting same error - "Error endorsing query: rpc error: code = 2 desc = failed to obtain cds for mycc - transaction not found mycc/myc" 2017-03-23 06:54:19.397 UTC [lccc] Invoke -> ERRO 03a ChaincodeId: mycc does not exist on channel: myc(err:chaincode not found mycc)

SyneBlockChainTeam (Thu, 23 Mar 2017 06:27:11 GMT):
@muralisr - still we are getting same error - "Error endorsing query: rpc error: code = 2 desc = failed to obtain cds for mycc - transaction not found mycc/myc" 2017-03-23 06:54:19.397 UTC [lccc] Invoke -> ERRO 03a ChaincodeId: mycc does not exist on channel: myc(err:chaincode not found mycc)

matanyahu (Thu, 23 Mar 2017 10:55:24 GMT):
Has joined the channel.

muralisr (Thu, 23 Mar 2017 19:56:39 GMT):
@SyneBlockChainTeam I'll try the above steps soon and see what I get

muralisr (Thu, 23 Mar 2017 20:38:08 GMT):
@here https://jira.hyperledger.org/browse/FAB-2859 attempts to address packaging of chaincode to address security and chaincode ownership concerns. please take a look and provide feedback

grapebaba (Fri, 24 Mar 2017 01:58:32 GMT):
hi guys

grapebaba (Fri, 24 Mar 2017 01:59:16 GMT):
i thought could we enhance peer channel join command

grapebaba (Fri, 24 Mar 2017 02:00:09 GMT):
such as peer channel join $channel_name

grapebaba (Fri, 24 Mar 2017 02:01:06 GMT):
first it check if channel exist, if exist just join, if not create channel first

grapebaba (Fri, 24 Mar 2017 02:01:52 GMT):
that will remove channel.tx, channel_name.block files

grapebaba (Fri, 24 Mar 2017 02:11:58 GMT):
hi murali

muralisr (Fri, 24 Mar 2017 02:13:05 GMT):
@grapebaba one might argue in the spirit of being "minimal" interface, a few simple separate commands may be ok ....

muralisr (Fri, 24 Mar 2017 02:13:49 GMT):
better to use SDKs when we can

grapebaba (Fri, 24 Mar 2017 02:16:41 GMT):
ok

grapebaba (Fri, 24 Mar 2017 02:33:25 GMT):
@muralisr if i create a blockchain admin tool, i am not sure responsibility of channel management own by admin tool or by user app

grapebaba (Fri, 24 Mar 2017 02:34:31 GMT):
you said better to use SDKs , I assume it is more like the responsibility of user app

grapebaba (Fri, 24 Mar 2017 02:35:58 GMT):
however my previous thoughts was that a admin user just write a yaml include peers, orgs, orders, channels, and execute one command

grapebaba (Fri, 24 Mar 2017 02:36:19 GMT):
we can create well-defined blockchain network for him

grapebaba (Fri, 24 Mar 2017 02:37:33 GMT):
if using SDK, admin tools seems must provide a UI interface to operate

grapebaba (Fri, 24 Mar 2017 02:38:19 GMT):
however i want a command interface as well

anik (Fri, 24 Mar 2017 05:49:42 GMT):
Has joined the channel.

SyneBlockChainTeam (Fri, 24 Mar 2017 13:49:40 GMT):
@muralisr , we are waiting for your reply...

joe-alewine (Fri, 24 Mar 2017 13:58:44 GMT):
Has joined the channel.

muralisr (Fri, 24 Mar 2017 15:59:21 GMT):
@SyneBlockChainTeam trying now...

muralisr (Fri, 24 Mar 2017 19:45:48 GMT):
@SyneBlockChainTeam the default value in common/configtx/tools/configtx.yaml will have to be changed

muralisr (Fri, 24 Mar 2017 19:45:55 GMT):
```Orderer: &OrdererDefaults # Orderer Type: The orderer implementation to start. # Available types are "solo" and "kafka". OrdererType: solo Addresses: - orderer:5005``

muralisr (Fri, 24 Mar 2017 19:45:55 GMT):
```Orderer: &OrdererDefaults # Orderer Type: The orderer implementation to start. # Available types are "solo" and "kafka". OrdererType: solo Addresses: - orderer:5005```

muralisr (Fri, 24 Mar 2017 19:47:18 GMT):
you'd have to create the peer images to refresh that change ... `make clean;make peer;make peer-docker;make orderer-docker`

muralisr (Fri, 24 Mar 2017 19:48:13 GMT):
the peer was attempting to create a connection to orderer at `127.0.0.1:7050`

Amjadnz (Sat, 25 Mar 2017 11:24:43 GMT):
Has joined the channel.

Amjadnz (Sat, 25 Mar 2017 11:25:14 GMT):
Hi guys - I'm starting with the hyperledger 1.0 stuffs - run in to some problems.

Amjadnz (Sat, 25 Mar 2017 11:25:19 GMT):
Can somebody help me with it.

Amjadnz (Sat, 25 Mar 2017 11:26:10 GMT):
peer0 | panic: Fatal error when setting up MSP from directory /etc/hyperledger/fabric/msp/sampleconfig: err Could not load a valid ca certificate from directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts, err Could not read directory open /etc/hyperledger/fabric/msp/sampleconfig/cacerts: no such file or directory, err /etc/hyperledger/fabric/msp/sampleconfig/cacerts peer1 | panic: Fatal error when setting up MSP from directory /etc/hyperledger/fabric/msp/sampleconfig: err Could not load a valid ca certificate from directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts, err Could not read directory open /etc/hyperledger/fabric/msp/sampleconfig/cacerts: no such file or directory, err /etc/hyperledger/fabric/msp/sampleconfig/cacerts peer2 | panic: Fatal error when setting up MSP from directory /etc/hyperledger/fabric/msp/sampleconfig: err Could not load a valid ca certificate from directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts, err Could not read directory open /etc/hyperledger/fabric/msp/sampleconfig/cacerts: no such file or directory, err /etc/hyperledger/fabric/msp/sampleconfig/cacerts

Amjadnz (Sat, 25 Mar 2017 11:26:35 GMT):
I guess we have a working directory of the GOPATH setup in compose.yaml like below

Amjadnz (Sat, 25 Mar 2017 11:27:09 GMT):
`working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer`

Amjadnz (Sat, 25 Mar 2017 11:27:35 GMT):
i'm using the `docker` version

Amjadnz (Sat, 25 Mar 2017 11:28:28 GMT):
this is my `docker images` output

Amjadnz (Sat, 25 Mar 2017 11:28:32 GMT):
`REPOSITORY TAG IMAGE ID CREATED SIZE sfhackfest22017/fabric-ca x86_64-0.7.0-snapshot-6294c57 e9f3e1aff06c 7 weeks ago 183.6 MB sfhackfest22017/fabric-orderer x86_64-0.7.0-snapshot-c7b3fe0 b04fb9d5e225 7 weeks ago 178.6 MB sfhackfest22017/fabric-peer x86_64-0.7.0-snapshot-c7b3fe0 7d7c9807412d 7 weeks ago 182.5 MB hyperledger/fabric-ccenv latest 05dbf5bc5701 7 weeks ago 1.294 GB hyperledger/fabric-ccenv x86_64-0.7.0-snapshot-c7b3fe0 05dbf5bc5701 7 weeks ago 1.294 GB sfhackfest22017/fabric-ccenv x86_64-0.7.0-snapshot-c7b3fe0 05dbf5bc5701 7 weeks ago 1.294 GB`

Amjadnz (Sat, 25 Mar 2017 11:30:07 GMT):
currently my Go is 1.6

Amjadnz (Sat, 25 Mar 2017 11:30:23 GMT):
I'm upgrading the `go 1.8` now on my Mac Book Pro

Amjadnz (Sat, 25 Mar 2017 11:30:42 GMT):
would test and confirm - if any clues to solve this that would be great

Amjadnz (Sat, 25 Mar 2017 11:44:55 GMT):
the same issue appears in the go 1.8 as well after I rebuild

Amjadnz (Sat, 25 Mar 2017 11:47:18 GMT):
```orderer | 2017-03-25 11:37:23.140 UTC [msp] getPemMaterialFromDir -> INFO 006 Reading directory /etc/hyperledger/fabric/msp/sampleconfig/signcerts peer0 | panic: Fatal error when setting up MSP from directory /etc/hyperledger/fabric/msp/sampleconfig: err Could not load a valid ca certificate from directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts, err Could not read directory open /etc/hyperledger/fabric/msp/sampleconfig/cacerts: no such file or directory, err /etc/hyperledger/fabric/msp/sampleconfig/cacerts peer2 | 2017-03-25 11:37:23.763 UTC [msp] getPemMaterialFromDir -> INFO 001 Reading directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts peer1 | panic: Fatal error when setting up MSP from directory /etc/hyperledger/fabric/msp/sampleconfig: err Could not load a valid ca certificate from directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts, err Could not read directory open /etc/hyperledger/fabric/msp/sampleconfig/cacerts: no such file or directory, err /etc/hyperledger/fabric/msp/sampleconfig/cacerts peer0 | orderer | 2017-03-25 11:37:23.140 UTC [msp] getPemMaterialFromDir -> INFO 007 Inspecting file /etc/hyperledger/fabric/msp/sampleconfig/signcerts/peer.pem peer0 | peer1 | orderer | 2017-03-25 11:37:23.140 UTC [msp] getPemMaterialFromDir -> INFO 008 Reading directory /etc/hyperledger/fabric/msp/sampleconfig/admincerts peer1 | peer2 | panic: Fatal error when setting up MSP from directory /etc/hyperledger/fabric/msp/sampleconfig: err Could not load a valid ca certificate from directory /etc/hyperledger/fabric/msp/sampleconfig/cacerts, err Could not read directory open /etc/hyperledger/fabric/msp/sampleconfig/cacerts: no such file or directory, err /etc/hyperledger/fabric/msp/sampleconfig/cacerts orderer | 2017-03-25 11:37:23.141 UTC [msp] getPemMaterialFromDir -> INFO 009 Inspecting file /etc/hyperledger/fabric/msp/sampleconfig/admincerts/admincert.pem orderer | 2017-03-25 11:37:23.141 UTC [msp] getPemMaterialFromDir -> INFO 00a Reading directory /etc/hyperledger/fabric/msp/sampleconfig/keystore orderer | 2017-03-25 11:37:23.141 UTC [msp] getPemMaterialFromDir -> INFO 00b Inspecting file /etc/hyperledger/fabric/msp/sampleconfig/keystore/key.pem peer2 | orderer | 2017-03-25 11:37:23.141 UTC [msp] NewBccspMsp -> INFO 00c Creating BCCSP-based MSP instance peer2 | peer1 | goroutine 1 [running]: orderer | 2017-03-25 11:37:23.142 UTC [peer] GetLocalMSP -> INFO 00d Created new local MSP orderer | 2017-03-25 11:37:23.144 UTC [msp] Setup -> INFO 00e Setting up MSP instance DEFAULT peer0 | goroutine 1 [running]: orderer | 2017-03-25 11:37:23.147 UTC [msp] newIdentity -> INFO 00f Creating identity instance for ID &{DEFAULT IDENTITY} orderer | 2017-03-25 11:37:23.147 UTC [msp] newIdentity -> INFO 010 Creating identity instance for ID &{DEFAULT IDENTITY} orderer | 2017-03-25 11:37:23.148 UTC [msp] newIdentity -> INFO 011 Creating identity instance for ID &{DEFAULT IDENTITY} peer2 | goroutine 1 [running]: peer0 | panic(0xb4cb80, 0xc4201d39c0) peer1 | panic(0xb4cb80, 0xc4201d39c0) peer2 | panic(0xb4cb80, 0xc4201cd9b0) peer0 | /opt/go/src/runtime/panic.go:500 +0x1a1 peer1 | /opt/go/src/runtime/panic.go:500 +0x1a1 peer0 | main.main() peer0 | /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:108 +0x627 peer2 | /opt/go/src/runtime/panic.go:500 +0x1a1 peer1 | main.main() peer2 | main.main() peer2 | /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:108 +0x627 peer1 | /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:108 +0x627 ccenv_snapshot exited with code 0 peer1 exited with code 2 peer0 exited with code 2 peer2 exited with code 2 ```

mastersingh24 (Sun, 26 Mar 2017 14:56:00 GMT):
@Amjadnz - what exactly are you running? you might just want to pull down the 1.0.0-alpha images from Dockerhub and run with those in your compose file

SyneBlockChainTeam (Mon, 27 Mar 2017 05:58:56 GMT):
@muralisr - We followed same steps mentioned by you but getting same error for query - "Error: Error endorsing query: rpc error: code = 2 desc = failed to obtain cds for mycc - transaction not found mycc/myc"

Amjadnz (Mon, 27 Mar 2017 06:32:09 GMT):
@mastersingh24 I got this working after I removed the hackfest and re-downloaded it

Amjadnz (Mon, 27 Mar 2017 06:33:55 GMT):
Thanks and I have another question for you on fabric channel. If you are spare some time there - I would appreciate that. This is regarding CouchDB and Fabric (for state database). Parameters set in docker.yaml file are not getting set in PEER\core.yaml file - I guess so I always get the "connection refused - no route to host issue".

muralisr (Mon, 27 Mar 2017 12:14:48 GMT):
@SyneBlockChainTeam I did get it working after I made the changes outlined above... it is important to make sure the the images are bulit afresh after the address change `orderer:5005`

SyneBlockChainTeam (Mon, 27 Mar 2017 14:07:57 GMT):
@muralisr It would be great if you can send us entire steps you followed... We tried same steps but we are getting error...

muralisr (Mon, 27 Mar 2017 16:05:00 GMT):
@SyneBlockChainTeam I just followed the steps you listed

muralisr (Mon, 27 Mar 2017 16:05:29 GMT):
and added the extra change to configtx.yaml along with the cleanup

muralisr (Mon, 27 Mar 2017 16:06:19 GMT):
one thing after the instantiate you should wait for a "Commit" message to show up in the peer logs before you try the query

muralisr (Mon, 27 Mar 2017 16:06:37 GMT):
if no "Commit" message shows up then we have a problem

muralisr (Mon, 27 Mar 2017 16:45:16 GMT):
@SyneBlockChainTeam let me try again to make sure I didn't add anything inadvertantly

muralisr (Mon, 27 Mar 2017 17:26:22 GMT):
@SyneBlockChainTeam generating images with `orderer:5005` in configtx.yaml, steps you outlined worked without change

dave.enyeart (Mon, 27 Mar 2017 17:29:48 GMT):
@Amjadnz Docker compose yaml properties will not update core.yaml directly. Rather it overrides core.yaml properties at runtime. For a docker compose yaml that is known to work with couchdb, see: https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/docker-compose.yaml

dave.enyeart (Mon, 27 Mar 2017 17:30:19 GMT):
You would need to uncomment that couchdb properties as described in the instructions for Using CouchDB: https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/end-to-end.rst

dave.enyeart (Mon, 27 Mar 2017 17:40:14 GMT):
@garisingh I read your answer at: http://stackoverflow.com/questions/43017514/roles-readwrite-in-hyperledger/43030473#43030473: >Additionally, if you don't have access to write to a channel, you cannot send endorsement proposals to peers for chaincode which is deployed on channel you don't have write permission for. Seems that read permission should allow you to call chaincode read-only functions (e.g. queries). I guess this would be a good reason to re-introduce Query at chaincode level in the future (@muralisr)? Then if you have read-only permissions you could call chaincode Query functions but not Invoke. Or would you rather expose the query functions outside of chaincode in the future? (i missed this channel permissions aspect last time we discussed). Will the ACL enhancements under discussion allow us lockdown such queries outside of chaincode in the future?

dave.enyeart (Mon, 27 Mar 2017 17:40:14 GMT):
@mastersingh24 I read your answer at: http://stackoverflow.com/questions/43017514/roles-readwrite-in-hyperledger/43030473#43030473: >Additionally, if you don't have access to write to a channel, you cannot send endorsement proposals to peers for chaincode which is deployed on channel you don't have write permission for. Seems that read permission should allow you to call chaincode read-only functions (e.g. queries). I guess this would be a good reason to re-introduce Query at chaincode level in the future ( @muralisr )? Then if you have read-only permissions you could call chaincode Query functions but not Invoke. Or would you rather expose the query functions outside of chaincode in the future? (i missed this channel permissions aspect last time we discussed). Will the ACL enhancements under discussion allow us lockdown such queries outside of chaincode in the future?

joe-alewine (Mon, 27 Mar 2017 19:42:25 GMT):
I asked this in #fabric-questions but it's also a relevant question for here. How is it determined how a transaction (as submitted by the client through their SDK) falls under the specific endorsement policy that governs it? Does the client/SDK decide which endorsement policy is relevant? Does a specific endorser (or group of endorsers) decide? Is there a smart contract that determines it?

muralisr (Tue, 28 Mar 2017 13:38:50 GMT):
@dave.enyeart (sorry for the late reply...a bit sick and not able to think clearly is my excuse :-) ) ... we could reintroduce the notion of "query" where change to the chaincode state won't be allowed and that way we can just require a weak "read" permission on the caller. However, for now - IIUC - the "read" capability refers to queries that don't involve chaincode such as those provided by the "block" query functions in QSCC

dave.enyeart (Tue, 28 Mar 2017 13:46:43 GMT):
ok, so eventually I think we'll either want to expose state db queries to QSCC, or re-introduce Query on chaincode for these queries (and have an associated role for Query vs Invoke). We were going down the path of the former before people raised concerns and we therefore pulled that out of v1. Can somebody explain the vision for ACL? Would ACL be applied to things like QSCC queries? That will likely help us make a decision (most likely post v1). @muralisr @mastersingh24

mgk (Wed, 29 Mar 2017 09:26:46 GMT):
Hi @dave.enyeart can you explain what was pulled out of V1? Are you saying that Direct DB Application Queries (via the SDK) have been removed or is it something else?

SyneBlockChainTeam (Wed, 29 Mar 2017 10:21:36 GMT):
@muralisr - Its working now....thank you for your help. You owe a treat from us...:-)

dave.enyeart (Wed, 29 Mar 2017 11:15:21 GMT):
@mgk Currently you have to do queries such as GetStateByRange and GetQueryResult from within chaincode. There was discussion of exposing these types of queries directly to SDK via Query System Chaincode (QSCC). However there was some concern over access control, which future ACL enhancements may resolve.

passkit (Thu, 30 Mar 2017 12:06:46 GMT):
Has joined the channel.

passkit (Thu, 30 Mar 2017 12:06:50 GMT):
`Failed to generate platform-specific docker build: Error creating container: no such image`. Does Docker and the cc image need to be available on the Peer? I tried with the Docker image pulled down to the machine hosting the peer, but get the same message when trying to instantiate cc

raj (Thu, 30 Mar 2017 12:41:58 GMT):
Has joined the channel.

passkit (Thu, 30 Mar 2017 13:49:03 GMT):
Found that the missing image was the fabric-ccenv for the latest snapshot (not yet on docker hub). Required additional logging to dump variables to be able to determine which image was unavailable. So may help others if the logs (and documentation) could be more specific.

openspylin (Sun, 02 Apr 2017 12:41:11 GMT):
Has joined the channel.

aybekbuka (Sun, 02 Apr 2017 15:13:58 GMT):
Has joined the channel.

debrajo (Mon, 03 Apr 2017 12:52:22 GMT):
Has joined the channel.

SyneBlockChainTeam (Tue, 04 Apr 2017 10:18:55 GMT):
Can we modify configtx.yml file to add more organizations in it? If anyone could provide us with example code would be great. Thanks in advance.

yacovm (Tue, 04 Apr 2017 12:11:09 GMT):
@muralisr @binhn Can you take a look at https://gerrit.hyperledger.org/r/#/c/7647/ ?

Ratnakar (Tue, 04 Apr 2017 18:34:39 GMT):
@SyneBlockChainTeam There is an example here https://github.com/hyperledger/fabric/tree/master/examples/e2e_cli/ you can refer the one here https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/configtx.yaml For more details, there is a doc here https://github.com/hyperledger/fabric/blob/master/docs/source/configtxgen.rst

SyneBlockChainTeam (Wed, 05 Apr 2017 04:23:47 GMT):
@Ratnakar - Thank you :-)

SyneBlockChainTeam (Wed, 05 Apr 2017 12:29:45 GMT):
To explore Ordering service (fabric v1.0), please could you suggest example to follow. Thanks.

SyneBlockChainTeam (Wed, 05 Apr 2017 12:31:38 GMT):
@Ratnakar, @muralisr : To explore Ordering service (fabric v1.0), please could you suggest example to follow. Thanks.

AmberZhang (Thu, 06 Apr 2017 07:15:27 GMT):
Has joined the channel.

lizhih (Thu, 06 Apr 2017 09:47:22 GMT):
Has joined the channel.

zemtsov (Thu, 06 Apr 2017 19:34:39 GMT):
Has joined the channel.

scottz (Thu, 06 Apr 2017 20:23:13 GMT):
Has joined the channel.

scottz (Thu, 06 Apr 2017 20:56:48 GMT):
Hi. Where could someone go to find an overview of Events, for a user to learn what and how they work in hyperledger-fabric, with examples? If someone wanted to hook up a monitor process/tool to register for all events to count and summarize them by category, could they do it? What is the interface? etc...

muralisr (Thu, 06 Apr 2017 23:38:43 GMT):
@scottz one place would be examples/event/block-listener (it has a read me as well).. for using events from SDK please check in fabric-sdk-node

scottz (Fri, 07 Apr 2017 00:24:46 GMT):
thanks, but that directory has an example from v0.6, using pbft, discover-root-node, etc. When's the last time you used it? An operations user could really use a better readme and example to desribe more about events- Any objections if I create a jira for improving that readme and maybe adding a section in the new v1.0 documentation pages?

muralisr (Fri, 07 Apr 2017 02:28:38 GMT):
@scottz please do. the block-listener.go was updated for 1.0 but you are right... the README needs to be updated

steigensonne (Fri, 07 Apr 2017 07:39:49 GMT):
I have a quick question on "Channel". How many channel can I create? Is it ok to create 10,000 channel? How many channels can I create? Is there any limitation or restriction? Thanks.

mychewcents (Fri, 07 Apr 2017 07:41:28 GMT):
Has left the channel.

steigensonne (Fri, 07 Apr 2017 07:51:47 GMT):
I have a question on performance of Fabric such as TPS. Can I have any data or information on the performance of Fabric TPS when the Fabric is applied to the actual business models like supply chain, order management?

scottz (Fri, 07 Apr 2017 13:24:12 GMT):
@steigensonne There is no theoretical limit that I am aware of, but of course there will be practical limits based on your hardware and configuration. The size and complexity of your business logic in your chaincode and policies, database and world state, and participants in the channel, will all impact the TPS numbers.

SyneBlockChainTeam (Fri, 07 Apr 2017 14:08:26 GMT):
@muralisr: We are referring instructions given in github.com/hyperledger/fabric/examples/e2e_cli/end-to-end.rst file, but getting following error: root@7899e896ea03:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel create -o orderer0:7050 -c mychannel -f crypto/orderer/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/orderer/localMspConfig/cacerts/ordererOrg0.pem 2017-04-07 14:03:14.106 UTC [logging] InitFromViper -> DEBU 001 Setting default logging level to DEBUG for command 'channel' 2017-04-07 14:03:14.106 UTC [msp] GetLocalMSP -> DEBU 002 Returning existing local MSP 2017-04-07 14:03:14.106 UTC [msp] GetDefaultSigningIdentity -> DEBU 003 Obtaining default signing identity Error connecting: rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure Error: rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure Usage: peer channel create [flags] Global Flags: -b, --blockpath string Path to file containing genesis block --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint -c, --chain string In case of a newChain command, the chain ID to create. -f, --file string Configuration transaction file generated by a tool such as configtxgen for submitting to orderer --logging-level string Default logging level and overrides, see core.yaml for full syntax -o, --orderer string Ordering service endpoint --test.coverprofile string Done (default "coverage.cov") --tls Use TLS when communicating with the orderer endpoint -v, --version Display current version of fabric peer server Please suggest if we are missing something... Thanks

muralisr (Fri, 07 Apr 2017 15:31:17 GMT):
@SyneBlockChainTeam can do `docker ps` and make sure `orderer` container is running ?

jimthematrix (Sat, 08 Apr 2017 19:35:31 GMT):
@binhn @muralisr question on events. so I'm working on adding signature check to event registration (https://jira.hyperledger.org/browse/FAB-1738), as discussed with @adc and @aso on Monday, since at the moment the registration is channel-agnostic, will need to use local MSP to validate Creator and verify signature on the Peer side.

jimthematrix (Sat, 08 Apr 2017 19:35:31 GMT):
@binhn @muralisr @mastersingh24 question on events. so I'm working on adding signature check to event registration (https://jira.hyperledger.org/browse/FAB-1738), as discussed with @adc and @aso on Monday, since at the moment the registration is channel-agnostic, will need to use local MSP to validate Creator and verify signature on the Peer side.

jimthematrix (Sat, 08 Apr 2017 19:37:26 GMT):
but my question is this: if we are doing the above then it means an app can only register with peers in their own org. this can be a problem. because it was nice before to be able to monitor events on all the participating peers in the channel to be ensured that the transaction has been successfully committed in all peers, such that the app can now safely send the next transaction that requires a previous transaction to have been committed

jimthematrix (Sat, 08 Apr 2017 19:37:46 GMT):
if we are doing local MSP based checks during registration, the above won't be possible any longer.

jimthematrix (Sat, 08 Apr 2017 19:38:39 GMT):
as a result, an application can not be sure if it's OK to send a transaction that depends on the previous transaction to have been committed in all endorsing peers

jimthematrix (Sat, 08 Apr 2017 19:38:48 GMT):
any thoughts?

jimthematrix (Sat, 08 Apr 2017 19:41:30 GMT):
one idea is to require channel ID on the registration, so the peer can use channel MSPs to validate Creator, that'll allow the app to monitor on all peers on a per channel basis. but it'll be more work to support per-channel eventing. it can be done but just more than what we originally discussed for v1.0 scope

binhn (Sat, 08 Apr 2017 20:15:36 GMT):
@jimthematrix I would reason this way: Since a peer knows the channels that it has joined, the verification of event registration signature on the peer side should be against all channel MSPs. A bit more work than local MSP, but it would help resolve the problem @adc @aso thoughts?

jimthematrix (Sat, 08 Apr 2017 20:16:57 GMT):
hmm interesting, logically the idea is sound

troyronda (Sat, 08 Apr 2017 21:29:36 GMT):
@binhn @jimthematrix - shouldn't assume that an app can only register with peers in their own org.

binhn (Sun, 09 Apr 2017 02:48:22 GMT):
@troyronda right, so if an app registers with an ID belong some other MSP than the peer local MSP, the peer would have to look for the channels that the ID belongs to and only delivers events from those channels. I think that's safe.

jimthematrix (Sun, 09 Apr 2017 13:29:17 GMT):
@troyronda definitely agree, that's why I brought this up here for discussion. @binhn @adc @aso unless there are objections I'll start modifying my CR to work in that direction

yacovm (Sun, 09 Apr 2017 13:30:32 GMT):
Once channel reconfigurations are implemented, though- an org could be evicted from the channel, and if no checks will be made in the event-hub server - a security hole will be created.

jimthematrix (Sun, 09 Apr 2017 13:30:33 GMT):
also @yacovm brought up a different point regarding config changes

jimthematrix (Sun, 09 Apr 2017 13:30:42 GMT):
;-)

yacovm (Sun, 09 Apr 2017 13:30:43 GMT):
I read your mind, Jim ;)

jimthematrix (Sun, 09 Apr 2017 13:31:28 GMT):
:handshake:

jimthematrix (Sun, 09 Apr 2017 13:32:31 GMT):
I'd like to get the initial registration security in first, and use a separate CR to handle config changes where an existing org has been evicted from the channel

jimthematrix (Sun, 09 Apr 2017 13:32:31 GMT):
I'd like to get the initial registration security in first, and use a separate CR to handle config changes where an existing org gets evicted from the channel

jimthematrix (Sun, 09 Apr 2017 13:32:52 GMT):
note that at the moment the SDKs still don't have config change support

jimthematrix (Sun, 09 Apr 2017 13:33:29 GMT):
not sure how robust the backend support for config changes are right now, but I believe that's a v1.0 item for the next sprint correct?

yacovm (Sun, 09 Apr 2017 13:39:04 GMT):
From what I know- there is no code that makes a block fetched from the ordering service to reach CSCC.

binhn (Sun, 09 Apr 2017 13:57:10 GMT):
@yacovm Artem is working on that as he and I discussed this last week @C0rWin

yacovm (Sun, 09 Apr 2017 13:57:22 GMT):
ah cool

binhn (Sun, 09 Apr 2017 13:57:44 GMT):
@jimthematrix we need FAB-1678 to complete the backend handling of config update

C0rWin (Sun, 09 Apr 2017 13:58:36 GMT):
Just to confirm @binhn message, started to work it, still WIP as was on travel this weekend

C0rWin (Sun, 09 Apr 2017 13:59:15 GMT):
Will provide CR to make missing connection for CSCC part for config update

binhn (Sun, 09 Apr 2017 13:59:39 GMT):
@C0rWin :thumbsup:

yacovm (Sun, 09 Apr 2017 14:02:50 GMT):
So - if Artem is doing it, then IMO it would be needed to extend the signature of the event helper https://github.com/hyperledger/fabric/blob/master/events/producer/eventhelper.go#L35 with a boolean that says whether this block is a config block or not. If it is- then all active subscriptions to the event hub would be needed to be re-validated because an org might be evicted from the channel.

SyneBlockChainTeam (Mon, 10 Apr 2017 10:14:46 GMT):
@muralisr - We are trying to execute e2e_cli example but we are getting error ¨Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing¨ . We have modified docker-compose file which is in e2e_cli folder. Following are the changes - under cli /home/username/work/src/github.com/hyperledger/fabric/examples/:/opt/gopath/src/github.com/hyperledger/fabric/examples/ /home/username/work/src/github.com/hyperledger/fabric/examples/chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go Is this correct modification? Till last week we were able to connect to peer0 and peer1 with same changes. Please help us to resolve this issue. Thank you.

SyneBlockChainTeam (Mon, 10 Apr 2017 12:00:26 GMT):
@Vadim (We are following "end-to-end.rst" file for testing "examples/e2e_cli") On executing command "CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 CORE_PEER_ADDRESS=peer0:7051 peer channel join -b mychannel.block", we are encountering error "Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing". Log: root@76bb83ca70f9:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 CORE_PEER_ADDRESS=peer0:7051 peer channel join -b mychannel.block 2017-04-10 11:54:04.252 UTC [logging] InitFromViper -> DEBU 001 Setting default logging level to DEBUG for command 'channel' 2017-04-10 11:54:04.252 UTC [msp] GetLocalMSP -> DEBU 002 Returning existing local MSP 2017-04-10 11:54:04.252 UTC [msp] GetDefaultSigningIdentity -> DEBU 003 Obtaining default signing identity 2017-04-10 11:54:07.254 UTC [logging] GetModuleLevel -> DEBU 004 Module 'error' logger enabled for log level: DEBUG Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Usage: peer channel join [flags] Global Flags: -b, --blockpath string Path to file containing genesis block --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint -c, --chain string In case of a newChain command, the chain ID to create. -f, --file string Configuration transaction file generated by a tool such as configtxgen for submitting to orderer --logging-level string Default logging level and overrides, see core.yaml for full syntax -o, --orderer string Ordering service endpoint --test.coverprofile string Done (default "coverage.cov") --tls Use TLS when communicating with the orderer endpoint -v, --version Display current version of fabric peer server Looking forward for your help. Kind Regards

Vadim (Mon, 10 Apr 2017 12:00:26 GMT):
Has joined the channel.

Senthil1 (Mon, 10 Apr 2017 17:15:06 GMT):
Has joined the channel.

jimthematrix (Tue, 11 Apr 2017 02:50:25 GMT):
@binhn @adc @aso not sure if you guys have seen the discussions b/w @yacovm and myself in https://gerrit.hyperledger.org/r/#/c/7905/ (still WIP), but Yacov pointed out a security hole in the current approach which I agree: using all channels to check for identity-based permission does not work well when the registration request is made to a peer in a different org

jimthematrix (Tue, 11 Apr 2017 02:53:47 GMT):
we can be certain that an app has rights to all channels when it attempts to listen on a peer in its own org. But a peer in a different org may have channels that the requesting app is not part of. yet as long as the requesting app is part of one of the channels, the registration is allowed and as a result blocks from all channels will be sent to the app.

jimthematrix (Tue, 11 Apr 2017 02:55:04 GMT):
hence the security hole, which Yacov pointed out

jimthematrix (Tue, 11 Apr 2017 02:58:06 GMT):
I had thought that channel-specific eventing can be done separately from the registration security. but looks like that's not possible due to the above

jimthematrix (Tue, 11 Apr 2017 02:58:31 GMT):
I'll start adding that to 7905

mffrench (Tue, 11 Apr 2017 19:15:44 GMT):
@jimthematrix : that's good to know. reading your comments on gerrit, my understanding is, until channel-specific events impl (post-v1.0), we have to take care on peer functional split across orgs (ie: be sure a peer is installed through orgs for exactly the same channels and final apps) to avoid this kind of sec hole. can you confirm ?

Lin-YiTang (Tue, 11 Apr 2017 21:18:11 GMT):
Has joined the channel.

mastersingh24 (Tue, 11 Apr 2017 23:29:20 GMT):
@jimthematrix - I thought that we were going to go with an approach that the eventhub was locked down to the "localMSP" of the peer?

troyronda (Wed, 12 Apr 2017 00:38:46 GMT):
@mastersingh24 - can't assume that clients are in the same org as the peer.

jimthematrix (Wed, 12 Apr 2017 03:51:20 GMT):
@mastersingh24 see my comments from last Saturday about this: https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=NHdnCLPGq5drQWQBn

jimthematrix (Wed, 12 Apr 2017 03:55:34 GMT):
if that's what we are going with the code is pretty easy (patch 1), but it'll make it difficult for apps to coordinate among endorsers to submit transactions that act on output of previous transaction(s)

jimthematrix (Wed, 12 Apr 2017 13:10:40 GMT):
@aleksandar.likic yes what you said is logically correct but difficult to implement because the peers would have to send transactions in events as opposed to blocks. not that it's impossible but just non-trivial work to support another kind of event payload at this point

muralisr (Wed, 12 Apr 2017 13:22:13 GMT):
@jimthematrix my 2c... all other apis at a peer level, ie across channels (such as via the query scc) allow access on certain conditions

muralisr (Wed, 12 Apr 2017 13:22:49 GMT):
will be good to make sure there isn't another path (via events) that violates that

weeds (Wed, 12 Apr 2017 13:36:06 GMT):
Feel free to join us for the peer scrum- 1-888-426-6840 / 33682113

weeds (Wed, 12 Apr 2017 13:36:22 GMT):
that is starting now and may last for 10 minutes. I will take notes here for what happens in the conversation

weeds (Wed, 12 Apr 2017 13:38:54 GMT):
Ledger- The Jira board updated for ledger, we have good idea of what defects we think need to be addressed

weeds (Wed, 12 Apr 2017 13:39:13 GMT):
I also cleaned up fabric-peer and endorser to help Murali- i cleaned up 40% of those that were outdated and invalid and I assigned to some other components.

weeds (Wed, 12 Apr 2017 13:39:50 GMT):
For fabric-peer/fabric-endorser there is still a lot out of it- i need help to figure out what is 1.0 and 1.1, maybe @binhn could help with that given Murali not able to look at it right now.

weeds (Wed, 12 Apr 2017 13:40:11 GMT):
in ledger- there is less than 10 defects, for endorser for 10, in fabric- peer therre were about 30, but probably should be deferred but need help from Binh

weeds (Wed, 12 Apr 2017 13:41:27 GMT):
since Murali is traveling

weeds (Wed, 12 Apr 2017 13:42:02 GMT):
We would like to really get all coding done by next Friday-- ie finishing out some of the pieces that community thought we need to complete. Ie these are final touches and code was "mostly" done already

weeds (Wed, 12 Apr 2017 13:42:21 GMT):
really primary focus is bugs and quality and stabilizing

weeds (Wed, 12 Apr 2017 13:44:54 GMT):
Murali did indicate that he has to look at the comments from chaincode packaging- but if everyone reviews that once they are addressed... it would help him. Binh commented- the base one Chris is asking for the test on that. part 1 of the 2 parts above that uses a lot of panic, and I'm concerned and I do have a question. Murali indicated he will explain why the panics are ok. I will put the responses there and we can decide next step.

weeds (Wed, 12 Apr 2017 13:45:56 GMT):
Will- I want to figure out what we are thinking about error handling framework- i have 2 changesets out there- 1 functional and 1 documentation. If we want to make that into v1- we need to get that reviewed if everyone is going to use this. Binh really wants to get that in to address serviceability and code hardening that makes the fabric more useable.

weeds (Wed, 12 Apr 2017 13:47:35 GMT):
Will asking that 2 maintainers to look at the change sets - it's on review list in maintainer list 7745 and 7845.

weeds (Wed, 12 Apr 2017 13:48:36 GMT):
Do we have time to adjust our code for error handling? don't we need to catch where we have an error and surround it with this code from Will? yes, the intention is that each developer will look at this as part of development and bring it in - but it can NOT be a breaking change. But serviceability is really important.

weeds (Wed, 12 Apr 2017 13:49:00 GMT):
We should start with the most important and common errors in.

weeds (Wed, 12 Apr 2017 13:51:02 GMT):
Yacov- my 2 changes - the peer is reconnecting to ordering service- or the ordering service- it does a failover. I'm also working on gossip security hardening.

weeds (Wed, 12 Apr 2017 13:51:30 GMT):
Jira has been updated and cleaned up on Sunday/Monday, the backlog has been gone through- there are still a couple of bugs that got opened.

weeds (Wed, 12 Apr 2017 13:52:15 GMT):
Artem- (this is gossip squad with Yacov/Artem)-

weeds (Wed, 12 Apr 2017 13:53:14 GMT):
My primary focus right now is to focus on document for side db-- the gossip part of that- for overall design. That is post 1.0, but we have to at least look at it for now to see if any implications moving forward.

weeds (Wed, 12 Apr 2017 13:53:41 GMT):
Gennedy- I have 3 gerrit changesets waiting - 2 of them are reviewed by Yacov/Artem.

weeds (Wed, 12 Apr 2017 13:53:52 GMT):
1 of them was reviewed by Murali and everything was addressed in comments.

weeds (Wed, 12 Apr 2017 13:54:11 GMT):
This is expiration of the message- Murali said was fine, but it's not what I had in mind, but we can talk about it.

weeds (Wed, 12 Apr 2017 13:54:23 GMT):
Gennedy said I'm waiting for your comments- Murali will do that

weeds (Wed, 12 Apr 2017 13:55:06 GMT):
Orderer squad- most of team not on today, but Jeff did said he is sifting through configgen tool.

weeds (Wed, 12 Apr 2017 13:55:38 GMT):
we are proceeding with the change- we need to coordinate

weeds (Wed, 12 Apr 2017 13:56:17 GMT):
with the community further on this one

weeds (Wed, 12 Apr 2017 13:57:02 GMT):
The orderer config, channels config, and then SDK support for channel config has to be coordinated

weeds (Wed, 12 Apr 2017 13:57:43 GMT):
Gari does support this, but it has to be well coordinated

weeds (Wed, 12 Apr 2017 13:59:01 GMT):
Security- Angelo is devoting energy to access control- Ale/Angelo looking at new tools to understand if system chaincode is invoked by external proposal or something that comes internal to peer itself. this gives us granularity the proper access control for each function.

weeds (Wed, 12 Apr 2017 14:00:20 GMT):
Binh reviewed his changes yesterday- I know you have responded to some, but I've asked Murali to respond to 1 of the questions. Angelo did indicate we have to wait, because there is a change that Ale has to submit. We have to wait, and I need function that tells me if invocation from peer itself especially for sscc- I don't know how to do this otherwise. this system chaincode does not understand who is invoking and that could be a problem. For now, do not merge.

weeds (Wed, 12 Apr 2017 14:00:49 GMT):
Ale- Binh did review the CRs with a couple of comments.. there is a to do so it's been -2ed until addressed.

weeds (Wed, 12 Apr 2017 14:00:52 GMT):
(Ale is out today)

weeds (Wed, 12 Apr 2017 14:02:16 GMT):
For access control- once that is in place- my understanding is that this enforces policies that have been specified. is that right? yes absolutely, it's that but in certain places i just figured out in certain places in code- where we should not enforce any access control if a certain code is coming from peer itself- so if peer invoking system chaincode to be able to execute certain function.. this is what the hold up is.

weeds (Wed, 12 Apr 2017 14:02:42 GMT):
What is impact to other areas? since specification of the policies is in place- your work would not require any components to react- the policies that are already in place are the only ones that we need, that's correct

weeds (Wed, 12 Apr 2017 14:04:03 GMT):
Matthias- one thing that I found- when you deploy chaincode, what you do first is an install, install version 1, instantiate version 1, install version 2 and upgrade to version 2- but what the upgrade command does is that it checks whether the chaincode that you specify when you upgrade whether the version you supplied is the same as the one instantiated. so i instantiated to version 2 and specify version #2- it won't let me, but I can go back and do an upgrade to version 1- tracking back. that has to be fixed.

weeds (Wed, 12 Apr 2017 14:06:46 GMT):
we do need to think what does it mean if you want to revert back to original cloud- we should discuss this in the channels on what to do here

weeds (Wed, 12 Apr 2017 14:06:56 GMT):
open a JIRA

weeds (Wed, 12 Apr 2017 14:08:19 GMT):
2931- chaincode instantiation- there is multiple options to validate this- we should discuss and settle on one in terms of what we want to implement. If we don't do a policy here- we may have to do additional checks for this function.

weeds (Wed, 12 Apr 2017 14:10:24 GMT):
the other thing is the check that the orderers on genesis block for MSP configuration- we have created JIRA item for Kostas and whether we consider important for feature or bug- the orderers when they receive channel creation- they have to do a check on MSP configuration- that the MSP id maps to the system channel for that particular MSP. That's the orderer's organization. Is that correct? Can't anyone create channels? they might not joined by any peers if the peer disapproves the channel.. only someone in orderer in org create channels? orderer has to decide whether they create the channel- don't we want to bind the MSP id configuration- but of course that is the case what you said- if I approve the channel, i'm not going to ask peers to join the channel-

weeds (Wed, 12 Apr 2017 14:11:07 GMT):
how does this impact the application? as of now- anyone can create the channel- anyone can propose a channel, but this channel is useless unless your partners have joined- so anyone can propose a channel and call the create channel- if we change that design- we need to talk to the maintainers about that

weeds (Wed, 12 Apr 2017 14:12:00 GMT):
Binh- somehow we really need kostas/gari on this call. the channel creation policy on the orderer system channel- Elli- are you saying we have no checks there even though we have that policy? We don't have a check to ensure that MSP that is related to freshly created channel have the same configuration . Let's open a bug and discuss there then.

weeds (Wed, 12 Apr 2017 14:12:06 GMT):
there is a policy for channel creation

weeds (Wed, 12 Apr 2017 14:12:29 GMT):
it's up to the founders of network to decide-yes? yes it's part of the bootstrap

weeds (Wed, 12 Apr 2017 14:12:48 GMT):
it's also part of the series of the configuration crs that we have been talking about that deals with consortium

weeds (Wed, 12 Apr 2017 14:13:43 GMT):
Kostas- there is a question- given that on the orderer there is a channel creation policy- is there a security check on that today? Binh suggesting we should create a defect for that. (this is regardless of recent changes.. also got question from Keith in community on that) I can double check on this and I will create defect for this if it's open to all.

weeds (Wed, 12 Apr 2017 14:13:52 GMT):
Current config tx tool does accept all for now

weeds (Wed, 12 Apr 2017 14:14:06 GMT):
But that is accept all given the MSP list which is zero identity for now

weeds (Wed, 12 Apr 2017 14:14:17 GMT):
as long as we still allow policy based- we are ok

weeds (Wed, 12 Apr 2017 14:14:30 GMT):
Jeff is offering to help on this

weeds (Wed, 12 Apr 2017 14:15:51 GMT):
Elli- i have a question on events- i see you posted CR for event access control- Jim said this is work in progress. ever since i tried to support registration with different org- there is a lot of security issues that we should hash through. having said that- what is your concern?

weeds (Wed, 12 Apr 2017 14:16:48 GMT):
Elli has 2 main comments- so you do some signature checks at event message using an MSP of the chain? one could use some function Angelo has already built that can be done faster/smoother. When peers does a channel- do you want us to help you Jim? yes, that would be ideal.

weeds (Wed, 12 Apr 2017 14:17:08 GMT):
Jim said there is discussion on scope of work, so let's talk on chat after the call on this

weeds (Wed, 12 Apr 2017 14:17:13 GMT):
Jim on SDK side:

weeds (Wed, 12 Apr 2017 14:18:01 GMT):
Node- there are 2 pieces of work going on. Brett working on supporting channel creation policy from SDK so you don't have to rely on configx tool. It also has benefit of full control of all the configs you can do through the api versus generating a lot of config contents as defaults. That's coming along

weeds (Wed, 12 Apr 2017 14:18:45 GMT):
Jim said he's been working on the event piece and it took an interesting turn. in beginning- check with local msp- listner can only register peer from their own org, but then that exposes a pretty serious limitation and i wanted to allow cross org registration, and that may turn out more work than what we want to do with version 1.0 and I need input from the maintainers

weeds (Wed, 12 Apr 2017 14:19:55 GMT):
Rick- for Java- there are 2 things I want to point out. I have a work item that is initaiated to do the read/write set- i've started to work on that.. i'm getting to the part where i'm supposed to see read/write set and I can't figure out what is going on there is fab26789 (number?). I can't introduce this if we don't do this in the event hub. I need a decision on that.

weeds (Wed, 12 Apr 2017 14:20:10 GMT):
someone in community is really pressing hard on that- 2679 is the number

weeds (Wed, 12 Apr 2017 14:20:29 GMT):
this is one that was assigned to Will- but clayton/him felt this was not a requirement and we addressed in a different way. That's why this was put on 1.1

weeds (Wed, 12 Apr 2017 14:20:39 GMT):
We might want to circle back to the person in the community on this.

weeds (Wed, 12 Apr 2017 14:20:53 GMT):
they felt they needed this to be there, but if there is a workaround we need to discuss what that was suggested.

weeds (Wed, 12 Apr 2017 14:21:19 GMT):
they want read/write set as part of the event was the original request, but at least some point in discussion, we thought they should try the return result instead- they felt this was more appropriate and not relying on read/write set.

weeds (Wed, 12 Apr 2017 14:22:09 GMT):
because of concern on performance and network impact- Gari had at one point suggested to have 2 different kind of events. the client can register knowing what asking for- one would be event including everything and one that we currently have

weeds (Wed, 12 Apr 2017 14:23:40 GMT):
ok- so I'm going to mark it 1.1 then.

weeds (Wed, 12 Apr 2017 14:25:04 GMT):
Rick just got the latest fabric server code- and I'm sending stuff to orderer and I'm not seeing any errors- but I'm not seeing events come back- this was passing, and now they are failing- something got introduced that is a breaking change. we need to investigate this...

weeds (Wed, 12 Apr 2017 14:26:37 GMT):
security team scrubbed defect backlog and JIRa boards completed

weeds (Wed, 12 Apr 2017 14:26:45 GMT):
Rick feels he completed this as well on defect backlog and JIRa boards

weeds (Wed, 12 Apr 2017 14:27:34 GMT):
Scrum ended

troyronda (Wed, 12 Apr 2017 15:12:18 GMT):
@jimthematrix @aleksandar.likic - there should be additional restrictions so that the client might only know that *their* transaction *id* has been committed and not see the block itself - they should be able to do this against peers in the channel. it can be none of the client's business what is in blocks.

troyronda (Wed, 12 Apr 2017 15:12:18 GMT):
@jimthematrix @aleksandar.likic - there should be additional restrictions so that the client might only know that *their* transaction *id* has been committed and not see the block itself - they should be able to do this against peers in the channel (beyond their own org). it can be none of the client's business what is in blocks.

troyronda (Wed, 12 Apr 2017 15:12:18 GMT):
@jimthematrix @aleksandar.likic - there should be additional restrictions so that the client might only know that *their* transaction *id* has been committed and not see the block itself - they should be able to do this against peers in the channel (beyond their own org). there are situations where it can be none of the client's business what is in blocks.

troyronda (Wed, 12 Apr 2017 15:12:18 GMT):
@jimthematrix @aleksandar.likic - there should be additional restrictions so that the client might only know that *their* transaction *id* has been committed and not see the block itself - they should be able to do this against peers in the channel (beyond their own org). there are situations where it can be none of the client's business what is in blocks but they still want to know the status of *their* transaction.

troyronda (Wed, 12 Apr 2017 15:12:18 GMT):
@jimthematrix @aleksandar.likic - there should be additional restrictions so that the client might only know that *their* transaction *id* has been committed and not see the block itself - they should be able to do this against peers in the channel (beyond their own org). there are situations where it can be none of the client's business what is in blocks but they still want to be notified of the *status* of *their* transaction.

dbshah (Wed, 12 Apr 2017 15:46:16 GMT):
Has joined the channel.

binhn (Wed, 12 Apr 2017 17:39:26 GMT):
@troyronda @jimthematrix @aleksandar.likic that all makes sense and a complex thing to tackle. Currently we are looking at a very simple solution for 1.0 so that we can address quickly and provide a useful infrastructure for putting in the detail later on (post 1.0). The key restriction at this point is that the event listener must be in the same organization (MSP) as the peer that it is subscribing with. This allows delivering events in a secured way.

mastersingh24 (Wed, 12 Apr 2017 19:33:24 GMT):
we really are not set up to do per client events

mastersingh24 (Wed, 12 Apr 2017 19:33:59 GMT):
we need to think long and hard about this

mastersingh24 (Wed, 12 Apr 2017 19:34:56 GMT):
to date, we have been fairly strong in terms of not making event hub into a total pub/sub engine based on all kinds of criteria

troyronda (Wed, 12 Apr 2017 20:55:34 GMT):
@mastersingh24 - knowing about the status of a transaction is rather more basic than a total pub/sub engine

troyronda (Wed, 12 Apr 2017 20:55:34 GMT):
@mastersingh24 - being notified about the status of a transaction at organizations seems rather more basic than a total pub/sub engine

troyronda (Wed, 12 Apr 2017 20:55:34 GMT):
@mastersingh24 - being notified about the status of a transaction at a peer seems rather more basic than a total pub/sub engine

troyronda (Wed, 12 Apr 2017 20:55:34 GMT):
@mastersingh24 - i hear you :) ... being notified about the status of a transaction at a peer seems rather more basic than a total pub/sub engine

yacovm (Wed, 12 Apr 2017 20:59:53 GMT):
The flow of the event channel is: a client connects, and sends a registration descriptor. You're asking that the peer would know based on that descriptor, to publish a transaction status to the client, while the TxId isn't passed. Currently from what I know- the event infrastructure doesn't even support channels. More work is needed there.

yacovm (Wed, 12 Apr 2017 20:59:53 GMT):
The flow of the event channel is: a client connects, and sends a registration descriptor. The peer sends events when blocks are committed. You're asking that the peer would know based on that descriptor, to publish a transaction status to the client, while the TxId isn't passed. Currently from what I know- the event infrastructure doesn't even support channels. More work is needed there.

troyronda (Thu, 13 Apr 2017 00:18:53 GMT):
Commented on https://jira.hyperledger.org/browse/FAB-2679 - There should be a way to restrict what's being sent back to clients. i.e., so that they only find out that their transaction has been committed. And the SDKs shouldn't be depending on having this amount of information.

troyronda (Thu, 13 Apr 2017 00:18:53 GMT):
Commented on https://jira.hyperledger.org/browse/FAB-2679 - There should be a way to restrict what's being sent back to clients. i.e., so that they only find out that their transaction has been committed. And the SDKs shouldn't be depending on having this amount of information. Confidentiality is important and client should be considered less trusted.

troyronda (Thu, 13 Apr 2017 00:18:53 GMT):
Commented on https://jira.hyperledger.org/browse/FAB-2679 and also created https://jira.hyperledger.org/browse/FAB-3134 - There should be a way to restrict what's being sent back to clients. i.e., so that they only find out that their transaction has been committed. And the SDKs shouldn't be depending on having this amount of information. Confidentiality is important and client should be considered less trusted.

troyronda (Thu, 13 Apr 2017 00:20:32 GMT):
(There wasn't a use case in that ticket)

steigensonne (Thu, 13 Apr 2017 04:41:34 GMT):
I have a question on example of "e2e_cli". When I follow up the "Getting Started", I have a problem --> Error: Error connecting to orderer0:7050 due to grpc: timed out when dialing. I hope anyone could share your wisdom to solve this problem.

muralisr (Thu, 13 Apr 2017 06:25:54 GMT):
@steigensonne this link from @gre

muralisr (Thu, 13 Apr 2017 06:25:54 GMT):
@steigensonne this link from @greg.haskins maybe relevant

muralisr (Thu, 13 Apr 2017 06:26:19 GMT):
https://chat.hyperledger.org/channel/fabric?msg=hKdyTRjCpSCuE2dij

muralisr (Thu, 13 Apr 2017 06:26:41 GMT):
https://chat.hyperledger.org/channel/fabric?msg=RWPLTbbmHHCwjLvEN

muralisr (Thu, 13 Apr 2017 06:28:09 GMT):
there's a whole discussion on it on April, 10

troyronda (Thu, 13 Apr 2017 13:47:55 GMT):
https://jira.hyperledger.org/browse/FAB-3138 - there seems to be an assumption that clients are on a different MSP than peers

troyronda (Thu, 13 Apr 2017 13:47:55 GMT):
https://jira.hyperledger.org/browse/FAB-3138 - there seems to be an assumption that clients are on a different MSP than peers - see earlier discussion on eventHub

troyronda (Thu, 13 Apr 2017 13:47:55 GMT):
https://jira.hyperledger.org/browse/FAB-3138 - there seems to be an assumption that clients are on a different MSP than peers? - see earlier discussion on eventHub

troyronda (Thu, 13 Apr 2017 13:47:55 GMT):
https://jira.hyperledger.org/browse/FAB-3138 - there seems to be an assumption that clients are on a different MSP than peers as the mechanism to prevent clients from joining gossip as peers? ... but see earlier discussion on eventHub

troyronda (Thu, 13 Apr 2017 13:49:11 GMT):
( @binhn @mastersingh24)

gdhh (Thu, 13 Apr 2017 14:22:17 GMT):
Has joined the channel.

mastersingh24 (Thu, 13 Apr 2017 14:42:14 GMT):
@troyronda - Not really. Currently all access is basically channel-scoped by organization (and each organization has their own MSP credentials). We don't differentiate peer organizations from client-only organizations and organizations have read and/or write access to channels (we also don't differentiate peer identities from client identities). While we can add the concept of "roles" (e.g. add an attribute to certificates), without having a central authority who issues these there is really no way to ensure that a peer is really a peer and a client is really a client (i.e. if an org has it's own CA it can issue peer and client certificates as it sees fit). Even with a central issuing authority it would have to be trusted as well but at least there would be one place that is accountable (I guess you could still hold individual CAs accountable as well but it makes it harder to enforce proper issuance). I'll save discussion on options for locking this down more, but suffice it to say we can do things such as create separate endpoints for endorsement, gossip and possible even chaincode, leverage a combination of mutual TLS and/or roles to lock down communication on the gossip channel, etc

troyronda (Thu, 13 Apr 2017 14:45:27 GMT):
So in 1.0 - can a client that was issued a certificate join a gossip channel?

yacovm (Thu, 13 Apr 2017 14:45:41 GMT):
1) Gossip currently supports mutual TLS 2) I think that such discussions are more suitable for the #fabric-crypto channel

yacovm (Thu, 13 Apr 2017 14:45:41 GMT):
1) Gossip currently supports mutual TLS 2) I think that such discussions are more suitable for the #fabric-crypto channel 3) Indeed if we just run the gRPC server that gossip binds to on a different port- the problem can be solved with firewalls

yacovm (Thu, 13 Apr 2017 14:52:44 GMT):
> So in 1.0 - can a client that was issued a certificate join a gossip channel? If you have the peer binary and you just give it a client's credentials (private key + certificate) - the answer would be- if the peer's MSP can validate that certificate , then I'd say yes. Now, if the peer can validate the certificate of a client - that depends on the MSP that is used and also on the certificate. Maybe @elli-androulaki can shed some light on the subject.

yacovm (Thu, 13 Apr 2017 14:58:46 GMT):
Now, if we had mutual TLS then that'd mean that the client (dressed as a peer) would need a valid TLS cert to connect to a peer

mastersingh24 (Thu, 13 Apr 2017 15:00:51 GMT):
[ Yes - this is possible today](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WxBgWQjkHwESKaCs6) @troyronda

troyronda (Thu, 13 Apr 2017 15:01:13 GMT):
and still join eventhub

troyronda (Thu, 13 Apr 2017 15:01:32 GMT):
That's not good though

elli-androulaki (Thu, 13 Apr 2017 16:09:44 GMT):
> So in 1.0 - can a client that was issued a certificate join a gossip channel? Yes!

elli-androulaki (Thu, 13 Apr 2017 16:09:44 GMT):
> So in 1.0 - can a client that was issued a certificate join a gossip channel? Yes, but unless the client belongs to an organization that have access to a channel (read) it is not able to receive messages that are channel-scoped for that channel.

yacovm (Thu, 13 Apr 2017 18:12:51 GMT):
@troyronda can you explain the *confidentiality/security* concern behind taking a client's cert and using it to start a peer? As Elli said- since the client came from the same org as the peer, that _ fake _ peer can only get the information (channel-wise) that he could have gotten as a client, not anything more.

troyronda (Thu, 13 Apr 2017 18:13:15 GMT):
The client isn't authorized to see blocks or RW sets

troyronda (Thu, 13 Apr 2017 18:13:31 GMT):
this absolutely breaks confidentiality

yacovm (Thu, 13 Apr 2017 18:13:57 GMT):
aha

yacovm (Thu, 13 Apr 2017 18:14:07 GMT):
got it

troyronda (Thu, 13 Apr 2017 18:16:33 GMT):
i would imagine there are security concerns as well, with the client able to interrupt the network behavior

troyronda (Thu, 13 Apr 2017 18:17:02 GMT):
(as an attacker who steals the client's certificate as client certs are typically less protected than peer certificates)

troyronda (Thu, 13 Apr 2017 18:17:02 GMT):
(by an attacker who steals the client's certificate, as client certs are typically less protected than peer certificates)

yacovm (Thu, 13 Apr 2017 18:17:22 GMT):
ok

Jay (Fri, 14 Apr 2017 05:14:02 GMT):
Has joined the channel.

elli-androulaki (Fri, 14 Apr 2017 09:29:05 GMT):
So, would the clients still be running a fabric-client? that is, submitting tx-s directly to the blockchain?

elli-androulaki (Fri, 14 Apr 2017 09:30:06 GMT):
If so, one could give clients write access to the chain, but no read access. Then there can be a chaincode that checks the transaction status that the clients can query to check of whether their transaction has been validated/included to the ledger.

elli-androulaki (Fri, 14 Apr 2017 09:30:18 GMT):
However, this would require the clients to poll

simsc (Mon, 17 Apr 2017 13:35:10 GMT):
Here is the call in for the peer scrum (1-888-426-6840 / 33682113)

weeds (Mon, 17 Apr 2017 13:36:26 GMT):
I'm taking notes

weeds (Mon, 17 Apr 2017 13:36:55 GMT):
If you look at defect backlog- on April 6th we were at 273- we are now down to 186. This is really due to "clean up"

weeds (Mon, 17 Apr 2017 13:37:14 GMT):
Thank you to Chris Ferris helping as well beyond the team.

weeds (Mon, 17 Apr 2017 13:38:30 GMT):
STart with gossip- i'm looking at your backlog

weeds (Mon, 17 Apr 2017 13:39:17 GMT):
is your backlog in JIRA is accurate? is this what you are working on? yes

weeds (Mon, 17 Apr 2017 13:39:39 GMT):
the only capability is 1845- gossip message timley experation- and everything is really a defect.

weeds (Mon, 17 Apr 2017 13:40:38 GMT):
we still have 4 or 5 outstanding to get reviewed so we can get reviewed by end of day... so they can be merged potentially based on commetns?

weeds (Mon, 17 Apr 2017 13:41:31 GMT):
3199- is also one that we are working on

weeds (Mon, 17 Apr 2017 13:41:46 GMT):
this is typed bug- is it a bug or is it a feature?

weeds (Mon, 17 Apr 2017 13:41:53 GMT):
this is really a bug

weeds (Mon, 17 Apr 2017 13:42:26 GMT):
Be careful not to misuse bugs- don't use bug type to get feature request in- please follow spirit for what it is intended for.

weeds (Mon, 17 Apr 2017 13:42:37 GMT):
(not directed to gossip squad- but general comment to all)

weeds (Mon, 17 Apr 2017 13:42:49 GMT):
LEDGER

weeds (Mon, 17 Apr 2017 13:43:05 GMT):
Dave Enyeart- are your JIRa boards up to date? Yes,.. everything we are working on in the JIRA board.

weeds (Mon, 17 Apr 2017 13:43:30 GMT):
Any feature we think won't complete? There are some things like tasks for system type testing and logging framework we hven't rolled in-

weeds (Mon, 17 Apr 2017 13:44:15 GMT):
I do need to talk to Murali to see if there is anything on upgrade functionality- we need to do 1 validation, this story is quick if there is anything to do, but I need more information before I know I have to do that work. otherwise, looking good.

weeds (Mon, 17 Apr 2017 13:44:17 GMT):
SDK

weeds (Mon, 17 Apr 2017 13:44:25 GMT):
The boards are up to date.

weeds (Mon, 17 Apr 2017 13:44:55 GMT):
The major work is to finish the channel creation support using JSON- so applications do not have to rely on command line tool. The changeset is being reviewed but does need more work before merging.

weeds (Mon, 17 Apr 2017 13:49:27 GMT):
(sorry blipped- so may have missed a few things)

weeds (Mon, 17 Apr 2017 13:50:03 GMT):
Eventing security, channel creation support and channel update are all needed for nodejs.sdk

weeds (Mon, 17 Apr 2017 13:50:25 GMT):
we have some networking issues for nodejs.sdk

weeds (Mon, 17 Apr 2017 13:50:56 GMT):
channel update support is unknown- we don't think big impact to sdk

weeds (Mon, 17 Apr 2017 13:51:25 GMT):
Jira boards are up to date

weeds (Mon, 17 Apr 2017 13:51:36 GMT):
we are going to rereview the SDK boards to check after this call.

weeds (Mon, 17 Apr 2017 13:52:15 GMT):
Rick says sprint 16 for JAVA sdk is up to date, but feel that he will go into sprint 17 to finish up... so need to validate we tag it in sprint 17 correctly

weeds (Mon, 17 Apr 2017 13:52:26 GMT):
CRYPTO

weeds (Mon, 17 Apr 2017 13:52:47 GMT):
Jira boards are up to date

weeds (Mon, 17 Apr 2017 13:53:40 GMT):
Binh to reach out to Elli

weeds (Mon, 17 Apr 2017 13:54:24 GMT):
The JIRA number at risk that needs to be discussed- 3155 is at risk and has an overlap with 2091.

weeds (Mon, 17 Apr 2017 13:54:37 GMT):
3155 should be moved to feature instead of defect

weeds (Mon, 17 Apr 2017 13:54:48 GMT):
Elli is changing right now to feature

weeds (Mon, 17 Apr 2017 13:55:15 GMT):
Upgrade of chaincode- security work has to be combined with installation security work.

weeds (Mon, 17 Apr 2017 13:56:09 GMT):
Pre- endorsement is also related to the installation/instantiation to ensure consistency of simulation across endorsers

weeds (Mon, 17 Apr 2017 13:56:36 GMT):
all of the work is listed in sprint 16 on jira board

weeds (Mon, 17 Apr 2017 13:56:52 GMT):
ORDERER

weeds (Mon, 17 Apr 2017 13:57:31 GMT):
the JIRA board is up to date and all work is hardening/polishing except 2989- this is added by elli which is interaction between orderer and msp to check with consistency. I will look at this tomorrow and do our best, but may be off by a couple of days

weeds (Mon, 17 Apr 2017 13:57:45 GMT):
right now 2989 is under fabric-crypto right now

weeds (Mon, 17 Apr 2017 13:58:00 GMT):
All the review for consortium- it's a matter of merging the code

weeds (Mon, 17 Apr 2017 13:58:23 GMT):
no blockers

weeds (Mon, 17 Apr 2017 13:58:43 GMT):
FABRIC-CA

weeds (Mon, 17 Apr 2017 13:58:57 GMT):
we have things in review that are progressing, jira boards are up to date...

weeds (Mon, 17 Apr 2017 13:59:05 GMT):
we will contain all in sprint 16 which ends friday

weeds (Mon, 17 Apr 2017 13:59:16 GMT):
We are focused on defect backlog

weeds (Mon, 17 Apr 2017 14:02:09 GMT):
Please make sure things are in the JIRA boards -- they won't get checked in if they are not there as too hard for the maintainers.

weeds (Mon, 17 Apr 2017 14:02:10 GMT):
HSM

weeds (Mon, 17 Apr 2017 14:02:59 GMT):
Vlad has been trying to cleanup the JIRA boards- HSM is feature complete- but he's trying to do testing.. he has checked in 2 big fixes (these may be more than bug fixes for PKCS11)

weeds (Mon, 17 Apr 2017 14:03:48 GMT):
I have not gotten to the end to end HSM end to end running- i'm able to sign things and peers/orderers communicating, I just don't know until i get end to end running to see if there is more to do -- i'm in bringup and until this is completed,... I won't know for sure.

weeds (Mon, 17 Apr 2017 14:04:29 GMT):
what do you think is plan for HSM Java sdk support? I have not had time to look at it at all .. i know how to fix, but need to finish bringup first.

weeds (Mon, 17 Apr 2017 14:05:02 GMT):
JCE does not seem to support the malleability feature- I need to see if we build a custom JCE feature- or recalculate in golang... i just have to look

weeds (Mon, 17 Apr 2017 14:05:46 GMT):
The HSM support for JAva requires some work, but it does not require full implementation for node- it needs clean up of interface so does not require private keys. I've asked someone to help out here.. we'll see if we can do some more work here.

weeds (Mon, 17 Apr 2017 14:06:29 GMT):
Config tx is also needed in Java sdk.

weeds (Mon, 17 Apr 2017 14:07:27 GMT):
for create channel, config tx- it's currently tracking for java sdk- they will have to do cli

weeds (Mon, 17 Apr 2017 14:08:55 GMT):
Ability to config transaction to orderer- we can do that in Java SDK and have sample working and and you have to build the binary protobuf

weeds (Mon, 17 Apr 2017 14:09:29 GMT):
there is ability to use GRPC or they can use node sdk to implement the admin and use java to do the regular user apps.

weeds (Mon, 17 Apr 2017 14:10:25 GMT):
this needs to be discussed on the maintainers channel

weeds (Mon, 17 Apr 2017 14:12:05 GMT):
Binh said ACL related to chaincode is not completed- they have gone through a number of reviews- but I looked at CRs today and there are outstanding questions, a few people are on holiday, but I'm hoping that will be settled early this week.

weeds (Mon, 17 Apr 2017 14:12:36 GMT):
Binh brought up config update- I'd like to be able to complete our work and that means to have some support from the SDK and the BDD available for folks to review and we tee that up.

weeds (Mon, 17 Apr 2017 14:13:38 GMT):
Binh brought up documentation- one document I'm working on with a draft from Murali is related to the chaincode lifecycle and meaning of chaincode and what the chaincode is used for. i need the developers to look at the document. we have so many entries but almost all of them are work in progress- they are 1 to 2 paragraphs and we need to fill that out for this release- this is part of work that we have to continue to do

weeds (Mon, 17 Apr 2017 14:13:47 GMT):
this is all part of the quality of release we have to address

weeds (Mon, 17 Apr 2017 14:14:40 GMT):
WE need to walk through config update with Elli- what Keith brought up- this is the revocation of the certificate- we are now on verge of merging config update and we have to walk through so to be able to clearly communicate this.

weeds (Mon, 17 Apr 2017 14:15:02 GMT):
Keith- we do make one config update to orderer- and the orderer broadcast that to all channels- is that correct?

weeds (Mon, 17 Apr 2017 14:15:05 GMT):
Yes

weeds (Mon, 17 Apr 2017 14:15:16 GMT):
ON receiver side- it knows how to filter out

weeds (Mon, 17 Apr 2017 14:15:40 GMT):
the channel side- the bug artem working on, but eventually config update end up in cscc and call in MSP to update- and then MSP update to validate whether it's validated or not

weeds (Mon, 17 Apr 2017 14:15:58 GMT):
And if each MSP has the variable to keep track of the certificate.

weeds (Mon, 17 Apr 2017 14:16:36 GMT):
Keith- if you have an MSP that is a member of 2 channels- and they know the CRL entry only needs to go on one channel- it's going to end up going on both.

weeds (Mon, 17 Apr 2017 14:17:02 GMT):
again- if there is a revoked entry- a crl with a revoked cert that needs to go onto the list- it may not really gon on all channels associated with that entity.

weeds (Mon, 17 Apr 2017 14:17:41 GMT):
if we do broadcast- a crl list from one participant is going to go onto all channels- where is the control?

weeds (Mon, 17 Apr 2017 14:18:11 GMT):
the certificate revoked A and B- both A and B channels needs to be aware. IT's safe to say a revoked identity related to update needs to go to all channels

weeds (Mon, 17 Apr 2017 14:18:54 GMT):
because otherwise you say this identity does not have channel C- the access policy sits on top of the MSP and is configured independently from the MSP-

weeds (Mon, 17 Apr 2017 14:19:18 GMT):
i suspect there needs to be different design where MSP - if some client has cert revoked needs to sent to subset of channels-

weeds (Mon, 17 Apr 2017 14:20:04 GMT):
Elli- they won't to control where update goes to- or they want to be automated?

weeds (Mon, 17 Apr 2017 14:20:49 GMT):
they want to control where update goes,.. but not their job to automate- ours

weeds (Mon, 17 Apr 2017 14:21:19 GMT):
we could potentially do some optimization on orderer...

weeds (Mon, 17 Apr 2017 14:21:45 GMT):
but this seems post 1.0

weeds (Mon, 17 Apr 2017 14:23:54 GMT):
Will the crl update for every certificate - is it accompanies with MSP ID? I thought MSP ID corresponding with cert is out of band knowledge isn't it? The MSP ID is out of band knowledge that the invoker of the CRL needs to know? yes... it needs to send along with the cert with the update request. I'ts a configuration request associated with that MSP item. and then the orderer take it and validates it against the application administrator policy according to branch,.. and then create config block merging the change with the previous config block and submit all together

weeds (Mon, 17 Apr 2017 14:25:41 GMT):
when CRL is updated through orderer, a new block will be created- when that arrives on the peer, the client needs to be notified and update the corresponding MSP config in the client.

weeds (Mon, 17 Apr 2017 14:27:27 GMT):
typically each organization may have their own application- if 1 participant submits crl request- the other application and other orgs have to be notified of the change. Does thte SDK not get a config block update today? yes,.. it does .. crl and other channel update has to be reflected in application layer

weeds (Mon, 17 Apr 2017 14:27:47 GMT):
MSP is just one component of config update- wouldn't it get it for free without having to do anything? yes, think so

weeds (Mon, 17 Apr 2017 14:30:04 GMT):
OU support (organizational unit support- ability to support endorsement policy with OU field) -

weeds (Mon, 17 Apr 2017 14:30:18 GMT):
As of today- neither java/node support ou-- our endosrement policy is only based on roles

weeds (Mon, 17 Apr 2017 14:30:26 GMT):
if OU needs to be supported- that's new features for SDK

weeds (Mon, 17 Apr 2017 14:31:22 GMT):
since sdk does not have to evaluate endorsement policy- if sdk has to know different structure- se treat it as a string from SDK perspective- any time we update policy- it's only change to orderer ... the msp code itself- that's a suggestion.

weeds (Mon, 17 Apr 2017 14:31:37 GMT):
could we do the OU ? it's easy to add for the sdk to pass a string through

weeds (Mon, 17 Apr 2017 14:34:45 GMT):
@jimthematrix @elli-androulaki I need you guys to post some of this more on the channel on the ou discussion

dhuseby (Mon, 17 Apr 2017 14:37:52 GMT):
Has joined the channel.

weeds (Mon, 17 Apr 2017 14:38:29 GMT):
@smithbk ^^

smithbk (Mon, 17 Apr 2017 14:38:29 GMT):
Has joined the channel.

weeds (Mon, 17 Apr 2017 14:39:28 GMT):
Vlad- I'm not sure if anyone knows we are building our executable in docker with static flag- Greg Haskins added that but this is a lot of problem with PKCS11 libraries

weeds (Mon, 17 Apr 2017 14:39:39 GMT):
I'll ping you on slack about it specifically

weeds (Mon, 17 Apr 2017 14:40:47 GMT):
I mentioned to Yacov- the PKCS11 as I wrote a script where you can generate an end to end test case of sizes of peers and orgs and generate crypto and oderer blog- and I checked under work

weeds (Mon, 17 Apr 2017 14:41:02 GMT):
please get in touch with @bmos299

weeds (Mon, 17 Apr 2017 14:41:24 GMT):
there is confusion why the CI scripts aren't used- asking Barry and Ramesh to get with Vlad

weeds (Mon, 17 Apr 2017 14:42:58 GMT):
There is a jira 1875- we need everything recorded there on some of the crypto discussion

jimthematrix (Mon, 17 Apr 2017 17:41:56 GMT):
@weeds thanks Sharon for posting the discussion. regarding the discussions on OrganizationUnit support, @elli-androulaki has posted on the #fabric-crypto channel

muralisr (Mon, 17 Apr 2017 19:51:50 GMT):
@weeds @elli-androulaki `Upgrade of chaincode- security work has to be combined with installation security work.` - we have to be careful with terminology....there are two ways to get a chaincode onto a channel (1) install and then instantiate (2) install and then upgrade. The "install" part is now chaincode packaging and is common to both to the instantiate and upgrade work flows. In other words any security work for the upgrade should be identical to the instantiate and shoukd be common code (for example, linking the installed CC with the instantiation/upgraded CC)

muralisr (Mon, 17 Apr 2017 19:54:39 GMT):
(BTW, talking of upgrade ... https://gerrit.hyperledger.org/r/#/c/7831 should be reviewed. @jiangyaoguo has completed the changes requested from previous review... I'll complete my review today)

muralisr (Mon, 17 Apr 2017 20:04:38 GMT):
will comment on https://jira.hyperledger.org/browse/FAB-3155

muralisr (Mon, 17 Apr 2017 20:13:55 GMT):
@weeds thanks so much for the above update btw. Really helps!

achraf17 (Tue, 18 Apr 2017 10:19:35 GMT):
Has joined the channel.

davidkel (Wed, 19 Apr 2017 08:54:31 GMT):
Is there a way to remove running chaincode containers/docker images/install packages from the peer that owns and generated the environment ? I am assuming not at the moment as I can't find anything but I might have missed something. Is that something that is coming in the future ?

akshay.lawange (Wed, 19 Apr 2017 11:11:09 GMT):
Has joined the channel.

akshay.lawange (Wed, 19 Apr 2017 11:15:04 GMT):
hi... i have got this error while creating the channel Error connecting: rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure Error: rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure any ideas?

weeds (Wed, 19 Apr 2017 13:01:29 GMT):
please note that we will have scrum call at 9:30 AM EST 1-888-426-6840 / 33682113)

weeds (Wed, 19 Apr 2017 13:27:48 GMT):
i'm going to be taking notes of the scrum team today- but please feel free to join us on the call.

weeds (Wed, 19 Apr 2017 13:33:56 GMT):
we are trying to get the host code- so starting now

weeds (Wed, 19 Apr 2017 13:36:05 GMT):
we are going to focus this call on what remains in sprint 16 (to end this friday)

weeds (Wed, 19 Apr 2017 13:36:23 GMT):
We are going one by one into the JIRa and help make call where we stand to get input from the maintainers hopefully on Monday at the hackfest

weeds (Wed, 19 Apr 2017 13:36:43 GMT):
We are going to go through each item individually... Binh tried to take a quick look at his own view of it and we'll start with that position and get input from other maintainers

weeds (Wed, 19 Apr 2017 13:36:56 GMT):
Keith we will go through the following:

weeds (Wed, 19 Apr 2017 13:37:17 GMT):
CA FAB-2836Enhance readthedocs for revocation Documentation must do CA FAB-3010Update fabric CA README Documentation must do CA FAB-1463 Add TLS support to fabric-ca-server's LDAP client Hardening, usability, serviceability, load, operability and stress test review CA FAB-2597 Remove /api/v1/cfssl prefix on fabric-ca-server endpoints Hardening, usability, serviceability, load, operability and stress test review CA FAB-2896Enhance fabric-ca-server to support multiple CAs Hardening, usability, serviceability, load, operability and stress test review CA FAB-2110Complete BCCSP integration for of fabric-ca HSM CA FAB-946 TCert Crypto operations should be based on BCCSP HSM defer

weeds (Wed, 19 Apr 2017 13:37:59 GMT):
From Keith- 946 should be changed- not doing for this release, it's targetted Version 1.1, but needs to be removed out of sprint bakclog- drop below the line

weeds (Wed, 19 Apr 2017 13:38:24 GMT):
2907--> that is a bug... 2909-> that's a bug... all bugs we can still work on post sprint 16 as long as not features

weeds (Wed, 19 Apr 2017 13:40:27 GMT):
2836 this is already in review; 3010- this is already in review; 1463- this is already in review; 2597- this is already in review; 2896- this is already in review; 2110- this is already in review;

weeds (Wed, 19 Apr 2017 13:40:52 GMT):
From CA perspetive- all is in review ... only thing left is the defect backlog

weeds (Wed, 19 Apr 2017 13:41:04 GMT):
Thank you Keith on planning on Sprint 16

weeds (Wed, 19 Apr 2017 13:41:08 GMT):
Jim Zhang- SDK (which is running hot)

weeds (Wed, 19 Apr 2017 13:41:25 GMT):
FAB-2914 SDK needs to support channel creation and modification FAB-966 Create and update channel config FAB-2816 v1.0 Documentation FAB-2967 Sample web app FAB-896 Events support for new nodejs sdk (es6) FAB-3164 Add optional secret to registration request FAB-2843 Handling networking issues FAB-2555 queryBlock data is not fully decoded in fabric-client FAB-3202 MSP implementation always returns true when validating identities FAB-287 Add tests for chaincode-invoke-chaincode scenario FAB-623 Test node sdk on zLinux

weeds (Wed, 19 Apr 2017 13:42:15 GMT):
2914- channel creation- creation does not rely on config gx - first part is merged, 2nd part is in review. updating channel is being worked on right now--> Bret just started working on this- expect early next week ETA

weeds (Wed, 19 Apr 2017 13:42:38 GMT):
This is a required capability and needs to go into next week

weeds (Wed, 19 Apr 2017 13:42:58 GMT):
966- this is same as 2914 (one should be duped to the other)- these go hand in hand

weeds (Wed, 19 Apr 2017 13:43:10 GMT):
2816- documentation is ongoing and must do and will go past 16

weeds (Wed, 19 Apr 2017 13:43:26 GMT):
2967- Ratnakar is working on it and at any point will be reviewed and merged

weeds (Wed, 19 Apr 2017 13:43:43 GMT):
3164- we have not started on this- by end of Friday this should be merged as not a big change

weeds (Wed, 19 Apr 2017 13:44:59 GMT):
2843- this may carry into next week, because we need to work on channel update first.. that blocks this. not clear when we can get into this- this one is really hard to debug. 3 layers of problems we need to work. we are trying to figure out how to handle on the TCP part of it. Gari has some ideas on this... and need some input from him @mastersingh24

weeds (Wed, 19 Apr 2017 13:45:17 GMT):
2555- the only thing left is read/write set that just became available- that is 1 day worth of work and should be done by Friday

weeds (Wed, 19 Apr 2017 13:45:31 GMT):
3202- Jim working on now and done by friday

weeds (Wed, 19 Apr 2017 13:45:36 GMT):
287- in review

weeds (Wed, 19 Apr 2017 13:46:18 GMT):
sorry mistake 287 is a to do- This is not in the sprint... it's ongoing tests for test coverage and will go past 16 as a result

weeds (Wed, 19 Apr 2017 13:46:38 GMT):
623- again ongoing tests

weeds (Wed, 19 Apr 2017 13:47:34 GMT):
896- server side was just merged earlier this morning- the client side is in review, but must be rebased,.. there is a breakage due to fabric- ca.. we have to add a property in the config (Keith said- hey jim let's talk about this.. another guy merged it this morning)

weeds (Wed, 19 Apr 2017 13:48:49 GMT):
Networking one is the biggest one that is really unknown where i marked Gari on it. all should be done by Sunday

weeds (Wed, 19 Apr 2017 13:48:52 GMT):
For JAVA SDK

weeds (Wed, 19 Apr 2017 13:49:06 GMT):
FAB-3209 Update Java example_cc for fabric 82ecbeaf FAB-1402 V1.0 Support developer mode FAB-648 Publish Artifacts to maven repository FAB-3104 BLOCKED V1.0 Update Eventhub to sign register request. FAB-2681 V1.0 BlockEvent return proposal, read write set and result FAB-2564 V1.0 Allow for different crypto strengths for Peer Orderer and Fabric CA

weeds (Wed, 19 Apr 2017 13:49:25 GMT):
3209- done.. it is in merge for review

weeds (Wed, 19 Apr 2017 13:49:41 GMT):
the only thing about it- the last I've heard is that java chaincode is still not running, but I looked through it- but impossible to test right now

weeds (Wed, 19 Apr 2017 13:49:49 GMT):
(not an SDK issue though)

weeds (Wed, 19 Apr 2017 13:50:35 GMT):
1402- we took that out,... we can do this from go side . Luis needs to document how to do that. this needs to be put under documentation no coding to be done

weeds (Wed, 19 Apr 2017 13:51:25 GMT):
648- that's being handled by Ramesh- he's been able to do manually- he needs work from Ry jones @rjones ... we need help from Ry to do this-- Ry any help you can give us?

rjones (Wed, 19 Apr 2017 13:51:25 GMT):
Has joined the channel.

weeds (Wed, 19 Apr 2017 13:51:35 GMT):
there is no source code change

weeds (Wed, 19 Apr 2017 13:52:38 GMT):
3104- this is the code we need to do signing from event hub,.. and that was just merged 1/2 hour ago, so SDK work can start now-- what is the ETA for this? I should have it done by end of day today as it is straight forward- i have the code for it already- but I need to retest and make sure functional and revise a little

weeds (Wed, 19 Apr 2017 13:53:02 GMT):
2681- we have work in progress and taking more time than expected- i'll have it by Friday in merge

weeds (Wed, 19 Apr 2017 13:53:28 GMT):
2564- that one is really hard-- this is Sunday/monday time frame.

weeds (Wed, 19 Apr 2017 13:54:03 GMT):
do we really think 2564 is must have? Jim said there is one must have- hash algorithim on per channel basis that must done. that is the minimum requirement... maybe this is what we need to do versus the bigger piece- Jim/Rick to talk about this afterwards

weeds (Wed, 19 Apr 2017 13:55:10 GMT):
There is always a question Java HSM support... i think we do want this, but it's a chunk of work that has not been investigated.. what is the view from maintainers? @mastersingh @binh Vlad thought he might be able to do this..

weeds (Wed, 19 Apr 2017 13:56:12 GMT):
@mastersingh24

weeds (Wed, 19 Apr 2017 13:56:21 GMT):
@binhn

weeds (Wed, 19 Apr 2017 13:56:55 GMT):
Jim feels this can come in 1.1---

weeds (Wed, 19 Apr 2017 13:57:09 GMT):
but need opinion from the community

weeds (Wed, 19 Apr 2017 13:57:52 GMT):
@ry- you might want to talk to Ramesh on the one above and Jim zhang

weeds (Wed, 19 Apr 2017 13:57:57 GMT):
@rjones

rjones (Wed, 19 Apr 2017 13:57:58 GMT):
@weeds FAB-648 is under discussion. We (LF) usually publish with disconnected signatures

weeds (Wed, 19 Apr 2017 13:58:30 GMT):
3137 is HSM for Java SDK

rjones (Wed, 19 Apr 2017 13:58:56 GMT):
@weeds I was discussing FAB-648 yesterday in our release engineering meeting, so I expect progress next week

weeds (Wed, 19 Apr 2017 13:59:04 GMT):
The general things about document , bug, and test will certainly go for release candidate- improvements need to continue.

weeds (Wed, 19 Apr 2017 13:59:45 GMT):
@rameshthoomu see above

weeds (Wed, 19 Apr 2017 13:59:51 GMT):
from Ry

weeds (Wed, 19 Apr 2017 13:59:55 GMT):
Gossip TEAM

weeds (Wed, 19 Apr 2017 14:00:19 GMT):
FAB-1845 Gossip MessageStore timely expiration - under review

weeds (Wed, 19 Apr 2017 14:00:45 GMT):
it consistes of several subtasks- one of them is in review, and one is ETA by tomorrow evening for review

weeds (Wed, 19 Apr 2017 14:01:22 GMT):
the task that is work in progress is 3114

weeds (Wed, 19 Apr 2017 14:01:29 GMT):
that will be completed tomorrow

weeds (Wed, 19 Apr 2017 14:01:40 GMT):
the only thing remaining is defects/documentation

weeds (Wed, 19 Apr 2017 14:02:01 GMT):
FAB-2980 Use protobuf for chaincode shim QueryResults to keep it language agnostic FAB-2662 Introduce fabric-couchdb docker image default config (with security settings) FAB-2897 Transaction index within block should start at 0, not 1 FAB-2676 Need to atomically createLedger and commit genesis block FAB-1684Resolve ledger code TODOsdger rework FAB-2025 Ledger serviceability - Finalize error handlng, logging, tracing for v1 FAB-1309 Ledger performance system test: LevelDB FAB-1310 Ledger performance system test: CouchDB FAB-3017 Finalize ledger backup/restore guidance FAB-444 Ledger recoverability system test: I want the ledger to be in a consistent state if the peer crashes in the middle of transaction commit FAB-198 Ledger chaincode upgrade: Ledger support for upgraded chaincode FAB-1817Use different folders in ledger tests.

weeds (Wed, 19 Apr 2017 14:02:03 GMT):
LEDGER

weeds (Wed, 19 Apr 2017 14:02:18 GMT):
2980, 2662, 2897, 2676- all in review

weeds (Wed, 19 Apr 2017 14:02:44 GMT):
1684- in progress, cleaning up to do's in code- we don't have to finish in release but working on most important one this week and will defer the rest

weeds (Wed, 19 Apr 2017 14:03:24 GMT):
2025- this will go post sprint 16, we are waiting for Will and company to publish the logging guidelines

weeds (Wed, 19 Apr 2017 14:04:09 GMT):
all the teams need to do this-- surprised ledger is only one @claytonsims need to open jiras for all of them to do this for consistency of logging

weeds (Wed, 19 Apr 2017 14:04:22 GMT):
it take a week fo rteams to do this once the guidelines are published

weeds (Wed, 19 Apr 2017 14:05:08 GMT):
Will does mention- Murali did series of code reviews and we are bout ready to go unless Binh has further comments- need binh to go look again for anything further and we will send e-mail to hyperledger fabric list to make sure that it's available- make sure to inform and ask for feedback.

weeds (Wed, 19 Apr 2017 14:05:43 GMT):
Will in car and will get back to CR number @Clayton Sims please add here after scrum call

weeds (Wed, 19 Apr 2017 14:05:46 GMT):
1309- under review

weeds (Wed, 19 Apr 2017 14:06:04 GMT):
1310- this is for performance/system test and will continue given this is testing- this isn't really feature- this is stress testing

weeds (Wed, 19 Apr 2017 14:06:23 GMT):
3017- this is really doc and test

weeds (Wed, 19 Apr 2017 14:06:40 GMT):
not a 'feature" we are thinking

weeds (Wed, 19 Apr 2017 14:06:48 GMT):
done this week

weeds (Wed, 19 Apr 2017 14:07:05 GMT):
444- recoverability- we have done a lot of this, but there is really just testing here that we are doing

weeds (Wed, 19 Apr 2017 14:07:07 GMT):
no feature work

weeds (Wed, 19 Apr 2017 14:08:30 GMT):
198- this is our only true story- this is around supporting upgrade and validating that chaincode vesion is same when transaction executed- we are going through comments from Binh/Murali on what we need to do here. We think discussion is rapping up... Binh did have comments on chaincode upgrade on comitter side- developer from Huawei- but I need to go through this.. if Murali is on call today or on rocket chat, we may need to try to discuss this. we want to get this in and maybe enahancement later, but we need to discuss this more completely

weeds (Wed, 19 Apr 2017 14:09:23 GMT):
this one is moving slower. so this is because they are in China- so it's a little tougher.. this will go past sprint 16

weeds (Wed, 19 Apr 2017 14:09:35 GMT):
Binh said let's see what we can do on ledger side to help... but I need to have discussion with Murali and team on this

weeds (Wed, 19 Apr 2017 14:09:54 GMT):
1817- that's unit test clean up, no feature

weeds (Wed, 19 Apr 2017 14:10:27 GMT):
CONSENSUS

weeds (Wed, 19 Apr 2017 14:10:28 GMT):
FAB-1302 Add config inspection validation on chain creation transaction FAB-2937 Fix minor issues in localconfig FAB-3025 Update ledger defaults FAB-1678 As an admin and developer, I need a way to inspect and create configuration transactions FAB-2772 Lock down channel creation by consortium

weeds (Wed, 19 Apr 2017 14:10:34 GMT):
1302- in review

weeds (Wed, 19 Apr 2017 14:10:54 GMT):
2937- in review

weeds (Wed, 19 Apr 2017 14:11:26 GMT):
3025- this is not completed yet... what is ETA? very simploe, done for review by Friday

weeds (Wed, 19 Apr 2017 14:11:40 GMT):
1678- this one is in review

weeds (Wed, 19 Apr 2017 14:11:43 GMT):
2772- in review

weeds (Wed, 19 Apr 2017 14:12:02 GMT):
anything that is feature we should discuss? we are pretty much done.. we are working on harening and polishing now

weeds (Wed, 19 Apr 2017 14:12:15 GMT):
ENDORSER

weeds (Wed, 19 Apr 2017 14:12:16 GMT):
FAB-183 As an authorized user, I want to upgrade chaincode FAB-815 Add support for endorsement of configuration transactions FAB-2972Add query API support for Java chaincode FAB-820 Admin GRPC API

weeds (Wed, 19 Apr 2017 14:12:21 GMT):
183 under review

weeds (Wed, 19 Apr 2017 14:12:41 GMT):
Binh you are suggesting that we delay 815-- are we ready to make that call? or anybody else on call

weeds (Wed, 19 Apr 2017 14:12:49 GMT):
@muralisr

weeds (Wed, 19 Apr 2017 14:13:26 GMT):
Binh's recommendation is to defer- because we don't have a mechanism or tool to allow members to sign a config transaction... Behave does that... it's a behave test.

weeds (Wed, 19 Apr 2017 14:13:57 GMT):
We don't have something that a customer - customer would have to do it themselves- they would have to build the tool themselves as part of admin tool. instead of embarking on tool to do this, we should defer it..

weeds (Wed, 19 Apr 2017 14:14:09 GMT):
@mastesingh24 do you agree with that @binhn

weeds (Wed, 19 Apr 2017 14:14:47 GMT):
We should also put in comments what jeff mentioned- people can use the BDD as an example to build their admin tool to do this.. because the mechanics are in place. but they have to know how to collect signatures to put in protobuf

weeds (Wed, 19 Apr 2017 14:15:30 GMT):
NODEsdk has enough API so that you get the raw protobuf bytes and you send it to anybody and they can take a sig on it and send sig and we have tool to take sig and integrate into protobuf to send in config 9from Jim zhang) that is all we need- this is discussion with Varad in how we do for our own implementation.

weeds (Wed, 19 Apr 2017 14:15:52 GMT):
The same api can be used easily for admin type applications to do the same thing- send byte array around and collect the signature

weeds (Wed, 19 Apr 2017 14:16:04 GMT):
i don't think more is needed- it won't be there for Java, but Node sdk will have it

weeds (Wed, 19 Apr 2017 14:16:18 GMT):
we should put these comments in JIRA @jeffgarratt

weeds (Wed, 19 Apr 2017 14:16:24 GMT):
in 815

weeds (Wed, 19 Apr 2017 14:17:00 GMT):
2972- add query api support for java chaincode- is this something we have to have since Murali isn't on right now?

weeds (Wed, 19 Apr 2017 14:17:23 GMT):
This is java chaincode query so we have to do this-- Binh said this would fall into similar to java support in general

weeds (Wed, 19 Apr 2017 14:17:28 GMT):
it's lagging behind the other languages

weeds (Wed, 19 Apr 2017 14:17:50 GMT):
so we need to keep working on this after sprint 16

weeds (Wed, 19 Apr 2017 14:17:59 GMT):
Maybe Luis is working on this already given Murali is out?

weeds (Wed, 19 Apr 2017 14:18:29 GMT):
Do we know if anyone is using javachaincode- we know they are using Java SDK but we don't know anyone using java chaincode

weeds (Wed, 19 Apr 2017 14:18:46 GMT):
people do want it- people are asking for it in community

weeds (Wed, 19 Apr 2017 14:18:48 GMT):
to be clear

weeds (Wed, 19 Apr 2017 14:19:10 GMT):
@claytonsims please post ETA for this one on 2972 from Luis- we feel this is important to contain, but need to checkpoint with Luis on this

weeds (Wed, 19 Apr 2017 14:19:27 GMT):
820 admin grpc APi- Binh is suggesting this to be deferred

weeds (Wed, 19 Apr 2017 14:19:36 GMT):
@mastersingh24 do you have an opinion on this?

weeds (Wed, 19 Apr 2017 14:19:48 GMT):
deferred meaning to post 1.0

weeds (Wed, 19 Apr 2017 14:21:06 GMT):
Here's the thing- we have a set of admin apis from version 0.6 and they have no security whatsoever in the structure in these apis- the apis being used by peer and node and peer login... peer node start or peer node login and you turn on different log in and so forth- from CLI- it will call into these apis.. in the new way to do this- in order to take advantage the security infrastructure in place and thought for this item and to convert this into system chaincode, but i think we do not have bandwidth to do this,.. and feel we should live with what we have now

weeds (Wed, 19 Apr 2017 14:21:30 GMT):
Aren't those APIs controlled by TLS? Oh but that just gives you TLS- i thinkwe have to document with this. Jeff agrees with this

weeds (Wed, 19 Apr 2017 14:22:02 GMT):
SECURITY

weeds (Wed, 19 Apr 2017 14:22:03 GMT):
FAB-2103 As an infrastructure developer I need to to ensure proper chain access rights of invokers in CC to CC case FAB-2969 As a infrastructure developer I want access control at system chiancode FAB-2400 Allow OUs to be contained in MSP description FAB-47 Chaincode code upgrade review FAB-3155 LCCC chaincode instantiation security checks at validation time FAB-2091 As an infrastructure developer I need to decide on LCCC endorsement/invocation access policy and way to pass this policy to LCCC FAB-2067 Add documentation for "good practice for use of MSPs" in MSPs document FAB-2094 As an infrastructure developer I need to document MSP-related assumptions & best practices FAB-637 As a fabric developer I want to document a secure ACL design for chains/ chain events FAB-1934 CSCC Join Channel request to be authenticated with the peer local MSP admin FAB-2362 As an infrastructure developer I need to make hashes used throughout fabric configurable FAB-2421 CRL setup optimization FAB-2088 As an infrastructure developer I want to be able to perform proper access control on event registration upon received requests FAB-2989 Ensure orderers check MSP config consistency at channel genesis time

weeds (Wed, 19 Apr 2017 14:22:18 GMT):
2103- this is under review- 6279 is the CR

weeds (Wed, 19 Apr 2017 14:22:49 GMT):
This is a good time to remind everyone- for any of your CRs - we are not all making sure that any time you submit CR that you put th eJIRA item in your CR so we can see the state of it- we will stop approving if we can not map it to JIRa/CR

weeds (Wed, 19 Apr 2017 14:23:54 GMT):
2969- this is under review.. there are a couple of pending CRs related. one has been merged... but there are 2 more of Angelo that are pending listed in the JIRa

weeds (Wed, 19 Apr 2017 14:24:42 GMT):
2400- Ale's item, and we had discussion on this and he said he has a couple of hours of work left- will land in sprint 16

weeds (Wed, 19 Apr 2017 14:26:02 GMT):
47- a review item to remind us that we review the upgrade process in parallell with 3155 and 2932 by Matthias - we are essentially reviewing security aspects of chaincode upgrade within channel- Matthias found some issues around it and we created a bug in bug log that we will tackle next week.. this isn't a feature code- but really reviewing to make sure it's secure.... so really only logging as we do deep security review

weeds (Wed, 19 Apr 2017 14:26:42 GMT):
2091- in review.. we have listed CR 6421 and needs to be reviewed. most recent update few hours ago. Elli about to review after CI verifies

weeds (Wed, 19 Apr 2017 14:27:07 GMT):
2067- that is documentation- duplicate of 2094.. elli is suppose to create first version of doc tonight

weeds (Wed, 19 Apr 2017 14:27:22 GMT):
i talked with @nickgaski she will send doc to him directly so he will edit it-

weeds (Wed, 19 Apr 2017 14:27:49 GMT):
637- this is documentation work- i have not been able to progress, we have version on google doc but we have to convert and we have to update with most recent configuration mechanism and coordinate with Kostas on- so this will be next week

weeds (Wed, 19 Apr 2017 14:28:26 GMT):
1934- in review.. that is CR 7651

weeds (Wed, 19 Apr 2017 14:28:38 GMT):
2362- this one is also under review

weeds (Wed, 19 Apr 2017 14:29:21 GMT):
2421- this is not done yet, it's a crl setup optimization, we were talking about with Ale- this may be optimization for next week.. it's not a feature, it's how we do validation of identity more efficiently

weeds (Wed, 19 Apr 2017 14:29:27 GMT):
will this risk destabilize? Ale?

weeds (Wed, 19 Apr 2017 14:29:37 GMT):
it's very small changes and would effect only tests that exercise revocation

weeds (Wed, 19 Apr 2017 14:29:49 GMT):
Binh or @mastersingh24 with this?

weeds (Wed, 19 Apr 2017 14:30:59 GMT):
Binh feels that we do need to clean the plate monday next week, because monday we have hackfest and we want to talk with community that we are ready to go through test/documentation .. remaining work needs to be just quality when we with community to decide to release. we do not want too many things open at this point unless they are absolutely critical unless defects. if we can not address this- it seems this is something we should postpone to 1.1

weeds (Wed, 19 Apr 2017 14:31:15 GMT):
i suggest this two other items to defer- 3165 and 2989

weeds (Wed, 19 Apr 2017 14:31:26 GMT):
because the list of items is very long

weeds (Wed, 19 Apr 2017 14:31:54 GMT):
if we can not get this item in 2421- we should move it out.

weeds (Wed, 19 Apr 2017 14:33:02 GMT):
sorry it was 3155- Elli indicated not just a review- it's work related to validation to transactions associated with chaincode instnatiation and upgrade- I already submitted a CR for which i listed here and for this item there is a CR on endorsement phase- so it's security work we discussed with Murali- we have to get it in as there is an exposure.

weeds (Wed, 19 Apr 2017 14:33:08 GMT):
we can have CRs ready and done by tomorrow.

weeds (Wed, 19 Apr 2017 14:33:19 GMT):
(not 3165,.. 3155)

weeds (Wed, 19 Apr 2017 14:33:29 GMT):
well, if you hvae a CR submit for merge this week- i'm ok then

weeds (Wed, 19 Apr 2017 14:33:36 GMT):
as well as given security hole

weeds (Wed, 19 Apr 2017 14:34:11 GMT):
Ale? on 2931 there is another change set that matthias is working one. on 3155 there is one more changeset fromMatthias, but on my side we can get this done this week

weeds (Wed, 19 Apr 2017 14:35:17 GMT):
ale wants to push in now- but i'm trying to keep the changesets small for reviewers so need to factor that in

weeds (Wed, 19 Apr 2017 14:35:52 GMT):
if we have something that depends on Murali at this point- this is probably in jeapordy- lscc is important to secure otherwise people can modify entries associated with cc...

weeds (Wed, 19 Apr 2017 14:36:13 GMT):
Binh feels that this isn't a hole that has to be closed, @mastersingh24?

weeds (Wed, 19 Apr 2017 14:38:01 GMT):
i see a lot of risk here and number of items and number of dependencies- there are 2 days- and we have time for review... and we are also lack of maintainers given different circumstances.. so feel there is a lot of risk to sprint 16 to make some of this this weekend for merge

weeds (Wed, 19 Apr 2017 14:38:26 GMT):
@muralisr Elli might need some help here, but she did feel security work can be reviewed.

weeds (Wed, 19 Apr 2017 14:38:38 GMT):
We all think that these chainsets are important from security perspective and

weeds (Wed, 19 Apr 2017 14:39:04 GMT):
Binh's recommendation- CR that we have in for 2091 and 3155 I have not reviewed these yet, but I will go more deeply into review, but maybe we should defer the rest?

weeds (Wed, 19 Apr 2017 14:39:17 GMT):
and defer 2989 and 2421?

weeds (Wed, 19 Apr 2017 14:39:33 GMT):
2989 has been put on backlog- and this can be deferred (from Elli)

weeds (Wed, 19 Apr 2017 14:39:43 GMT):
2421- i already moved to backlog to be deferred (from Elli0

weeds (Wed, 19 Apr 2017 14:40:05 GMT):
so we can put 3155, 2091 after i review with current crs that are submitted, but remaining items, but create new jira issues and move to backlog

weeds (Wed, 19 Apr 2017 14:40:08 GMT):
Elli agreed

weeds (Wed, 19 Apr 2017 14:40:22 GMT):
is everyone ok with that? @mastersingh24 ?

weeds (Wed, 19 Apr 2017 14:41:09 GMT):
is it considered a security issue that a chaincode can modify another chaincode namespace without target chaincode endorsement policy not being checked/

weeds (Wed, 19 Apr 2017 14:41:15 GMT):
Elli feels this is a big problem

weeds (Wed, 19 Apr 2017 14:41:36 GMT):
yes- I wrote about that in fabric that we discussed in community when we implemented chaincode calling chaincode that it is something we can document

weeds (Wed, 19 Apr 2017 14:42:05 GMT):
again, there is stuff from security point of view we have to document and to make sure people understand and know what the shortcomings and our roadmap to cover them post 1.0- do not believe all will be addressed.

weeds (Wed, 19 Apr 2017 14:42:39 GMT):
deployment of 1.0 today is within the control of some set of companies- it's not an open network that any chaincode can call any chaincode

weeds (Wed, 19 Apr 2017 14:42:56 GMT):
issue that i see- i'm just an org in channel, and I will get and deploy my own chaincode by my own org.

weeds (Wed, 19 Apr 2017 14:43:06 GMT):
my peer and i can collude to write in ledger an dwill not be stopped in any way

weeds (Wed, 19 Apr 2017 14:43:33 GMT):
so a peer is supposed to be trusted by other organizations- the whole trust model is based on CFT

weeds (Wed, 19 Apr 2017 14:43:43 GMT):
because the orderer is everywhere

weeds (Wed, 19 Apr 2017 14:44:01 GMT):
let's document it and is very clear and transparent and move to solve in next post 1.0 release

weeds (Wed, 19 Apr 2017 14:44:40 GMT):
regardless of this- security check needs to take place at commitment side when it comes to evaluate a transaction- we need to validate transaction changes the state of only invoked chaincode- otherwise one client has been compromised and can mess everything up

weeds (Wed, 19 Apr 2017 14:44:55 GMT):
I could try potentially say that i invoke chaincode i never invoked and --

weeds (Wed, 19 Apr 2017 14:45:00 GMT):
what chaincode?

weeds (Wed, 19 Apr 2017 14:45:30 GMT):
i'm referring to invoking single chaincode- without endorsing policy of changing state to other chaincodes- i'm able to do so right now

weeds (Wed, 19 Apr 2017 14:45:40 GMT):
issue is bigger- endorsement policy means nothing- i create endorsement- everyone should sign

weeds (Wed, 19 Apr 2017 14:45:52 GMT):
but another chaincode on channel that requires one channel and can bypass the other endorsement policy

weeds (Wed, 19 Apr 2017 14:46:13 GMT):
who deployed the other chaindoes that someone else deployed? remember that it is the CFT- it is not byzantine and network is controlled by someone

weeds (Wed, 19 Apr 2017 14:46:31 GMT):
Let's take this offline

weeds (Wed, 19 Apr 2017 14:46:42 GMT):
we need to get Gari involved on this one please and maybe some other maintainers

weeds (Wed, 19 Apr 2017 14:46:52 GMT):
Are you trying to say the item we should defer we should not?

weeds (Wed, 19 Apr 2017 14:47:05 GMT):
this is separate thing that we might list as bug if it's important and do it next week-

weeds (Wed, 19 Apr 2017 14:47:14 GMT):
the recommended fix is easy really

weeds (Wed, 19 Apr 2017 14:47:54 GMT):
we just need to ensure in the end to have committing peer and look and ensure that at least the chaincode whose state being touched have same endorsement policy is satisified- we only allow chaincode to chaincode that is within the same trust domain- it's the easy way to fix this. it's not something we realized until this morning.

weeds (Wed, 19 Apr 2017 14:48:05 GMT):
this is conversations spawning from David/manish--

weeds (Wed, 19 Apr 2017 14:48:11 GMT):
Ale realzied this today and reported it

weeds (Wed, 19 Apr 2017 14:49:14 GMT):
problem becomes bigger if you have chaincode to chaincode and modify chaincode state. we can of course claim the trust model is we don't allow for byzantine peers, but we do consider byzantine peers- for example in gossip- a peer has to authenticate another peer from same org before state or messages,etc,.. so this is an easy fix in our opinion

weeds (Wed, 19 Apr 2017 14:49:23 GMT):
we can claim to "some" extent byzantine peers- binh asking to take off line.

weeds (Wed, 19 Apr 2017 14:49:50 GMT):
We've gone through each COMPONENT backlog

weeds (Wed, 19 Apr 2017 14:50:02 GMT):
is there any other feature not reflected in backlog?

weeds (Wed, 19 Apr 2017 14:50:07 GMT):
2862 from Jeff Garrat

weeds (Wed, 19 Apr 2017 14:50:20 GMT):
this is BDD work that Binh has been pointing to for the new config changes

weeds (Wed, 19 Apr 2017 14:50:40 GMT):
the reason is that this was created in preparation for config coming in or not

weeds (Wed, 19 Apr 2017 14:50:53 GMT):
we need to coordinate to merge these- there are 3 outstanding items

weeds (Wed, 19 Apr 2017 14:50:58 GMT):
1 is this BDD

weeds (Wed, 19 Apr 2017 14:51:11 GMT):
the other one is the SDK (can't remember the number)

weeds (Wed, 19 Apr 2017 14:51:32 GMT):
there is another item on SDK and must be done by end of this week- cant remember the number

weeds (Wed, 19 Apr 2017 14:51:46 GMT):
Jeff- should i go ahead and add sprint 16 for 2862- i am trying to contain by friday

weeds (Wed, 19 Apr 2017 14:52:14 GMT):
so- the one that jeff has and 2914 which is on node sdk we need

weeds (Wed, 19 Apr 2017 14:52:27 GMT):
and then the whole series cr's from consensus

weeds (Wed, 19 Apr 2017 14:52:36 GMT):
Jeff is working with Kostas on these- these must go in

weeds (Wed, 19 Apr 2017 14:52:56 GMT):
we just found an issue that jeff is talking with Kostas

weeds (Wed, 19 Apr 2017 14:53:14 GMT):
2914- he was doubtful done this week- claiming early next week and must be contained

weeds (Wed, 19 Apr 2017 14:53:22 GMT):
was from earlier in the call

ZionTam (Wed, 19 Apr 2017 14:53:22 GMT):
Has joined the channel.

weeds (Wed, 19 Apr 2017 14:53:59 GMT):
Brett has been working on this as top priority

weeds (Wed, 19 Apr 2017 14:55:00 GMT):
Jeff/Jim is it possible to break into phases because we don't want to break things- yes i'm trying to get orderer - i've been able to get the orderer up but sometimes fails with submission of config, but when I try to remove msp for application group- but it panics... so I'm asking kostas for his help in navigating this

weeds (Wed, 19 Apr 2017 14:55:23 GMT):
there might be bugs we found

weeds (Wed, 19 Apr 2017 14:55:36 GMT):
Jim- first step is to update proto- so is it updated? yes, it's done binh said

weeds (Wed, 19 Apr 2017 14:56:01 GMT):
we update that and so we can do the end to end which takes the binary input to create channel to make that work when you regenerate the config tx gen yaml to regenerate the channel config- that is first step

weeds (Wed, 19 Apr 2017 14:56:09 GMT):
next step is to update json create channel support and do the proper update

weeds (Wed, 19 Apr 2017 14:56:33 GMT):
what is the progress on that Jim? I need to tie out with Brett and I can find out @jimthematrix post here please what you find out

weeds (Wed, 19 Apr 2017 14:56:41 GMT):
jeff said i'm working with kostas already

weeds (Wed, 19 Apr 2017 14:56:57 GMT):
i will know by end of day where we really are

weeds (Wed, 19 Apr 2017 14:57:20 GMT):
btw, any way we know why we are skipping behave and e2e test on our CI?

weeds (Wed, 19 Apr 2017 14:57:59 GMT):
They fail with high probability... do we think this is infrastructure or a code change that cause fragility?

weeds (Wed, 19 Apr 2017 14:58:19 GMT):
packaging for instantiate has exploded- it "seems"

weeds (Wed, 19 Apr 2017 14:58:30 GMT):
in gossip before we +1 or +2 we always check end to end works

weeds (Wed, 19 Apr 2017 14:58:53 GMT):
we need to reinstate once the config is changed

weeds (Wed, 19 Apr 2017 14:59:31 GMT):
jeff said- i see intermittent failures due to timing more recently in last day or two- but i have not switched to master since working with Jason/Kostas.

weeds (Wed, 19 Apr 2017 14:59:51 GMT):
Do you want me to add sprint tag to 2862 - yes for sprint 16

weeds (Wed, 19 Apr 2017 15:00:02 GMT):
Will -- 2351 on logging

weeds (Wed, 19 Apr 2017 15:01:01 GMT):
this is one i have 2 crs and merged and reviewed up to this point- it will make it easier to set gossip/ledger to different log levels to default and allow you up and running to set components wiht one line call instead of having to lop through all the modules- it will touch a lot of files with a logger- but it will be a one character change so it uses my new method to start up the logger so we can keep track of it and update accordingly, and i will have out for review if all goes according to plan

weeds (Wed, 19 Apr 2017 15:01:23 GMT):
Binh- sooner we get merged the better provided gets past the code reviews

weeds (Wed, 19 Apr 2017 15:01:39 GMT):
put a note on the review channel on that so folks know

weeds (Wed, 19 Apr 2017 15:03:23 GMT):
on the ci- we can easily fail the verify if the maintainers want that. When they look at the PR all the information and the jenkins link show the failure. The e2e failing could be if any of the sdk's have an issue, so that is worth discussing, if one sdk is busted to we want to fail the verify. If the behave fails, we can def enable the verify the -1. Is there someone in particular that is interested? Whatever Binh want. There have been a recent run of issues and Ramesh still opens issues Jira Bugs on the failures (from Barry)--- Binh is going to reach out to Barry

mastersingh24 (Wed, 19 Apr 2017 15:54:59 GMT):
[ I thought we were deferring anything having to do with channel config/update transaction other than supporting sending the output generated by configtxgen](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZjhCBpGAME6TeT6ow) @weeds

mastersingh24 (Wed, 19 Apr 2017 15:57:45 GMT):
[ Is there a JIRA for this?](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=9CSrJTHHhJ7Kxooqr) @weeds

elli-androulaki (Wed, 19 Apr 2017 16:00:18 GMT):
Hi @mastersingh24 there is no jira item/bug related to this. @aso is about to create one.

mastersingh24 (Wed, 19 Apr 2017 16:01:53 GMT):
ok - figured that was the case as I could not find it. I assume the issue here is that we are not checking the endorsement policy for the called chaincode at commit time? (i.e. we only checked the endorsement policy for the calling in chaincode)?

mastersingh24 (Wed, 19 Apr 2017 16:02:01 GMT):
but I'll read the JIRA in any case

elli-androulaki (Wed, 19 Apr 2017 16:03:07 GMT):
yes

elli-androulaki (Wed, 19 Apr 2017 16:04:12 GMT):
and this goes even worse, cause from the moment an attacker is able to instantiate its chaincode (which now anyone can do) with its own endorsement policy, it can use this "gap" to push changes to other chaincodes in the chain without satisfying their endorsement policy

elli-androulaki (Wed, 19 Apr 2017 16:04:40 GMT):
@aso can give you more info on this.

aso (Wed, 19 Apr 2017 16:06:18 GMT):
basically it somehow voids the protection afforded by endorsement policies - you'd think that the namespace of a cc can only be changed with enough endorsements for *that* chaincode, but in reality, enough endorsements for *any* chaincode in the channel can write anywhere in the channel

weeds (Wed, 19 Apr 2017 16:10:18 GMT):
I asked Jim to comment on eventing security channel creation support and channel update for nodejs.sdk- i do recall that discussion gari

weeds (Wed, 19 Apr 2017 16:10:42 GMT):
or maybe it was in reference to java sdk

jimthematrix (Wed, 19 Apr 2017 16:10:56 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=o6C7w68fQyDEPE6aT) @mastersingh24 you signed off on having the node SDK but not java SDK support channel creation without relying on the configtxgen tool, @weeds and @rickr were witnessing that phone call ;-)

jimthematrix (Wed, 19 Apr 2017 16:10:56 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=o6C7w68fQyDEPE6aT) @mastersingh24 you supported the proposal to have the node SDK but not java SDK support channel creation without relying on the configtxgen tool, @weeds and @rickr were witnessing that phone call ;-)

yacovm (Wed, 19 Apr 2017 16:11:20 GMT):
In my opinion the whole CC2CC endorsement thing is a bug

yacovm (Wed, 19 Apr 2017 16:11:24 GMT):
not a feature

weeds (Wed, 19 Apr 2017 16:11:27 GMT):
yes, agree Jim- unless there is a change

weeds (Wed, 19 Apr 2017 16:11:58 GMT):
i have to go with what you/Gari and other maintainers suggest here

yacovm (Wed, 19 Apr 2017 16:12:11 GMT):
(I mean, of course- that although we have said that we do not merge features, this should be considered as an acute bug)

aso (Wed, 19 Apr 2017 16:18:38 GMT):
agreed - and it's a security bug, and so it's a vulnerability and not just a bug imho

elli-androulaki (Wed, 19 Apr 2017 16:20:05 GMT):
agreed too

binhn (Wed, 19 Apr 2017 16:25:41 GMT):
you are making some big assumptions here 1) somehow the network is open that anyone can deploy chaincodes -- this is wrong and can be locked down 2) assumed #1, would someone be such malicious and put his ID on the private member-only network? so I do agree that it's worth fixing if we can get to it; otherwise doc it

binhn (Wed, 19 Apr 2017 16:25:41 GMT):
you are making some big assumptions here 1) somehow the network is open that anyone can deploy chaincodes -- the lscc can be locked down 2) assumed #1, would someone be such malicious and put his ID on the private member-only network? so I do agree that it's worth fixing if we can get to it; otherwise doc it

angelnu (Wed, 19 Apr 2017 16:26:12 GMT):
Has joined the channel.

weeds (Wed, 19 Apr 2017 16:27:35 GMT):
@binhn side topic- i got this weird suggestion that we move to use the newer golang 1.7+. i don't think that was planned for version 1.0 nor was it checked in- unless I missed it- correct?

yacovm (Wed, 19 Apr 2017 16:32:08 GMT):
@binhn I think a more likely scenario is not someone who is malicious, but someone who is un-informed or doesn't understand how things work - writes a chaincode that has an endorsement policy of "anyone can do anything" - and that chaincode receives chaincode names as input or something

mastersingh24 (Wed, 19 Apr 2017 16:34:38 GMT):
[ I'm very confused here - unless I don't understand the bug. If I call a chaincode from another chaincode within the same channel and we don't validate the endorsements for each chaincode against it's policy, then we have a security hole based on the model. ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=e2nAJLRinTKQEw9ro) @binhn

aso (Wed, 19 Apr 2017 16:37:14 GMT):
that's my understanding too @mastersingh24

elli-androulaki (Wed, 19 Apr 2017 16:48:05 GMT):
So, if i understand what @binhn is saying is that if we allow chaincode deployment within a restricted set of users that are trusted (lscc locked down) then we can say we trust them to pick endorsement policies approprietly for chaincodes that invoke other chaincodes. But currently now we do not have such lock down of LCCC (with Matthias' change the only thing that we allow is the chaincode instantiation policy that is defined by its creator that could be "also faked" to be satisfied by the attacker's certificate. The creator of course can be set accountable for its deeds due to the signature check, if the signature was checked by endorsement policy but endorsement policy can be also "accept all".

elli-androulaki (Wed, 19 Apr 2017 16:48:05 GMT):
So, if i understand what @binhn is saying is that if we allow chaincode deployment within a restricted set of users that are trusted (lscc locked down) then we can say we trust them to pick endorsement policies approprietly for chaincodes that invoke other chaincodes. But currently now we do not have such lock down of LCCC (with Matthias' change the only thing that we allow is the chaincode instantiation policy that is defined by its creator that could be "also faked" to be satisfied by the attacker's certificate). New (attacker) chaincodes can specify a convenient endorsement policy for the attacker, that can use this to modify any chaincode's state.

elli-androulaki (Wed, 19 Apr 2017 16:51:10 GMT):
W.r.t. accountability, it is true the signatures of the invoker, and of the instantiator of the chaincode would be there. And any of them upon inspection of the chain can be set accountable. But in the mean time this state changes may have triggered other changes to other chains (that use cahincode to chaincode queries) that is hard to trace...

elli-androulaki (Wed, 19 Apr 2017 16:51:45 GMT):
Maybe easier to fix it and be safe from this headache ...

binhn (Wed, 19 Apr 2017 16:58:50 GMT):
@mastersingh24 it is a security issue as discussed on the call but can be managed with a modified lscc acl

aso (Wed, 19 Apr 2017 17:07:20 GMT):
I'm not sure it can though.. sure, if you lockdown lscc you can't have just anyone pull this attack

aso (Wed, 19 Apr 2017 17:07:55 GMT):
but you can still circumvent endorsement policies

aso (Wed, 19 Apr 2017 17:08:29 GMT):
e.g. with the endorsement policy of cc1 I get to change cc2's state (bypassing cc2's endorsment policy checks)

mastersingh24 (Wed, 19 Apr 2017 17:22:59 GMT):
Here's my suggestion(s): 1) Create a JIRA item explaining the issue 2) Within the JIRA issue write up the "proper" solution 3) Assess the invasiveness of the work - e.g. will we have to change any of the underlying structures (i.e. I have not looked deeply at the code but it does not look like things are as straightforward as one might hope) 4) If structures do need to change and we don't think we can be backward compatible with the changes (e.g. parsing events, etc), the best decision is to fix it 5) If the fix could be made later without breaking things, assess the seriousness of the vulnerability and decide if this can be deferred to a patch release (e.g. 1.0.1)

SotirisAlfonsos (Wed, 19 Apr 2017 21:20:41 GMT):
Has joined the channel.

SotirisAlfonsos (Thu, 20 Apr 2017 10:37:58 GMT):
I have an issue with endorsement of transactions in the e2e example. I hope this is the right section for it. I have 4 peers( 2 in Org0, 2 in Org1 ) 1 orderer and one client. I have my chaincode installed in all of them and instantiate it on peer0 with peer chaincode instantiate -o orderer0:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $GOPATH/src/github.com/hyperledger/fabric/peer/crypto/orderer/localMspConfig/cacerts/ordererOrg0.pem -C mychannel -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org0MSP.member','Org1MSP.member')"

SotirisAlfonsos (Thu, 20 Apr 2017 10:37:58 GMT):
I have an issue with endorsement of transactions in the e2e example. I hope this is the right section for it. I have 4 peers( 2 in Org0, 2 in Org1 ) 1 orderer and one client. I have my chaincode installed in all of them and instantiate it on peer0 with peer chaincode instantiate -o orderer0:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $GOPATH/src/github.com/hyperledger/fabric/peer/crypto/orderer/localMspConfig/cacerts/ordererOrg0.pem -C mychannel -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a", "100", "b","200"]}' -P "AND ('Org0MSP.member','Org1MSP.member')" However it never gets endorsed because of the policy. Is there a way to solve this without the SDK?

SotirisAlfonsos (Thu, 20 Apr 2017 10:37:58 GMT):
I have an issue with endorsement of transactions in the e2e example. I hope this is the right section for it. I have 4 peers( 2 in Org0, 2 in Org1 ) 1 orderer and one client. I have my chaincode installed in all of them and instantiate it on peer0 with peer chaincode instantiate -o orderer0:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $GOPATH/src/github.com/hyperledger/fabric/peer/crypto/orderer/localMspConfig/cacerts/ordererOrg0.pem -C mychannel -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a", "100", "b","200"]}' -P "AND ('Org0MSP.member','Org1MSP.member')" However when i invoke a transaction it never gets endorsed because of the policy. Is there a way to solve this without the SDK?

mastersingh24 (Thu, 20 Apr 2017 11:32:56 GMT):
@SotirisAlfonsos - how are you invoking the transaction? Via the CLI? I think you'll have an issue doing that because your policy requires endorsement from both Org0 and Org1

mastersingh24 (Thu, 20 Apr 2017 11:32:56 GMT):
@SotirisAlfonsos - how are you invoking the transaction? Via the CLI? I think you'll have an issue doing that because your policy requires endorsement from both Org0 and Org1 and I think the CLI will only communicate with a single endorser

aso (Thu, 20 Apr 2017 11:33:05 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=xeHCHk3rYujmRxDMK) @mastersingh24 I've created a jira for this, https://jira.hyperledger.org/browse/FAB-3269

aso (Thu, 20 Apr 2017 11:33:39 GMT):
@elli-androulaki @adc @binhn @muralisr pls weigh in

SyneBlockChainTeam (Thu, 20 Apr 2017 11:36:53 GMT):

Message Attachments

SyneBlockChainTeam (Thu, 20 Apr 2017 11:36:53 GMT):
we have followed e2e_cli example for v1.0. we are able to test it with Peers 0 and 1 joined to organization Org0MSP. We tried joining Peer3 to Org0MSP with modifications in files [configtx.yaml] and [docker-compose.yaml] files but its giving error: root@06ad3d89fca4:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block 2017-04-20 11:34:06.750 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-04-20 11:34:06.750 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-04-20 11:34:09.751 UTC [flogging] GetModuleLevel -> DEBU 003 Module 'error' logger set to 'DEBUG' log level Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:110 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Please let us know if any other file needs to be modified apart from configtx.yaml and docker-compose.yaml. Or any other reason ? - Thanks
Message Attachments

SyneBlockChainTeam (Thu, 20 Apr 2017 11:36:53 GMT):
@mastersingh24, @muralisr we have followed e2e_cli example for v1.0. we are able to test it with Peers 0 and 1 joined to organization Org0MSP. We tried joining Peer3 to Org0MSP with modifications in files [configtx.yaml] and [docker-compose.yaml] files but its giving error: root@06ad3d89fca4:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block 2017-04-20 11:34:06.750 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-04-20 11:34:06.750 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-04-20 11:34:09.751 UTC [flogging] GetModuleLevel -> DEBU 003 Module 'error' logger set to 'DEBUG' log level Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:110 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Please let us know if any other file needs to be modified apart from configtx.yaml and docker-compose.yaml. Or any other reason ? - Thanks
Message Attachments

SyneBlockChainTeam (Thu, 20 Apr 2017 11:36:58 GMT):
we have followed e2e_cli example for v1.0. we are able to test it with Peers 0 and 1 joined to organization Org0MSP. We tried joining Peer3 to Org0MSP with modifications in files [configtx.yaml] and [docker-compose.yaml] files but its giving error: root@06ad3d89fca4:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block 2017-04-20 11:34:06.750 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-04-20 11:34:06.750 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-04-20 11:34:09.751 UTC [flogging] GetModuleLevel -> DEBU 003 Module 'error' logger set to 'DEBUG' log level Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:110 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Please let us know if any other file needs to be modified apart from configtx.yaml and docker-compose.yaml. Or any other reason ? - Thanks

SotirisAlfonsos (Thu, 20 Apr 2017 11:45:26 GMT):
Thank you for the clarification @mastersingh24 . Yes i am doing it via the client, sending the invoke command to one peer, peer0 lets say. I thought maybe there was a way to send the same chaincode invoke to different peers. I will install the sdk then, i think it will solve my problem.

mastersingh24 (Thu, 20 Apr 2017 11:47:48 GMT):
yeah - I think that will be easiest because the transaction which gets sent to the orderer actually is a wrapper around the endorsement returned from the peer. The SDK handles this case but the CLI will not

rahulhegde (Thu, 20 Apr 2017 13:18:28 GMT):
@Ratnakar @rameshthoomu @bmos299 @mastersingh24 @wlahti @muralisr Hello - I am getting following error during instantiation using PEER CLI ``` 054FDFA2DE49ECF780F1A9551CFDE73F16FDDFF56067539731427245CB004FFF Error: Error endorsing chaincode: rpc error: code = 2 desc = Transaction returned with failure: Failed extracting proposal fields. [Could not extract the channel header from the proposal: UnmarshalChannelHeader failed, err proto: bad wiretype for field common.ChannelHeader.Type: got wiretype 2, want 0] Usage: peer chaincode instantiate [flags] Global Flags: --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint -C, --chainID string The chain on which this command should be executed (default "testchainid") ``` Verified using peer -v; and the CLI and Peer are on the same version.

rahulhegde (Thu, 20 Apr 2017 13:18:28 GMT):
@Ratnakar @rameshthoomu @bmos299 @mastersingh24 @wlahti @muralisr Hello - I am getting following error during instantiation using PEER CLI ``` 054FDFA2DE49ECF780F1A9551CFDE73F16FDDFF56067539731427245CB004FFF Error: Error endorsing chaincode: rpc error: code = 2 desc = Transaction returned with failure: Failed extracting proposal fields. [Could not extract the channel header from the proposal: UnmarshalChannelHeader failed, err proto: bad wiretype for field common.ChannelHeader.Type: got wiretype 2, want 0] Usage: peer chaincode instantiate [flags] Global Flags: --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint -C, --chainID string The chain on which this command should be executed (default "testchainid") ``` Verified using peer -v; and the CLI and Peer are on the same version. Peer Logs

rahulhegde (Thu, 20 Apr 2017 13:18:28 GMT):
@Ratnakar @rameshthoomu @bmos299 @mastersingh24 @wlahti @muralisr Hello - I am getting following error during instantiation using PEER CLI ``` 054FDFA2DE49ECF780F1A9551CFDE73F16FDDFF56067539731427245CB004FFF Error: Error endorsing chaincode: rpc error: code = 2 desc = Transaction returned with failure: Failed extracting proposal fields. [Could not extract the channel header from the proposal: UnmarshalChannelHeader failed, err proto: bad wiretype for field common.ChannelHeader.Type: got wiretype 2, want 0] Usage: peer chaincode instantiate [flags] Global Flags: --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint -C, --chainID string The chain on which this command should be executed (default "testchainid") ``` Verified using peer -v; and the CLI and Peer are on the same version. Peer Logs ``` ^[[36m2017-04-20 06:39:56.692 UTC [chaincode] processStream -> DEBU 3416^[[0m [d207681d]Received message ERROR from shim ^[[36m2017-04-20 06:39:56.692 UTC [cauthdsl] func2 -> DEBU 3417^[[0m Principal evaluation fails: (&{%!s(int32=0)})%!(EXTRA []bool=[false]) ^[[31m2017-04-20 06:39:56.692 UTC [chaincode] processStream -> ERRO 3418^[[0m Got error: Failed extracting proposal fields. [Could not extract the channel header from the proposal: UnmarshalChannelHeader failed, err proto: bad wiretype for field common.ChannelHeader.Type: got wiretype 2, want 0] ^[[36m2017-04-20 06:39:56.692 UTC [cauthdsl] func1 -> DEBU 3419^[[0m Gate evaluation fails: (&{n:1 policies: }) ```

rmohta (Thu, 20 Apr 2017 13:28:33 GMT):
Has joined the channel.

rmohta (Thu, 20 Apr 2017 13:31:07 GMT):
In Fabric 1.0, do we need to have Root Peer (Peer 0) along with client Peer (Peer 1)?

rmohta (Thu, 20 Apr 2017 14:56:05 GMT):
Is there any reference as to, what do *peer chaincode package* do?

muralisr (Thu, 20 Apr 2017 14:57:17 GMT):
@rmohta there's some doc in docs/source/cc-packaging-and-signing.rst

rmohta (Thu, 20 Apr 2017 17:09:38 GMT):
Thank You @muralisr. One more question

rmohta (Thu, 20 Apr 2017 17:10:08 GMT):
If we use CouchDB with Peer, does Peer store state and both ledger database in CouchDB?

ankursam (Thu, 20 Apr 2017 18:20:09 GMT):
Has joined the channel.

toddinpal (Thu, 20 Apr 2017 21:11:17 GMT):
@rmohta As far as I know, there is only the file store for the ledger.

mastersingh24 (Thu, 20 Apr 2017 21:38:34 GMT):
@rmohta - `peer chaincode package` - TLDR - it packages up you chaincode for installation on peers. You can find details here - http://hyperledger-fabric.readthedocs.io/en/latest/cc-packaging-and-signing.html?highlight=package the blocks are stored in a file-based ledger and the current value of any key is stored in either leveldb or couchdb.

troyronda (Thu, 20 Apr 2017 21:51:19 GMT):
Docker open source -> Moby: https://github.com/moby/moby/pull/32691

akshay.lawange (Fri, 21 Apr 2017 12:30:25 GMT):
has anyone come across this one..

akshay.lawange (Fri, 21 Apr 2017 12:30:26 GMT):
Error: Error endorsing chaincode: rpc error: code = 2 desc = Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02: no buildable Go source files in /chaincode/input/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

simsc (Fri, 21 Apr 2017 13:03:57 GMT):
Here's is call in number for Peer scrum starting at 9:30. All are welcome

simsc (Fri, 21 Apr 2017 13:03:59 GMT):
peer scrum (1-888-426-6840 / 33682113)

simsc (Fri, 21 Apr 2017 13:05:15 GMT):
here are some dashboards we will look at

simsc (Fri, 21 Apr 2017 13:05:16 GMT):
https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404

simsc (Fri, 21 Apr 2017 13:05:35 GMT):
https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10104

simsc (Fri, 21 Apr 2017 13:06:27 GMT):
https://jenkins.hyperledger.org/view/fabric/job/fabric-merge-x86_64/1549/cobertura/

rmohta (Fri, 21 Apr 2017 14:06:00 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=xHjwsZiF2gYEDfBzo) @mastersingh24 I don't see that option when I do *peer chaincode package --help*. Community docker image not updated maybe?

simsc (Fri, 21 Apr 2017 14:38:04 GMT):
summary of scrum for those who could not attend. all comments welcome

simsc (Fri, 21 Apr 2017 14:38:29 GMT):
Dave from Composer team raised Jira 3301 as a blocker. Assigned to Jim Z

simsc (Fri, 21 Apr 2017 14:39:30 GMT):
CI is failing - needs to be fixed, impacting everyone. Enyeart pinging Ramesh

simsc (Fri, 21 Apr 2017 14:40:07 GMT):
reviewed Chris Ferris dashboard for defect backlog Left column, Second row

simsc (Fri, 21 Apr 2017 14:41:44 GMT):
reviewed Claytons sprint 16 dashboard. stepped through anything not in review or not done

simsc (Fri, 21 Apr 2017 14:44:26 GMT):
Node SDK - 1293 test item, 2555, sprint 16, 2816 is doc, 2843 2914 sprint 17, 2967 is close and is a sample, sprint 16

simsc (Fri, 21 Apr 2017 14:45:41 GMT):
Endorser 183 is murali's, 1348 done, 2942 3218 sprint 17 followup with luis

simsc (Fri, 21 Apr 2017 14:46:29 GMT):
Ledger 449, 1310, 1871 all test, 2025 sprint 17 this is logging we agreed all components need to do this and will continue to next week

simsc (Fri, 21 Apr 2017 14:47:26 GMT):
Java SDK - 648 maven needs ramesh, 1402 no feature work only doc, 2564 move to v1.1

simsc (Fri, 21 Apr 2017 14:47:51 GMT):
Java SDK - 2681 eta monday can't defer

simsc (Fri, 21 Apr 2017 14:48:30 GMT):
Wills logging CR - sprint 16

simsc (Fri, 21 Apr 2017 14:48:49 GMT):
Concesnus 3025 need to follow up with kostats

simsc (Fri, 21 Apr 2017 14:49:47 GMT):
Crypto - 2996 defer to v1.1

simsc (Fri, 21 Apr 2017 14:49:57 GMT):
Quality - jeff sprint 16

simsc (Fri, 21 Apr 2017 14:50:32 GMT):
Quality 2862 - jeff sprint 16

muralisr (Fri, 21 Apr 2017 14:55:56 GMT):
@simsc `CI is failing` - I see chaincode UT times creeping up again from 300 too 900+ and some UTs fail with timeout

muralisr (Fri, 21 Apr 2017 14:55:56 GMT):
not sure if its consistent

muralisr (Fri, 21 Apr 2017 15:01:15 GMT):
@simsc `Endorser 183 is murali's` I will work with @jiangyaoguo to complete remaining tasks

simsc (Fri, 21 Apr 2017 15:06:59 GMT):
also discussed Jenkins UT coverage report - fabric core

simsc (Fri, 21 Apr 2017 15:07:14 GMT):
bccsp/util - angelo will look to increase

simsc (Fri, 21 Apr 2017 15:07:23 GMT):
config/msp - ali to help increase

simsc (Fri, 21 Apr 2017 15:08:07 GMT):
txvalidator - allí to help

simsc (Fri, 21 Apr 2017 15:09:03 GMT):
discussed does it make sense to report coverage on test items such as configtxgen tool, bddtests, test utils etc

simsc (Fri, 21 Apr 2017 15:09:55 GMT):
at one time bdds could be run and generate cumulative results which demonstrate much higher coverage

wlahti (Fri, 21 Apr 2017 16:06:13 GMT):
Hi all, we've had a number of people expressing a desire to suppress certain log modules within their peer docker containers. For environments similar to the one created using `./network_setup.sh up`, I recommend the following: 1. connect to the CLI container `docker exec -it cli bash` 2. run the setlevel command with the CORE_PEER_ADDRESS environment variable provided to specify which peer you'd like to run the command against and the module name you would like to update: for example, `CORE_PEER_ADDRESS=peer1:7051 peer logging setlevel gossip/discovery#peer1:7051 warning` (making sure to update the peer address in the environment variable (and, for gossip-related modules, in the module name as well) to the value for your environment). Note: the key for now is to specify the module name exactly as it appears in your logs. Very soon, updating the log levels via regular expressions will be enabled and it will no longer take a long series of commands to dynamically update levels.

wlahti (Fri, 21 Apr 2017 16:06:13 GMT):
Hi all, I've noticed a number of people expressing a desire to suppress certain log modules within their peer docker containers. For environments similar to the one created using `./network_setup.sh up`, I recommend the following: 1. connect to the CLI container `docker exec -it cli bash` 2. run the setlevel command with the CORE_PEER_ADDRESS environment variable provided to specify which peer you'd like to run the command against and the module name you would like to update: for example, `CORE_PEER_ADDRESS=peer1:7051 peer logging setlevel gossip/discovery#peer1:7051 warning` (making sure to update the peer address in the environment variable (and, for gossip-related modules, in the module name as well) to the value for your environment). Note: the key for now is to specify the module name exactly as it appears in your logs. Very soon, updating the log levels via regular expressions will be enabled and it will no longer take a long series of commands to dynamically update levels.

simsc (Fri, 21 Apr 2017 18:13:44 GMT):
Follow up from Luis's Jira items today's scrum

simsc (Fri, 21 Apr 2017 18:13:54 GMT):
2942 target Saturday

simsc (Fri, 21 Apr 2017 18:14:07 GMT):
3218 moved to review just now

rmohta (Fri, 21 Apr 2017 21:33:10 GMT):
Does anyone know what's the exact command to run for upgrading chaincode? I tried `peer chaincode upgrade -n marbles -p github.com/marbles -v 2.0 -o orderer0:7050` and it threw me an error as ```

rmohta (Fri, 21 Apr 2017 21:33:10 GMT):
Does anyone know what's the exact command to run for upgrading chaincode? I tried `peer chaincode upgrade -n marbles -p github.com/marbles -v 2.0 -o orderer0:7050` and it threw me an error as below. Is there any extra argument to passed for upgrade that we *don't* pass for install?

rmohta (Fri, 21 Apr 2017 21:33:27 GMT):
```2017-04-21 21:05:38.251 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default escc 2017-04-21 21:05:38.251 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 005 Using default vscc Error: Empty JSON chaincode parameters must contain the following keys: 'Args' or 'Function' and 'Args' Usage: peer chaincode upgrade [flags] ```

muralisr (Fri, 21 Apr 2017 23:12:29 GMT):
@rmohta "upgrade" is equivalent to "instantiate". First you "install" version 2.0 and then you upgrade a previously instantiated version 1.0 on a channel to 2.0. So just like "instantiate", "upgrade" command takes a -c parameter which will be used to call the Init method of the 2.0 version of the chaincode on that channel. It gives you the opportunuity to do any upgrade tasks

muralisr (Fri, 21 Apr 2017 23:13:32 GMT):
@rmohta soon there shoukd be a doc on that

dave.enyeart (Sun, 23 Apr 2017 14:32:26 GMT):
@wlahti @muralisr Before this weekend, when I ran `go test -v` for verbose mode, it would dump out all the debug statements from the code during the test. This was very helpful for test development and debug. Now when I run `go test -v` it does not print out the debug. Is this related to the recent logging enhancements? How to get debug during test execution now?

yacovm (Sun, 23 Apr 2017 16:39:07 GMT):
@dave.enyeart now I think the default level is INFO

yacovm (Sun, 23 Apr 2017 16:39:43 GMT):
did you try to set the logging to debug with the `CORE_LOGGING_LEVEL=DEBUG` ?

dave.enyeart (Sun, 23 Apr 2017 16:39:58 GMT):
will try

dave.enyeart (Sun, 23 Apr 2017 16:41:22 GMT):
still dont see it with `CORE_LOGGING_LEVEL=DEBUG go test -v`

yacovm (Sun, 23 Apr 2017 16:43:33 GMT):
oh well, seems like it doesn't work for UTs

yacovm (Sun, 23 Apr 2017 16:43:57 GMT):
I think it's because the peer's initialization path does something that UTs don't

yacovm (Sun, 23 Apr 2017 16:43:57 GMT):
I think it's because the peer's initialization path does something with flogging that UTs don't

dave.enyeart (Sun, 23 Apr 2017 16:47:44 GMT):
ledger tests typically load core.yaml into viper, so i also tried changing default from info to debug in core.yaml. but still no luck. I'm not sure how go testing works with loggers. @wlahti could you investigate further?

dave.enyeart (Sun, 23 Apr 2017 16:47:44 GMT):
ledger tests typically load core.yaml into viper, so i also tried changing default from `info` to `debug` in core.yaml. but still no luck. I'm not sure how go testing works with loggers. @wlahti could you investigate further?

rmohta (Mon, 24 Apr 2017 14:17:03 GMT):
Do we have any document which lists how to generate certificate for the Peer and Orderer and what goes into the localMSPConfig folder?

smallant (Mon, 24 Apr 2017 17:44:57 GMT):
Has joined the channel.

kelly_ (Mon, 24 Apr 2017 19:46:13 GMT):
Has joined the channel.

padmaja (Tue, 25 Apr 2017 10:15:46 GMT):
Has joined the channel.

dbshah (Tue, 25 Apr 2017 13:18:31 GMT):
Any ideas on when do we see this error ```2017-04-25 13:12:23.371 UTC [blocksProvider] DeliverBlocks -> ERRO 03e Error verifying block with sequnce number 1, due to Failed to reach implicit threshold of 1 sub-policies, required 1 remaining 2017-04-25 13:12:23.371 UTC [blocksProvider] DeliverBlocks -> ERRO 03f Error verifying block with sequnce number 2, due to Failed to reach implicit threshold of 1 sub-policies, required 1 remaining ```

dbshah (Tue, 25 Apr 2017 13:19:57 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ESdQcyLK9T6QqWbfY) @rmohta there is a tool to generate certs https://github.com/hyperledger/fabric/tree/master/common/tools/cryptogen, it that helps

mrshah-ibm (Tue, 25 Apr 2017 13:21:26 GMT):
Has joined the channel.

rmohta (Tue, 25 Apr 2017 15:28:21 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=Gd4m4HWRq6r4SNQMY) @dbshah This helps. Thank You. Dumb question - do the certs generated by cryptogen signed by fabric-ca certs? Or that's not required?

dbshah (Tue, 25 Apr 2017 15:29:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=5Bv8yeHt8vc9NabR8) @rmohta Nope they are not signed by fabric-ca, this certs are self-signed and generated using openssl library i assume.

dbshah (Tue, 25 Apr 2017 15:30:42 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=sfsyHGKfyTv8ZNBf2) @dbshah This was an error on my end, this happened when i created the same channel on two orderers before they could communicate and thus network was in bad shape

rmohta (Tue, 25 Apr 2017 15:31:33 GMT):
cool thank you ^^

rmohta (Wed, 26 Apr 2017 03:22:44 GMT):
@muralisr @here Can someone help me understand configtx.yaml a bit more? Use of Application section. Location of MSPDir in the yaml file.

rangak (Wed, 26 Apr 2017 04:08:05 GMT):
Has joined the channel.

manish-sethi (Wed, 26 Apr 2017 06:59:53 GMT):
Has joined the channel.

weeds (Wed, 26 Apr 2017 13:32:31 GMT):
we are going to start scrum at 9:30 EST- 1-888-426-6840 / 33682113

weeds (Wed, 26 Apr 2017 13:32:38 GMT):
I will take notes here based on discussion

weeds (Wed, 26 Apr 2017 13:35:15 GMT):
Composer is a project on top of fabric, so we want to ask if they have any input on Version 1.0 fabric at this point- any defects?

weeds (Wed, 26 Apr 2017 13:35:38 GMT):
We can't seem to use a different directory from .hc.key.store JIRA 2940

weeds (Wed, 26 Apr 2017 13:35:51 GMT):
Caroline Daughtry is working-

weeds (Wed, 26 Apr 2017 13:36:14 GMT):
Jim indicated talking to users about this- but the API is difficult... so design needs to be improved. will add details in the JIRA

weeds (Wed, 26 Apr 2017 13:36:48 GMT):
The other is the large message when he responds in send proposal- JIRA 3301

weeds (Wed, 26 Apr 2017 13:37:30 GMT):
Let's look at Sprint 16 dashboard- we want to get to feature complete.

weeds (Wed, 26 Apr 2017 13:37:48 GMT):
https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404

weeds (Wed, 26 Apr 2017 13:38:04 GMT):
we were at 8 yesterday and we have 10

weeds (Wed, 26 Apr 2017 13:38:10 GMT):
so let's setp through the details

weeds (Wed, 26 Apr 2017 13:38:30 GMT):
SDK node-

weeds (Wed, 26 Apr 2017 13:39:12 GMT):
2843- networking issues- the difficulty is hard to reproduce-- you have to have some weird networking devices in between...

weeds (Wed, 26 Apr 2017 13:39:42 GMT):
Barry's team is trying to set up multihost environment-- we need to somehow insert Firewall-

weeds (Wed, 26 Apr 2017 13:40:15 GMT):
we need to beef this up with GRPC and TCP- but it's very hard to reproduce and verify the problem

weeds (Wed, 26 Apr 2017 13:40:34 GMT):
One of the Users in community- Gari was putting in enhancement to see if it takes care of the issue since that's the most reliable environment.

weeds (Wed, 26 Apr 2017 13:40:58 GMT):
@mastersingh24 need to ask when you will be able to work on this particular aspect

weeds (Wed, 26 Apr 2017 13:41:22 GMT):
2967- Sample app- the code is uploaded,,.. it's a list of 7 CRs

weeds (Wed, 26 Apr 2017 13:41:43 GMT):
i've been reviewing them along the way before they are uploaded- i think they can merge them by end of today

weeds (Wed, 26 Apr 2017 13:41:53 GMT):
this is all test code

weeds (Wed, 26 Apr 2017 13:42:50 GMT):
3164- add optional secret registration request-- this got moved from done to to do... there is no comment why this was done.. but Jim Zhang said he checked in code and merged-

weeds (Wed, 26 Apr 2017 13:43:14 GMT):
we believe Dong Pan made some error in Jira accidentally- no comments were added.

weeds (Wed, 26 Apr 2017 13:43:18 GMT):
we are moving back to done

weeds (Wed, 26 Apr 2017 13:43:26 GMT):
SDK Node-

weeds (Wed, 26 Apr 2017 13:43:46 GMT):
SDK JAva-

weeds (Wed, 26 Apr 2017 13:44:15 GMT):
6480 publish artifacts to maven repository- @rjones has not given any updates yet .. what is the update for this?

weeds (Wed, 26 Apr 2017 13:44:26 GMT):
Any outlook Ry?

weeds (Wed, 26 Apr 2017 13:44:46 GMT):
The team is really dependent on this.

weeds (Wed, 26 Apr 2017 13:45:17 GMT):
1402- V1 support developer mode- this is documentation... we think this is not feature work since only doc, moving out of sprint 16 dashboard.

weeds (Wed, 26 Apr 2017 13:46:23 GMT):
Jim indicated there are subtasks of feature stories in fabric-- so fabric enhanced access control policies- until SDK are done- it's not done

weeds (Wed, 26 Apr 2017 13:46:44 GMT):
i created subtasks to those stories- Rick has two of them across 5 different API calls --> When do you think that will get done per Rick?

weeds (Wed, 26 Apr 2017 13:47:05 GMT):
I have a real problem that i can't merge the private key with the utilitiy- it's probably not going to be until Friday.

weeds (Wed, 26 Apr 2017 13:47:18 GMT):
We need to find right api with the light library

weeds (Wed, 26 Apr 2017 13:50:01 GMT):
Fabric_CA 2597 it's a small piece of work- changing of api prefix urls.. if this changeset was merged- it would allow/ with no prefix and / api/v1, but it would not support all 3... or it could support all 3. with cffsl. What i'm trying to not break anyone, but to go ahead and get in support so all those calling fabric /ca can call the right one,.. and then i can remove the urls that we no longer support. What I can do-- i pushed this over a week ago- i will update merge set to support all three.. no way it could break anyone. it's already merged... so need to move to done

weeds (Wed, 26 Apr 2017 13:50:26 GMT):
Endorser-- 183

weeds (Wed, 26 Apr 2017 13:51:41 GMT):
seems like this is within a day of being submitted

weeds (Wed, 26 Apr 2017 13:53:22 GMT):
Fabric ledger- 3398-- this is really quality

weeds (Wed, 26 Apr 2017 13:53:29 GMT):
so not a "feature"

weeds (Wed, 26 Apr 2017 13:54:00 GMT):
Fabric- peer- fine tune log levels 2351-- is there anything left for this or just code enabling to use code?

weeds (Wed, 26 Apr 2017 13:54:22 GMT):
Will everything is in and enabled now. but I'm going to go through and do a couple to set ledger at peer startup and Yacov had request for couple of ones-- everything there and working

weeds (Wed, 26 Apr 2017 13:54:35 GMT):
It's all merged

weeds (Wed, 26 Apr 2017 13:54:45 GMT):
we just need to set different components

weeds (Wed, 26 Apr 2017 13:56:25 GMT):
this should be moved to quality

weeds (Wed, 26 Apr 2017 13:56:52 GMT):
2862 from Jeff Garrat-

weeds (Wed, 26 Apr 2017 13:57:08 GMT):
This is Kostas'- he's doing a rebase

weeds (Wed, 26 Apr 2017 13:57:19 GMT):
it was fixed late last night and it's done and green in CI and +2

weeds (Wed, 26 Apr 2017 13:57:32 GMT):
this should go into review.. but we have a document that we have to get done first

weeds (Wed, 26 Apr 2017 13:57:37 GMT):
before it can get in

weeds (Wed, 26 Apr 2017 13:58:00 GMT):
the document is completely orthogonal- it does not even account for Greg's config changes

weeds (Wed, 26 Apr 2017 13:58:32 GMT):
2 things- if you look at Nick's documentation last night- he refers to environment variable path we use

weeds (Wed, 26 Apr 2017 13:58:37 GMT):
we only use fabric_ che now

weeds (Wed, 26 Apr 2017 13:59:00 GMT):
This release tar file that we are putting out there and instructing users to download using curl- will also have code that is not using consortium and outdated with configtx yaml files

weeds (Wed, 26 Apr 2017 13:59:23 GMT):
we can merge this without the document, yes? We have to give folks out there document that belongs to the old code, so when they go to getting started it will work with them with the alpha level code.

weeds (Wed, 26 Apr 2017 13:59:35 GMT):
We can merge consortium and documentation later on-

weeds (Wed, 26 Apr 2017 14:00:13 GMT):
Getting started doc in code tell people to clone the repo and build from the repo. so if we merge the new stuff and they try to clone and build it would not work- meaning that the config tx would not work- so we need to divert them from cloning first

weeds (Wed, 26 Apr 2017 14:01:05 GMT):
@nickgaski Where are we in checking in the documentation? what is the ETA? we would like in 1/2 hour.

weeds (Wed, 26 Apr 2017 14:03:05 GMT):
Are there ANY OTHER FEATURES to be added?

weeds (Wed, 26 Apr 2017 14:03:19 GMT):
There are a few CR's that are pending in review since a week ago-- they have been reviewed and there are some changes.

weeds (Wed, 26 Apr 2017 14:03:28 GMT):
they are ready to be merged-

weeds (Wed, 26 Apr 2017 14:05:07 GMT):
Jim Zhang- indicated he missed coding setting of transient data in NODE SDK---> we'll get it done by today

weeds (Wed, 26 Apr 2017 14:05:29 GMT):
Besides HSM - all SDK stuff will be done

weeds (Wed, 26 Apr 2017 14:05:37 GMT):
HSM for Java specifically

weeds (Wed, 26 Apr 2017 14:05:40 GMT):
by Monday

weeds (Wed, 26 Apr 2017 14:06:06 GMT):
Do we have agreement whether we want node.sdk to support channel update? I thought we needed this- but the merge was holding on node sdk to support that

weeds (Wed, 26 Apr 2017 14:06:45 GMT):
yes, Binh feels we need to support that - i thought you and @mastersingh24 had discussion- maybe we just "push" the data through- the app would set up the config update and give it to the SDK and the SDK would "push it through" , and we would not provide specific api level at sdk level.

weeds (Wed, 26 Apr 2017 14:07:07 GMT):
we are buildling on top of JSON support-- and now for update- you have to use external tool, and I'm confused by this.

weeds (Wed, 26 Apr 2017 14:07:29 GMT):
@jimthematrix needs to discuss with @mastersingh24 on this topic as there is confusion

weeds (Wed, 26 Apr 2017 14:08:11 GMT):
The api we have is a level 1 api, and if we start adding more things and we discover there are changes... we should keep it minimum and not have any dependencies. Certain apis we allow users to use JSON and some we are stating you are on your own- so there are some inconsistencies

weeds (Wed, 26 Apr 2017 14:08:27 GMT):
We are living with inconsistency so we don't overexpose our APIs

weeds (Wed, 26 Apr 2017 14:08:58 GMT):
We will adjust the CR to do this

weeds (Wed, 26 Apr 2017 14:09:19 GMT):
if we have everything coded already- then might as well do the appropriate action, but if there is still area that we need to do- maybe we should defer?

weeds (Wed, 26 Apr 2017 14:09:41 GMT):
That CR is the first step,.. and there is a separate CR to support the consoritum- so it is not ready to go yet.

weeds (Wed, 26 Apr 2017 14:09:51 GMT):
Any other component leads that need to raise something that is not a feature?

weeds (Wed, 26 Apr 2017 14:10:55 GMT):
UNIT TEST- We are tracking this every day- I'm taking snapshots every day and tracking progress- since Monday we only went from 61% to 62%.

weeds (Wed, 26 Apr 2017 14:11:18 GMT):
We need to make much more progress here... and scorecard by squad showing the coverage.

weeds (Wed, 26 Apr 2017 14:12:03 GMT):
There is general agreement for test files- like bdd files- those can be removed from this list

weeds (Wed, 26 Apr 2017 14:12:30 GMT):
The protos- the pd.go files can be exlcuded but any other files must have full test coverage

weeds (Wed, 26 Apr 2017 14:14:46 GMT):
I want to move the tests into test directory- we need to get our code organized properly- test code does not need to be in prod code

weeds (Wed, 26 Apr 2017 14:14:56 GMT):
from CI reporting point of view- we can then exclude the directories

weeds (Wed, 26 Apr 2017 14:15:06 GMT):
i'm asking the exclusion of bdd tests.

weeds (Wed, 26 Apr 2017 14:16:12 GMT):
We have too many directories- we have a package that has one file in it- and sometimes no test in that file- because it's an interface- we should organize our code

weeds (Wed, 26 Apr 2017 14:16:38 GMT):
I have not seen any feedback on e-mail.. and Chris has agreed.

weeds (Wed, 26 Apr 2017 14:16:42 GMT):
what are folks thoughts on that?

weeds (Wed, 26 Apr 2017 14:16:57 GMT):
Jim zhang does feel we need to do that- the interdependencies it's not going to be done by end of today

weeds (Wed, 26 Apr 2017 14:17:20 GMT):
at least the first cut of this is to rename all our directories- some of us call test util, some mock test,.. can we consistently to mocks please.

weeds (Wed, 26 Apr 2017 14:17:50 GMT):
2nd iteration- move all the code from prod code-- functions that call mocks test data that is a function in product code module.. so we need to move all of that out of the product code to the package that it belongs to,.

weeds (Wed, 26 Apr 2017 14:18:01 GMT):
last iteration- consolidate mocks directory into a location that is easier to exclude

weeds (Wed, 26 Apr 2017 14:18:21 GMT):
We need to talk to Ramesh whether we can exclude top level directory yet

weeds (Wed, 26 Apr 2017 14:19:52 GMT):
for the report for what is appropriate and what is not

weeds (Wed, 26 Apr 2017 14:21:04 GMT):
we are going to use mocks_testutils

weeds (Wed, 26 Apr 2017 14:21:23 GMT):
AT hackfest- we are very very keen to get 85% + on test coverage

nhrishi (Wed, 26 Apr 2017 19:18:01 GMT):
Has joined the channel.

nhrishi (Wed, 26 Apr 2017 19:18:19 GMT):
Hi, Can someone pls help clarify endorsement policy and how end users can approve/reject the transaction. Let's say there 2 peers for 2 different bank (Bank A and B ). Bank A initiate a transaction on chaincode X using Bank A client app. It has endorsement policy that says Bank B.Member should sign. The transaction hits endorsement peer of B, it creates R/W, validates transaction and sign of peer A. It then forwards a endorsement to client app which waits for a Bank B member to sign the transaction. Once Bank B users signs the transaction (by approve/reject on UI), its forward back to Bank B Peer which in turn sends endorsment to Bank A client app. Client A app collects endorsment and submits to orderer. Orderer orders and creates a block and sends it to commiting peer to update the state and ledger. Can someone pls confirm this is correct flow.

rohitbordia (Thu, 27 Apr 2017 00:08:24 GMT):
Has joined the channel.

rohitbordia (Thu, 27 Apr 2017 00:25:26 GMT):
HI, does any one deployed fabric-peer on a swarm cluster

ansonlau3 (Thu, 27 Apr 2017 06:41:55 GMT):
Has joined the channel.

LoveshHarchandani (Thu, 27 Apr 2017 06:45:24 GMT):
Has joined the channel.

ZionTam (Fri, 28 Apr 2017 02:12:49 GMT):
can anyone explain the Anchor Peers? as the new example code in e2e_cli,the script add `updateAnchorPeers` function ``` https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/scripts/script.sh ``` what the Anchor Peers exactly is?the anchor peer is also endorser peer?just a little confused

muralisr (Fri, 28 Apr 2017 03:38:29 GMT):
@ZionTam docs/source/glossary.rst has a definition of it

muralisr (Fri, 28 Apr 2017 03:38:45 GMT):
channels.rst configtx.rst reference it

muralisr (Fri, 28 Apr 2017 03:38:51 GMT):
hope that helps

HubertYoung (Fri, 28 Apr 2017 05:50:28 GMT):
Has joined the channel.

HubertYoung (Fri, 28 Apr 2017 05:55:11 GMT):
Hi!I submit 20 transactions at the same time.But only one transaction commit successfully.Any ideas?Here is the log. 2017-04-28 03:08:16.005 UTC [kvledger] Commit -> INFO 19f Channel [foo]: Created block [29] with 10 transaction(s) 2017-04-28 03:08:18.271 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 1a0 Block [30] Transaction index [1] TxId [d38ae316767f61502417ea2681c2c7d7fbf3898897bac14edcab2cd5df28362f] marked as invalid by state validator. Reason code [11] 2017-04-28 03:08:18.272 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 1a1 Block [30] Transaction index [2] TxId [8aad508c2a92a093fc471ef9424a27dee8055eb72947a40296e03a31c0d262e6] marked as invalid by state validator. Reason code [11] 2017-04-28 03:08:18.272 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 1a2 Block [30] Transaction index [3] TxId [aa0382a5a8021d35f871a7367ccc67e4771665066843f8a5eaa7365155ace1c3] marked as invalid by state validator. Reason code [11]

wsh_bob (Fri, 28 Apr 2017 09:02:28 GMT):
Has joined the channel.

SyneBlockChainTeam (Fri, 28 Apr 2017 11:12:15 GMT):
@dave.enyeart ```3. Description: Joining Peer 2 on channel with orderer0 Syntax: CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block Issue: Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit```

SyneBlockChainTeam (Fri, 28 Apr 2017 11:12:15 GMT):
@dave.enyeart ```3. Description: Joining Peer 2 on channel with orderer0 Syntax: CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block Issue: Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit'''

SyneBlockChainTeam (Fri, 28 Apr 2017 11:12:15 GMT):
@dave.enyeart ```3. Description: Joining Peer 2 on channel with orderer0 Syntax: CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block Issue: Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit ```

SyneBlockChainTeam (Fri, 28 Apr 2017 11:12:15 GMT):
@dave.enyeart ``` Description: Joining Peer 2 on channel with orderer0 Syntax: CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block Issue: Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit ```

SyneBlockChainTeam (Fri, 28 Apr 2017 11:12:15 GMT):
@dave.enyeart ``` Description: Joining Peer 2 on channel with orderer0 Syntax: CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block Issue: Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit ```

SyneBlockChainTeam (Fri, 28 Apr 2017 11:12:15 GMT):
@dave.enyeart ```Description: Joining Peer 2 on channel with orderer0 Syntax: CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer0:7050 CORE_PEER_ADDRESS=peer2:7051 peer channel join -b mychannel.block Issue: Error: Error getting endorser client channel: PEER_CONNECTIONERROR - Error trying to connect to local peer: grpc: timed out when dialing /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:84 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:112 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:133 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/Description.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Description).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:111 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit ```

muralisr (Fri, 28 Apr 2017 11:21:09 GMT):
that's saying peer2 is not running

SyneBlockChainTeam (Fri, 28 Apr 2017 11:56:32 GMT):
@muralisr - how we will make sure that peer2 is running?

muralisr (Fri, 28 Apr 2017 12:00:34 GMT):
@SyneBlockChainTeam `docker ps` should show peer2 container running

SyneBlockChainTeam (Fri, 28 Apr 2017 12:04:22 GMT):

Message Attachments

SyneBlockChainTeam (Fri, 28 Apr 2017 12:04:37 GMT):
@muralisr - Peer2 is running

mffrench (Fri, 28 Apr 2017 13:35:43 GMT):
Hi, ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xaadd06] goroutine 1 [running]: panic(0xc70aa0, 0xc420010060) /opt/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchInstance).handleRequest(0xc4201319a0, 0xd53b79, 0x3, 0xc420226480, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:1265 +0xad6 github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchInstance).VerifyConnection(0xc4201319a0, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:337 +0x15d github.com/hyperledger/fabric/core/ledger/util/couchdb.CreateCouchInstance(0xc42000c06f, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4201ce9f0, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdbutil.go:44 +0x245 github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb.NewVersionedDBProvider(0xc4201ce9f0, 0xc4202064d0, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go:59 +0xc1 github.com/hyperledger/fabric/core/ledger/kvledger.NewProvider(0xc689e0, 0x0, 0xc42021f4d0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger_provider.go:90 +0x2bf github.com/hyperledger/fabric/core/ledger/ledgermgmt.initialize() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:59 +0x14e github.com/hyperledger/fabric/core/ledger/ledgermgmt.Initialize.func1() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:49 +0x14 sync.(*Once).Do(0x13b4dd0, 0xdd76a8) /opt/go/src/sync/once.go:44 +0xdb github.com/hyperledger/fabric/core/ledger/ledgermgmt.Initialize() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:50 +0x39 github.com/hyperledger/fabric/peer/node.serve(0xc4202366c0, 0x0, 0x1, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:95 +0x74 github.com/hyperledger/fabric/peer/node.glob..func1(0x135d900, 0xc4202366c0, 0x0, 0x1, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:83 +0x3f github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0x135d900, 0xc4202366a0, 0x1, 0x1, 0x135d900, 0xc4202366a0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x234 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x135e180, 0xf, 0xc4200120f5, 0x4) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x367 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x135e180, 0x2b, 0xc4200120f5) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b main.main() /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:110 +0x545 ``` I just catched some SIGSEGV from peer (git rev `b2a2b3b11481438639bf27ed10b99e490dd23b8c`) with CouchDB connection.

mffrench (Fri, 28 Apr 2017 13:35:43 GMT):
Hi, ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xaadd06] goroutine 1 [running]: panic(0xc70aa0, 0xc420010060) /opt/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchInstance).handleRequest(0xc4201319a0, 0xd53b79, 0x3, 0xc420226480, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:1265 +0xad6 github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchInstance).VerifyConnection(0xc4201319a0, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:337 +0x15d github.com/hyperledger/fabric/core/ledger/util/couchdb.CreateCouchInstance(0xc42000c06f, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4201ce9f0, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdbutil.go:44 +0x245 github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb.NewVersionedDBProvider(0xc4201ce9f0, 0xc4202064d0, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go:59 +0xc1 github.com/hyperledger/fabric/core/ledger/kvledger.NewProvider(0xc689e0, 0x0, 0xc42021f4d0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger_provider.go:90 +0x2bf github.com/hyperledger/fabric/core/ledger/ledgermgmt.initialize() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:59 +0x14e github.com/hyperledger/fabric/core/ledger/ledgermgmt.Initialize.func1() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:49 +0x14 sync.(*Once).Do(0x13b4dd0, 0xdd76a8) /opt/go/src/sync/once.go:44 +0xdb github.com/hyperledger/fabric/core/ledger/ledgermgmt.Initialize() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:50 +0x39 github.com/hyperledger/fabric/peer/node.serve(0xc4202366c0, 0x0, 0x1, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:95 +0x74 github.com/hyperledger/fabric/peer/node.glob..func1(0x135d900, 0xc4202366c0, 0x0, 0x1, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:83 +0x3f github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0x135d900, 0xc4202366a0, 0x1, 0x1, 0x135d900, 0xc4202366a0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x234 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x135e180, 0xf, 0xc4200120f5, 0x4) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x367 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x135e180, 0x2b, 0xc4200120f5) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b main.main() /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:110 +0x545 ``` I just catched some SIGSEGV from peer (git rev `b2a2b3b11481438639bf27ed10b99e490dd23b8c`) with CouchDB connection.

mffrench (Fri, 28 Apr 2017 13:35:43 GMT):
Hi, ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xaadd06] goroutine 1 [running]: panic(0xc70aa0, 0xc420010060) /opt/go/src/runtime/panic.go:500 +0x1a1 github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchInstance).handleRequest(0xc4201319a0, 0xd53b79, 0x3, 0xc420226480, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:1265 +0xad6 github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchInstance).VerifyConnection(0xc4201319a0, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:337 +0x15d github.com/hyperledger/fabric/core/ledger/util/couchdb.CreateCouchInstance(0xc42000c06f, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4201ce9f0, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdbutil.go:44 +0x245 github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb.NewVersionedDBProvider(0xc4201ce9f0, 0xc4202064d0, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go:59 +0xc1 github.com/hyperledger/fabric/core/ledger/kvledger.NewProvider(0xc689e0, 0x0, 0xc42021f4d0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger_provider.go:90 +0x2bf github.com/hyperledger/fabric/core/ledger/ledgermgmt.initialize() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:59 +0x14e github.com/hyperledger/fabric/core/ledger/ledgermgmt.Initialize.func1() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:49 +0x14 sync.(*Once).Do(0x13b4dd0, 0xdd76a8) /opt/go/src/sync/once.go:44 +0xdb github.com/hyperledger/fabric/core/ledger/ledgermgmt.Initialize() /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:50 +0x39 github.com/hyperledger/fabric/peer/node.serve(0xc4202366c0, 0x0, 0x1, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:95 +0x74 github.com/hyperledger/fabric/peer/node.glob..func1(0x135d900, 0xc4202366c0, 0x0, 0x1, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:83 +0x3f github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0x135d900, 0xc4202366a0, 0x1, 0x1, 0x135d900, 0xc4202366a0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x234 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x135e180, 0xf, 0xc4200120f5, 0x4) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x367 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x135e180, 0x2b, 0xc4200120f5) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b main.main() /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:110 +0x545 ``` I just catched some SIGSEGV from peer (git rev `b2a2b3b11481438639bf27ed10b99e490dd23b8c`) with CouchDB connection.

mffrench (Fri, 28 Apr 2017 13:37:08 GMT):
Would like to know if you were already aware of this issue (and if yes if there is some correction on some other revision) or if I need to raise some bug on Jira ?

muralisr (Fri, 28 Apr 2017 13:37:57 GMT):
@mffrench can you also post in fabric-ledger please ?

mffrench (Fri, 28 Apr 2017 13:38:19 GMT):
@muralisr yep !

simsc (Fri, 28 Apr 2017 14:06:16 GMT):
Here's summary of peer scrum meeting

simsc (Fri, 28 Apr 2017 14:06:36 GMT):
Dave (Composer) - raised issue on rocket chat its on alpha node sdk, related to grpc version, david to raise Jira Unit test coverage - Crypto up 3.5% nice work - Crypto - Change set pending and should raise coverage to 85%+ - Resources added Endorser, Orderer to improve coverage - Gossip - Change set pending and should raise coverage to 90%+ - Binh working on how to restructure protos files - We want meaning UT, NOT just for increasing numbers. Stressed this point Features 2843 - Gari looking at NW, Mult host set up in lab using vlaunch, need to reproduce, really should be a defect, there is no feature work, its a extremely complex problem to solve 2967 - Examples; 4 of 5 complete. Eta for the 5th one is eod 648 - maven, no real update here. need LF 2914 - update config, this is 'in review' but needs work because of fabric changes. ETA EOD

muralisr (Fri, 28 Apr 2017 14:08:09 GMT):
@simsc I'm working on shim/ test coverage. a bit of refactoring needed given some history behind it

pvrbharg (Sat, 29 Apr 2017 23:40:03 GMT):
Has joined the channel.

passkit (Sun, 30 Apr 2017 12:33:56 GMT):
Have an issue installing chaincode on the latest build. Peer fails with the following: ``` 2017-04-30 12:27:43.834 UTC [ccprovider] NewCCContext -> DEBU 3af NewCCCC (chain=,chaincode=lscc,version=1.0.0-snapshot-8f7bfc3,txid=5dbfdd549aae2cdac278adfdaf4f47690693b4feca69a16c79c898db7b2ad026,syscc=true,proposal=0xc4225ab1d0,canname=lscc:1.0.0-snapshot-8f7bfc3 2017-04-30 12:27:43.834 UTC [chaincode] ExecuteChaincode -> ERRO 3b0 Error executing chaincode: a syscc should be running (it cannot be launched) lscc:1.0.0-snapshot-8f7bfc3 ```

passkit (Sun, 30 Apr 2017 12:35:52 GMT):
Does the peer need to have a copy of a 1.0.0-snapshot-8f7bfc3 image? Was working flawlessly before the changes with consortiums were pushed

muralisr (Sun, 30 Apr 2017 14:05:00 GMT):
@passkit a possibility is that the image version does not match 1.0.0-snapshot-8f7bfc3

yacovm (Sun, 30 Apr 2017 14:28:56 GMT):
Hello all. There is a bug I think we would want to fix for V1.0 that makes the peer's startup time linear with the size of its chains https://jira.hyperledger.org/browse/FAB-3525

passkit (Sun, 30 Apr 2017 16:29:48 GMT):
@muralisr I have manually updated the image on that server and even after it is available, I get the following: ``` 2017-04-30 16:25:27.966 UTC [protoutils] ValidateProposalMessage -> DEBU 2f0 ValidateProposalMessage starts for signed proposal 0xc4216bf7a0 2017-04-30 16:25:27.969 UTC [protoutils] validateChannelHeader -> DEBU 2f1 validateChannelHeader info: header type 3 2017-04-30 16:25:27.969 UTC [protoutils] checkSignatureFromCreator -> DEBU 2f2 checkSignatureFromCreator starts 2017-04-30 16:25:27.970 UTC [protoutils] checkSignatureFromCreator -> DEBU 2f3 checkSignatureFromCreator info: creator is &{PASSKIT c12e6da319ddc75a03a485c6ebbfed98ff6a5595d7e0c9b11ee98b181a53a5aa} 2017-04-30 16:25:27.970 UTC [protoutils] checkSignatureFromCreator -> DEBU 2f4 checkSignatureFromCreator info: creator is valid 2017-04-30 16:25:27.986 UTC [protoutils] checkSignatureFromCreator -> DEBU 2f5 checkSignatureFromCreator exists successfully 2017-04-30 16:25:27.986 UTC [protoutils] validateChaincodeProposalMessage -> DEBU 2f6 validateChaincodeProposalMessage starts for proposal 0xc420236e10, header 0xc421656000 2017-04-30 16:25:27.986 UTC [protoutils] validateChaincodeProposalMessage -> DEBU 2f7 validateChaincodeProposalMessage info: header extension references chaincode name:"lscc" 2017-04-30 16:25:27.992 UTC [ccprovider] NewCCContext -> DEBU 2f8 NewCCCC (chain=,chaincode=lscc,version=1.0.0-snapshot-8f7bfc3,txid=a0f7acde983206bf114cd4ae09729ececfca90cbf627200ea8e5b00219ec1bac,syscc=true,proposal=0xc420236e10,canname=lscc:1.0.0-snapshot-8f7bfc3 2017-04-30 16:25:27.992 UTC [chaincode] ExecuteChaincode -> ERRO 2f9 Error executing chaincode: a syscc should be running (it cannot be launched) lscc:1.0.0-snapshot-8f7bfc3 ```

passkit (Sun, 30 Apr 2017 16:31:20 GMT):
This is with the marbles02 chaincode, and a freshly flushed ledger.

passkit (Sun, 30 Apr 2017 16:52:53 GMT):
@muralisr which image exactly should match. The snapshot version is embedded in the peer binary at compile time, and I am using the fabric-ccenv image from the same build. Looking at the code, it is not obvious precisely what image it is looking for to run syscc. Can anyone point me in the right direction?

mastersingh24 (Sun, 30 Apr 2017 21:33:32 GMT):
@passkit - what are you using to install the chaincode?

passkit (Sun, 30 Apr 2017 21:35:15 GMT):
The CLI - same as the e2e

passkit (Mon, 01 May 2017 03:50:11 GMT):
`peer chaincode install -n marbles2 -v 0 -p github.com/hyperledger/fabric/examples/chaincode/go/marbles02`

jimthematrix (Mon, 01 May 2017 04:10:43 GMT):
getting the following errors, seems to be in TLS handshake: ```orderer0 | 2017/05/01 04:00:22 grpc: Server.Serve failed to complete security handshake from "172.20.0.7:40032": EOF orderer0 | 2017/05/01 04:00:22 grpc: Server.Serve failed to complete security handshake from "172.20.0.6:59462": EOF orderer0 | 2017/05/01 04:00:23 grpc: Server.Serve failed to complete security handshake from "172.20.0.7:40036": EOF orderer0 | 2017/05/01 04:00:24 grpc: Server.Serve failed to complete security handshake from "172.20.0.6:59466": EOF orderer0 | 2017/05/01 04:00:24 grpc: Server.Serve failed to complete security handshake from "172.20.0.7:40040": EOF peer0 | 2017-05-01 04:00:24.944 UTC [ConnProducer] NewConnection -> ERRO 036 Failed connecting to orderer0:7050 , error: grpc: timed out when dialing peer0 | 2017-05-01 04:00:24.944 UTC [deliveryClient] connect -> ERRO 037 Failed obtaining connection: Could not connect to any of the endpoints: [orderer0:7050] peer2 | 2017-05-01 04:00:25.018 UTC [ConnProducer] NewConnection -> ERRO 036 Failed connecting to orderer0:7050 , error: grpc: timed out when dialing peer2 | 2017-05-01 04:00:25.018 UTC [deliveryClient] connect -> ERRO 037 Failed obtaining connection: Could not connect to any of the endpoints: [orderer0:7050]

jimthematrix (Mon, 01 May 2017 04:11:36 GMT):
any idea what might be causing it or how to go about investigating? @mastersingh24 @bmos299

jimthematrix (Mon, 01 May 2017 04:48:28 GMT):
FWIW i've tried adding GRPC_TRACE=all and GRPC_VERBOSITY=DEBUG to docker-compose.yaml but they don't seem to have any effect

jimthematrix (Mon, 01 May 2017 05:21:12 GMT):
here's the wireshark capture, I'm no TCP experts but it looks fine to me (as far as TLS handshake is concerned)?

jimthematrix (Mon, 01 May 2017 05:21:23 GMT):

Message Attachments

mastersingh24 (Mon, 01 May 2017 11:07:42 GMT):
@jimthematrix - which setup are you running?

weeds (Mon, 01 May 2017 13:05:28 GMT):
Peer scrum will start at 9:30 using the following phone number: peer scrum (1-888-426-6840 / 33682113)

bmos299 (Mon, 01 May 2017 13:11:17 GMT):
@jimthematrix Hi Jim, do you have the raw .pcap? I can format it out and give you some information.

jimthematrix (Mon, 01 May 2017 13:30:11 GMT):
@mastersingh24 I'm using the set up for node sdk e2e in fabric-sdk-node/test/fixtures/docker-compose.yaml. I've made some updates to eliminate using the separate tls keys and certs as part of gerrit 8389 but the same behavior is observed with or without that update

jimthematrix (Mon, 01 May 2017 13:31:02 GMT):
@bmos299 I'll send it to you in a minute

weeds (Mon, 01 May 2017 13:32:54 GMT):
Scrum call starting

weeds (Mon, 01 May 2017 13:36:07 GMT):
Feature complete--> We still have 1 outstanding feature FAB 648--> @bmos299 can you post the outlook of discussion with Ramesh here as well as add to FAB 648

weeds (Mon, 01 May 2017 13:37:03 GMT):
FOR SDK- he said we have addressed api changes,.. but the build is still failing due to communication issue between orderer and peers.. the peers can not reach the orderer.... he compared ci to SDK-- >

weeds (Mon, 01 May 2017 13:37:22 GMT):
He sent wire shark capture to Barry Mosakowski, but there is no failure that is reported on wire shark on TCP level

mastersingh24 (Mon, 01 May 2017 13:37:34 GMT):
@jimthematrix - does it run locally and just not in CI?

weeds (Mon, 01 May 2017 13:37:47 GMT):
FAB-3459 (Node SDK) FAB-3378 (Java SDK) ---defects opened

jimthematrix (Mon, 01 May 2017 13:38:04 GMT):
@mastersingh24 same problem when running locally

weeds (Mon, 01 May 2017 13:38:18 GMT):
Somebody create a single docker compose config that we use for testing with node sdk, java sdk, and the e2e cli

weeds (Mon, 01 May 2017 13:39:11 GMT):
Everyone needs to work against the same fabric

weeds (Mon, 01 May 2017 13:40:48 GMT):
This is being assigned to @jimthematrix @bmoss299 @binhn

weeds (Mon, 01 May 2017 13:41:21 GMT):
@bmos299

weeds (Mon, 01 May 2017 13:42:11 GMT):
For unit test-> Luis/Kostas working together for consensus @kostas Anil is going to go help @muralisr

jimthematrix (Mon, 01 May 2017 13:42:35 GMT):

Message Attachments

jimthematrix (Mon, 01 May 2017 13:42:42 GMT):
@bmos299 see above

weeds (Mon, 01 May 2017 13:42:53 GMT):
Gossip team is going to go help @muralisr---> Gari did agree their unit test is looking good.

weeds (Mon, 01 May 2017 13:44:21 GMT):
Defects--> Everyone needs to triage their defects- they need to make sure the list really applies to version 1.0

weeds (Mon, 01 May 2017 13:45:27 GMT):
They also need to "prioritize" the defects appropriately-- the right version,.. and making sure highest priority.

weeds (Mon, 01 May 2017 13:45:49 GMT):
Ledger-> he's tagged the ones to 1.0,.. but he needs to put future to future, and will scrub priority today

weeds (Mon, 01 May 2017 13:46:51 GMT):
SDK-> Jim scrubbed on Friday- majority of defects are the ones that are outstanding...he does feel they have the right priorities on them- he did that on the dashboard.. we need to use the priority field.

weeds (Mon, 01 May 2017 13:46:55 GMT):
he will update that

weeds (Mon, 01 May 2017 13:47:10 GMT):
highest, high,etc,.. don't use the dashboard.

weeds (Mon, 01 May 2017 13:47:58 GMT):
CR is going to come in- have JIRA attached to it,.. look at the JIRA,.. and make sure you put the priority - highest, high,etc,.

weeds (Mon, 01 May 2017 13:48:35 GMT):
CA-> Keith,.. it's been several days since he's scrubbed, so he will redo and will add priority in.

weeds (Mon, 01 May 2017 13:48:47 GMT):
Saad/Keith comfortable to get defects down as well as unit test increase

weeds (Mon, 01 May 2017 13:49:26 GMT):
Crypto-> Angelo - we are almost done for test coverage... we have all change sets and everything under review.

weeds (Mon, 01 May 2017 13:49:36 GMT):
we need help on reviewing

weeds (Mon, 01 May 2017 13:49:50 GMT):
We have not triaged our defect backlog, but we will get that done and put priorities in.

weeds (Mon, 01 May 2017 13:49:58 GMT):
it may have to happen tomorrow

weeds (Mon, 01 May 2017 13:50:19 GMT):
scratch that last comment- Elli has done this work per Gari (Elli is out today)

weeds (Mon, 01 May 2017 13:50:27 GMT):
Consensus-> Have to check with Kostas off line

weeds (Mon, 01 May 2017 13:50:39 GMT):
May ask Dave to help on Murali's stuff.

weeds (Mon, 01 May 2017 13:51:18 GMT):
@simsc to get with Barry and team to make sure no defects against enterprise quality team.

weeds (Mon, 01 May 2017 13:51:24 GMT):
on defects,etc,.

weeds (Mon, 01 May 2017 13:52:28 GMT):
Defects were opened against each component for logging

weeds (Mon, 01 May 2017 13:52:41 GMT):
that need to be addressed

weeds (Mon, 01 May 2017 13:53:40 GMT):
Will plans to send some information on Hyperledger-fabric emailing list on guidance on this

weeds (Mon, 01 May 2017 13:53:49 GMT):
When you return error- we should log a corresponding logging statement in the log

weeds (Mon, 01 May 2017 13:53:57 GMT):
so you can correlate what client received and what happened on server side.

weeds (Mon, 01 May 2017 13:54:10 GMT):
Sometimes we are getting client log- but no indication of when it happens and when.

weeds (Mon, 01 May 2017 13:54:24 GMT):
The framework will help generate the call stack based on error received

weeds (Mon, 01 May 2017 13:54:32 GMT):
IF everybody follows the new approach.

weeds (Mon, 01 May 2017 13:54:39 GMT):
We still need to LOG the error- this is part of the guidance

weeds (Mon, 01 May 2017 13:54:52 GMT):
Any time create an error- put a warning or error message.

weeds (Mon, 01 May 2017 13:55:05 GMT):
Will may update the example and clarify this in the document

weeds (Mon, 01 May 2017 13:55:12 GMT):
Every error is returning a call stack.

weeds (Mon, 01 May 2017 13:55:44 GMT):
Keith worried this may not be non-standard-- so like unexpected errors,.. but the framework gives you option wiht callstack and without.

weeds (Mon, 01 May 2017 14:00:22 GMT):
make sure we are writing solid code (we should be done with features at this point unless it's serviceability), get good test coverage and do the right thing- tests should be covering both positive and negative testing... don't race to the end...

weeds (Mon, 01 May 2017 14:00:44 GMT):
it's more important to stop, do the right thing and do the right test coverage- versus adding test coverage to increase the percentages.

jimthematrix (Mon, 01 May 2017 14:03:16 GMT):
@mastersingh24 in that setup, genesis block for the orderer and channel config to create channel were generated with this file using the latest fabric as of this morning

jimthematrix (Mon, 01 May 2017 14:04:27 GMT):

Message Attachments

weeds (Mon, 01 May 2017 14:06:59 GMT):
Jim, Barry, Ratnakar, and Binh after the scrum call are talking about the 1 docker image as well as debugging the issue on the SDK.

weeds (Mon, 01 May 2017 14:07:09 GMT):
I'm going to take notes here for community awareness as a result

weeds (Mon, 01 May 2017 14:08:55 GMT):
Jim is suggesting- we should take initial step of configtx gen output...

weeds (Mon, 01 May 2017 14:09:30 GMT):
this is fabric sample config- configtxgen uses

weeds (Mon, 01 May 2017 14:09:56 GMT):
do you clone this in your repo? yes, i did a get pull 50 minutes ago...

weeds (Mon, 01 May 2017 14:10:27 GMT):
And then I do tweek something-> I tweek configtx.yaml which gets you orderer, channels genesis block.

weeds (Mon, 01 May 2017 14:11:14 GMT):
there is a failure right now- orderer failing to complete security handshake. from peer side it's a time out.

weeds (Mon, 01 May 2017 14:12:13 GMT):
they are looking at orderer-peer-tls-failure-pcping.txt

weeds (Mon, 01 May 2017 14:13:55 GMT):
Barry thinks this looks like a cyber suite issue.

weeds (Mon, 01 May 2017 14:16:35 GMT):
In his- Client said 2B was his 2nd choice... but the first one is rsa for server

weeds (Mon, 01 May 2017 14:16:46 GMT):
the common name in the cert must match the host name in the http header.

weeds (Mon, 01 May 2017 14:17:22 GMT):
wait- this is between peer and orderer

weeds (Mon, 01 May 2017 14:17:30 GMT):
the sending was from the peer and the other is from orderer

weeds (Mon, 01 May 2017 14:19:28 GMT):
Barry is thinking- maybe it has to do with the name?

weeds (Mon, 01 May 2017 14:19:31 GMT):
they agreed on cipher suite

weeds (Mon, 01 May 2017 14:19:43 GMT):
The cert says- example peer zero.org 1. com

weeds (Mon, 01 May 2017 14:19:46 GMT):
but the host name is peer zerio

weeds (Mon, 01 May 2017 14:19:53 GMT):
how do we do the override from the peer side?

jimthematrix (Mon, 01 May 2017 14:21:09 GMT):
hi @mastersingh24 how to set the hostname override for TLS on the peer?

weeds (Mon, 01 May 2017 14:22:38 GMT):
you have to call the service name to match the host name

weeds (Mon, 01 May 2017 14:23:31 GMT):
Jim adding to see if that works

weeds (Mon, 01 May 2017 14:24:34 GMT):
so in this call- the peer is the client... it's the server name which is orderer that needs over-riding

weeds (Mon, 01 May 2017 14:31:01 GMT):
So Jim- put in docker compose when we set up the orderer- we had it be named- it has the same name as the cert from cryptogen

weeds (Mon, 01 May 2017 14:31:14 GMT):
Jim said this works--

weeds (Mon, 01 May 2017 14:31:27 GMT):
Ratnakar is indicating- we don't use cryptogen tool- we are using old certificates

weeds (Mon, 01 May 2017 14:31:31 GMT):
for the CLI

weeds (Mon, 01 May 2017 14:31:44 GMT):
we have to integrate what we did for DC hackfest to move to what Jim is doing

mastersingh24 (Mon, 01 May 2017 14:32:09 GMT):
basically, the service name in the compose file needs to match the CN in the certificate

weeds (Mon, 01 May 2017 14:32:25 GMT):
and the container name- yes?

mastersingh24 (Mon, 01 May 2017 14:32:30 GMT):
you can also use cryptogen to not add DNS suffix

jimthematrix (Mon, 01 May 2017 14:32:39 GMT):
yeah we just did that for the docker-compose.yaml in node sdk

weeds (Mon, 01 May 2017 14:32:40 GMT):
So the Nodesdk works with this change

weeds (Mon, 01 May 2017 14:32:41 GMT):
now

mastersingh24 (Mon, 01 May 2017 14:32:46 GMT):
well container name will equal the service name

jimthematrix (Mon, 01 May 2017 14:32:46 GMT):
and that got us past the issue

mastersingh24 (Mon, 01 May 2017 14:33:14 GMT):
we also modified cryptogen to se multiple SANs - need to merge that change though

weeds (Mon, 01 May 2017 14:33:45 GMT):
at grpc level- is there any way to percolate that error message somehow?

weeds (Mon, 01 May 2017 14:33:52 GMT):
because many people will run into this

weeds (Mon, 01 May 2017 14:34:17 GMT):
@mastersingh24 any ideas on how to generate error so we can help people in the future?

weeds (Mon, 01 May 2017 14:35:16 GMT):
1 Docker--> Binh feels we need to have a compose e2e cli,.. and we need another level for node and another level for java

weeds (Mon, 01 May 2017 14:36:18 GMT):
Jim feels he needs a nodesdk target that we need fabric and fabric ca... we need an e2e... should it be in fabric? or should it be somewhere lese? it should be in integration packet somewhere

weeds (Mon, 01 May 2017 14:36:51 GMT):
Say my compose has fabric ca in it? so we run a ci test that has this.. for node sdk- go start up and using that same compose image

weeds (Mon, 01 May 2017 14:37:07 GMT):
Let's consolidate this and optional components to turn on/off components like fabric ca

weeds (Mon, 01 May 2017 14:37:10 GMT):
or couchdb

weeds (Mon, 01 May 2017 14:37:26 GMT):
we know we start with docker compose- and we have to tweek environment variable and we know exactly

weeds (Mon, 01 May 2017 14:37:28 GMT):
what is happening

weeds (Mon, 01 May 2017 14:38:19 GMT):
We're going to start with the one in node sdk as it's more comprehenisve.

weeds (Mon, 01 May 2017 14:38:28 GMT):
it has 2 orgs, heach has it's own fabric ca

weeds (Mon, 01 May 2017 14:38:43 GMT):
we only have 1 peer- but we need to add another peer to utilize gossip.

weeds (Mon, 01 May 2017 14:39:45 GMT):
in DC hackfest- we have a local program that uses node as well as fabric-CA... it generates certificates and orderer block and creates channel,.. and the same docker compose file can be used by node sdk ..I just have to plug in the fabric ca parts.

weeds (Mon, 01 May 2017 14:39:59 GMT):
we can still include the fabric ca--- for cli piece too.

weeds (Mon, 01 May 2017 14:41:36 GMT):
For node sdk testing- As long as the files are generated in fabric- we can assume that the fabric repository will be sitting side by side. Node can use the file system itself. so if you could output to mounted folder.

weeds (Mon, 01 May 2017 14:42:23 GMT):
node engine should be 6.9 or later

weeds (Mon, 01 May 2017 14:45:00 GMT):
Ratnakar feels he can get this sometime tomorrow-- given work ahead

weeds (Mon, 01 May 2017 14:46:32 GMT):
to get to one compose file

mastersingh24 (Mon, 01 May 2017 14:47:34 GMT):
[ My take here is quite simple: The base compose for all e2e should be the same - meaning we use IDENTICAL peer and orderer nodes. If the SDKs want to add additional nodes (e.g. fabric-ca, couch, they can do do but the based compose should be the same with all the same crypto material. ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=G5gRqjBEnFTityQKn) @weeds

bmos299 (Mon, 01 May 2017 14:57:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=weeQqxA9adgAZtCm6) @mastersingh24 @Ratnakar is on it.

zjb0807 (Mon, 01 May 2017 15:57:55 GMT):
Has joined the channel.

rjones (Mon, 01 May 2017 18:33:27 GMT):
Has left the channel.

albrandt (Mon, 01 May 2017 19:03:51 GMT):
Has joined the channel.

Ratnakar (Tue, 02 May 2017 03:00:35 GMT):
With fabric latest code base unable to Join the channel using crypto material generated using cryptogen, Following is the error ``` Error: proposal failed (err: rpc error: code = 2 desc = "JoinChain" request failed authorization check for channel [mychannel]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins}: [This identity is not an admin]]) ```

Ratnakar (Tue, 02 May 2017 03:00:54 GMT):
Gist of logs on the CLI container ``` ===================== Channel "mychannel" is created successfully ===================== CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key CORE_PEER_LOCALMSPID=Org0MSP CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt CORE_PEER_ADDRESSAUTODETECT=true CORE_PEER_TLS_ENABLED=true CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp CORE_PEER_ID=cli CORE_LOGGING_LEVEL=DEBUG CORE_PEER_ADDRESS=peer0.org1.example.com:7051 CORE_PEER_ENDORSER_ENABLED=true CORE_NEXT=true 2017-05-02 02:47:27.445 UTC [msp] getMspConfig -> INFO 001 intermidiate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/intermediatecerts]. Skipping.: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/intermediatecerts: no such file or directory] 2017-05-02 02:47:27.445 UTC [msp] getMspConfig -> INFO 002 crls folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/intermediatecerts]. Skipping.: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/crls: no such file or directory] 2017-05-02 02:47:27.445 UTC [msp] getMspConfig -> INFO 003 MSP configuration file not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/config.yaml]: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/config.yaml: no such file or directory] 2017-05-02 02:47:27.477 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP 2017-05-02 02:47:27.477 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity 2017-05-02 02:47:27.482 UTC [msp] Sign -> DEBU 006 Sign: plaintext: 0AE3070A5C08011A0C08BFE69FC80510...345BB16E71721A080A000A000A000A00 2017-05-02 02:47:27.482 UTC [msp] Sign -> DEBU 007 Sign: digest: F3C3D55A3C2DBD5BDAEB9CBDEA1CA9263106A4BB34584FC3003561952D738CE3 Error: proposal failed (err: rpc error: code = 2 desc = "JoinChain" request failed authorization check for channel [mychannel]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins}: [This identity is not an admin]]) Usage: peer channel join [flags] Global Flags: -b, --blockpath string Path to file containing genesis block --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint -c, --chain string In case of a newChain command, the chain ID to create. -f, --file string Configuration transaction file generated by a tool such as configtxgen for submitting to orderer --logging-level string Default logging level and overrides, see core.yaml for full syntax -o, --orderer string Ordering service endpoint --test.coverprofile string Done (default "coverage.cov") --tls Use TLS when communicating with the orderer endpoint -v, --version Display current version of fabric peer server !!!!!!!!!!!!!!! After 1 attempts, PEER0 has failed to Join the Channel !!!!!!!!!!!!!!!! ================== ERROR !!! FAILED to execute End-2-End Scenario ================== ```

Ratnakar (Tue, 02 May 2017 03:02:37 GMT):
Don't see any thing suspicious in peer and orderer logs

Ratnakar (Tue, 02 May 2017 03:02:37 GMT):
Don't see anything suspicious in peer and orderer logs

HubertYoung (Tue, 02 May 2017 03:33:40 GMT):
Why the transactions marked as invalid?

HubertYoung (Tue, 02 May 2017 03:33:49 GMT):

Message Attachments

Lakshmipadmaja (Tue, 02 May 2017 05:00:31 GMT):
Has joined the channel.

jeffgarratt (Tue, 02 May 2017 13:36:59 GMT):
@HubertYoung the join channel requires the submitter have the admin role for the peer.

jeffgarratt (Tue, 02 May 2017 13:37:53 GMT):
this translates to either the cert of the signer is in the admincerts folder of the localmsp config of the peer, or their cert was signed by was one of the certs located there (or in the chain)

jeffgarratt (Tue, 02 May 2017 13:38:54 GMT):
not sure if there is an issue with e2e, or there is some config issue in your case

rahulhegde (Tue, 02 May 2017 14:08:35 GMT):
hello GM I am running a Peer CLI command and the endorsement success provides following o/p ``` 2017-05-02 13:47:20.607 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 007 Invoke result: version:1 response: payload:"\n \264@0\034p,\261\220\344%\326oV<:\223\263S\305=\200\303\211\250s+\243\247\221\212*\373\022\272\002\nd\022\030\n\004lscc\022\020\n\016\n\006public\022\004\010\001\020\001\022H\n\006public\022>\n\022\n\nCLS001_101\022\004\010\002\020\001\n(\n CLS005_BANK2_TESTING2_2017-03-28\022\004\010\013\020\001\032\321\001\010\310\001\022=netting group response populated with default netting cut-off\032\214\001{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" endorsement: ``` Following is set as part of Endorsement Response by user-chaincode (https://github.com/hyperledger/fabric/blob/master/protos/peer/proposal_response.proto#L58) ` status:200 ` ` payload:"{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" ` and message as ` netting group response populated with default netting cut-off ` I need a confirmation if client using Fabric Java SDK will receive the following response (3 parts - status, payload and message as a object/class variable) as I see above response in Peer CLI at a different place.

rahulhegde (Tue, 02 May 2017 14:08:35 GMT):
hello GM I am running a Peer CLI command and the endorsement success provides following o/p ``` 2017-05-02 13:47:20.607 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 007 Invoke result: version:1 response: payload:"\n \264@0\034p,\261\220\344%\326oV<:\223\263S\305=\200\303\211\250s+\243\247\221\212*\373\022\272\002\nd\022\030\n\004lscc\022\020\n\016\n\006public\022\004\010\001\020\001\022H\n\006public\022>\n\022\n\nCLS001_101\022\004\010\002\020\001\n(\n CLS005_BANK2_TESTING2_2017-03-28\022\004\010\013\020\001\032\321\001\010\310\001\022=netting group response populated with default netting cut-off\032\214\001{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" endorsement: ``` Following is set as part of Endorsement Response by user-chaincode (https://github.com/hyperledger/fabric/blob/master/protos/peer/proposal_response.proto#L58) ` status:201 ` (defect?) ` payload:"{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" ` and message as ` netting group response populated with default netting cut-off ` I need a confirmation if client using Fabric Java SDK will receive the following response (3 parts - status, payload and message as a object/class variable) as I see above response in Peer CLI at a different place.

rahulhegde (Tue, 02 May 2017 14:08:35 GMT):
hello GM I am running a Peer CLI command and the endorsement success provides following o/p ``` 2017-05-02 13:47:20.607 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 007 Invoke result: version:1 response: payload:"\n \264@0\034p,\261\220\344%\326oV<:\223\263S\305=\200\303\211\250s+\243\247\221\212*\373\022\272\002\nd\022\030\n\004lscc\022\020\n\016\n\006public\022\004\010\001\020\001\022H\n\006public\022>\n\022\n\nCLS001_101\022\004\010\002\020\001\n(\n CLS005_BANK2_TESTING2_2017-03-28\022\004\010\013\020\001\032\321\001\010\310\001\022=netting group response populated with default netting cut-off\032\214\001{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" endorsement: ``` Following is set as part of Endorsement Response by user-chaincode (https://github.com/hyperledger/fabric/blob/master/protos/peer/proposal_response.proto#L58) ` status:201 ` (defect?) ` payload:"{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" ` and message as ` netting group response populated with default netting cut-off ` I need a confirmation if client using Fabric Java SDK will receive the following response (3 parts - status, payload and message as a direct access variable) as I see above response in Peer CLI at a different place.

rahulhegde (Tue, 02 May 2017 14:08:35 GMT):
hello GM I am running a Peer CLI command and the endorsement success provides following o/p ``` 2017-05-02 13:47:20.607 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 007 Invoke result: version:1 response: payload:"\n \264@0\034p,\261\220\344%\326oV<:\223\263S\305=\200\303\211\250s+\243\247\221\212*\373\022\272\002\nd\022\030\n\004lscc\022\020\n\016\n\006public\022\004\010\001\020\001\022H\n\006public\022>\n\022\n\nCLS001_101\022\004\010\002\020\001\n(\n CLS005_BANK2_TESTING2_2017-03-28\022\004\010\013\020\001\032\321\001\010\310\001\022=netting group response populated with default netting cut-off\032\214\001{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" endorsement: ``` Following is set as part of Endorsement Response by user-chaincode (https://github.com/hyperledger/fabric/blob/master/protos/peer/proposal_response.proto#L58) ` status:201 ` (defect - https://jira.hyperledger.org/browse/FAB-3562) ` payload:"{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" ` and message as ` netting group response populated with default netting cut-off ` I need a confirmation if client using Fabric Java SDK will receive the following response (3 parts - status, payload and message as a direct access variable) as I see above response in Peer CLI at a different place.

rahulhegde (Tue, 02 May 2017 14:08:35 GMT):
hello GM I am running a Peer CLI command and the endorsement success provides following o/p ``` 2017-05-02 13:47:20.607 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 007 Invoke result: version:1 response: payload:"\n \264@0\034p,\261\220\344%\326oV<:\223\263S\305=\200\303\211\250s+\243\247\221\212*\373\022\272\002\nd\022\030\n\004lscc\022\020\n\016\n\006public\022\004\010\001\020\001\022H\n\006public\022>\n\022\n\nCLS001_101\022\004\010\002\020\001\n(\n CLS005_BANK2_TESTING2_2017-03-28\022\004\010\013\020\001\032\321\001\010\310\001\022=netting group response populated with default netting cut-off\032\214\001{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" endorsement: ``` Following is set as part of Endorsement Response by user-chaincode (https://github.com/hyperledger/fabric/blob/master/protos/peer/proposal_response.proto#L58) ` status:201 ` (defect?) ` payload:"{\"participantShortName\":\"BANK2\",\"nettingGroupName\":\"TESTING2\",\"currencyIso\":\"USD\",\"nettingCutOffTime\":\"07:21:00\",\"nettingCutOffTimeShift\":0}" ` and message as ` netting group response populated with default netting cut-off ` I need a confirmation if client using Fabric Java SDK will receive the following response (3 parts - status, payload and message as a direct access variable) as I see above response in Peer CLI at a different place. note: Opened a JIRa for status --> https://jira.hyperledger.org/browse/FAB-3562

ericmvaughn (Tue, 02 May 2017 20:24:24 GMT):
Has joined the channel.

aambati (Tue, 02 May 2017 20:46:03 GMT):
Has joined the channel.

simsc (Wed, 03 May 2017 13:24:18 GMT):
For 9;30 est call here's the structure

simsc (Wed, 03 May 2017 13:24:23 GMT):
1) CI Build Status - If there is a failure, we discuss and assign the breaking defect. This defect will be the top priority for the team until resolved. 2) Defect status - We will discuss defects with priority=highest and overall backlog by component - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 3) QA status. This will be any items from QA not covered already #1 and #2 4) Endgame items. - We will review any outstanding items on the feature board. This should be priority items in review and waiting to be merged - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404 - We will review end game items. E.G. serviability - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10410 5) Documenation status - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10406 6) After 1-5, engineers an stay on and discuss any follow up items.

simsc (Wed, 03 May 2017 13:25:00 GMT):
Here's call info peer scrum (1-888-426-6840 / 33682113)

simsc (Wed, 03 May 2017 13:25:05 GMT):
all are welcome

lehors (Wed, 03 May 2017 13:31:55 GMT):
hi, I'm on :-)

HubertYoung (Wed, 03 May 2017 15:18:45 GMT):
@jeffgarratt Thanks!I should have described more clearly.When i commit only one tx,it is ok.But in the upper case,i commit 20 txs,18 of them are marked invalid and the other two are sumbited to the blocks.All the txs are transfering from a to b with 1.I know it relates to the Concurrency Control Version Check.But i dont know how to make it right.

simsc (Wed, 03 May 2017 15:20:31 GMT):
summary of scrum

simsc (Wed, 03 May 2017 15:20:36 GMT):
CI update: - Everything passed with exception of Java SDK. Bug 3378 This was expected based on recent Fabric changes that Java is catching up to Bugs Priority Highest: - 3550 - Ramesh to turn on logs for Jeff, Barry to follow up - 3301 - Jim looking. Murali to help as well - 3940 - working on it very difficult eta eow - 3300 - being worked - 3301 - gari working it - 3037 - doc, clayton to alert Nick - 2843 - most likely dup of 3301 Discussion on how user updates policy - configtxgen generate binary with default policy - does sdk read binary and update, or used txgen somehow do this - Jeff's question how does user req get translated into a policy - take discussion offline - Murali to lead CRs in review from feature board - we reviewed each - decision to defer jira 2362, Unit test coverage - Anil working with Murali added some small items that will start increasing coverage - Luis started and will check in CRs today Serviceability - Created features for each team for dashboard - Each team to update status

jeffgarratt (Wed, 03 May 2017 15:22:42 GMT):
@HubertYoung are you doing this in parallel?

HubertYoung (Wed, 03 May 2017 15:22:59 GMT):
Yes

jeffgarratt (Wed, 03 May 2017 15:23:02 GMT):
ahhh

jeffgarratt (Wed, 03 May 2017 15:23:09 GMT):
that will be problematic with the MVCC info

jeffgarratt (Wed, 03 May 2017 15:23:21 GMT):
the RW sets will fail checks in this case

jeffgarratt (Wed, 03 May 2017 15:23:45 GMT):
if you serialize the input I assume this works for you?

jeffgarratt (Wed, 03 May 2017 15:24:16 GMT):
the issue is the RW sets are validated at the ledger

jeffgarratt (Wed, 03 May 2017 15:25:31 GMT):
the first through the orderer will succeed, and then a subsequent latter TX may happen to get the latest Read set and then also work. In your case, the first and last may always work

jeffgarratt (Wed, 03 May 2017 15:25:54 GMT):
but if all submitted too quicjly, only first will pass

jeffgarratt (Wed, 03 May 2017 15:26:39 GMT):
also, you have to wait for the peer to validate and commit the TX

jeffgarratt (Wed, 03 May 2017 15:26:54 GMT):
before sumbitting subsequent for endorsement to the same peer

jeffgarratt (Wed, 03 May 2017 15:27:15 GMT):
you should submit proposal, then TX, and then wait for event from peer saying committed, then proceed

jeffgarratt (Wed, 03 May 2017 15:27:21 GMT):
does that make sense?

HubertYoung (Wed, 03 May 2017 15:28:13 GMT):
Yes.But i would be too slow for the batch process

HubertYoung (Wed, 03 May 2017 15:28:13 GMT):
Yes.But it would be too slow for the batch process

jeffgarratt (Wed, 03 May 2017 15:28:59 GMT):
@muralisr do we currently support multiple proposals in our TXs?

jeffgarratt (Wed, 03 May 2017 15:29:19 GMT):
meaning, can @HubertYoung batch his proposal responses, and then submit in single TX?

muralisr (Wed, 03 May 2017 15:30:15 GMT):
@jeffgarratt @HubertYoung only one proposal/response is supported currently

jeffgarratt (Wed, 03 May 2017 15:30:57 GMT):
@HubertYoung if your network requires more than a single endorsement, then the flow you are discussing can be problematic either way

jeffgarratt (Wed, 03 May 2017 15:31:55 GMT):
basically you have a concurrency issue not unlike any DB faces

jeffgarratt (Wed, 03 May 2017 15:32:10 GMT):
except the blockchain requires slightly more moving parts

HubertYoung (Wed, 03 May 2017 15:32:21 GMT):
Dose it has something to do with the key?If the proposals have different keys,would it be alright?

jeffgarratt (Wed, 03 May 2017 15:32:26 GMT):
yes

jeffgarratt (Wed, 03 May 2017 15:32:47 GMT):
if each proposal touched a different key, should be fine

jeffgarratt (Wed, 03 May 2017 15:32:58 GMT):
I assume you are trying to perform basic perf testing?

HubertYoung (Wed, 03 May 2017 15:33:20 GMT):
Yes

jeffgarratt (Wed, 03 May 2017 15:33:23 GMT):
:)

jeffgarratt (Wed, 03 May 2017 15:33:51 GMT):
k, have each concurrent proposal operate on a separate key and you should not have concurrency issues

HubertYoung (Wed, 03 May 2017 15:33:53 GMT):
Thanks.It helps a lot

jeffgarratt (Wed, 03 May 2017 15:33:58 GMT):
good luck!!

jeffgarratt (Wed, 03 May 2017 15:34:17 GMT):
and I would also recommend integrating the number of endorsements you plan to actually have

jeffgarratt (Wed, 03 May 2017 15:34:56 GMT):
@HubertYoung as this will also affect your throughput, latency, etc.

jeffgarratt (Wed, 03 May 2017 15:35:28 GMT):
particularly because network and crypto are heavily involved

jeffgarratt (Wed, 03 May 2017 15:37:43 GMT):
@HubertYoung and also consider your storage choice (leve vs couchdb, etc.)

jeffgarratt (Wed, 03 May 2017 15:38:08 GMT):
default is level, assume couchdb may introduce overhead, but that is an 'assumption' :)

HubertYoung (Wed, 03 May 2017 15:38:23 GMT):
haha

HubertYoung (Wed, 03 May 2017 15:40:18 GMT):
Do you have any ideas about setting up a cluster?Is docker swarm a good choice?

HubertYoung (Wed, 03 May 2017 15:40:49 GMT):
The more peers,the better?

jeffgarratt (Wed, 03 May 2017 15:40:50 GMT):
I do

jeffgarratt (Wed, 03 May 2017 15:41:09 GMT):
https://github.com/hyperledger/fabric/tree/master/bddtests#welcome-to-the-behavioral-driven-development-bdd-subsytem-for-fabric

jeffgarratt (Wed, 03 May 2017 15:41:16 GMT):
that allow quick setup of various networks

jeffgarratt (Wed, 03 May 2017 15:41:18 GMT):
locally

HubertYoung (Wed, 03 May 2017 15:42:52 GMT):
Thanks a lot!

jeffgarratt (Wed, 03 May 2017 16:02:39 GMT):
yw

bbehlendorf (Thu, 04 May 2017 00:08:19 GMT):
Has joined the channel.

davidkel (Thu, 04 May 2017 12:50:21 GMT):
Reading the docs on endorsement policies regarding the policy if one is not specified, the docs say ``` NOTE - the default policy requires one signature from a member of the DEFAULT MSP ``` I can't find any description of what the default MSP is and how a proposal could be signed by this MSP. Anyone point me to some information ?

William.Z (Thu, 04 May 2017 13:05:30 GMT):
Has joined the channel.

yacovm (Thu, 04 May 2017 13:15:44 GMT):
ask in #fabric-crypto

yacovm (Thu, 04 May 2017 13:15:50 GMT):
@davidkel

davidkel (Thu, 04 May 2017 13:30:23 GMT):
@yacovm ok, will do thanks

simsc (Thu, 04 May 2017 14:21:55 GMT):
Here is notes from 9:30 scrum

simsc (Thu, 04 May 2017 14:22:03 GMT):
CI build status - CI failed, e2e worked last night but not this morning - root cause unknown - defect being opened Defects https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 - 3550 jeff not on - 3378 eta end of day - 3310 gari working this - 3301 eta eod - 3300 eta tommorrow - 3037 does not belong on list - 2990 on its way to review Composer team not on QA - CI e2e change, will be artifacts from ground up - chris wants documented - chris to review - need to review with greg haskins - eta eod? Features 'in review' https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404 - 2681 - 3 changes eta eow - 3236 - same as 2681 - 3632 - ready to go just need review - 3291 - kostas needs to talk to jeff - 3218 - 3 change sets, should be able to do today, luis to work w/jim Unit test - Anil pushed small change set to increase coverage - Luis has small changes set to push Scrum took 19 minutes: thanks for everyone's focus

simsc (Thu, 04 May 2017 14:22:59 GMT):
We do this daily at 9;30 scrum (1-888-426-6840 / 33682113). Any and all are welcome

tkuhrt (Thu, 04 May 2017 16:56:48 GMT):
Has joined the channel.

muralisr (Fri, 05 May 2017 13:29:11 GMT):
Hi everyone, peer (endorser/committer) scrum starting in a minute ... (1-888-426-6840 / 33682113)

weeds (Fri, 05 May 2017 13:29:21 GMT):
Murali- i can take some notes for you during the scrum.

muralisr (Fri, 05 May 2017 13:29:33 GMT):
thanks, Sharon ... appreciate it

weeds (Fri, 05 May 2017 13:29:34 GMT):
so you can focus on talking with those that have joined

muralisr (Fri, 05 May 2017 13:29:38 GMT):
ok

weeds (Fri, 05 May 2017 13:31:37 GMT):
The CI- any build breaks? We have a new CI - building binaries on the fly.. compiling cryptogen.

weeds (Fri, 05 May 2017 13:31:47 GMT):
We have one gossip test failing and the behave test failing- https://jira.hyperledger.org/browse/FAB-3550 (Behave tests failures)

weeds (Fri, 05 May 2017 13:32:06 GMT):
We have FAB-3550 opened against @jeffgarratt

weeds (Fri, 05 May 2017 13:33:05 GMT):
end to end CLI should pass and unit test should be passing-- so there is a bug @C0rWin

weeds (Fri, 05 May 2017 13:34:38 GMT):
Defect is FAB-3669 for the gossip problem- go tests are failing intermittently opened for @C04Win

weeds (Fri, 05 May 2017 13:35:13 GMT):
Murali to reach out to after call since not on scrum for FAB-3669

weeds (Fri, 05 May 2017 13:36:00 GMT):
FAB-3001 This is opened against @mastersingh24

weeds (Fri, 05 May 2017 13:37:44 GMT):
Defects https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 - 3550 jeff not on- Murali to follow up after call - 3300 eta tommorrow- default default chaincode policy-- completing it and waiting on CI.. almost ready to review/merge - 3232- that is out for review for a couple of days- we need a couple of maintainers to look at it

weeds (Fri, 05 May 2017 13:38:47 GMT):
- 3301- in review per Jim Zhang

weeds (Fri, 05 May 2017 13:40:00 GMT):
Gari Apologize- the number was 3310 @mastersingh24

weeds (Fri, 05 May 2017 13:40:23 GMT):
End Game items- where we are reviewing outstanding items on feature board-

weeds (Fri, 05 May 2017 13:40:58 GMT):
2681- this has to be rebased, and people can start reviewing

weeds (Fri, 05 May 2017 13:41:36 GMT):
3236- this is in review and has already been rebased

weeds (Fri, 05 May 2017 13:42:05 GMT):
3291- Murali to follow up with Kostas afterwards

weeds (Fri, 05 May 2017 13:43:18 GMT):
3218- Murali to follow up with Luis afterwards

weeds (Fri, 05 May 2017 13:43:41 GMT):
1309- coding is done, but it's a matter of now where to put it per Dave enyeart

weeds (Fri, 05 May 2017 13:44:18 GMT):
For error handling-

weeds (Fri, 05 May 2017 13:45:18 GMT):
discussion to occur with @cbf @mastersingh24 -- error handling and how do you make use of componetization piece.-- there is question whether we should do or not?

weeds (Fri, 05 May 2017 13:47:03 GMT):
For documentation status from @nickgaski - instead of walking through all fabs- here's quick summary We don't have anything on configuration updates that is missing.. We need some stuff on using cryptogen tool and using the template. We plan to reshuffle getting started with new images making use of the new configuration that is needed for ordererer block and transactions. We have to really improve the login piece. We need event listener documentation for SDK as well as demos. there are JIRA items for all of those items.

weeds (Fri, 05 May 2017 13:47:36 GMT):
What Nick did- he added readme the refactored end to end code- We believe @cbf want it ported into getting started. For time being, I do need this merged so they can get end to end work for now.

weeds (Fri, 05 May 2017 13:48:14 GMT):
There is marbles documentation- which we think is good sample application for people to see- but we need the maintainers to make a decision having an application with a UI versus CLi in the terminal and would like some help merging @mastersing24

weeds (Fri, 05 May 2017 13:48:23 GMT):
@nickgaski can you post the #'s

weeds (Fri, 05 May 2017 13:49:38 GMT):
for merging requests on the fabric-pr review channel

nickgaski (Fri, 05 May 2017 13:49:46 GMT):
https://gerrit.hyperledger.org/r/#/c/8981/ - end to end

nickgaski (Fri, 05 May 2017 13:50:09 GMT):
https://gerrit.hyperledger.org/r/#/c/7997/ - marbles

weeds (Fri, 05 May 2017 13:50:36 GMT):
@mastersingh24 see request on merges from Nick on doc from maintainer

weeds (Fri, 05 May 2017 13:50:45 GMT):
@binhn see above

weeds (Fri, 05 May 2017 13:54:10 GMT):
FAB 2919- I need @binhn some input on this specifically

weeds (Fri, 05 May 2017 13:55:16 GMT):
FAB 3678- Elli requesting help for people to look- and comment on fabric-crypto. This is way we evaluate expiration of certificate and a bug we had and want some extra eyes on it... Keith has reviewed it already.

weeds (Fri, 05 May 2017 14:00:49 GMT):
Arnaud is suggesting --> We need to document what unit test should be and what unit test should not be. We should collect best practices and have contributer check list.

weeds (Fri, 05 May 2017 14:03:27 GMT):
Scrum call has ended

cbf (Fri, 05 May 2017 14:11:30 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bGfboTnewxfYZKzp3) @weeds it is pretty simple - unit tests should be capable of being run without any external dependency from within the directory in which they reside

cbf (Fri, 05 May 2017 14:12:49 GMT):
as for end2end README vs Getting Started - I disagree that we should just merge this. It is confusing to have Getting Started when it is really end2end that is Getting Started and Getting Started is actually for code that is over 2 months old.

cbf (Fri, 05 May 2017 14:34:48 GMT):
"Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing can be done manually but is often automated."

cbf (Fri, 05 May 2017 14:34:55 GMT):
http://searchsoftwarequality.techtarget.com/definition/unit-testing

cbf (Fri, 05 May 2017 14:35:24 GMT):
key words here are "individually" and "independently"

cbf (Fri, 05 May 2017 14:36:36 GMT):
in a go project, one should be capable of running "go test" in the directory in which the code they are working on resides and it should run without any dependencies

weeds (Fri, 05 May 2017 19:13:51 GMT):
understand Chris- I don't know why Arnaud felt it needed to be documented and sent to the community

weeds (Fri, 05 May 2017 19:13:56 GMT):
@cbf

weeds (Fri, 05 May 2017 19:14:06 GMT):
I'll let you reach out to him-- as it's a pretty standard definition

lehors (Sat, 06 May 2017 08:36:12 GMT):
@weeds @cbf: @binhn made the point that people are adding unit tests against private methods and while it increases coverage it will create additional work later on when internals change, instead we should only have unit tests against the public APIs. All I'm saying is that if that's the agreement we need to document or people won't know and will continue doing the same.

lehors (Sat, 06 May 2017 08:42:17 GMT):
I think we have a lot of undocumented things like this that we ought to write down so it's easier for people to become contributors

lehors (Sat, 06 May 2017 08:42:17 GMT):
I think we have a lot of undocumented things like this that we ought to write down so it's easier for people to become effective contributors

muralisr (Sat, 06 May 2017 12:20:39 GMT):
@here for those interested in chaincode dev mode - doc was updated https://gerrit.hyperledger.org/r/#/c/8985/ (hope its ok to use `here` for such announcements...if not do let me know :-) )

weeds (Mon, 08 May 2017 12:12:09 GMT):
@muralisr we should really post also to the email list as not everyone is on rocket chat apprently

muralisr (Mon, 08 May 2017 12:12:47 GMT):
@weeds will do

weeds (Mon, 08 May 2017 12:16:06 GMT):
@here We hold a peer scrum Monday, Wednesday, Friday for Hyperledger-Fabric. The dial in for today at 9:30 EST is 1-888-426-6840 with passcode 33682113. We review what has passed or failed out of the daily build from CI, the highest priority bugs that must be addressed, CR's that need special attention from maintainers, unit test coverage, and serviceability. Also at the end of the call, developers sometimes talk about additional technical questions that should be addressed to stabilizing release where interlock needs to occur.

simsc (Mon, 08 May 2017 13:32:40 GMT):
Here's the format of the Peer scrum going forward. I want the keep them as short and focussed taking long discussions off line. 1) CI Build Status - If there is a failure, we discuss and assign the breaking defect. This defect will be the top priority for the team until resolved. 2) Defect status - We will discuss defects with priority=highest and overall backlog by component - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 3) QA status. This will be any items from QA not covered already #1 and #2 4) Endgame items. - We will review any outstanding items on the feature board. This should be priority items in review and waiting to be merged - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404 - We will review end game items. E.G. serviability - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10410 5) Documenation status - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10406 6) After 1-5, engineers an stay on and discuss any follow up items.

FenglianXu (Mon, 08 May 2017 13:34:56 GMT):
Has joined the channel.

JonathanLevi (Mon, 08 May 2017 13:36:17 GMT):
Has joined the channel.

JonathanLevi (Mon, 08 May 2017 14:07:27 GMT):
BTW: https://cwiki.apache.org/confluence/display/KAFKA/KIP-32+-+Add+timestamps+to+Kafka+message

JonathanLevi (Mon, 08 May 2017 14:07:27 GMT):
BTW: https://cwiki.apache.org/confluence/display/KAFKA/KIP-32+-+Add+timestamps+to+Kafka+message i what @yacovm mentioned.

JonathanLevi (Mon, 08 May 2017 14:08:23 GMT):
I tend to agree with @vukolic ^^^

vukolic (Mon, 08 May 2017 14:08:24 GMT):
Has joined the channel.

simsc (Mon, 08 May 2017 15:01:23 GMT):
Highlights of Monday 5/8 9;30 EST scrum CI status - Java and Node SDK failed defects 3690, 3550 opened Hot Defects (Defects with priority highest) - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 - 3713 - Luis to discuss with Rick - 3690 - ETA today - 3550 - Ramesh provided logs, looks strange, Jeff to get with Ramesh - 3301 - stuck behind the build break - 2940 - ETA today, after build break fixed - 3310 - Gari working this, Alpha 2 - Binh and maintainers to discuss and decide items to include in alpha2 - Discuss this in release channel - Binh will get send note to hyperledger list with summary and direction - ETA 24 hours Unit test - 71% coverage - Anil submitted 4 change sets, once merged should help numbers - Luis slow due to instability, Clayton to follow up off line Feature board - *We are feature frozen* - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404 Open 648 - Ramesh still working with LF 3291 - This is test item, not a feature, will adjust tagging In Review 2681 - large cs eta weds 3447 - easy was build is fixed 3218 - one small clean up cs eta today 1304 - this is not a feature this is QA, will adjust tagging

simsc (Mon, 08 May 2017 15:03:37 GMT):
Chris provided feedback on how to improve handling of Jira. Team to review and we will discuss tomorrow

simsc (Mon, 08 May 2017 15:04:10 GMT):
Technical discussion at end of meeting - Elli brought up how to handle expiry - Short discussion, agreed to discuss in the crypto channel

subbu165 (Mon, 08 May 2017 16:26:11 GMT):
Has joined the channel.

subbu165 (Mon, 08 May 2017 16:31:56 GMT):
Hi, If we have a lot of load coming in for a deployed chaincode/smartcontract, can we do load balancing to share the load. If so, how the topology should be? any documentation or info in this please?

nnao (Mon, 08 May 2017 18:22:06 GMT):
Has joined the channel.

jimthematrix (Mon, 08 May 2017 20:00:21 GMT):
@muralisr @binhn @mastersingh24 @jeffgarratt do you guys know what have changed recently that would break node SDK (and java SDK) e2e set up such that the peers are not able to connect to the orderers any longer? ```peer0.org1.example.com | 2017-05-08 19:57:57.145 UTC [grpc] Printf -> DEBU 390 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: x509: certificate signed by unknown authority"; Reconnecting to {"orderer.example.com:7050" }

muralisr (Mon, 08 May 2017 20:01:14 GMT):
@jimthematrix perhaps this from @mastersingh24 ?

muralisr (Mon, 08 May 2017 20:01:15 GMT):
https://chat.hyperledger.org/channel/fabric-maintainers?msg=LcrNDdfqi5NEfcrR8

jeffgarratt (Mon, 08 May 2017 20:14:43 GMT):
@jimthematrix I have seen a different issue, but have not rebased in last few hours

jimthematrix (Mon, 08 May 2017 20:24:07 GMT):
ha, that explained it ;-) I'm pretty sure that was the culprit, will download Gari's patch in 9103 to see. thanks @muralisr

jimthematrix (Mon, 08 May 2017 20:24:37 GMT):
@rickr ^^^ (likely the same issue you are seeing that we just chatted about)

jimthematrix (Mon, 08 May 2017 20:28:04 GMT):
confirmed that 9103 fixed the issue

jimthematrix (Mon, 08 May 2017 20:29:02 GMT):
just +2'ed

jimthematrix (Mon, 08 May 2017 20:35:21 GMT):
note that the end-2-end verify build caught the error but it was ignored: https://jenkins.hyperledger.org/job/fabric-verify-end-2-end-x86_64/2803/console

jimthematrix (Mon, 08 May 2017 20:35:21 GMT):
note that the end-2-end verify build caught the error but it was ignored/skipped: https://jenkins.hyperledger.org/job/fabric-verify-end-2-end-x86_64/2803/console

amber-zhang (Tue, 09 May 2017 00:54:47 GMT):
Has joined the channel.

binhn (Tue, 09 May 2017 03:44:30 GMT):
@jimthematrix thanks for verifying -- `note that the end-2-end verify build caught the error but it was ignored/skipped` we are too clever for our own good :-)

rock_martin (Tue, 09 May 2017 10:21:32 GMT):
Has joined the channel.

glotov (Tue, 09 May 2017 10:31:30 GMT):
Has joined the channel.

shivann (Tue, 09 May 2017 12:44:00 GMT):
Has joined the channel.

bsmita (Tue, 09 May 2017 13:14:15 GMT):
Has joined the channel.

SriramaSharma (Tue, 09 May 2017 13:14:32 GMT):
Has joined the channel.

rodger0514 (Wed, 10 May 2017 01:51:05 GMT):
Has joined the channel.

zhouhuangjing (Wed, 10 May 2017 04:22:41 GMT):
Has joined the channel.

weeds (Wed, 10 May 2017 13:06:35 GMT):
Scrum meeting will start at 9:30AM EST (in 25 minutes). Following is the dial in which is the same that we sent out in the Hyperledger e-mail:

weeds (Wed, 10 May 2017 13:06:37 GMT):
peer scrum (1-888-426-6840 / 33682113)

weeds (Wed, 10 May 2017 13:06:51 GMT):
we will be posting notces here on fabric-peer-endorser-committer channel

simsc (Wed, 10 May 2017 13:29:43 GMT):
1) CI Build Status - If there is a failure, we discuss and assign the breaking defect. This defect will be the top priority for the team until resolved. 2) Defect status - We will discuss defects with priority=highest and overall backlog by component - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 3) QA status. This will be any items from QA not covered already #1 and #2 4) Endgame items. - We will review any outstanding items on the feature board. This should be priority items in review and waiting to be merged - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404 - We will review end game items. E.G. serviability - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10410 5) Documenation status - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10406 6) After 1-5, engineers an stay on and discuss any follow up items.

JonathanLevi (Wed, 10 May 2017 14:08:52 GMT):
As suggested/request, I have just created https://jira.hyperledger.org/browse/FAB-3775 to document what we have just discussed on the call...

weeds (Wed, 10 May 2017 14:11:41 GMT):
What was discussed is guidance on how to handle JIra, what fields to fill out etc,..

weeds (Wed, 10 May 2017 14:12:17 GMT):
We've asked help from maintainers to get those best practices documented to share with new people joining community

weeds (Wed, 10 May 2017 14:13:11 GMT):
For CI- nodejs sdk and java sdk are failing- Jim/Rick are investigating with Ramesh. Bug fix did go in 3769 went in 3493 is where fix went in

weeds (Wed, 10 May 2017 14:15:19 GMT):
3768- node sdk test failed- assigned it back to Ramesh

weeds (Wed, 10 May 2017 14:16:25 GMT):
3669- still working on it- main problem is happens quite rarely-

weeds (Wed, 10 May 2017 14:16:49 GMT):
3493- Kostas in review; MERGED

weeds (Wed, 10 May 2017 14:17:18 GMT):
1929- Angelo took that one- working to submit tomorrow

weeds (Wed, 10 May 2017 14:18:00 GMT):
Alpha 2 list- removing/adding

weeds (Wed, 10 May 2017 14:22:04 GMT):
The drive is to try to get the completion of this list by noon tomorrow

weeds (Wed, 10 May 2017 14:22:28 GMT):
So far the progress is very good- we only have 1 more to do -- will talk to Gari to see if we need this item, rest we have CR's . the remaining are 4 and have been in review 4 times over

weeds (Wed, 10 May 2017 14:22:46 GMT):
if there are comments on this list- please get with the maintainers per request of Binh Nguyen

weeds (Wed, 10 May 2017 14:24:14 GMT):
Feature board--> Publish artifacts with Maven , working with Linux foundation--- 1678--> Tool... talked with Gari-- need to run it by Varad and Paul... and design... we need to post on e-mail thread to make sure the community knows about it.

weeds (Wed, 10 May 2017 14:24:41 GMT):
Fabric endorser- go lang stub interface-- not integrated for alpha 2- hold off

weeds (Wed, 10 May 2017 14:24:48 GMT):
This is for the Java Shim- not cirtical for alpha 2

weeds (Wed, 10 May 2017 14:26:33 GMT):
Elli has a question regarding 2 tasks that have been opened. One by Keith, one by Elli... conversations with Greg Haskins

weeds (Wed, 10 May 2017 14:28:15 GMT):
Binh is suggesting to work with Greg in JIRa item that we already have and discussion there.

weeds (Wed, 10 May 2017 14:33:07 GMT):
System channel is whatever name you want- by default it's test chain id.. we've done a lot of bad things relying on test id chain is existing. The name of it specifically. Murali is fairly certain that when I use test chain id as proper channel and do things- it does not work. Maybe it's Murali... And we can take decision if test chain id does not work at all- and maybe we don't need it

weeds (Wed, 10 May 2017 14:34:21 GMT):
Ordering system channel is required for orderers- it's not required for peer transactions for legacy sake- nothing but orderer should go through that. if you start peer, create a channel... start a pper and join test chain id- Murali thinks this does not work. I would not expect it to break (per Jason).. and if that's true- than noone using it. Then I will add a JIRA item--- @muralisr please add the JIRa channel

muralisr (Wed, 10 May 2017 14:52:02 GMT):
`Murali is fairly certain that when I use test chain id as proper channel and do things- it does not work. Maybe it's Murali... ` - right. I have a todo to make sure we understand `testchainid` behavior. It was used when in the pre-channel days as a means to use bootstrap the system and excercise end-2-end without having proper channel implementation

muralisr (Wed, 10 May 2017 14:52:02 GMT):
`Murali is fairly certain that when I use test chain id as proper channel and do things- it does not work. Maybe it's Murali... ` - right. It was used when in the pre-channel days as a means to use bootstrap the system and excercise end-2-end without having proper channel implementation

muralisr (Wed, 10 May 2017 14:54:41 GMT):
if it continues to work (and its just user error on my part) there is some value in keeping it (and documenting it ). If not there's an opportunity to remove using `testchainid` as a default channel for e2e.

muralisr (Wed, 10 May 2017 14:55:16 GMT):
I have a todo to make sure we if `testchainid` works - will update JIRA

toddinpal (Wed, 10 May 2017 15:40:04 GMT):
How many peers must a client access to get a proposed transaction endorsed?

jeffgarratt (Wed, 10 May 2017 15:57:45 GMT):
@toddinpal this is determined by the endorsement policy of the chaincode.

jeffgarratt (Wed, 10 May 2017 15:59:59 GMT):
the current bootstrap mechanism I believe use a N_of policy with 1 of the writers defined in the latest channel config

jeffgarratt (Wed, 10 May 2017 16:00:39 GMT):
if you wish that to require endorsement by all, then you can specify that during channel config

jeffgarratt (Wed, 10 May 2017 16:01:03 GMT):
in that case, the number of channel members (MSPs) will determine the number of endrosements you will need I believe

toddinpal (Wed, 10 May 2017 16:01:17 GMT):
@jeffgarratt I understand the endorsement policy, I'm just curious if it is the client's responsibility to seek the required endorsements or does a peer do that on the client's behalf

jeffgarratt (Wed, 10 May 2017 16:01:35 GMT):
ahhh, that is a @jimthematrix question or perhaps @muralisr

jeffgarratt (Wed, 10 May 2017 16:01:35 GMT):
ahhh, that is a @muralisr or perhaps @jimthematrix question

muralisr (Wed, 10 May 2017 16:12:13 GMT):
@toddinpal The client would implement the biz requirements (endorsements, etc) using the peer. Fabric would not try to automatically figure out "what endorsements are needed for the this Proposal" ... hope that helps a bit ?

jimthematrix (Wed, 10 May 2017 17:26:35 GMT):
@toddinpal ideally the client should be able to discover this from the instantiated chaincodes, there is a query available for that (and is supported by node and java SDK) but it currently doesn't return the endorsement policy associated with the instantiated chaincode. so at this point the client needs to know for a specific transaction what is the expected endorsement policy (1-of-3, 2-of-2, etc) and decide how many peers to send the proposal to

jtclark (Wed, 10 May 2017 17:47:07 GMT):
Has joined the channel.

JonathanLevi (Wed, 10 May 2017 18:23:39 GMT):
@tkuhrt @tkuhrt [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZyYLTH53iySCh2v4F)

JonathanLevi (Wed, 10 May 2017 18:23:39 GMT):
@tkuhrt @dhuseby [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZyYLTH53iySCh2v4F)

Senthil1 (Thu, 11 May 2017 15:24:30 GMT):
Can we use more than one orderer for a channel?

Senthil1 (Thu, 11 May 2017 15:24:30 GMT):
Is it possible to use more than one orderer for a channel?

toddinpal (Thu, 11 May 2017 18:00:36 GMT):
@jimthematrix So is it the application's responsibility to seek the endorsements, or does the SDK do this for the application?

jimthematrix (Thu, 11 May 2017 18:02:48 GMT):
when you call Chain.sendTransactionProposal(), the SDK send a request to the list of peers in the chain object to solicit endorsements

jimthematrix (Thu, 11 May 2017 18:03:16 GMT):
the peer's endorsements are included in the ProposalResponse objects returned from that function call

jimthematrix (Thu, 11 May 2017 18:03:55 GMT):
which you then use to send to the orderer for consensus and validation/commit by calling Chain.sendTransaction()

toddinpal (Thu, 11 May 2017 18:04:58 GMT):
OK, thanks

markparz (Fri, 12 May 2017 13:29:55 GMT):
Getting ready to start the scrum call 1-888-426-6840 / 33682113

markparz (Fri, 12 May 2017 13:49:34 GMT):
1) CI Build (Ramesh) Green - couple of inconsistent behave tests working on today. Posted on CI channel of Rocket 2) Defects (use 2 widgets)    - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 3669 - Go unit test failure - WIP, failure inconsistent 3320 - No block received from peer - Won't be resolved anytime soon part of bigger issue of network connectivity like 3310. Have to have cloud deployment between network devices between components. Working with Scott and his environment. Not a show stopper 3310 - gRPC timeout - Want to upgrade gRPC to the next version to see if it works. Will reproduce with current. No blockers for Composer 3) QA - Nothing further 4) Unit test Is it ok to get unit test into Alpha 2 or hold out? We need to continue to work on unit test, but no merging for Alpha 2. 5) Endgame items.      - We will review any outstanding items on the feature board.   This should be priority items in review and waiting to be merged        - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404     - We will review end game items. E.G. serviability        - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10410 6) Documenation     - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10406 Nothing at this time. Using FAB-3040 for tracking the Alpha 2 status, epics are getting mixed. We need to retitle it. Please review Barry's email propose on test. Elli - helping with fabric-ca testing coverage and with Vlad on HSM. Peer needs more coverage. There is a lot of code in the peer package for the cli, so the code has been exercise, just do not have UT to show the coverage. Murali working on server side with SHIM UT and hit on that as well. Fab-648 - has been marked as done Power status - working with Oregon university, all power verification currently disabled.

markparz (Fri, 12 May 2017 13:49:34 GMT):
1) CI Build (Ramesh) Green - couple of inconsistent behave tests working on today. Posted on CI channel of Rocket 2) Defects (use 2 widgets)    - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10409 3669 - Go unit test failure - WIP, failure inconsistent 3320 - No block received from peer - Won't be resolved anytime soon part of bigger issue of network connectivity like 3310. Have to have cloud deployment between network devices between components. Working with Scott and his environment. Not a show stopper 3310 - gRPC timeout - Want to upgrade gRPC to the next version to see if it works. Will reproduce with current. No blockers for Composer 3) QA - Nothing further 4) Unit test Is it ok to get unit test into Alpha 2 or hold out? We need to continue to work on unit test, but no merging for Alpha 2. 5) Endgame items.      - We will review any outstanding items on the feature board.   This should be priority items in review and waiting to be merged        - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10404     - We will review end game items. E.G. serviability        - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10410 6) Documenation     - https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10406 Nothing at this time. Using FAB-3040 for tracking the Alpha 2 status, epics are getting mixed. We need to retitle it. Please review Barry's email propose on test. Elli - helping with fabric-ca testing coverage and with Vlad on HSM. Peer needs more coverage. There is a lot of code in the peer package for the cli, so the code has been exercise, just do not have UT to show the coverage. Murali working on server side with SHIM UT and hit on that as well. Fab-648 - has been marked as done Power status - working with Oregon university, all power verification currently disabled.

markparz (Fri, 12 May 2017 13:50:16 GMT):
Notes from scrum ^^

rliu (Fri, 12 May 2017 14:37:48 GMT):
Has joined the channel.

rliu (Fri, 12 May 2017 14:40:52 GMT):
We are testing how to put multiple transactions into a block. Following the instruction from @jimthematrix, here is what I did: 1. Modify configtx.yaml at fabric-sdk-node/test/fixtures/channel to set BatchTimeout to 1200s. Copy this file to fabric/sampleconfig. 2. Use configtxgen tool to generate "channel.tx". 3. Copy "channel.tx" to fabric-sdk-node/test/fixtures/channel. 4. Uncomment the code in fabric-sdk-node/test/integration/e2e/create-channel.js to load channel.tx, i.e. : // use this when the config comes from the configtx tool data = fs.readFileSync(path.join(__dirname, '../../fixtures/channel/channel.tx')); .... I'm able to create a new channel. However, after I created two transactions using this new channel within 1 minute, I got 3 blocks. Each block still contains only one transaction. Here are the parameters I changed at configtx.yaml: BatchTimeout:1200s BatchSize: MaxMessageCount: 100 AbsoluteMaxBytes: 99 MB PreferredMaxBytes: 10 MB We'd like to test how to put multiple transactions to a block. Could you advice how to make this happen? Thanks!

tomconte (Fri, 12 May 2017 15:32:30 GMT):
Has joined the channel.

jeffgarratt (Fri, 12 May 2017 16:53:02 GMT):
@rliu search for "Orderer.BatchSize.MaxMessageCount unset, setting to" in orderer log

jeffgarratt (Fri, 12 May 2017 16:53:02 GMT):
@rliu Check the log for the orderer properties and see what batchsize is

jeffgarratt (Fri, 12 May 2017 16:54:33 GMT):
specifically => "Orderer.BatchSize.AbsoluteMaxBytes unset, setting to"

jeffgarratt (Fri, 12 May 2017 16:54:33 GMT):
specifically look for anything related to batchsize, etc.

jeffgarratt (Fri, 12 May 2017 16:59:01 GMT):
@rliu also, the first block of any channel should only have 1 TX, as this is controlled by the orderer who puts config_updates into blocks by themselves

muralisr (Fri, 12 May 2017 17:29:08 GMT):
@here a few days back I had a TODO to check if the default "testchainid" can still be used (for some reason I thought it was not working anymore). It *is* working... here is the MINIMAL set of instructions to run some end-to-end transactions using the `testchainid` channel using the default MSP setting

muralisr (Fri, 12 May 2017 17:29:26 GMT):
``` Instructions to use default "testchainid" channel without having to create or join a channel -------------------------------------------------------------------------------------------- setup ----- make peer make orderer all commands in "fabric/" folder rm -rf /var/hyperledger/* start orderer ------------- orderer start peer (note we are NOT using --peer-defaultchain=false... ie, we are using the default chain) --------- peer node start execute commands ---------------- peer chaincode install -n mycc -v 0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 peer chaincode instantiate -n mycc -v 0 -c '{"Args":["init","a","100","b","200"]}' peer chaincode invoke -n mycc -c '{"Args":["invoke","a","b","10"]}' peer chaincode query -n mycc -c '{"Args":["query","a"]}' ```

muralisr (Fri, 12 May 2017 17:29:26 GMT):
``` Instructions to use default "testchainid" channel without having to create or join a channel -------------------------------------------------------------------------------------------- setup ----- make peer make orderer all commands in "fabric/" folder rm -rf /var/hyperledger/* start orderer ------------- orderer start peer (note we are NOT using --peer-defaultchain=false... ie, we are using the default chain) --------- peer node start -o 127.0.0.1:7050 execute commands ---------------- peer chaincode install -n mycc -v 0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 peer chaincode instantiate -n mycc -v 0 -c '{"Args":["init","a","100","b","200"]}' peer chaincode invoke -n mycc -c '{"Args":["invoke","a","b","10"]}' peer chaincode query -n mycc -c '{"Args":["query","a"]}' ```

muralisr (Fri, 12 May 2017 17:29:26 GMT):
``` Instructions to use default "testchainid" channel without having to create or join a channel -------------------------------------------------------------------------------------------- setup ----- make peer make orderer all commands in "fabric/" folder rm -rf /var/hyperledger/* start orderer ------------- orderer start peer (note we are NOT using --peer-defaultchain=false... ie, we are using the default channel) --------- peer node start -o 127.0.0.1:7050 execute commands ---------------- peer chaincode install -n mycc -v 0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 peer chaincode instantiate -n mycc -v 0 -c '{"Args":["init","a","100","b","200"]}' peer chaincode invoke -n mycc -c '{"Args":["invoke","a","b","10"]}' peer chaincode query -n mycc -c '{"Args":["query","a"]}' ```

muralisr (Fri, 12 May 2017 17:29:26 GMT):
``` Instructions to use default "testchainid" channel without having to explicitly create/join a channel ------------------------------------------------------------------------------------------------- setup ----- make peer make orderer all commands in "fabric/" folder rm -rf /var/hyperledger/* start orderer ------------- orderer start peer (note we are NOT using --peer-defaultchain=false... ie, we are using the default channel) --------- peer node start -o 127.0.0.1:7050 execute commands ---------------- peer chaincode install -n mycc -v 0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 peer chaincode instantiate -n mycc -v 0 -c '{"Args":["init","a","100","b","200"]}' peer chaincode invoke -n mycc -c '{"Args":["invoke","a","b","10"]}' peer chaincode query -n mycc -c '{"Args":["query","a"]}' ```

binhn (Fri, 12 May 2017 17:31:43 GMT):
should we include this info in the chaincode.rst?

muralisr (Fri, 12 May 2017 17:32:12 GMT):
this can be useful for some minimal testing ... not for serious work

muralisr (Fri, 12 May 2017 17:32:22 GMT):
good idea @binhn

muralisr (Fri, 12 May 2017 17:33:08 GMT):
there's also variations of this with dev mode and docker based config we can include

mastersingh24 (Sat, 13 May 2017 17:33:31 GMT):
[I don't think we should promote the use of the testchainid. We really need to rip that out of the peer - https://jira.hyperledger.org/browse/FAB-3358 ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bvnbmjrAMph8NS6Sa) @muralisr

mastersingh24 (Sat, 13 May 2017 17:33:31 GMT):
[I do not think we should promote the use of the testchainid. We really need to rip that out of the peer - https://jira.hyperledger.org/browse/FAB-3358 ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bvnbmjrAMph8NS6Sa) @muralisr

NiketYende (Mon, 15 May 2017 04:54:15 GMT):
Has joined the channel.

NiketYende (Mon, 15 May 2017 05:21:34 GMT):
@jeffgarratt @rliu I tried checking the log file for orderer but could not find any reference to "batchsize". Also i did not find orderer properties file. Could you help me in this regard?

NiketYende (Mon, 15 May 2017 05:24:32 GMT):
{"log":"\u001b[36m2017-05-12 13:54:17.414 UTC [orderer/common/blockcutter] Ordered -\u003e DEBU 13f2\u001b[0m Enqueuing message into batch\n","stream":"stderr","time":"2017-05-12T13:54:17.416346589Z"} {"log":"\u001b[36m2017-05-12 13:54:19.414 UTC [orderer/solo] main -\u003e DEBU 13f3\u001b[0m Batch timer expired, creating block\n","stream":"stderr","time":"2017-05-12T13:54:19.414960793Z"} {"log":"\u001b[36m2017-05-12 13:54:19.414 UTC [kvledger] retrieveBlockByNumber -\u003e DEBU 13f4\u001b[0m retrieveBlockByNumber() - blockNum = [2]\n","stream":"stderr","time":"2017-05-12T13:54:19.414992943Z"}

NiketYende (Mon, 15 May 2017 05:24:41 GMT):
This is what we get.

muralisr (Mon, 15 May 2017 11:43:33 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qDdau6Wj9KZ4FJz7J

muralisr (Mon, 15 May 2017 11:44:33 GMT):
@mastersingh24 fine with me... figured if testchainid is broken anyway, no one can be using it and we can rip it out

muralisr (Mon, 15 May 2017 11:48:13 GMT):
but turned out it it was not ... its advantages (lesser steps to get something up and running) are outweighed by the disadvantages IMO (hides basic complexity that users have to deal with anyway at some point, "testchainid" has to be disabled in real deployments, etc)

muralisr (Mon, 15 May 2017 11:48:33 GMT):
+1 for removal of testchainid

markparz (Mon, 15 May 2017 13:46:21 GMT):
SCRUM notes for Monday:

markparz (Mon, 15 May 2017 13:46:23 GMT):
ALPHA 2 - some confusion. Mark will send out an email with info on - > Here are the images, here are the things in alpha2, and delta(point to wiki) fab-ca fabric node.js SDK Doc No Java SDK Automated test is currently blocked UT is at 71% overall 4 CRs for fab-ca waiting Murali has some shim testings that will go in today Artem working on event UT

markparz (Mon, 15 May 2017 13:46:23 GMT):
ALPHA 2 - some confusion. Mark will send out an email with info on - > Here are the images, here are the things in alpha2, and delta(point to wiki) Alpha 2 includesfab-ca fabric node.js SDK Doc No Java SDK Automated test is currently blocked UT is at 71% overall 4 CRs for fab-ca waiting Murali has some shim testings that will go in today Artem working on event UT

czar0 (Mon, 15 May 2017 20:08:49 GMT):
Has joined the channel.

vdods (Mon, 15 May 2017 21:29:27 GMT):
Has joined the channel.

vdods (Mon, 15 May 2017 21:43:09 GMT):
Hi all, under what circumstances will a peer clean up the docker image for a chaincode that it has run? Is there a way to force this to happen upon peer shutdown?

rangak (Tue, 16 May 2017 06:10:05 GMT):
Hacked up a little utility to help a bit in identifying significant events in orderer and peer logfiles. It is a simplistic algorithm. Welcome pointer to alternatives out there and/or improvements. https://github.com/Rangak/loglights

zemtsov (Tue, 16 May 2017 08:49:13 GMT):
Has left the channel.

laurentkatz (Tue, 16 May 2017 10:23:31 GMT):
Has joined the channel.

weeds (Tue, 16 May 2017 11:20:27 GMT):
@rangak nice! @jimthematrix @muralisr Check it out on what rangak did.

muralisr (Tue, 16 May 2017 11:32:59 GMT):
cool @rangak ... wonder if can add some simple search capabilities (perhaps just a regex grep over the logs after sorting) ? for example in the screen shot search for "Org1MSP" (or if/when we have them, search by TxID)

rangak (Tue, 16 May 2017 14:15:03 GMT):
@weeds Thanks ! Hope you find it useful and can improve it. It is very simple.

rangak (Tue, 16 May 2017 14:16:36 GMT):
@muralisr That's a good idea. Will add that. Thanks. It is a very coarse algorithm that relies on user relevant events being separated in time and deems clustered lines as belonging to the same "event". It could be much improved with knowledge of how fabric orderers and peers log. Please do feel free to improve it and send pull requests.

rangak (Tue, 16 May 2017 16:10:27 GMT):
@muralisr Updated with regex support. Enjoy! https://github.com/Rangak/loglights

muralisr (Tue, 16 May 2017 16:12:03 GMT):
Thanks @rangak ...will check it out

vdods (Tue, 16 May 2017 16:46:17 GMT):
Has left the channel.

rmohta (Tue, 16 May 2017 17:04:36 GMT):
@here is it possible to have a policy where we can restrict asset creation to one organization. Another organization can only update asset after a certain state, etc. For example, in car-lease demo - a new car asset can be created only by manufacturer.

rmohta (Tue, 16 May 2017 17:05:19 GMT):
^^^ can this be done at function level within a single chaincode?

jeffgarratt (Tue, 16 May 2017 17:05:37 GMT):
@rmohta I would refer to composer which specializes in this concept

jeffgarratt (Tue, 16 May 2017 17:05:37 GMT):
@rmohta I would refer to composer which specializes in this concept https://chat.hyperledger.org/channel/composer

jeffgarratt (Tue, 16 May 2017 17:06:02 GMT):
I think you will find exactly what you are looking for

rmohta (Tue, 16 May 2017 17:08:01 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZfGS9YeavPyoeDfqh) @jeffgarratt Thank You. I will ask my question there too. But out of curiosity, is that something possible in fabric?

jeffgarratt (Tue, 16 May 2017 17:08:40 GMT):
composer offers a higher level DSL to provide the semantics of asset transfer you are looking for

jeffgarratt (Tue, 16 May 2017 17:08:45 GMT):
and yes :)

jeffgarratt (Tue, 16 May 2017 17:09:03 GMT):
but the editor and language for composer is both salient and powerful

jeffgarratt (Tue, 16 May 2017 17:09:22 GMT):
I would checkout some of the videos they have posted, they are very compelling

jeffgarratt (Tue, 16 May 2017 17:09:28 GMT):
@rmohta ^^^

jeffgarratt (Tue, 16 May 2017 17:10:11 GMT):
they (the composer team) is working diligently to prepare composer for fabric-1.0-alpha2 asap

jeffgarratt (Tue, 16 May 2017 17:10:29 GMT):
but it is demonstrable today and works with v0.6 as well

rmohta (Tue, 16 May 2017 17:11:45 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=kssbRmRNcNpKvmqW7) @jeffgarratt Cool. Will look. For our usecase we have decided to use 1.0. But will check it out. Thank you!!

jeffgarratt (Tue, 16 May 2017 17:11:49 GMT):
@rmohta https://www.youtube.com/watch?v=fdFUsrsv5iw

jeffgarratt (Tue, 16 May 2017 17:12:17 GMT):
you should be fairly well insulated from fabric changes using their DSL

rahulhegde (Tue, 16 May 2017 23:22:12 GMT):
@muralisr I had question on chaincode upgrade. I see we have to follow the install + upgrade pattern for upgrading the user-chaincode for the peer. 1. If there are any in-flight transaction endorsed using old-version user-chaincode, would they be committed by the time chaincode is upgraded to a new version?

rahulhegde (Tue, 16 May 2017 23:22:12 GMT):
@muralisr I had question on chaincode upgrade. I see we have to follow the install + upgrade pattern for upgrading the user-chaincode for the peer. 1. If there are any in-flight transaction endorsed using old-version user-chaincode, would they be committed by the time chaincode is upgraded to a new version? 2. I tried upgrading to a new version user-chaincode using E2E Peer CLI for only 1 peer (peer0) and then tried invoking a new transaction on the 2nd peer (who is not yet upgraded - peer1); this fails saying invalid deployment spec. Can you explain - does this upgrade on peer0 invalidates the deployment spec across that channel/chaincode thus mandating an user-chaincode upgrade? 3. Another case, where Peer0 is installed + running with upgraded chaincode (v2.0) however peer1 is installed with old chaincode (v1.0). Peer CLI is invoked on Peer0 and is set with self-endorsed policy. This will pass the endorsement, shouldn't the peer1 at the committing time, can reject the block? 4. Is there best practice guide like i see `docker ps` and `docker images` shows the old chaincode running, can i stop the docker container and at the same time remove the image?

rahulhegde (Tue, 16 May 2017 23:22:12 GMT):
@muralisr I had question on chaincode upgrade. I see we have to follow the install + upgrade pattern for upgrading the user-chaincode for the peer. 1. If there are any in-flight transaction endorsed using old-version user-chaincode, would they be accepted by committing peer by the time the chaincode is upgraded to a new version? 2. I tried upgrading to a new version user-chaincode using E2E Peer CLI for only 1 peer (peer0) and then tried invoking a new transaction on the 2nd peer (who is not yet upgraded - peer1); this fails saying invalid deployment spec. Can you explain - does this upgrade on peer0 invalidates the deployment spec across that channel/chaincode thus mandating an user-chaincode upgrade? 3. Another case, where Peer0 is installed + running with upgraded chaincode (v2.0) however peer1 is installed with old chaincode (v1.0). Peer CLI is invoked on Peer0 and is set with self-endorsed policy. This will pass the endorsement, shouldn't the peer1 at the committing time reject the block, this is same as point 1 and so as the answer? 4. Is there best practice guide like i see `docker ps` and `docker images` shows the old chaincode running, can i stop the docker container and at the same time remove the image?

muralisr (Wed, 17 May 2017 00:09:40 GMT):
@rahulhegde

muralisr (Wed, 17 May 2017 00:11:20 GMT):
1. transactions based on previous version of CC and committed on or above the block the upgrade is committed will fail. Transactions committed on blocks previous to the block on which upgrade happens will succeed

muralisr (Wed, 17 May 2017 00:11:20 GMT):
1. transactions based on previous version of CC and committed on or greater than the block the upgrade is committed upon will fail. Transactions committed on blocks previous to the block on which upgrade happens will succeed

muralisr (Wed, 17 May 2017 00:12:05 GMT):
2. after upgrade is committed on a channel, all peers on that channel on whom endorsment is required should install the new version of the chaincode

muralisr (Wed, 17 May 2017 00:13:55 GMT):
3. peers may not have install chaincode..if one peer without the chaincode accepted the TX and another with the CC rejected, it will lead to diverging ledgers (non-determinism)

muralisr (Wed, 17 May 2017 00:13:55 GMT):
3. some peers may not have installed chaincode..if one peer without the chaincode accepted the TX and another with the CC rejected, it will lead to diverging ledgers (non-determinism)

muralisr (Wed, 17 May 2017 00:15:35 GMT):
4. yes ... but please see take a look at https://jira.hyperledger.org/browse/FAB-3326 for direction in this area

muralisr (Wed, 17 May 2017 00:18:18 GMT):
Anything to add to the above @jiangyaoguo ?

reoim10 (Wed, 17 May 2017 01:06:01 GMT):
Has joined the channel.

rahulhegde (Wed, 17 May 2017 02:35:15 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=MBkBvHBPKNzHfQQTz) @muralisr 1. So upgrade block (assuming this will be a block holding a single upgrade transaction) will act as a marker and decided to reject or accept based on the chaincode-version information that should be available in each transaction. Second thought - wasn't checking only the read-set version sufficient to accept or reject block transaction (as committer-only-peer will not have user chain-code installed-instantiated). which case resulted to have marker?

jiangyaoguo (Wed, 17 May 2017 02:43:50 GMT):
@rahulhegde upgrade block may have mutiple txs. commiter will invalid all the other txs which invoke the upgraded cc(no matter old or new version) to avoid upgrade tx being invalided because of RWset conflict. every tx has a field that state the cc version it invokes, commiter will check the version match the latest version of cc qureied from lscc.

weeds (Wed, 17 May 2017 10:56:39 GMT):
@markparz the questions above from rahulhegde and responses from muralisr would be good to add to documentation, so thought I would highlight. Thanks!

weeds (Wed, 17 May 2017 13:31:27 GMT):
We are starting scrum call-

weeds (Wed, 17 May 2017 13:31:44 GMT):
(1-888-426-6840 / 33682113)

weeds (Wed, 17 May 2017 13:31:51 GMT):
Taking notes:

weeds (Wed, 17 May 2017 13:32:27 GMT):
For CI on fabric-ci status is posted- there is a bug that was posted as CA was crashing- FAB-3974

weeds (Wed, 17 May 2017 13:32:36 GMT):
Keith Smith is working on it

weeds (Wed, 17 May 2017 13:33:01 GMT):
Java SDK is working , because it went back to a previous image (ie alpha 2 images)

weeds (Wed, 17 May 2017 13:33:16 GMT):
Nodejs sdk is failing as it is working with the recent images so why it's failling

weeds (Wed, 17 May 2017 13:33:49 GMT):
Murali to follow up how we checked in something that caused the CI to fail

weeds (Wed, 17 May 2017 13:34:36 GMT):
Yesterday- we worked on 685 to publish java artivacts to maven- Linux foundation said that is not possible. We need @cbf on whether this is ok Rick does not agree with the new approached.

weeds (Wed, 17 May 2017 13:34:36 GMT):
Yesterday- we worked on 684 to publish java artivacts to maven- Linux foundation said that is not possible. We need @cbf on whether this is ok Rick does not agree with the new approached.

weeds (Wed, 17 May 2017 13:34:54 GMT):
Rick adding comments to the JIRA on his opinion on this

weeds (Wed, 17 May 2017 13:35:25 GMT):
Gari asked for a link- what is the exact url on where the binaries posted- crytpogen and configtxgen are posted

weeds (Wed, 17 May 2017 13:35:42 GMT):
@rameshthoomu please provide link here for where binaries posted (and add to the jira)

weeds (Wed, 17 May 2017 13:37:14 GMT):
FAB 3925- this is getting started update for doc- it claims it's still in progress- @nickgaski ? It's Ramesh's change to do the Nexus push- that is what is blocking Nick to do the final getting started. are you looking for +2 on Nexus (gari/Greg gave comments).. i will trigger that job on alpha 2 commits (please add comments to clarrify in 3925)... we can't consider alpha 2 until this is done.

weeds (Wed, 17 May 2017 13:37:43 GMT):
FAB 3669- person is out sick

weeds (Wed, 17 May 2017 13:38:20 GMT):
going back to 3925 which is getting started.. but Ramesh is FAB 2986 which does the publish-- there is a codependency here.

weeds (Wed, 17 May 2017 13:38:37 GMT):
Anything else on bugs?

nickgaski (Wed, 17 May 2017 13:40:27 GMT):
8939 is blocking me on 3925 - updating getting started. This is the CR to publish the binaries on nexus

weeds (Wed, 17 May 2017 13:40:47 GMT):
Another team joined today and shared the following: - Dave started to look at not using keystore and can't get it to work... I need to understand why I can't use other file location. .hsc.keystore. The other thing I see is the node.sdk is generating console logs with errors... I don't think we want this. Dave is going to see if he has api changes- if not- he will reopen the JIRA he has and will open it as highest.

weeds (Wed, 17 May 2017 13:41:33 GMT):
Please open JIRa on the errors seen due to nodejs.sdk-- he will open it shortly

weeds (Wed, 17 May 2017 13:47:51 GMT):
Unit test--> We have a ton of unit tests out in review (you can see quite a list on fabric-pr-review channel) we should have maintainers working on getting this stuff merged in provided it follows the criteria:

weeds (Wed, 17 May 2017 13:48:04 GMT):
https://wiki.hyperledger.org/projects/fabric/release_exit_criteria

weeds (Wed, 17 May 2017 13:48:27 GMT):
go to bottom of this link and you will see the guidance maintainers and those checking in pieces of code, test, documentation should be following for version 1.0

weeds (Wed, 17 May 2017 13:49:04 GMT):
For logging components- we should be advancing logging capabilities.. what is the right way to do this to make sure it's not disruptive? Murali plans to surface this on one of channels for discussion and will do that here on peer-endorser-comitter

weeds (Wed, 17 May 2017 13:51:01 GMT):
@mastersingh24 Note the logging discussion to happen here with @muralisr

weeds (Wed, 17 May 2017 13:52:20 GMT):
Anil asking for hepl on reviews - he was highlighting 9285, 3730, 3638, 3735 (fabs)

weeds (Wed, 17 May 2017 13:53:03 GMT):
We need to ask on maintainers on how the alpha 2 will be announced

weeds (Wed, 17 May 2017 13:53:34 GMT):
Dave has some concerns- we are trying to get some feedback and this is not a release candidate

weeds (Wed, 17 May 2017 13:53:50 GMT):
Announce meaning- sending something to e-mail list

weeds (Wed, 17 May 2017 13:55:12 GMT):
@cbf @JonathanLevi note comments on how to communicate the alpha 2 up above (when is appropriate time, who is going to post on hyperledger email distro that alpha 2 is available for people to try out)

cbf (Wed, 17 May 2017 13:55:49 GMT):
@weeds @JonathanLevi will be making the announce

weeds (Wed, 17 May 2017 13:56:10 GMT):
(Please note we did read through Barry Mosakowski's note on system test that he posted on the e-mail distro list- this deals with how he was proposing how to do system test)

rahulhegde (Wed, 17 May 2017 19:02:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=27ThbzyxA2ocsdRvq) @jiangyaoguo @muralisr Can you acknowledge - do you say upgrade block can have multiple transaction. Do we mean a single block can hold transaction created as part of Invoke call + upgrade config transaction? If Yes - Do we say these transaction within this block (containing the upgrade transaction config) will be marked Invalid or not accepted? If still - Yes - Is it mandatory to Invalid the transaction which are part of the upgrade block as RW-Version must get independently verified by committing peer (think who is not even the endorser) irrespective of user-chaincode upgrade?

rahulhegde (Wed, 17 May 2017 19:02:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=27ThbzyxA2ocsdRvq) @jiangyaoguo @muralisr Can you acknowledge - do you say upgrade block can have multiple transaction. Do we mean a single block can hold transaction created as part of Invoke call + upgrade config transaction? If Yes - Do we say these invoke transaction within this block (containing the upgrade transaction config) will be marked Invalid or not accepted? If still - Yes - Is it mandatory to Invalid the transaction which are part of the upgrade block as RW-Version must get independently verified by committing peer (think who is not even the endorser) irrespective of user-chaincode upgrade?

muralisr (Wed, 17 May 2017 19:12:45 GMT):
@rahulhegde orderer could receive invoke and upgrade (say from different peers) and put them in the same block and sent for committment. So Yes to the first question. On the committer side, the Upgrade tx will go through (assuming it succeeds other checks such as endorsement policy) but the invoke transactions for same upgraded chaincode on the block with be marked Invalid. Since all committers on the channel will evaluate the block in the same manner, they all will end up with the same end result - valid upgraded transaction and invalidated invoke transactions that happened to end up on the upgraded transaction's block.

rahulhegde (Wed, 17 May 2017 20:42:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WhqjwdoSDqC5hResc) @muralisr ` but the invoke transactions for same upgraded chaincode on the block with be marked Invalid ` v/s ` commiter will invalid all the other txs which invoke the upgraded cc(no matter old or new version)` which one is true?

muralisr (Wed, 17 May 2017 20:44:21 GMT):
@rahulhegde its probably just words, but they are saying (at least tryong to say) the same thing

muralisr (Wed, 17 May 2017 20:48:39 GMT):
Considering a block of transactins for commitment; "invoke txs generated from a CC ending up on the same block as a TX for upgrading the CC.." in that statement, the "invoke txs" will be invalidated and the "upgrade TX" marked valid (provided it passed other tests)

rahulhegde (Wed, 17 May 2017 21:25:57 GMT):
Had a offline chat with Murali ``` Legend * [] is a blockchain-block separator * Tn are the ledger transaction ``` ``` [T1], [T2, T3], [T4, T5] where: T1 - transaction endorsed on user-chaincode v1.0 T2 - transaction endorsed on user-chaincode v1.0 T3 - upgrade chaincode transaction having v1.1 T4 - transaction endorsed on user-chaincode v1.0 T5 - transaction endorsed on user-chaincode v1.1 ``` ``` Peer Committer processing/order T1 - accepted T3 - accepted T2 - invalid T4 - invalid T5 - accepted ``` Thanks @muralisr

muralisr (Wed, 17 May 2017 21:26:53 GMT):
thats nicely done, @rahulhegde !

RistoAlas (Thu, 18 May 2017 09:40:58 GMT):
Has joined the channel.

jongeun.park (Thu, 18 May 2017 10:48:50 GMT):
Has joined the channel.

rmohta (Thu, 18 May 2017 16:16:04 GMT):
@here A silly question, when we install a chaincode in peer1-org1 with policy for org1 and org2 members - do we have to install chaincode for peer2 too? I'm assuming we have to. Can someone confirm?

rmohta (Thu, 18 May 2017 16:16:04 GMT):
@here A silly question, when we install a chaincode in peer1-org1 with policy for org1 and org2 members - do we have to install chaincode for peer for org 2 or peer 2 of same org too? I'm assuming we have to. Can someone confirm?

jimthematrix (Thu, 18 May 2017 16:16:52 GMT):
@rmohta each peer node that will be later asked to endorser a transaction must have the chaincode installed

jimthematrix (Thu, 18 May 2017 16:17:22 GMT):
if you plan to send transaction proposals to peers in org2, or peer2 in org1, then they must have the chaincode installed first

rmohta (Thu, 18 May 2017 16:17:51 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ezBRGEMf7gPp5opXS) @jimthematrix OKay. So every peer should go and install the chaincode separately. Is there a need/way for us to make sure - org1 and org2 peer are using the same chaincode?

rmohta (Thu, 18 May 2017 16:17:51 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ezBRGEMf7gPp5opXS) @jimthematrix OKay. So every peer should go and install the chaincode separately. Is there a need/way for us to make sure - org1 and org2 peer are using the same chaincode? Same version and same spec?

jimthematrix (Thu, 18 May 2017 16:20:55 GMT):
they do need to be same version, exactly the same code, in order for the chaincode instantiate call to succeed

rmohta (Thu, 18 May 2017 22:37:17 GMT):
Has anyone encountered this error when trying to instantiate chaincode `Error: Error endorsing chaincode: rpc error: code = 2 desc = Error starting container: API error (500): {"message":"Error parsing reference: \"dev-peer0-assetOperationscc-2\" is not a valid repository/tag"}`

jeffgarratt (Thu, 18 May 2017 23:25:20 GMT):
@rmohta are you sure you have installed the chaincode?

rmohta (Thu, 18 May 2017 23:25:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=q7jxRrHPRR5xmb2o6) @jeffgarratt Yes. Got some answers in #fabric-dev-env

rmohta (Thu, 18 May 2017 23:25:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=q7jxRrHPRR5xmb2o6) @jeffgarratt Yes. Got some answers in #fabric-dev-env Thank You

jeffgarratt (Thu, 18 May 2017 23:26:22 GMT):
good deal

jimthematrix (Fri, 19 May 2017 00:29:10 GMT):
@muralisr can you take a look at this JIRA I just opened based on our conversation yesterday? want to make sure it's accurate for the state of things and long term plan is to keep the design that way: https://jira.hyperledger.org/browse/FAB-4014

jimthematrix (Fri, 19 May 2017 00:29:10 GMT):
@muralisr can you take a look at this JIRA I just opened based on our conversation yesterday? want to make sure it's accurate for the state of things and long term plan is to keep the design that way: https://jira.hyperledger.org/browse/FAB-4014, thanks!

muralisr (Fri, 19 May 2017 00:35:46 GMT):
@jimthematrix just responded. hope that helps and we are on the same page...

jimthematrix (Fri, 19 May 2017 03:42:45 GMT):
thanks @muralisr

SaranyaM (Fri, 19 May 2017 10:56:59 GMT):
Has joined the channel.

muralisr (Fri, 19 May 2017 12:34:38 GMT):
@here volume mount on `windows` doesn't appear to be working right in a container created using docker compose. The dir itself is there in the container but doesn't have files. Appreciate any hints/tips on that

weeds (Fri, 19 May 2017 13:34:21 GMT):
Scrum started-

weeds (Fri, 19 May 2017 13:34:52 GMT):
(1-888-426-6840 / 33682113)

weeds (Fri, 19 May 2017 13:35:03 GMT):
- See Fabric-release channel for latest update on where we are on alpha 2

weeds (Fri, 19 May 2017 13:35:24 GMT):
while all posted in that channel, understanding is we could announce- Dave tested the getting started

weeds (Fri, 19 May 2017 13:35:40 GMT):
Windows still needs to be updated and may come later (believe arnaud is working it)

weeds (Fri, 19 May 2017 13:36:06 GMT):
There are subsequent work post this cut of the release outlined by Dave Enyeart on fabric-release channel

weeds (Fri, 19 May 2017 13:36:26 GMT):
- open defects

weeds (Fri, 19 May 2017 13:36:39 GMT):
fab 4013- orderer panic

weeds (Fri, 19 May 2017 13:37:04 GMT):
Kafka related panic--> @kostas can you please assign it?

weeds (Fri, 19 May 2017 13:37:41 GMT):
this is highest bug

weeds (Fri, 19 May 2017 13:38:13 GMT):
fab 3925- still seems in progress

weeds (Fri, 19 May 2017 13:38:29 GMT):
Fab 3669 go unit tests are failling interimitently

weeds (Fri, 19 May 2017 13:40:03 GMT):
- Unit test unit test

kostas (Fri, 19 May 2017 13:40:30 GMT):
@weeds: Got in touch with the team, in all of these defects the service doesn't look like it's set up right. Pointed the team to the right config settings, asked for reproduction, tagged all of these items with "reproduction-needed".

kostas (Fri, 19 May 2017 13:41:10 GMT):
This has been captured in JIRA as well.

weeds (Fri, 19 May 2017 13:41:23 GMT):
perfect- thanks much Kostas!

weeds (Fri, 19 May 2017 13:43:06 GMT):
Elli- crypto squad

weeds (Fri, 19 May 2017 13:44:00 GMT):
Crypto is at 85%- we need to make sure that Maintainers are ok with our coverage

weeds (Fri, 19 May 2017 13:45:33 GMT):
all checked in

weeds (Fri, 19 May 2017 13:45:39 GMT):
for unit test that we did

weeds (Fri, 19 May 2017 13:45:49 GMT):
no help required

weeds (Fri, 19 May 2017 13:46:24 GMT):
so Murali plans to go through the list of unit tests in gerrit and will post on the pr review of what needs to be merged

weeds (Fri, 19 May 2017 13:48:34 GMT):
Request from Murali to all the leads in particular areas

weeds (Fri, 19 May 2017 13:49:41 GMT):
What unit tests fabs are opened on your components? What needs to be merged and still waiting for maintainers? Are all those crs/fabs address comments from maintainers and rebased if required... and cleaned up any work on dependencies that they may have as well? Can you list those fabs/CRs int he peer review channel in next few hours so maintainers know what they need to do?

lehors (Fri, 19 May 2017 13:52:51 GMT):
@weeds I made progress on the windows problem, see comment on https://jira.hyperledger.org/browse/FAB-4032

weeds (Fri, 19 May 2017 13:53:11 GMT):
@elli-androulaki @kostas @muralisr @smithbk @dave.enyeart @jimthematrix See immediately above

dave.enyeart (Fri, 19 May 2017 13:59:10 GMT):
@weeds lehors has indeed made great progress. I just chatted with him and we agree to assign FAB-4032 to him to drive the fixes into gerrit. He's still trying to chase down some root cause vs workarounds though.

dave.enyeart (Fri, 19 May 2017 13:59:10 GMT):
@weeds lehors has indeed made great progress. I just chatted with him and we agreed to assign FAB-4032 to him to drive the fixes into gerrit. He's still trying to chase down some root cause vs workarounds though.

weeds (Fri, 19 May 2017 14:44:58 GMT):
Thanks!

muralisr (Fri, 19 May 2017 20:27:56 GMT):
@here please checkout https://jira.hyperledger.org/browse/FAB-4046 for helping out with UT for peer-endorser-committer components. It has some simple instructions and has some easy "Unassigned" sub-tasks to get started with

yacovm (Fri, 19 May 2017 21:33:41 GMT):
Enjoy @muralisr

yacovm (Sat, 20 May 2017 18:45:47 GMT):
https://github.com/hyperledger/fabric/blob/master/peer/chaincode/common.go#L110 This line `logger.Infof("Invoke result: %v", proposalResp)` should not print the payload of the *ProposalResponse* in my opinion. It's just `[]byte` anyway and doesn't give the user any useful information. On the other hand, if the chaincode invocation creates a large WSet - it just fills up the screen...

yacovm (Sat, 20 May 2017 18:45:51 GMT):
@muralisr ^

hendry19901990 (Sat, 20 May 2017 19:20:14 GMT):
Has joined the channel.

hendry19901990 (Sat, 20 May 2017 19:21:10 GMT):
i am new developer here, i would like to help here, I don't know how to start

smonfort (Sat, 20 May 2017 19:53:42 GMT):
Has joined the channel.

muralisr (Sat, 20 May 2017 21:24:59 GMT):
@yacovm actually there's a CR that outputs correct chaincode response https://gerrit.hyperledger.org/r/#/c/9253/

muralisr (Sat, 20 May 2017 21:26:29 GMT):
@hendry19901990 did you familiarize with some of the fabric (and welcome!)

hendry19901990 (Sat, 20 May 2017 22:30:16 GMT):
umm ok

hendry19901990 (Sat, 20 May 2017 22:31:12 GMT):
how to do that

hendry19901990 (Sat, 20 May 2017 22:33:02 GMT):
is there a document to intro ??

muralisr (Sat, 20 May 2017 23:07:28 GMT):
@hendry19901990 the alpha2 docs about to be released would be a good place to start ( @nickgaski ...could you help with pointing to the right doc while alpha2 is being published please ?)

muralisr (Sat, 20 May 2017 23:09:48 GMT):
while waiting for @nickgaski ...here's the docs link http://hyperledger-fabric.readthedocs.io/en/latest/ ... not sure how "latest" it is but should help get started

nickgaski (Sat, 20 May 2017 23:10:01 GMT):
hey we are updated now

nickgaski (Sat, 20 May 2017 23:10:09 GMT):
so getting started will work on all platforms

nickgaski (Sat, 20 May 2017 23:10:25 GMT):
@hendry19901990 - did you get your network up?

hendry19901990 (Sat, 20 May 2017 23:11:02 GMT):
yes

hendry19901990 (Sat, 20 May 2017 23:11:13 GMT):
thanks my friends

nickgaski (Sat, 20 May 2017 23:12:13 GMT):
awesome. we are planning on publishing some higher level material with a more conceptual introduction into the various components and how they fit together. However, for now we'll be happy with a stable getting started that leaves you with all your images and artifacts :)

bmkor (Sun, 21 May 2017 05:56:39 GMT):
Has joined the channel.

hendry19901990 (Sun, 21 May 2017 15:04:21 GMT):
yes i 've got the network up, thanks my friend @nickgaski

Calvin_Heo (Mon, 22 May 2017 02:52:18 GMT):
Has joined the channel.

rmohta (Mon, 22 May 2017 18:53:28 GMT):
@here Does anyone know how to debug this ```2017-05-22 18:26:38.023 UTC [msp] getMspConfig -> INFO 001 intermediate certs folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/intermediatecerts]. Skipping.: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/intermediatecerts: no such file or directory] 2017-05-22 18:26:38.023 UTC [msp] getMspConfig -> INFO 002 crls folder not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/intermediatecerts]. Skipping.: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/crls: no such file or directory] 2017-05-22 18:26:38.023 UTC [msp] getMspConfig -> INFO 003 MSP configuration file not found at [/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/config.yaml]: [stat /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/config.yaml: no such file or directory] 2017-05-22 18:26:38.052 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP 2017-05-22 18:26:38.052 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity 2017-05-22 18:26:38.053 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 006 Using default escc 2017-05-22 18:26:38.054 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 007 Using default vscc 2017-05-22 18:26:38.055 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0AB0070A6608031A0B08DEDA8CC90510...324D53500A04657363630A0476736363 2017-05-22 18:26:38.055 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: E3434FC0BED2D90868418E53D33B2D09FB7D119C5CC634A78FA46199B03901FF 2017-05-22 18:26:38.062 UTC [msp/identity] Sign -> DEBU 00a Sign: plaintext: 0AB0070A6608031A0B08DEDA8CC90510...16D7AAA511225E74165F36064F2E26E3 2017-05-22 18:26:38.062 UTC [msp/identity] Sign -> DEBU 00b Sign: digest: 181B13C08DBB130246649B345EFA1219F26F2830AF763AE6602ECCFD79737B67 Error: Got unexpected status: NOT_FOUND Usage: peer chaincode instantiate [flags] ```

jeffgarratt (Mon, 22 May 2017 18:54:49 GMT):
@rmohta check your orderer logs

jeffgarratt (Mon, 22 May 2017 18:55:09 GMT):
looks like perhaps an issue with the broadcast of the instantiate TX

rmohta (Mon, 22 May 2017 18:55:39 GMT):
When would we get `Error: Got unexpected status: NOT_FOUND`. Installed cc successfully.

rmohta (Mon, 22 May 2017 18:55:52 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=uwF3Nta7H7eedd5JT) @jeffgarratt Checked. No error.

jeffgarratt (Mon, 22 May 2017 18:55:57 GMT):
installed and instantiate are 2 different steps

jeffgarratt (Mon, 22 May 2017 18:56:13 GMT):
installation does NOT require orderer

rmohta (Mon, 22 May 2017 18:56:23 GMT):
right.. for some reason, I can see new docker containers. But I cannot invoke anything on them

jeffgarratt (Mon, 22 May 2017 18:56:24 GMT):
instantiate does

jeffgarratt (Mon, 22 May 2017 18:56:42 GMT):
guessing the install worked... but instantiate failed

jeffgarratt (Mon, 22 May 2017 18:56:54 GMT):
thus not ledger for the peer for that chanincode/channel

rmohta (Mon, 22 May 2017 18:56:59 GMT):
But won't the container start only when we instantiate it?

jeffgarratt (Mon, 22 May 2017 18:57:05 GMT):
install may start it

jeffgarratt (Mon, 22 May 2017 18:57:18 GMT):
would need to check with @muralisr to verify

jeffgarratt (Mon, 22 May 2017 18:57:23 GMT):
but seems reasonable

jeffgarratt (Mon, 22 May 2017 18:57:33 GMT):
as this would prove the install worked

jeffgarratt (Mon, 22 May 2017 18:57:39 GMT):
and the chaincode can launch

jeffgarratt (Mon, 22 May 2017 18:58:10 GMT):
let me see if I can check real quick

rmohta (Mon, 22 May 2017 18:58:18 GMT):
@jeffgarratt anything specific I should look in my docker compose for broadcast and gossip?

rmohta (Mon, 22 May 2017 18:58:25 GMT):
okies. Thank You @jeffgarratt

jeffgarratt (Mon, 22 May 2017 18:59:53 GMT):
k, install does NOT seem to create the chaincode container

jeffgarratt (Mon, 22 May 2017 19:00:08 GMT):
so your instantiate seems to have successfully processed

jeffgarratt (Mon, 22 May 2017 19:00:34 GMT):
or perhaps at least partially succeeded

jeffgarratt (Mon, 22 May 2017 19:00:37 GMT):
would need the logs

jeffgarratt (Mon, 22 May 2017 19:00:49 GMT):
@muralisr may be your best bet at this point

rmohta (Mon, 22 May 2017 19:00:52 GMT):
```[rmohta@LPDMA728: ~/workspace/bc/gcs-blockchain/infrastructure]$ docker logs --tail 20 peer0.org1.example.com 2017-05-22 18:35:27.846 UTC [deliveryClient] RequestBlocks -> DEBU 1c2a7 Starting deliver with block [1] 2017-05-22 18:35:27.847 UTC [blocksProvider] DeliverBlocks -> WARN 1c2a8 Got error &{NOT_FOUND} 2017-05-22 18:35:28.849 UTC [deliveryClient] RequestBlocks -> DEBU 1c2a9 Starting deliver with block [1] 2017-05-22 18:35:28.850 UTC [blocksProvider] DeliverBlocks -> WARN 1c2aa Got error &{NOT_FOUND} 2017-05-22 18:35:29.852 UTC [deliveryClient] RequestBlocks -> DEBU 1c2ab Starting deliver with block [1] 2017-05-22 18:35:29.853 UTC [blocksProvider] DeliverBlocks -> WARN 1c2ac Got error &{NOT_FOUND} 2017-05-22 18:35:30.855 UTC [deliveryClient] RequestBlocks -> DEBU 1c2ad Starting deliver with block [1] 2017-05-22 18:35:30.856 UTC [blocksProvider] DeliverBlocks -> WARN 1c2ae Got error &{NOT_FOUND} 2017-05-22 18:35:31.857 UTC [deliveryClient] RequestBlocks -> DEBU 1c2af Starting deliver with block [1] 2017-05-22 18:35:31.858 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b0 Got error &{NOT_FOUND} 2017-05-22 18:35:32.860 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b1 Starting deliver with block [1] 2017-05-22 18:35:32.861 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b2 Got error &{NOT_FOUND} 2017-05-22 18:35:33.863 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b3 Starting deliver with block [1] 2017-05-22 18:35:33.864 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b4 Got error &{NOT_FOUND} 2017-05-22 18:35:34.866 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b5 Starting deliver with block [1] 2017-05-22 18:35:34.867 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b6 Got error &{NOT_FOUND} 2017-05-22 18:35:35.869 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b7 Starting deliver with block [1] 2017-05-22 18:35:35.870 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b8 Got error &{NOT_FOUND} 2017-05-22 18:35:36.871 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b9 Starting deliver with block [1] 2017-05-22 18:35:36.872 UTC [blocksProvider] DeliverBlocks -> WARN 1c2ba Got error &{NOT_FOUND} ```

rmohta (Mon, 22 May 2017 19:00:52 GMT):
```[rmohta@]$ docker logs --tail 20 peer0.org1.example.com 2017-05-22 18:35:27.846 UTC [deliveryClient] RequestBlocks -> DEBU 1c2a7 Starting deliver with block [1] 2017-05-22 18:35:27.847 UTC [blocksProvider] DeliverBlocks -> WARN 1c2a8 Got error &{NOT_FOUND} 2017-05-22 18:35:28.849 UTC [deliveryClient] RequestBlocks -> DEBU 1c2a9 Starting deliver with block [1] 2017-05-22 18:35:28.850 UTC [blocksProvider] DeliverBlocks -> WARN 1c2aa Got error &{NOT_FOUND} 2017-05-22 18:35:29.852 UTC [deliveryClient] RequestBlocks -> DEBU 1c2ab Starting deliver with block [1] 2017-05-22 18:35:29.853 UTC [blocksProvider] DeliverBlocks -> WARN 1c2ac Got error &{NOT_FOUND} 2017-05-22 18:35:30.855 UTC [deliveryClient] RequestBlocks -> DEBU 1c2ad Starting deliver with block [1] 2017-05-22 18:35:30.856 UTC [blocksProvider] DeliverBlocks -> WARN 1c2ae Got error &{NOT_FOUND} 2017-05-22 18:35:31.857 UTC [deliveryClient] RequestBlocks -> DEBU 1c2af Starting deliver with block [1] 2017-05-22 18:35:31.858 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b0 Got error &{NOT_FOUND} 2017-05-22 18:35:32.860 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b1 Starting deliver with block [1] 2017-05-22 18:35:32.861 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b2 Got error &{NOT_FOUND} 2017-05-22 18:35:33.863 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b3 Starting deliver with block [1] 2017-05-22 18:35:33.864 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b4 Got error &{NOT_FOUND} 2017-05-22 18:35:34.866 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b5 Starting deliver with block [1] 2017-05-22 18:35:34.867 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b6 Got error &{NOT_FOUND} 2017-05-22 18:35:35.869 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b7 Starting deliver with block [1] 2017-05-22 18:35:35.870 UTC [blocksProvider] DeliverBlocks -> WARN 1c2b8 Got error &{NOT_FOUND} 2017-05-22 18:35:36.871 UTC [deliveryClient] RequestBlocks -> DEBU 1c2b9 Starting deliver with block [1] 2017-05-22 18:35:36.872 UTC [blocksProvider] DeliverBlocks -> WARN 1c2ba Got error &{NOT_FOUND} ```

jeffgarratt (Mon, 22 May 2017 19:01:27 GMT):
hmm, not sure what that is

rmohta (Mon, 22 May 2017 19:02:05 GMT):
oh I was trying to say is - I can see these errors in peer container. Now sure why do we have these many times.

rmohta (Mon, 22 May 2017 19:02:25 GMT):
will try to rebuild the network from scratch and see.

jeffgarratt (Mon, 22 May 2017 19:02:53 GMT):
gonna run and see if I see the same thing

rmohta (Mon, 22 May 2017 19:02:56 GMT):
@muralisr if you have any idea on specific area to check, please do let me know

jeffgarratt (Mon, 22 May 2017 19:03:00 GMT):
will do

jeffgarratt (Mon, 22 May 2017 19:03:12 GMT):
how recent is your code?

rmohta (Mon, 22 May 2017 19:03:21 GMT):
alpha-2 image.

jeffgarratt (Mon, 22 May 2017 19:03:23 GMT):
k

muralisr (Mon, 22 May 2017 19:03:58 GMT):
@jeffgarratt `Error: Got unexpected status: NOT_FOUND`. might be orderer complaining some chainid is not there ?

muralisr (Mon, 22 May 2017 19:03:58 GMT):
@jeffgarratt `Error: Got unexpected status: NOT_FOUND`. might be orderer complaining some channel is not there ?

jeffgarratt (Mon, 22 May 2017 19:04:26 GMT):
that appears to be from the deliver service in the peer

jeffgarratt (Mon, 22 May 2017 19:04:46 GMT):
but it may be the deliver attempting to search on the newly created channel

jeffgarratt (Mon, 22 May 2017 19:05:06 GMT):
so perhaps expected, as there may NOT be a block 1

jeffgarratt (Mon, 22 May 2017 19:05:09 GMT):
genesis is 0

jeffgarratt (Mon, 22 May 2017 19:05:20 GMT):
have you issued a subsequent TX?

jeffgarratt (Mon, 22 May 2017 19:05:28 GMT):
on that channel?

jeffgarratt (Mon, 22 May 2017 19:05:36 GMT):
assume the instantiate would be block 1

rmohta (Mon, 22 May 2017 19:05:45 GMT):
nope. nothing as of now. @jeffgarratt

jeffgarratt (Mon, 22 May 2017 19:05:48 GMT):
ahhh

jeffgarratt (Mon, 22 May 2017 19:06:03 GMT):
perhaps this is expected if you join channel and nothing subseqquently sent

rmohta (Mon, 22 May 2017 19:06:05 GMT):
started, join channel, install cc, instantiate (failed)

rmohta (Mon, 22 May 2017 19:06:36 GMT):
what kind of transaction should be done post join? @jeffgarratt

jeffgarratt (Mon, 22 May 2017 19:06:42 GMT):
instantiate

jeffgarratt (Mon, 22 May 2017 19:06:57 GMT):
well, if you are the first to join and the channel is new

rmohta (Mon, 22 May 2017 19:07:55 GMT):
@jeffgarratt two peers (from different orgs) join the channel. install cc on both the peers. And then instantiate on only one peer for the network. It's the last part which fails.

rmohta (Mon, 22 May 2017 19:08:12 GMT):
BTW, rebooting my network. It might be some lingering thing from previos test

jeffgarratt (Mon, 22 May 2017 19:08:17 GMT):
k

yacovm (Mon, 22 May 2017 19:09:55 GMT):
@rmohta this seems to me like the ordering service is missing the channel the peer is trying to seek

yacovm (Mon, 22 May 2017 19:10:02 GMT):
if you git pull and rebuild

yacovm (Mon, 22 May 2017 19:10:12 GMT):
it now logs the channel name you try to pull

jeffgarratt (Mon, 22 May 2017 19:10:39 GMT):
this is definitely a post instantiate attempt issue

jeffgarratt (Mon, 22 May 2017 19:11:01 GMT):
I believe, as I ran the steps up to this point, and blocksProvider is never logging yet

yacovm (Mon, 22 May 2017 19:11:19 GMT):
this goroutine is run after JoinChannel occurrs

rmohta (Mon, 22 May 2017 19:11:47 GMT):
`CORE_PEER_ENDORSER_ENABLED=true` This was commented in our file between alpha-1 and alpha-2 test. Can this be an issue? None of the peers have this env.

yacovm (Mon, 22 May 2017 19:11:48 GMT):
or if the peer starts with a channel already in the ledger

yacovm (Mon, 22 May 2017 19:12:07 GMT):
I don't think so...

yacovm (Mon, 22 May 2017 19:12:07 GMT):
> `CORE_PEER_ENDORSER_ENABLED=true` This was commented in our file between alpha-1 and alpha-2 test. Can this be an issue? None of the peers have this env. I don't think so...

rmohta (Mon, 22 May 2017 19:12:44 GMT):
okes. Then I will have it commented. And create a new channel and the whole nine yard. Will get to know in few mins @yacovm

yacovm (Mon, 22 May 2017 19:13:49 GMT):
I think that instantiate stats the container, not install.

yacovm (Mon, 22 May 2017 19:13:49 GMT):
I think that instantiate starts the container, not install.

rmohta (Mon, 22 May 2017 19:14:45 GMT):
When I try to create a new channel, I can see this ```2017-05-22 18:49:15.291 UTC [msp] GetLocalMSP -> DEBU 014 Returning existing local MSP 2017-05-22 18:49:15.291 UTC [msp] GetDefaultSigningIdentity -> DEBU 015 Obtaining default signing identity 2017-05-22 18:49:15.291 UTC [msp/identity] Sign -> DEBU 016 Sign: plaintext: 0ADF060A1508021A0608ABE58CC90522...00120D1A0B08FFFFFFFFFFFFFFFFFF01 2017-05-22 18:49:15.291 UTC [msp/identity] Sign -> DEBU 017 Sign: digest: 15EB17A64CE3B4E8612EFABDA3A393CB2B54A5ACB86EEC76D7ADCA6FE6A343B5 Got status &{NOT_FOUND} 2017-05-22 18:49:15.301 UTC [msp] GetLocalMSP -> DEBU 018 Returning existing local MSP 2017-05-22 18:49:15.301 UTC [msp] GetDefaultSigningIdentity -> DEBU 019 Obtaining default signing identity 2017-05-22 18:49:15.503 UTC [msp] GetLocalMSP -> DEBU 01a Returning existing local MSP ```

rmohta (Mon, 22 May 2017 19:14:45 GMT):
When I try to create a new channel, I can see this ```2017-05-22 18:49:15.291 UTC [msp] GetLocalMSP -> DEBU 014 Returning existing local MSP 2017-05-22 18:49:15.291 UTC [msp] GetDefaultSigningIdentity -> DEBU 015 Obtaining default signing identity 2017-05-22 18:49:15.291 UTC [msp/identity] Sign -> DEBU 016 Sign: plaintext: 0ADF060A1508021A0608ABE58CC90522...00120D1A0B08FFFFFFFFFFFFFFFFFF01 2017-05-22 18:49:15.291 UTC [msp/identity] Sign -> DEBU 017 Sign: digest: 15EB17A64CE3B4E8612EFABDA3A393CB2B54A5ACB86EEC76D7ADCA6FE6A343B5 Got status &{NOT_FOUND} 2017-05-22 18:49:15.301 UTC [msp] GetLocalMSP -> DEBU 018 Returning existing local MSP 2017-05-22 18:49:15.301 UTC [msp] GetDefaultSigningIdentity -> DEBU 019 Obtaining default signing identity 2017-05-22 18:49:15.503 UTC [msp] GetLocalMSP -> DEBU 01a Returning existing local MSP ```

yacovm (Mon, 22 May 2017 19:14:53 GMT):
BTW I have tested the master branch as of yesterday and things worked for me... had like 2 peers and an ordering service, everything generated with cryptogen and my own customly made-in-vi configtxgen.yaml file

yacovm (Mon, 22 May 2017 19:14:53 GMT):
BTW I have tested the master branch as of yesterday and things worked for me... had like 2 peers and an ordering service, everything generated with cryptogen and my own customly made-in-vi configtx.yaml file

yacovm (Mon, 22 May 2017 19:15:11 GMT):
well @rmohta what do the ordering service logs tell you?

rmohta (Mon, 22 May 2017 19:16:04 GMT):
```2017-05-22 18:49:15.505 UTC [cauthdsl] func2 -> DEBU 7d9 Principal evaluation succeeds: (&{0}) (used [false]) 2017-05-22 18:49:15.505 UTC [cauthdsl] func1 -> DEBU 7da Gate evaluation succeeds: (&{n:1 policies: }) 2017-05-22 18:49:15.505 UTC [orderer/common/sigfilter] Apply -> DEBU 7db Forwarding validly signed message for policy &{%!s(*common.ImplicitMetaPolicy=&{Readers 0}) %!s(int=1) [%!s(*policies.implicitMetaPolicy=&{0xc420acde80 1 [0xc420a541c8 0xc420a542b0]}) %!s(*policies.implicitMetaPolicy=&{0xc420acd840 1 [0xc420a54170]})]} 2017-05-22 18:49:15.505 UTC [orderer/common/deliver] Handle -> DEBU 7dc Received seekInfo (0xc4208b09e0) start: > stop: > for chain mychannel 2017-05-22 18:49:15.505 UTC [fsblkstorage] retrieveBlockByNumber -> DEBU 7dd retrieveBlockByNumber() - blockNum = [0] 2017-05-22 18:49:15.505 UTC [fsblkstorage] newBlockfileStream -> DEBU 7de newBlockfileStream(): filePath=[/var/hyperledger/production/orderer/chains/mychannel/blockfile_000000], startOffset=[0] 2017-05-22 18:49:15.505 UTC [fsblkstorage] nextBlockBytesAndPlacementInfo -> DEBU 7df Remaining bytes=[9624], Going to peek [8] bytes 2017-05-22 18:49:15.505 UTC [fsblkstorage] nextBlockBytesAndPlacementInfo -> DEBU 7e0 Returning blockbytes - length=[9622], placementInfo={fileNum=[0], startOffset=[0], bytesOffset=[2]} 2017-05-22 18:49:15.505 UTC [orderer/common/deliver] Handle -> DEBU 7e1 Delivering block for (0xc4208b09e0) channel: mychannel ```

rmohta (Mon, 22 May 2017 19:16:57 GMT):
it also tells this in the start ```2017-05-22 18:49:15.350 UTC [msp/identity] Sign -> DEBU 7cb Sign: plaintext: 0AD4060A0A4F7264657265724D535012...C9317A01D7C0A6EAAACF038715C2DDBE 2017-05-22 18:49:15.350 UTC [msp/identity] Sign -> DEBU 7cc Sign: digest: 2E3A3C19FBCC7B5791CC389EDE7AFB0F3B87A28F229E5EF10348B0AF12FF8461 2017-05-22 18:49:15.352 UTC [fsblkstorage] indexBlock -> DEBU 7cd Indexing block [blockNum=1, blockHash=[]byte{0x9a, 0xbb, 0x2c, 0x8a, 0x93, 0x82, 0xee, 0xc1, 0xb6, 0xa5, 0x7c, 0x90, 0x9, 0x80, 0x25, 0xa1, 0x5a, 0xe0, 0x2, 0x74, 0x40, 0x78, 0xef, 0x88, 0x67, 0xee, 0x5d, 0xef, 0x52, 0xd4, 0xe4, 0xb9} txOffsets= txId= locPointer=offset=70, bytesLength=10571 ] 2017-05-22 18:49:15.352 UTC [fsblkstorage] updateCheckpoint -> DEBU 7ce Broadcasting about update checkpointInfo: latestFileChunkSuffixNum=[0], latestFileChunksize=[19115], isChainEmpty=[false], lastBlockNumber=[1] 2017-05-22 18:49:15.352 UTC [orderer/multichain] WriteBlock -> DEBU 7cf [channel: testchainid] Wrote block 1 ```

yacovm (Mon, 22 May 2017 19:20:08 GMT):
These logs of the ordering service are after the `Deliver` from the peer is tried

yacovm (Mon, 22 May 2017 19:20:21 GMT):
look at the micro-seconds

rmohta (Mon, 22 May 2017 19:57:17 GMT):
@yacovm @jeffgarratt this time it worked. Not sure if something was left over from our previous state. Thank You for your help

jeffgarratt (Mon, 22 May 2017 19:57:36 GMT):
@rmohta good deal!!

toddinpal (Tue, 23 May 2017 21:40:15 GMT):
When writing blocks, does the peer wait for the I/O to complete before generating the transaction committed event?

yacovm (Tue, 23 May 2017 22:06:17 GMT):
That's a question for #fabric-ledger

simsc (Wed, 24 May 2017 13:13:17 GMT):
Instead of a conf call in number for the 9:30 scrum, the team proposed using the fabric channel as a mechanism for holding the meeting. there will be no call in and the team will type directly into the 'fabric' channel (not this channel).

baohua (Wed, 24 May 2017 14:05:44 GMT):
Has joined the channel.

rmohta (Thu, 25 May 2017 01:53:49 GMT):
@here within a single channel if we plan to create multiple consortium, for sharing same assets but between different groups - how should we control access to that data?

rmohta (Thu, 25 May 2017 01:53:49 GMT):
@here within a single channel if we plan to create multiple consortia, for sharing the same type of assets but between different groups - how should we control access to that data?

prashiyn (Thu, 25 May 2017 09:49:07 GMT):
Has joined the channel.

prashiyn (Thu, 25 May 2017 09:51:04 GMT):
Get the following error on orderer log I get the following error `Principal deserialization failed: (The supplied identity is not valid, Verify() returned x509: certificate signed by unknown authority)` from the orderer while creating the channel. openssl verify verifies is properly whereas its failing in the msp. Is there anything I am missing

prashiyn (Thu, 25 May 2017 09:51:35 GMT):
I did not use the cryptogen tool but created the certificates using fabric-ca

jsong1230 (Thu, 25 May 2017 12:43:48 GMT):
2017-05-25 21:42:08.904 KST [chaincode] ExecuteChaincode -> ERRO 008 Error executing chaincode: Could not get deployment transaction from LSCC for mycc:1.0 - Get ChaincodeDeploymentSpec for mycc/mychannel from LSCC error: chaincode fingerprint mismatch data mismatch

jsong1230 (Thu, 25 May 2017 12:44:05 GMT):
What is the reason for the above error? Anyone has an idea? Thanks.

yacovm (Thu, 25 May 2017 13:00:24 GMT):
Yeah. The chaincode (binary file produced) you are trying to install has a different hash than the one instantiated in the channel

yacovm (Thu, 25 May 2017 13:00:27 GMT):
@jsong1230

guoger (Thu, 25 May 2017 15:08:00 GMT):
Has joined the channel.

jeffgarratt (Thu, 25 May 2017 18:31:56 GMT):
@rmohta consortia exist outside of the context of a channel. Channels are defined with respect to a particular consortium, and must be some sub-set of that definition.

rahulhegde (Thu, 25 May 2017 21:34:35 GMT):
@muralisr Multiple endorsement request processing is allowed as part of v1.0 at the same point of time, is there field which I can print in the user-chaincode which will allow me for easy debugging?

rahulhegde (Thu, 25 May 2017 21:34:35 GMT):
@muralisr Multiple endorsement request processing is allowed as part of v1.0 at the same point of time, is there field which I can print/log in the user-chaincode which will allow me for easy debugging?

muralisr (Thu, 25 May 2017 21:35:52 GMT):
@rahulhegde let me make sure I understand...

muralisr (Thu, 25 May 2017 21:36:51 GMT):
you want to log something in the chaincode that'll help figure out if a request will be endorsed successfully ?

rmohta (Thu, 25 May 2017 21:49:01 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fNA7qhj8pqMmT7YqN) @jeffgarratt So if I understand the heirarchy. Constorium are made of 1 or many channels?

rmohta (Thu, 25 May 2017 21:50:09 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8dEH7BEmQeBLaLg4f) @prashiyn Does the orderer msp/ca directory have the root cert for your Org?

rahulhegde (Thu, 25 May 2017 22:20:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qy9okcmdYGenRWZ6G) @muralisr No exactly, apologies for the short description. Single peer can receive multiple endorsement request from multiple HFC in the same time instance and hence they will be processed by peer (to user-chaincode) in parallel. I would like to know if there is any identifier that can be logged by user-chaincode thus helping on debugging.

muralisr (Thu, 25 May 2017 22:26:17 GMT):
@rahulhegde shim.GetTxID() can be used to differentiate

jeffgarratt (Thu, 25 May 2017 23:11:52 GMT):
@rmohta slightly inverted to that. Every channel refers to a consortium. The members of the channel must either be the members of the consortium or a subset thereof.

Glen (Fri, 26 May 2017 01:14:18 GMT):
Has joined the channel.

prashiyn (Fri, 26 May 2017 04:24:27 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=r6sd5eQojfLzMBvJA) @rmohta Sorted with help from @smithbk. There was an issue with the chaincerts. Thank you

icodezjb (Fri, 26 May 2017 05:22:12 GMT):
Has joined the channel.

lehors (Fri, 26 May 2017 13:34:42 GMT):
for fabric scrum, go to #fabric

thakkarparth007 (Fri, 26 May 2017 16:36:22 GMT):
Has joined the channel.

thakkarparth007 (Fri, 26 May 2017 16:40:08 GMT):
Hi guys, I'm trying to setup fabric on a multihost setup, and have 4 orgs, with 2 peers each. I want to instantiate a chaincode (using node-sdk) that has already been installed on all of them. My endorsement policy is that 3 out of 4 admins of the 4 orgs should endorse (I don't fully understand this, but I'll come to that later). Right now, I'm sending instantiate proposals to all the 8 peers (again, not sure if sending to all 8 is required, but that's not important right now). I get all the 8 endorsements, and this by itself starts the chaincode containers on all the 8 peers. I didn't even send the endorsements to the orderer. Why should this happen? @muralisr @binhn

jeffgarratt (Fri, 26 May 2017 17:00:33 GMT):
@thakkarparth007 I would assume that you can not invoke the chaincode though on the endorsers?

thakkarparth007 (Fri, 26 May 2017 17:00:46 GMT):
Nope, I can't.

jeffgarratt (Fri, 26 May 2017 17:00:50 GMT):
good

jeffgarratt (Fri, 26 May 2017 17:01:04 GMT):
you need to submit the instantiate to orderer to complete the process

thakkarparth007 (Fri, 26 May 2017 17:01:22 GMT):
"failed to obtain cds for generic-chaincode - could not find chaincode with name 'generic-chaincode' at /root/tools/scripts/IRL/load_generator/node_modules/grpc/src/node/src/client.js:434:17"

jeffgarratt (Fri, 26 May 2017 17:01:31 GMT):
that is expected

thakkarparth007 (Fri, 26 May 2017 17:01:36 GMT):
But if I do, it says the chaincode already exists

jeffgarratt (Fri, 26 May 2017 17:02:02 GMT):
you attempted to submit the instantiate TX to the orderer?

thakkarparth007 (Fri, 26 May 2017 17:03:09 GMT):
Okay, it did so before. Now it's not doing. But the client doesn't hear any event from the peer about the transaction commit.

thakkarparth007 (Fri, 26 May 2017 17:03:38 GMT):
I have the transaction id, can I see if it has been committed?

jeffgarratt (Fri, 26 May 2017 17:03:40 GMT):
until the TX is committed, the peers will not receive it

jeffgarratt (Fri, 26 May 2017 17:04:12 GMT):
@muralisr may be able to advise at this point.

jeffgarratt (Fri, 26 May 2017 17:05:08 GMT):
@muralisr @dave.enyeart do we expose the ability to get a TX by id? or the block it is in?

jeffgarratt (Fri, 26 May 2017 17:05:08 GMT):
@muralisr @dave.enyeart do we expose the ability to get a TX by id? or the block it is in from the peer interface?

dave.enyeart (Fri, 26 May 2017 17:06:43 GMT):
yes, query system chaincode has these functions:

dave.enyeart (Fri, 26 May 2017 17:06:47 GMT):
``` GetChainInfo string = "GetChainInfo" GetBlockByNumber string = "GetBlockByNumber" GetBlockByHash string = "GetBlockByHash" GetTransactionByID string = "GetTransactionByID" GetBlockByTxID string = "GetBlockByTxID"```

jeffgarratt (Fri, 26 May 2017 17:07:31 GMT):
@thakkarparth007 ^^^^ thanks Dave

dave.enyeart (Fri, 26 May 2017 17:07:32 GMT):
/fabric/core/scc/qscc/query.go

thakkarparth007 (Fri, 26 May 2017 17:08:20 GMT):
Thanks, I'll try finding if anything got committed and get back

jeffgarratt (Fri, 26 May 2017 17:08:26 GMT):
good luck!!

dave.enyeart (Fri, 26 May 2017 17:09:21 GMT):
example invoke:

dave.enyeart (Fri, 26 May 2017 17:09:25 GMT):
`peer chaincode query -C "" -n qscc -c '{"Args":["GetTransactionByID","myc1","19badf25511cad45665c5291b8f1bff5d10a0fe0db6cb4dba7f7f3abbb5b0b89"]}' `

Senthil1 (Fri, 26 May 2017 17:09:40 GMT):
@jeffgarratt what will happen if we just instantiate on one peer and send the proposalResponse to orderer? Will all peer deploy the chaincode on a docker container?

jeffgarratt (Fri, 26 May 2017 17:09:44 GMT):
@thakkarparth007 ^^ see above

jeffgarratt (Fri, 26 May 2017 17:09:50 GMT):
thanks @dave.enyeart

jeffgarratt (Fri, 26 May 2017 17:10:58 GMT):
@Senthil1 I presume they would fail, as they will not be able to perform the function.

thakkarparth007 (Fri, 26 May 2017 17:11:02 GMT):
Thanks @dave.enyeart and @jeffgarratt There was a bug in my event-receiving code.

thakkarparth007 (Fri, 26 May 2017 17:11:11 GMT):
It got installed.

jeffgarratt (Fri, 26 May 2017 17:11:21 GMT):
@thakkarparth007 awesome!!

thakkarparth007 (Fri, 26 May 2017 17:11:23 GMT):
Initally I was trying to instantiate on the anchor nodes

dave.enyeart (Fri, 26 May 2017 17:11:50 GMT):
you need to `install` chaincode on all peers

thakkarparth007 (Fri, 26 May 2017 17:11:52 GMT):
But maybe it's required to instantiate on every peer?

thakkarparth007 (Fri, 26 May 2017 17:11:56 GMT):
How do things work?

thakkarparth007 (Fri, 26 May 2017 17:12:02 GMT):
Yeah, we installed on all peers.

dave.enyeart (Fri, 26 May 2017 17:12:03 GMT):
you only need to `instantiate` once

Senthil1 (Fri, 26 May 2017 17:12:12 GMT):
I see. @thakkarparth007 can you see what happens when we send instantiate to only one peer ?

thakkarparth007 (Fri, 26 May 2017 17:12:18 GMT):
Oh. Let me try that once again, I'm not sure if that was working.

Senthil1 (Fri, 26 May 2017 17:12:26 GMT):
@dave.enyeart that what I thought too..

jeffgarratt (Fri, 26 May 2017 17:12:59 GMT):
@thakkarparth007 you should not be able to as you require 3 of 4 endorsements.

Senthil1 (Fri, 26 May 2017 17:13:30 GMT):
@jeffgarratt we got endorsement for 4 peers and submitted to orderer

Senthil1 (Fri, 26 May 2017 17:13:30 GMT):
@jeffgarratt we got endorsement from 4 peers and submitted to orderer

Senthil1 (Fri, 26 May 2017 17:13:41 GMT):
but the chaincode was started only on those 4 nodes..

thakkarparth007 (Fri, 26 May 2017 17:14:02 GMT):
Yeah

thakkarparth007 (Fri, 26 May 2017 17:14:13 GMT):
The containers, that is.

thakkarparth007 (Fri, 26 May 2017 17:14:31 GMT):
Can you explain how it's supposed to work in my case?

dave.enyeart (Fri, 26 May 2017 17:14:36 GMT):
chaincode containers can come and go as they are needed

dave.enyeart (Fri, 26 May 2017 17:14:36 GMT):
chaincode containers can come and go, as they are needed by endorsement

jeffgarratt (Fri, 26 May 2017 17:15:03 GMT):
you must first install the chaincode on the peers (requires local MSP admin priveldge).

Senthil1 (Fri, 26 May 2017 17:15:15 GMT):
hmm.. make sense.. e2e cli has similar example..

Senthil1 (Fri, 26 May 2017 17:15:27 GMT):
@jeffgarratt yeah, chaincodes are installed on all peers.

thakkarparth007 (Fri, 26 May 2017 17:15:34 GMT):
My case being 4 orgs, each 2 peers. Endorsement policy: 3 out of 4 admins should endorse.

jeffgarratt (Fri, 26 May 2017 17:15:57 GMT):
k, then as long as those peers have joined the channel, the instantiate should flow through as expected

jeffgarratt (Fri, 26 May 2017 17:16:23 GMT):
and policy met for endorsement, things should be good

thakkarparth007 (Fri, 26 May 2017 17:16:52 GMT):
So I should instantiate on any 3 out of the 8 peers, is it?

jeffgarratt (Fri, 26 May 2017 17:17:14 GMT):
as long as that meets the policy, it is up to you

dave.enyeart (Fri, 26 May 2017 17:17:35 GMT):
instantiate is only done once for the channel

dave.enyeart (Fri, 26 May 2017 17:17:52 GMT):
it puts an entry on the channel's chain

dave.enyeart (Fri, 26 May 2017 17:18:08 GMT):
gets replicated to all peers via normal block dissemination

dave.enyeart (Fri, 26 May 2017 17:18:08 GMT):
gets replicated to all peers on the channel via normal block dissemination

Senthil1 (Fri, 26 May 2017 17:18:27 GMT):
@thakkarparth007 Can you check the following? Do instantiate on only 1 peer (say peer0 in our case) and submit the endorsement to orderer. Then, do an invoke on peer1. As dave says, chaincode container might come and go..

thakkarparth007 (Fri, 26 May 2017 17:18:49 GMT):
Yup, doing that right now

thakkarparth007 (Fri, 26 May 2017 17:23:09 GMT):
Okay, so here's what happened: I instantiated on one peer, and after some time the chaincode got launched on 2 other peers, but not on anyone else.

jeffgarratt (Fri, 26 May 2017 17:23:50 GMT):
did you try an endorsment of that new chaincode on peer0?

thakkarparth007 (Fri, 26 May 2017 17:23:50 GMT):
My application that does instantiation waits for 'event' from its peer, and as I told that part is buggy (not sure what's going on there), so it doesn't display any output

thakkarparth007 (Fri, 26 May 2017 17:24:21 GMT):
Now when I saw a container running on one of the peers (peer1 - which initially didn't have it), I stopped my application.

thakkarparth007 (Fri, 26 May 2017 17:24:51 GMT):
But all it was doing was waiting for the event from the peer, so it couldn't have stopped deploying chaincodes on other peers, could it?

thakkarparth007 (Fri, 26 May 2017 17:24:57 GMT):
I did.

thakkarparth007 (Fri, 26 May 2017 17:25:06 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=sXaaic6B54hM6ygPy) @jeffgarratt I did, that is

jeffgarratt (Fri, 26 May 2017 17:25:11 GMT):
response?

thakkarparth007 (Fri, 26 May 2017 17:25:33 GMT):
No errors, but didn't hear of any event from peer0 either.

thakkarparth007 (Fri, 26 May 2017 17:25:48 GMT):
And the containers got deployed on 2 other peers,

thakkarparth007 (Fri, 26 May 2017 17:25:53 GMT):
but not one anyone else.

jeffgarratt (Fri, 26 May 2017 17:25:56 GMT):
k, then the instantiate appears to have occurred then on peer0?

Senthil1 (Fri, 26 May 2017 17:25:58 GMT):
@thakkarparth007 better use our fetch-block tool and inspect the block content.. we can find out more..

thakkarparth007 (Fri, 26 May 2017 17:26:15 GMT):
@Senthil1 I'll do that.

dave.enyeart (Fri, 26 May 2017 17:26:17 GMT):
you wont see a chaincode container until all three conditions are met: 1) chaincode is installed on the peer 2) chaincode is instantiated on the channel 3) chaincode is invoked on the peer

thakkarparth007 (Fri, 26 May 2017 17:26:26 GMT):
@jeffgarratt yes

jeffgarratt (Fri, 26 May 2017 17:26:45 GMT):
k, then working as expected, except for you lack of event from peer0?

thakkarparth007 (Fri, 26 May 2017 17:26:49 GMT):
@dave.enyeart I didn't invoke the chaincoe on any peer

jeffgarratt (Fri, 26 May 2017 17:26:59 GMT):
wait, I just asked that

jeffgarratt (Fri, 26 May 2017 17:27:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=QNBgLBMud3phsHmS6) @thakkarparth007 See below

jeffgarratt (Fri, 26 May 2017 17:27:36 GMT):
wen I asked.,.. did you try an endorsment of that new chaincode on peer0?

jeffgarratt (Fri, 26 May 2017 17:27:47 GMT):
that is asking if you invoked the new chaincode

thakkarparth007 (Fri, 26 May 2017 17:27:56 GMT):
No, I didn't invoke it.

jeffgarratt (Fri, 26 May 2017 17:28:02 GMT):
ahhh... give that a go

thakkarparth007 (Fri, 26 May 2017 17:28:04 GMT):
I thought you meant if I instantiated it on peer0

jeffgarratt (Fri, 26 May 2017 17:28:16 GMT):
;)

thakkarparth007 (Fri, 26 May 2017 17:28:39 GMT):
"Error executing chaincode: Error chaincode is being launched: generic-chaincode:1.0"

jeffgarratt (Fri, 26 May 2017 17:29:10 GMT):
hmmm. try once again?

thakkarparth007 (Fri, 26 May 2017 17:29:12 GMT):
But nothing's really happening. The containers got deployed on 2 other peers long back. Others should've caught on by now.

jeffgarratt (Fri, 26 May 2017 17:29:24 GMT):
k, will see if I can replicate

jeffgarratt (Fri, 26 May 2017 17:29:30 GMT):
latest code?

jeffgarratt (Fri, 26 May 2017 17:29:54 GMT):
meaning, are you running from latest master?

jeffgarratt (Fri, 26 May 2017 17:29:56 GMT):
or close?

thakkarparth007 (Fri, 26 May 2017 17:30:03 GMT):
I think so.

thakkarparth007 (Fri, 26 May 2017 17:30:06 GMT):
Close at least.

jeffgarratt (Fri, 26 May 2017 17:30:06 GMT):
;)

jeffgarratt (Fri, 26 May 2017 17:30:11 GMT):
good deal!!

jeffgarratt (Fri, 26 May 2017 17:30:18 GMT):
gonna eat first, then see if I can replicate

Senthil1 (Fri, 26 May 2017 17:30:41 GMT):
@jeffgarratt alpha2 it is

jeffgarratt (Fri, 26 May 2017 17:30:45 GMT):
ahhh

jeffgarratt (Fri, 26 May 2017 17:30:53 GMT):
k

jeffgarratt (Fri, 26 May 2017 17:31:08 GMT):
I assume would not have been fixed if this is an issue

jeffgarratt (Fri, 26 May 2017 17:34:38 GMT):
k, I am seeing same behavior

thakkarparth007 (Fri, 26 May 2017 17:34:47 GMT):
The peer emits an event.

thakkarparth007 (Fri, 26 May 2017 17:34:53 GMT):
I confirmed it.

jeffgarratt (Fri, 26 May 2017 17:34:54 GMT):
wait, I missed one step...

thakkarparth007 (Fri, 26 May 2017 17:35:22 GMT):
@Senthil1, fetch-block detects the block

thakkarparth007 (Fri, 26 May 2017 17:36:01 GMT):
This is when instantiating on peer0, though other peers haven't gotten the containers running yet

Senthil1 (Fri, 26 May 2017 17:36:19 GMT):
where is the block json? is it in perfLog dir?

Senthil1 (Fri, 26 May 2017 17:37:00 GMT):
found it..

jeffgarratt (Fri, 26 May 2017 17:40:41 GMT):
@Senthil1 @thakkarparth007 k.. I performed similar and it works as expected. The endorsement takes a bit of extra time on the peer which did NOT endorse the isntantiate.

jeffgarratt (Fri, 26 May 2017 17:40:57 GMT):
but appears to work as advertised

thakkarparth007 (Fri, 26 May 2017 17:41:13 GMT):
:/ hmm.

Senthil1 (Fri, 26 May 2017 17:41:23 GMT):
I see.

jeffgarratt (Fri, 26 May 2017 17:41:34 GMT):
have time for a zoom meeting to demonstrate?

thakkarparth007 (Fri, 26 May 2017 17:41:35 GMT):
So you're instantiating on a single peer and container gets created on all peers?

jeffgarratt (Fri, 26 May 2017 17:42:15 GMT):
yes

jeffgarratt (Fri, 26 May 2017 17:42:39 GMT):
https://ibm.zoom.us/j/572191856

jeffgarratt (Fri, 26 May 2017 17:42:47 GMT):
can you join a quick conference on zoom?

thakkarparth007 (Fri, 26 May 2017 17:42:58 GMT):
Joining

thakkarparth007 (Fri, 26 May 2017 17:43:58 GMT):
Installing the package. min.

thakkarparth007 (Fri, 26 May 2017 17:44:01 GMT):
2min*

jeffgarratt (Fri, 26 May 2017 17:44:05 GMT):
take time :)

jeffgarratt (Fri, 26 May 2017 17:48:00 GMT):
@Senthil1 you are welcome as well

jeffgarratt (Fri, 26 May 2017 17:49:58 GMT):
you guys still coming?

thakkarparth007 (Fri, 26 May 2017 17:50:25 GMT):
Yeah, I'm coming. Nearly done with the installation

jeffgarratt (Fri, 26 May 2017 17:50:29 GMT):
:)

Senthil1 (Fri, 26 May 2017 18:10:12 GMT):
@jeffgarratt Thanks for your help. It did work finally using cli

Senthil1 (Fri, 26 May 2017 18:10:26 GMT):
I did instantiate on one peer and then did a query on all other peer

jeffgarratt (Fri, 26 May 2017 18:10:28 GMT):
@Senthil1 @thakkarparth007 awesome!!!!

Senthil1 (Fri, 26 May 2017 18:10:33 GMT):
container came up..

Senthil1 (Fri, 26 May 2017 18:10:38 GMT):
thanks a ton..

jeffgarratt (Fri, 26 May 2017 18:10:43 GMT):
you are most welcome!!!

thakkarparth007 (Fri, 26 May 2017 18:10:55 GMT):
Thank you! :D

Senthil1 (Fri, 26 May 2017 18:24:13 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=hYdAeRH2Rh4a7F6S8) @dave.enyeart thanks for your help.. it did work finally. let see how the performance differ between couchdb vs leveldb. Btw, @thakkarparth007 is our intern who is working on performance benchmarking of fabric 1.0

rmohta (Fri, 26 May 2017 18:28:31 GMT):
@here How can we enable `debug` logging for cc container? For now, it seems to be at a default `> WARN` level

rmohta (Fri, 26 May 2017 18:28:31 GMT):
@here How can we enable `debug` logging for cc container? For now, it seems to be at a default `> WARN` level. I am using the `flogging` package within fabric

wlahti (Fri, 26 May 2017 18:29:23 GMT):
Hey, I can help with that @rmohta

wlahti (Fri, 26 May 2017 18:30:48 GMT):
how are you running your environment, first of all?

rmohta (Fri, 26 May 2017 18:31:29 GMT):
@wlahti Didn't get your question? Do you mean how I have started my peer? or how my docker-compose file is?

wlahti (Fri, 26 May 2017 18:32:50 GMT):
are you just running the e2e_cli setup, alpha2 images, or something else? trying to get a sense for whether you need to override with environment variables or if you have access to sampleconfig/core.yaml to change the setting

wlahti (Fri, 26 May 2017 18:34:11 GMT):
if you look at core.yaml: https://github.com/hyperledger/fabric/blob/master/sampleconfig/core.yaml at line 341, you'll see the logging section for the chaincode container and explanation of the currently available options

wlahti (Fri, 26 May 2017 18:35:38 GMT):
depending on your environment, you can change the values there or by passing in the CORE_CHAINCODE_LOGGING_LEVEL and CORE_CHAINCODE_LOGGING_SHIM variables for whichever one you need to modify

wlahti (Fri, 26 May 2017 18:38:52 GMT):
if you've defined your own logger in your chaincode, you'll want to set CORE_CHAINCODE_LOGGING_LEVEL=debug. otherwise, you can set CORE_CHAINCODE_LOGGING_SHIM=debug or just set both to debug to ensure you get all logging levels in your environment

bmalavan (Sat, 27 May 2017 15:47:38 GMT):
Has joined the channel.

akash42145 (Sun, 28 May 2017 13:48:35 GMT):
Has joined the channel.

akash42145 (Sun, 28 May 2017 13:49:57 GMT):
Hello All, could you please help me to know how to create new peers dynamically for any organization.

yacovm (Sun, 28 May 2017 14:04:55 GMT):
you need to generate the content of the MSP folder

yacovm (Sun, 28 May 2017 14:05:10 GMT):
and assign an ip address / hostname for the peer

baohua (Mon, 29 May 2017 02:50:09 GMT):
Base on the checking of the existing code, we believe there's no usage of the peer.workers config in core.yaml So will plan to remove this config. Pls let me know if there's any purpose to keep it. Thanks!

baohua (Mon, 29 May 2017 02:50:09 GMT):
Base on the checking of the existing code, we believe there's no usage of the `peer.workers` config in core.yaml So will plan to remove this config. Pls let me know if there's any purpose to keep it. Thanks!

baohua (Mon, 29 May 2017 02:50:15 GMT):
https://jira.hyperledger.org/browse/FAB-4199

bmkor (Tue, 30 May 2017 12:00:54 GMT):
What's that intended for? @baohua

bmkor (Tue, 30 May 2017 12:00:54 GMT):
What's `peer.workers` intended for? @baohua

yacovm (Tue, 30 May 2017 12:03:22 GMT):
I assume it's an ancient remnant from 0.5

yacovm (Tue, 30 May 2017 12:03:30 GMT):
Don't let it bother you

bmkor (Tue, 30 May 2017 12:05:44 GMT):
Thanks.

xixuejia (Tue, 30 May 2017 14:08:33 GMT):
I wonder whether there's a config parameter to make a peer as endorser or committer? It seems there's no such config in core.yaml, but it's in dockefile https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/base/peer-base.yaml#L19

xixuejia (Tue, 30 May 2017 14:08:51 GMT):
and it's doesn't take effect

xixuejia (Tue, 30 May 2017 14:08:51 GMT):
and it doesn't take effect

jimthematrix (Tue, 30 May 2017 16:11:04 GMT):
@muralisr what's the intended workflow for testing chaincode in dev mode? i've tried the following: - build chaincode locally - start the peer docker with --peer-chaincodedev=true - run chaincode with the following command: ``` CORE_PEER_TLS_ENABLED=true CORE_PEER_TLS_ROOTCERT_FILE=$PEERDIR/cacerts/org1.example.com-cert.pem CORE_PEER_TLS_SERVERHOSTOVERRIDE=peer0.org1.example.com CORE_CHAINCODE_ID_NAME=end2endnodesdk ./example_cc --peer.address=localhost:7051 ``` - the above process successfully registered with the peer: ``` registered handler complete for chaincode end2endnodesdk ```

jimthematrix (Tue, 30 May 2017 16:11:49 GMT):
now i assume we don't need to install, do we still need to instantiate for a channel? or invoke directly?

jimthematrix (Tue, 30 May 2017 16:13:38 GMT):
when I tried to instantiate: ``` Error: cannot get package for the chaincode to be instantiated (end2endnodesdk:v0)-cannot retrieve package for chaincode end2endnodesdk/v0, error open /var/hyperledger/production/chaincodes/end2endnodesdk.v0: no such file or directory ```

muralisr (Tue, 30 May 2017 16:13:47 GMT):
@jimthematrix we do need to install unfortunately

muralisr (Tue, 30 May 2017 16:13:56 GMT):
just to make LSCC happy

muralisr (Tue, 30 May 2017 16:14:05 GMT):
the install itself wont be used

jimthematrix (Tue, 30 May 2017 16:14:06 GMT):
oh, did not expect that

muralisr (Tue, 30 May 2017 16:14:12 GMT):
yeah :-(

jimthematrix (Tue, 30 May 2017 16:14:27 GMT):
but i see why this is needed as temporary workaround

jimthematrix (Tue, 30 May 2017 16:14:31 GMT):
will try that

muralisr (Tue, 30 May 2017 16:14:45 GMT):
don't have a switch in the lscc to say "don't look for package..you are in dev mode"

muralisr (Tue, 30 May 2017 16:15:30 GMT):
one more thing

muralisr (Tue, 30 May 2017 16:16:05 GMT):
I think you need the version also ..like `CORE_CHAINCODE_ID_NAME=end2endnodesdk:`

muralisr (Tue, 30 May 2017 16:16:24 GMT):
in your case `CORE_CHAINCODE_ID_NAME=end2endnodesdk:v0`

jimthematrix (Tue, 30 May 2017 16:23:51 GMT):
ah, good catch, was just wondering about that, getting this: ``` [chaincode] Launch -> ERRO 392 sending init failed(handler not found for chaincode end2endnodesdk:v0) ```

jimthematrix (Tue, 30 May 2017 16:24:04 GMT):
will try adding the version to the registered name

jimthematrix (Tue, 30 May 2017 16:25:11 GMT):
works better now!

jimthematrix (Tue, 30 May 2017 16:25:14 GMT):
thanks!

jimthematrix (Tue, 30 May 2017 16:25:14 GMT):
thanks @muralisr !

arek20 (Tue, 30 May 2017 17:31:06 GMT):
Has joined the channel.

thakkarparth007 (Wed, 31 May 2017 16:36:01 GMT):
I have a set up with a few peers, and while experimenting I found out that the number of times their blockfiles were modified was different for each peer. None of my peers had disconnected during the experiment, so it couldn't be due to the gossip data-retrieval. I don't understand why this should happen.

thakkarparth007 (Wed, 31 May 2017 16:36:05 GMT):
Can anyone explain?

thakkarparth007 (Wed, 31 May 2017 16:37:03 GMT):
I used inotify to monitor the blockfiles, in case that's relevant.

thakkarparth007 (Wed, 31 May 2017 16:37:36 GMT):
I'd been under the impression that the blockfile would be modified every time a new block needs to be added

thakkarparth007 (Wed, 31 May 2017 16:38:07 GMT):
Or is this simply due to buffering of the 'write' calls?

jyellick (Wed, 31 May 2017 20:58:10 GMT):
@muralisr @cbf The peer channel create tests still fail for me on master, even after https://gerrit.hyperledger.org/r/#/c/9997/ ``` --- FAIL: TestCreateChainNilCF (0.00s) assertions.go:225: ^M ^M Error Trace: create_test.go:527 ^M Error: "channel create configuration tx file not found open /tmp/createinvaltest-755067002/mockchannel: no such file or directory" does not contain "error: code = Unavailable desc = grpc: the connection is unavailable" ```

jyellick (Wed, 31 May 2017 20:58:10 GMT):
@muralisr @cbf The peer channel create tests still fail for me locally on master, even after https://gerrit.hyperledger.org/r/#/c/9997/ ``` --- FAIL: TestCreateChainNilCF (0.00s) assertions.go:225: ^M ^M Error Trace: create_test.go:527 ^M Error: "channel create configuration tx file not found open /tmp/createinvaltest-755067002/mockchannel: no such file or directory" does not contain "error: code = Unavailable desc = grpc: the connection is unavailable" ``` any ideas?

jyellick (Wed, 31 May 2017 20:58:10 GMT):
@muralisr @cbf The peer channel create tests still fail for me locally on master, even after https://gerrit.hyperledger.org/r/#/c/9997/ ``` --- FAIL: TestCreateChainNilCF (0.00s) assertions.go:225: ^M ^M Error Trace: create_test.go:527 ^M Error: "channel create configuration tx file not found open /tmp/createinvaltest-755067002/mockchannel: no such file or directory" does not contain "error: code = Unavailable desc = grpc: the connection is unavailable" ``` ~any ideas?~ Realized the problem. I happened to have an orderer running on 7050, which allowed the connection to occur.

muralisr (Wed, 31 May 2017 21:05:27 GMT):
ah

muralisr (Wed, 31 May 2017 21:05:57 GMT):
I just began looking at it and was pouring over the difference in the strings with 997

muralisr (Wed, 31 May 2017 21:05:57 GMT):
I just began looking at it and was pouring over the difference in the strings with 9997

latitiah (Thu, 01 Jun 2017 15:40:10 GMT):
When trying to join a channel (using the peer cli command), I receive the following error: ``` Error: proposal failed (err: rpc error: code = 2 desc = Failed to reconstruct the genesis block, Failed to reconstruct the genesis block, proto: bad wiretype for field common.BlockHeader.Number: got wiretype 2, want 0``` Can anyone point me in the direction to look to figure out this issue?

latitiah (Thu, 01 Jun 2017 15:40:46 GMT):
From the logs, it looks as though tthe channel has been created successfully

latitiah (Thu, 01 Jun 2017 17:39:03 GMT):
nm... user error: I passed the transaction file and not the block file

toddinpal (Fri, 02 Jun 2017 01:49:23 GMT):
Is there any way to join to separate Fabric networks into a single network?

JasonD (Fri, 02 Jun 2017 05:25:14 GMT):
Has joined the channel.

JasonD (Fri, 02 Jun 2017 05:26:47 GMT):
@muralisr FYI, check this issue, https://jira.hyperledger.org/browse/FAB-4254, it seems like this is fabric-peer's bug

BhavishaDawda (Fri, 02 Jun 2017 16:07:38 GMT):
Has joined the channel.

latitiah (Fri, 02 Jun 2017 17:52:52 GMT):
@muralisr: I think this may be a fabric-peer bug as well: https://jira.hyperledger.org/browse/FAB-4327

muralisr (Fri, 02 Jun 2017 17:54:52 GMT):
thanks @latitiah assigned tit to self

muralisr (Fri, 02 Jun 2017 17:54:52 GMT):
thanks @latitiah assigned it to self

dbshah (Fri, 02 Jun 2017 18:01:54 GMT):
Hey, I am trying aplha2 code: when i do a `peer channel join` getting this ``` 2017-06-01 20:18:53.132 UTC [ConnProducer] NewConnection -> ERRO 304 Failed connecting to orderer-0c.net_blockchain.com:3004 , error: grpc: timed out when dialing 2017-06-01 20:18:56.133 UTC [ConnProducer] NewConnection -> ERRO 305 Failed connecting to orderer-0b.net_blockchain.com:2004 , error: grpc: timed out when dialing 2017-06-01 20:18:59.134 UTC [ConnProducer] NewConnection -> ERRO 306 Failed connecting to orderer-0a.net_blockchain.com:1004 , error: grpc: timed out when dialing 2017-06-01 20:18:59.134 UTC [deliveryClient] connect -> ERRO 307 Failed obtaining connection: Could not connect to any of the endpoints: [orderer-0c.net_blockchain.com:3004 orderer-0b.net_blockchain.com:2004 orderer-0a.net_blockchain.com:1004] 2017-06-01 20:19:03.136 UTC [ConnProducer] NewConnection -> ERRO 308 Failed connecting to orderer-0a.net_blockchain.com:1004 , error: grpc: timed out when dialing 2017-06-01 20:19:06.138 UTC [ConnProducer] NewConnection -> ERRO 309 Failed connecting to orderer-0b.net_blockchain.com:2004 , error: grpc: timed out when dialing 2017-06-01 20:19:09.139 UTC [ConnProducer] NewConnection -> ERRO 30a Failed connecting to orderer-0c.net_blockchain.com:3004 , error: grpc: timed out when dialing 2017-06-01 20:19:09.139 UTC [deliveryClient] connect -> ERRO 30b Failed obtaining connection: Could not connect to any of the endpoints: [orderer-0a.net_blockchain.com:1004 orderer-0b.net_blockchain.com:2004 orderer-0c.net_blockchain.com:3004] 2017-06-01 20:19:14.141 UTC [ConnProducer] NewConnection -> ERRO 30c Failed connecting to orderer-0a.net_blockchain.com:1004 , error: grpc: timed out when dialing 2017-06-01 20:19:17.141 UTC [ConnProducer] NewConnection -> ERRO 30d Failed connecting to orderer-0b.net_blockchain.com:2004 , error: grpc: timed out when dialing 2017-06-01 20:19:20.142 UTC [ConnProducer] NewConnection -> ERRO 30e Failed connecting to orderer-0c.net_blockchain.com:3004 , error: grpc: timed out when dialing 2017-06-01 20:19:20.142 UTC [deliveryClient] connect -> ERRO 30f Failed obtaining connection: Could not connect to any of the endpoints: [orderer-0a.net_blockchain.com:1004 orderer-0b.net_blockchain.com:2004 orderer-0c.net_blockchain.com:3004] ``` and on the orderer ``` 2017-06-01 20:18:57.140 UTC [grpc] Printf -> DEBU 891 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50102": EOF 2017-06-01 20:18:58.609 UTC [grpc] Printf -> DEBU 892 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50104": EOF 2017-06-01 20:19:00.142 UTC [grpc] Printf -> DEBU 893 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50106": EOF 2017-06-01 20:19:01.142 UTC [grpc] Printf -> DEBU 894 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50108": EOF 2017-06-01 20:19:02.807 UTC [grpc] Printf -> DEBU 895 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50110": EOF 2017-06-01 20:19:11.146 UTC [grpc] Printf -> DEBU 896 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50124": EOF 2017-06-01 20:19:12.149 UTC [grpc] Printf -> DEBU 897 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50126": EOF 2017-06-01 20:19:13.895 UTC [grpc] Printf -> DEBU 898 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50132": EOF 2017-06-01 20:19:24.150 UTC [grpc] Printf -> DEBU 899 grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50166": EOF 2017-06-01 20:19:25.150 UTC [grpc] Printf -> DEBU 89a grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50168": EOF 2017-06-01 20:19:26.580 UTC [grpc] Printf -> DEBU 89b grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50170": EOF 2017-06-01 20:19:41.153 UTC [grpc] Printf -> DEBU 89c grpc: Server.Serve failed to complete security handshake from "172.21.0.13:50190": EOF ``` i am not sure why, `peer cli` commands work so i guess peer-tls certs are good, and also for `peer channel create` the orderer does not complain any ideas?

jimthematrix (Sun, 04 Jun 2017 14:50:05 GMT):
@muralisr I just opened https://jira.hyperledger.org/browse/FAB-4347 as `Highest`, let me know if I understood the situation wrong or if you have any questions

jimthematrix (Sun, 04 Jun 2017 14:50:23 GMT):
@bretharrison @rickr ^^^

muralisr (Sun, 04 Jun 2017 14:52:58 GMT):
@jimthematrix there were recent bug fixes based to what was returned. Let me check

muralisr (Sun, 04 Jun 2017 14:53:38 GMT):
so to recreate, try to install twice and look at the second error ?

jimthematrix (Sun, 04 Jun 2017 14:55:30 GMT):
yes

jimthematrix (Sun, 04 Jun 2017 14:58:00 GMT):
from what I've seen, the ProposalResponse.Response has the right status code (500), but the HTTP response status was 200

muralisr (Sun, 04 Jun 2017 15:19:21 GMT):
Right

muralisr (Sun, 04 Jun 2017 15:19:52 GMT):
long story short... previously we were reporting all chaincode errors as fabric errors

muralisr (Sun, 04 Jun 2017 15:19:59 GMT):
and suppressing chaincode responses

muralisr (Sun, 04 Jun 2017 15:20:28 GMT):
this was fixed in https://gerrit.hyperledger.org/r/#/c/9213/

muralisr (Sun, 04 Jun 2017 15:21:28 GMT):
which basically says "if chaincode returns a response and is > ERROR_THRESHOLD don't endorse it but return the response directly"

muralisr (Sun, 04 Jun 2017 15:23:32 GMT):
the problem was that if we returned error from the fabric users (and SDK) won't be able to tell if there was some non-chaincode related issue as well

muralisr (Sun, 04 Jun 2017 15:24:04 GMT):
would it be better to return a HTTP response 500 with the special message "chaincode error" ?

muralisr (Sun, 04 Jun 2017 15:24:14 GMT):
so you don't have to change code ?

muralisr (Sun, 04 Jun 2017 15:41:31 GMT):
@jimthematrix ^^ updated the JIRA

muralisr (Sun, 04 Jun 2017 15:41:39 GMT):
will provide a CR if this is the way to go

muralisr (Sun, 04 Jun 2017 15:42:11 GMT):
to @wlahti credit, he did raise the question when he fixed the bug....

jimthematrix (Sun, 04 Jun 2017 19:08:37 GMT):
@muralisr thanks for the response, I added my comments, using http status code 500 to indicate errors in chaincode (ProposalResponse.Response.status >= 400) makes sense to me.

jimthematrix (Sun, 04 Jun 2017 19:08:37 GMT):
@muralisr thanks for the response, I added my comments, using http status code to reflect errors in chaincode makes sense to me. I don't think always using 500 when the chaincode returns an error (>=400) is right. 500 is defined as "the server acted in unexpected ways", or "internal server errors", and it's typically not the client's fault. I don't think all chaincode error statuses can be characterized this way. for instance, if the chaincode checks the Creator field and applies access control, and returns 403, I would think an HTTP code of 403 is more appropriate than 500

jimthematrix (Sun, 04 Jun 2017 19:31:05 GMT):
so your https://gerrit.hyperledger.org/r/#/c/10135 (reflecting chaincode's status in http status code) as-is looks right to me

jimthematrix (Sun, 04 Jun 2017 19:31:21 GMT):
+2'ed

muralisr (Sun, 04 Jun 2017 19:57:33 GMT):
we should definitely use the code range to direct error processing on client @jimthematrix

Rachitga (Mon, 05 Jun 2017 08:26:38 GMT):
Has joined the channel.

Rachitga (Mon, 05 Jun 2017 08:39:37 GMT):
Hello all, I was trying to understand how the endorsing peer simulates the transactions in the code, can someone please help and point me to the code flow of how it happens, and point to the code sections involved?

Rachitga (Mon, 05 Jun 2017 08:41:49 GMT):
@muralisr can you please help me with the above query

jun (Mon, 05 Jun 2017 08:59:48 GMT):
Has joined the channel.

LordGoodman (Mon, 05 Jun 2017 09:58:19 GMT):
Has joined the channel.

thakkarparth007 (Mon, 05 Jun 2017 11:35:32 GMT):
I need to understand how the communication between a committer and an orderer works (wrt blocks). Does a committer pull blocks from orderer, or does the orderer push them, or is it a mix?

muralisr (Mon, 05 Jun 2017 11:48:05 GMT):
@Rachitga the involved code sections are in core/endorser/endorser.go - in particular "simulateProposal" and "endorseProposal" where endorseProposal calls the ESCC system chaincode in core/scc/escc/endorser_onevalidsignature.go ... btw, endorser_onevalidsignature.go is a misleading name.. it should really just be escc.go

muralisr (Mon, 05 Jun 2017 11:49:56 GMT):
@thakkarparth007 orderer pushes (or in orderer-speak, "delivers") blocks to the committer

thakkarparth007 (Mon, 05 Jun 2017 11:50:55 GMT):
So is the orderer aware of the positions (#blocks) of different clients?

thakkarparth007 (Mon, 05 Jun 2017 11:52:32 GMT):
Or does it ask the client from which block it must deliver to the client?

jeffgarratt (Mon, 05 Jun 2017 13:38:55 GMT):
@thakkarparth007 it is a mix of messages between the peer and the orderer through a stream. The peer sends a seek request to the orderer and the orderere sends the requested blocks back

thakkarparth007 (Mon, 05 Jun 2017 13:40:48 GMT):
Okay, so can you help me understand this - I'm trying to measure the performance of fabric components, and during one the runs, I found that the Ledger was not acquiring a write-lock in order to commit often. Could this be because the orderer is slow, or because the peer is too busy to pull?

thakkarparth007 (Mon, 05 Jun 2017 13:42:14 GMT):
Disk activity of orderer shows that it doesn't do much in that particular period, and hence I think that the orderer is the one causing trouble, but I'm not fully sure.

jeffgarratt (Mon, 05 Jun 2017 13:43:48 GMT):
@thakkarparth007 I would run the orderer in 'solo' mode to reduce the latency of orderer to minimum

thakkarparth007 (Mon, 05 Jun 2017 13:44:27 GMT):
Hmm. Right, I'll try that out. Thanks!

jeffgarratt (Mon, 05 Jun 2017 13:45:21 GMT):
yw!

thakkarparth007 (Mon, 05 Jun 2017 13:47:08 GMT):
To do so, is it enough to set the `CONFIGTX_ORDERER_ORDERERTYPE` env-variable to 'solo'?

jeffgarratt (Mon, 05 Jun 2017 13:57:14 GMT):
@thakkarparth007 check the log of your orderer, it will log the genesis type

jeffgarratt (Mon, 05 Jun 2017 13:57:19 GMT):
it may already be solo

jeffgarratt (Mon, 05 Jun 2017 13:57:46 GMT):
the default for most example scenarios is solo

thakkarparth007 (Mon, 05 Jun 2017 14:02:08 GMT):
No, it was setup with kafka in our setup, but I hadn't set it up. I can't contact the people who set it up, that's why I asked here :P

thakkarparth007 (Mon, 05 Jun 2017 14:02:50 GMT):
I see a script that starts the orderer and one of the environment variables that is passed to it is `CONFIGTX_ORDERER_ORDERERTYPE=kafka`.

jeffgarratt (Mon, 05 Jun 2017 14:29:48 GMT):
@thakkarparth007 that is for generating the appropriate genesis block for the orderer.

thakkarparth007 (Mon, 05 Jun 2017 14:30:41 GMT):
Oh okay then. I'll just wait for them then. Thank you!

jeffgarratt (Mon, 05 Jun 2017 14:30:48 GMT):
yw

yacovm (Mon, 05 Jun 2017 20:41:32 GMT):
does anyone know how do I setup TLS for chaincode? the chaincode container complains: `Error trying to connect to local peer: x509: certificate signed by unknown authority`

jdockter (Mon, 05 Jun 2017 20:52:38 GMT):
Has left the channel.

Rachitga (Tue, 06 Jun 2017 05:42:29 GMT):
Thanks for the reply @muralisr , so I went through the files you mentioned, so what I understand is that the escc.go just signs the proposal back, it doesn't read the fields of the proposal, all those checks happen in endorser.go. Simulate proposal in endorser.go is where the simulation is called, so how does the simulation go through? Which system chaincodes are involved there, how does it read the ledger on the peer that has been stored uptil now? Can you clear if I have understood correctly, and the aspects that I am missing.

muralisr (Tue, 06 Jun 2017 11:51:52 GMT):
@Rachitga simulate proposal calls the chaincode in the Proposal request. On successful execution, the results are collected and send to escc to create a proposal response and sign it.

bretharrison (Tue, 06 Jun 2017 17:59:26 GMT):
@mastersingh24 I have been looking at the `Wireshark` trace of the grpc `keepalive` and I see only 3 blocks of TCP activity to the peer from the NodeApp exactly on the defined keepalive_time and then no more activity. Have you seen this, is this normal ?

mastersingh24 (Tue, 06 Jun 2017 18:46:44 GMT):
@bretharrison - so you are saying the NodeApp only sends keepalives for 3 intervals?

bretharrison (Tue, 06 Jun 2017 19:58:14 GMT):
Yes

rahulhegde (Tue, 06 Jun 2017 22:55:57 GMT):
Is shim.GetTxID() going to return same value across all endorsers for the same endorsing transaction?

muralisr (Wed, 07 Jun 2017 00:09:44 GMT):
@rahulhegde assuming the SDK is sending the same proposal, yes

bh4rtp (Wed, 07 Jun 2017 03:10:03 GMT):
Has joined the channel.

bh4rtp (Wed, 07 Jun 2017 03:14:24 GMT):
@here hi, i have problem with `GetState` in chaincode. i changed to use kafka ordering. the `batchSize` and `batchTimeout` are set as default, i.e. 5 and 2s. in the cli command script, sleep 5 is done after register 5 entities (5 invocation finished). but `GetState` always return nil, nil even though adding sleep 10 before querying. so my question is why `GetState` fails as the ordering block commit condition meeted (both batch timeout and count)?

bh4rtp (Wed, 07 Jun 2017 03:14:24 GMT):
@here hi, i have problem with `GetState` in chaincode. i changed to use kafka ordering. the `batchSize` and `batchTimeout` are set to be 5 and 2s. in the cli command script, sleep 5 is done after register 5 entities (5 invocation finished). but `GetState` always return nil, nil even though adding sleep 10 before querying. so my question is why `GetState` fails as the ordering block commit condition meeted (both batch timeout and count)?

bh4rtp (Wed, 07 Jun 2017 03:14:24 GMT):
@here hi, i have problem with `GetState` in chaincode. i changed to use kafka ordering. the `batchSize` and `batchTimeout` are set to be 5 and 2s. in the cli command script, sleep 5 is done after register 5 entities (5 invocation finished). but `GetState` always return `nil, nil` even though adding sleep 10 before querying. so my question is why `GetState` fails as the ordering block commit condition meeted (both batch timeout and count)?

bh4rtp (Wed, 07 Jun 2017 07:58:23 GMT):
the problem is solved. the hash code taken as state key is changed. :blush:

s.narayanan (Wed, 07 Jun 2017 13:59:01 GMT):
what is the behavior of a (endorser/commiter) peer node when couch db fails or is brought down? does the peer return any error messages in response to endorsement requests or during validation/commit phase? ideally the peer can be marked unavailable and request routed to healthy peer in this scenario. Are there other approaches to detect such a scenario and route to healthy peer and to restore the routing to the peer when its underlying couchdb database becomes available?

smithbk (Wed, 07 Jun 2017 15:46:32 GMT):
Has left the channel.

jeffgarratt (Wed, 07 Jun 2017 20:41:20 GMT):
@s.narayanan I did a quick test, and it appears you get a timeout from a client.

jeffgarratt (Wed, 07 Jun 2017 20:41:47 GMT):
the logs of the peer indicated the loss of conn to couchdb, and the attempts to reconnect.

s.narayanan (Thu, 08 Jun 2017 13:53:54 GMT):
@jeffgarratt is the timeout observed during endorsement or validation/commit?

jeffgarratt (Thu, 08 Jun 2017 14:03:23 GMT):
@s.narayanan In my test I killed couchdb just prior to endorsement attempt, so I did not get a response for which I could create a TX (so just during endorsement)

s.narayanan (Thu, 08 Jun 2017 14:10:02 GMT):
@jefg

s.narayanan (Thu, 08 Jun 2017 14:13:29 GMT):
@jeffgarratt thanks. If the client receives an error during endorsement (due to couchdb being down), then client can retry (presumably send request to another endorser node ). However, I would like to understand what occurs during validation. I assume the peer cannot commit to the world state. Until the couchdb is brough back up, the peer will remain unavailable (i.e. it cannot sync its ledger state) and then once the couchdb is restored, the peer can begin delivering blocks from orderer to catch up?

jeffgarratt (Thu, 08 Jun 2017 14:15:16 GMT):
@s.narayanan I would presume there are a several ways the client could recover once the ledger store has recovered. @muralisr or @yacovm may be able to answer more definitively wrt to mechanisms emploed.

jeffgarratt (Thu, 08 Jun 2017 14:15:16 GMT):
@s.narayanan I would presume there are a several ways the client could recover once the ledger store has recovered. @muralisr or @yacovm may be able to answer more definitively wrt to mechanisms employed.

yacovm (Thu, 08 Jun 2017 14:16:07 GMT):
Validation has nothing to do with access to DB. It's only in commit

yacovm (Thu, 08 Jun 2017 14:16:07 GMT):
> However, I would like to understand what occurs during validation Validation has nothing to do with access to DB. It's only in commit

jeffgarratt (Thu, 08 Jun 2017 14:16:19 GMT):
in general this should not be dissimilar from a standard start up of a peer that is behind

yacovm (Thu, 08 Jun 2017 14:16:30 GMT):
Validation is only a logical process (checking endorsement policy, validation of certificates of endorsements, etc.)

muralisr (Thu, 08 Jun 2017 14:39:15 GMT):
@s.narayanan `validation failed` is broad. Softer failures are invalid state changes, endorsement that does not meet policy etc. The scenario you have cited (couchdb down) is a hard failure. In that case admin likely has to get involved, restore couch db and get the peer back up again. At that point regular mechanism of "catching up" ( @yacovm may help here ?) will take over

muralisr (Thu, 08 Jun 2017 14:39:15 GMT):
@s.narayanan `validation failed` is broad. Softer failures are invalid state changes, endorsement that does not meet policy etc. The scenario you have cited (couchdb down) is a hard failure where - for example - the commit of a block fails. In that case admin likely has to get involved, restore couch db and get the peer back up again. At that point regular mechanism of "catching up" ( @yacovm may help here ?) will take over

yacovm (Thu, 08 Jun 2017 14:41:10 GMT):
basically if the DB is in a consistent state then the peer should be able to catch up via other peers or directly from the ordering service

muralisr (Thu, 08 Jun 2017 14:41:45 GMT):
^^^ there you go @s.narayanan

toddinpal (Thu, 08 Jun 2017 14:44:18 GMT):
Do chaincode query functions end up in the ledger? My guess is no, but was having a hard time finding this in the docs.

s.narayanan (Thu, 08 Jun 2017 15:21:18 GMT):
@yacovm @muralisr thanks

jeffgarratt (Thu, 08 Jun 2017 15:24:45 GMT):
@toddinpal any endorsed proposal can be submitted as a transaction, and this be placed within the ledger.

jeffgarratt (Thu, 08 Jun 2017 15:24:45 GMT):
@toddinpal any endorsed proposal can be submitted as a transaction, and thus be placed within the ledger.

jeffgarratt (Thu, 08 Jun 2017 15:25:20 GMT):
you are also free to never submit the proposal, as may be the case for readonly invocations

jeffgarratt (Thu, 08 Jun 2017 15:25:20 GMT):
you are also free to never submit the endorsed proposal, as may be the case for readonly invocations

toddinpal (Thu, 08 Jun 2017 15:26:05 GMT):
@jeffgarratt I was under the impression there is a query operation distinct from the invoke operation

toddinpal (Thu, 08 Jun 2017 15:26:39 GMT):
Are they handled differently in the shim?

jeffgarratt (Thu, 08 Jun 2017 15:26:45 GMT):
I don't think that distinction exists with v1, but @muralisr can correct me

toddinpal (Thu, 08 Jun 2017 15:27:07 GMT):
Argh... so much old documentation... making me crazy! :-)

jeffgarratt (Thu, 08 Jun 2017 15:27:27 GMT):
sorry :(

toddinpal (Thu, 08 Jun 2017 15:38:44 GMT):
Another question: Do endorsing peers asynchronously handle endorsements, in other words can an endorsing peer be simultaneously endorsing multiple requests?

jeffgarratt (Thu, 08 Jun 2017 15:47:31 GMT):
@toddinpal they can endorse in parallel, but the actual endorsement request from the client side is synch.

toddinpal (Thu, 08 Jun 2017 15:48:22 GMT):
So endorsement request is synch, but proposal request is asynch?

jeffgarratt (Thu, 08 Jun 2017 15:48:43 GMT):
not sure what a proposal request is

jeffgarratt (Thu, 08 Jun 2017 15:49:46 GMT):
```service Endorser { rpc ProcessProposal(SignedProposal) returns (ProposalResponse) {} }

jeffgarratt (Thu, 08 Jun 2017 15:50:38 GMT):
that is the API, the request will block until the peer responds. However, you can always invoke with asynchronous mechanisms.

toddinpal (Thu, 08 Jun 2017 15:50:43 GMT):
And smart contract containers handle requests in parallel or serially? Just trying to understand the level of parallelism

jeffgarratt (Thu, 08 Jun 2017 15:50:49 GMT):
and the peer can handle these requests in parallel

jeffgarratt (Thu, 08 Jun 2017 15:51:10 GMT):
and I also believe they are parallel against the chaincode

jeffgarratt (Thu, 08 Jun 2017 15:51:24 GMT):
@muralisr can verify ^^

toddinpal (Thu, 08 Jun 2017 15:51:33 GMT):
Ok, many thanks!

jeffgarratt (Thu, 08 Jun 2017 15:51:38 GMT):
yw!

jeffgarratt (Thu, 08 Jun 2017 15:52:40 GMT):
let me clarify, they may be serialized for a specific chaincode within a channel.

jeffgarratt (Thu, 08 Jun 2017 15:52:40 GMT):
@toddinpal let me clarify, they may be serialized for a specific chaincode within a channel.

toddinpal (Thu, 08 Jun 2017 15:53:15 GMT):
makes sense

muralisr (Thu, 08 Jun 2017 15:54:10 GMT):
@jeffgarratt you are right... the proposals can be handled concurrently all through (including chaincode)

muralisr (Thu, 08 Jun 2017 15:54:10 GMT):
@jeffgarratt you are right... the proposals will be handled concurrently all through (including chaincode)

toddinpal (Thu, 08 Jun 2017 15:54:56 GMT):
@muralisr What controls the number of threads in each?

muralisr (Thu, 08 Jun 2017 15:56:07 GMT):
no limit at the chaincode level ... we just use go routines and the grcp stack

toddinpal (Thu, 08 Jun 2017 16:04:46 GMT):
OK, many thanks!

varadatibm (Thu, 08 Jun 2017 17:24:30 GMT):
Has joined the channel.

varadatibm (Thu, 08 Jun 2017 17:26:55 GMT):
We currently have an API to join peer to the channel. Is there an API for 'leave channel' for peer? @yacovm @muralisr @binhn

binhn (Thu, 08 Jun 2017 17:29:31 GMT):
no explicit api but via config update -- the channel material remain on the peer

binhn (Thu, 08 Jun 2017 17:30:16 GMT):
but it will no long receive blocks on the channel

binhn (Thu, 08 Jun 2017 17:30:16 GMT):
but it will no longer receive blocks on the channel

varadatibm (Thu, 08 Jun 2017 17:32:27 GMT):
Config Update for the channel itself? So if I joined 3 of my peers to channel and I just want to remove one of it, the other 2 can still receive blocks?

jeffgarratt (Thu, 08 Jun 2017 17:40:09 GMT):
@varadatibm correct... but be careful with your policies for channel admin as if you require all, you will need all 3 to agree that the one is getting removed

varadatibm (Thu, 08 Jun 2017 17:41:00 GMT):
Just want to me clear all my 3 peers are from the same org

varadatibm (Thu, 08 Jun 2017 17:41:11 GMT):
so I am just removing one of my peers from my org

jeffgarratt (Thu, 08 Jun 2017 17:41:24 GMT):
ahhh.... then that is a CRL issue

jeffgarratt (Thu, 08 Jun 2017 17:41:44 GMT):
you can do a config update updating the CRLs for the mspconfig

varadatibm (Thu, 08 Jun 2017 17:42:02 GMT):
CRL?

jeffgarratt (Thu, 08 Jun 2017 17:42:11 GMT):
certificate revocation

jeffgarratt (Thu, 08 Jun 2017 17:42:21 GMT):
CRL -> certificate revocation list

varadatibm (Thu, 08 Jun 2017 17:42:30 GMT):
I see...

varadatibm (Thu, 08 Jun 2017 17:45:05 GMT):
I am just looking at `src/github.com/hyperledger/fabric/core/scc/cscc/configure.go` which is where there is a join channel

varadatibm (Thu, 08 Jun 2017 17:45:23 GMT):
and I was hoping there was a "Leave Channel" :-)

jeffgarratt (Thu, 08 Jun 2017 17:46:42 GMT):
:) ahh if it were only that simple

jeffgarratt (Thu, 08 Jun 2017 17:47:18 GMT):
@now there is an additional option of specifing the actual cert as the principal setting for the channel config

jeffgarratt (Thu, 08 Jun 2017 17:47:18 GMT):
@varadatibm there is an additional option of specifing the actual cert as the principal setting for the channel config

jeffgarratt (Thu, 08 Jun 2017 17:47:54 GMT):
in general people use the ROLE choice, but you can also use the IDENTITY

jeffgarratt (Thu, 08 Jun 2017 17:48:02 GMT):
in this case, the user can remove themselves directly

jeffgarratt (Thu, 08 Jun 2017 17:48:11 GMT):
without approval I believe

jeffgarratt (Thu, 08 Jun 2017 17:48:25 GMT):
would need to verify

binhn (Thu, 08 Jun 2017 17:49:01 GMT):
is it just a simple leave? ie the peer's cert is still valid and can join at later time?

varadatibm (Thu, 08 Jun 2017 17:49:28 GMT):
right

binhn (Thu, 08 Jun 2017 17:50:23 GMT):
just kill the peer

varadatibm (Thu, 08 Jun 2017 17:50:39 GMT):
But the peer may be needed for other channels

varadatibm (Thu, 08 Jun 2017 17:51:12 GMT):
He may have joined channel1 and channel2, but just need to leave from channel1 for example

binhn (Thu, 08 Jun 2017 17:53:57 GMT):
no easy workaround and it could be complex code (the peer could be a leader, an anchor, etc); could you submit a jira for future

varadatibm (Thu, 08 Jun 2017 17:54:19 GMT):
yeap... opened up one already

varadatibm (Thu, 08 Jun 2017 17:54:35 GMT):
https://jira.hyperledger.org/browse/FAB-4481

binhn (Thu, 08 Jun 2017 17:54:42 GMT):
thanks

binhn (Thu, 08 Jun 2017 17:55:20 GMT):
no, this is a new feature request, not a bug

varadatibm (Thu, 08 Jun 2017 17:55:30 GMT):
sorry! left the default!

varadatibm (Thu, 08 Jun 2017 17:55:46 GMT):
updated

thakkarparth007 (Thu, 08 Jun 2017 18:43:09 GMT):
Can someone tell how to debug a vscc? I want to enable the logs, what is the relevant option in core.yaml?

thakkarparth007 (Thu, 08 Jun 2017 18:43:36 GMT):
Or if I create a temp file in the vscc code, would it be created inside the docker container running that chaincode?

thakkarparth007 (Thu, 08 Jun 2017 18:43:36 GMT):
Or if I create a temp file in the vscc code, would it be created inside the docker container running that chaincode? I tried this already, but didn't get any file

thakkarparth007 (Thu, 08 Jun 2017 18:59:22 GMT):
Nevermind, found a way using http://hyperledger-fabric.readthedocs.io/en/latest/Setup/logging-control.html

toddinpal (Thu, 08 Jun 2017 21:10:02 GMT):
@binhn Is there documentation yet on the leader/anchor roles for peers?

binhn (Thu, 08 Jun 2017 21:58:44 GMT):
@toddinpal peer leader is a yaml config, so take a look at core.yaml in the sampleconfig directory; anchor is a config tx info described in the configtx.rst doc

toddinpal (Thu, 08 Jun 2017 22:10:25 GMT):
@binhn I guess I meant in terms of the specifics of their roles. I've been able to glean some of that from various places, but certainly the 1.0 architecture description in the documentation doesn't reflect it as far as I can tell

binhn (Thu, 08 Jun 2017 22:21:03 GMT):
they are not architectural topic but more on implementation -- specific configuration for connectivity

binhn (Thu, 08 Jun 2017 22:21:03 GMT):
they are not architectural topics but more on implementation -- specific configuration for connectivity

toddinpal (Thu, 08 Jun 2017 22:21:49 GMT):
Perhaps, although I generally like to define architecture as behavior that is held constant over time/releases.

toddinpal (Thu, 08 Jun 2017 22:23:07 GMT):
For example the architecture document says the ordering service delivers the blocks to the peers, yet my understanding of the code is that in fact it is the leader peers that pull the blocks. I think push vs pull is an architecture, not design issue.

toddinpal (Fri, 09 Jun 2017 01:49:29 GMT):
What statistics if any are maintained by the peer/endorser/committer/orderer and how they accessed?

butch.g (Fri, 09 Jun 2017 02:06:51 GMT):
Has joined the channel.

yacovm (Fri, 09 Jun 2017 15:43:47 GMT):
Hi all. When a peer is switched on TLS that means that all of the docker containers of the chaincode need to be re-built, in order to "pick up" the TLS configuration and possibly the certificates, no? @muralisr @binhn @greg.haskins

yacovm (Fri, 09 Jun 2017 15:44:53 GMT):
If that is true - I wonder if that is documented somewhere?

muralisr (Fri, 09 Jun 2017 15:58:52 GMT):
@yacovm that's correct

muralisr (Fri, 09 Jun 2017 15:58:58 GMT):
and is not doced

muralisr (Fri, 09 Jun 2017 15:59:38 GMT):
in fact currently the simplest way woud be to manually rmi the image

jeffgarratt (Fri, 09 Jun 2017 16:03:46 GMT):
@yacovm @muralisr this also recently manifested with the removal of the config sections for orderer, which required a make clean to clear the config tars

yacovm (Fri, 09 Jun 2017 16:06:07 GMT):
Yeah I know the solution, I'm asking because I guess the average end user doesn't ;)

jeffgarratt (Fri, 09 Jun 2017 16:08:32 GMT):
wait a sec, for TLS this should not be an issue

jeffgarratt (Fri, 09 Jun 2017 16:08:32 GMT):
@yacovm @muralisr wait a sec, for TLS this should not be an issue

jeffgarratt (Fri, 09 Jun 2017 16:08:59 GMT):
the TLS settings are overridden at launch time with ENV vars

jeffgarratt (Fri, 09 Jun 2017 16:09:13 GMT):
so image rebuilds would be unnecessary in this case

jeffgarratt (Fri, 09 Jun 2017 16:09:50 GMT):
the orderer issue was different in that the config was not overridden but rather deprecated

jeffgarratt (Fri, 09 Jun 2017 16:10:17 GMT):
so I think it is not true that you have to rebuild images if TLS turned on

jeffgarratt (Fri, 09 Jun 2017 16:11:06 GMT):
this is predicated of course on referencing the certs through volumes and supplying the proper ENV var value to point to said volume

yacovm (Fri, 09 Jun 2017 16:13:22 GMT):
Thanks for the correction @jeffgarratt , @muralisr is that true? ^ But this also means that the chaincode needs to be relaunched, no?

jeffgarratt (Fri, 09 Jun 2017 16:13:49 GMT):
@yacovm yes, you would need to relaunch the entire system

muralisr (Fri, 09 Jun 2017 16:14:09 GMT):
@jeffgarratt @yacovm the cert is packaged with the image I;m pretty sure

jeffgarratt (Fri, 09 Jun 2017 16:14:50 GMT):
as long as the certs are available, should be good to go

muralisr (Fri, 09 Jun 2017 16:14:55 GMT):
```func GenerateDockerBuild(cds *pb.ChaincodeDeploymentSpec) (io.Reader, error) { inputFiles := make(InputFiles) // ---------------------------------------------------------------------------------------------------- // Determine our platform driver from the spec // ---------------------------------------------------------------------------------------------------- platform, err := Find(cds.ChaincodeSpec.Type) if err != nil { return nil, fmt.Errorf("Failed to determine platform type: %s", err) } // ---------------------------------------------------------------------------------------------------- // Transfer the peer's TLS certificate to our list of input files, if applicable // ---------------------------------------------------------------------------------------------------- // NOTE: We bake the peer TLS certificate in at the time we build the chaincode container if a cert is // found, regardless of whether TLS is enabled or not. The main implication is that if the administrator // updates the peer cert, the chaincode containers will need to be invalidated and rebuilt. // We will manage enabling or disabling TLS at container run time via CORE_PEER_TLS_ENABLED cert, err := getPeerTLSCert() if err != nil { return nil, fmt.Errorf("Failed to read the TLS certificate: %s", err) } ```

jeffgarratt (Fri, 09 Jun 2017 16:15:14 GMT):
good deal!!

muralisr (Fri, 09 Jun 2017 16:15:21 GMT):
only enabling or disabling is "container time"

jeffgarratt (Fri, 09 Jun 2017 16:15:47 GMT):
and by default chaincodes exit on peer exit (which would be required to enable TLS)

jeffgarratt (Fri, 09 Jun 2017 16:16:08 GMT):
and would relaunch when required (with the new TLS settings of the peer)

muralisr (Fri, 09 Jun 2017 16:16:56 GMT):
right. but would require the old image to be deleted so the new one could be regen with the new cert (if the change was new TLS certs)

jeffgarratt (Fri, 09 Jun 2017 16:16:58 GMT):
the benefits of the client based nature of chaincodes wrt to peer

jeffgarratt (Fri, 09 Jun 2017 16:17:30 GMT):
correct, if you change certs, then all bets off

yacovm (Fri, 09 Jun 2017 16:17:53 GMT):
wait, but how are the env vars passed to the container?

yacovm (Fri, 09 Jun 2017 16:17:58 GMT):
at launch?

jeffgarratt (Fri, 09 Jun 2017 16:18:13 GMT):
yes

yacovm (Fri, 09 Jun 2017 16:24:44 GMT):
Where in the code? `StartContainer` has `nil` for the `cfg *docker.HostConfig`

yacovm (Fri, 09 Jun 2017 16:25:01 GMT):
@muralisr or @jeffgarratt can you shed some light?

muralisr (Fri, 09 Jun 2017 16:25:56 GMT):
for the TLS settings @yacovm ?

muralisr (Fri, 09 Jun 2017 16:26:54 GMT):
https://github.com/hyperledger/fabric/blob/master/core/chaincode/chaincode_support.go#L360

muralisr (Fri, 09 Jun 2017 16:27:22 GMT):
note that the cert is not passed there

yacovm (Fri, 09 Jun 2017 16:27:47 GMT):
I'm trying to understand how and where does the ENV vars get passed

grice_32 (Fri, 09 Jun 2017 19:00:58 GMT):
Has joined the channel.

jeffgarratt (Sun, 11 Jun 2017 16:52:32 GMT):
@yacovm was wondering what the expected value for gossip.externalendpoint should be? Can this be the same port as the peer? i.e. 7051?

jeffgarratt (Sun, 11 Jun 2017 16:52:32 GMT):
@yacovm was wondering what the expected value for gossip.externalendpoint should be? Can this be the same port as the peer? i.e. would seem reasonable?

yacovm (Sun, 11 Jun 2017 17:25:28 GMT):
yeah

Rachitga (Mon, 12 Jun 2017 10:44:53 GMT):
Hello All, I was trying to read the propose transaction fields in the /core/endorser/endorser.go file, I could read all the fields, but what I found was that I was always ending up with nil in my data structure in the unmarshalled payload structure (unprop), and if I print the unmarshaled proposal(uprop) the ouptput file size increases to 86 MB. What could be the possible reasons for it, and am I making a mistake in reading my data? Am using SampleSingleMSPSolo profile for orderer defined in /sampleconfig/configtx.yaml and am using SampleSingleMSPChannel to create the transaction for the channel, and am running the marbles02 example Here I indicate the piece of code that I am trying to print ( In /core/endorser/endorser.go) 'inline_code' // ProcessProposal process the Proposal func (e *Endorser) ProcessProposal(ctx context.Context, signedProp *pb.SignedProposal) (*pb.ProposalResponse, error) { // at first, we check whether the message is valid prop, hdr, hdrExt, err := validation.ValidateProposalMessage(signedProp) .... .... .... // TODO: if the proposal has an extension, it will be of type ChaincodeAction; // if it's present it means that no simulation is to be performed because // we're trying to emulate a submitting peer. On the other hand, we need // to validate the supplied action before endorsing it //1 -- simulate //Lines added by me marshalprop,err := putils.Marshal(prop) uprop,err := putils.GetProposal(marshalprop) if err == nil { fmt.Printf("Unmarshaled proposal is\n\n%#v\n\n",uprop) } unprop, err := putils.UnmarshalPayload(prop.Payload) if err == nil { fmt.Printf("Payload is: \n%#v\n",unprop) } //Addition finished .... .... .... } 'inline_code' A huge structure is printed in bytes where unmarshaled proposal is supposed to be there, and where unmarshaled payload is supposed to be, this gets printed:- Payload is: &common.Payload{Header:(*common.Header)(0xc4213d9e90), Data:[]uint8(nil)} Can somebody explain the observations and how to get what I am looking for?

Rachitga (Mon, 12 Jun 2017 10:44:53 GMT):
@muralisr , @mastersingh24 , @bmos299 I was trying to read the propose transaction fields in the /core/endorser/endorser.go file, I could read all the fields, but what I found was that I was always ending up with nil in my data structure in the unmarshalled payload structure (unprop), and if I print the unmarshaled proposal(uprop) the ouptput file size increases to 86 MB. What could be the possible reasons for it, and am I making a mistake in reading my data? Am using SampleSingleMSPSolo profile for orderer defined in /sampleconfig/configtx.yaml and am using SampleSingleMSPChannel to create the transaction for the channel, and am running the marbles02 example Here I indicate the piece of code that I am trying to print ( In /core/endorser/endorser.go) ``` // ProcessProposal process the Proposal func (e *Endorser) ProcessProposal(ctx context.Context, signedProp *pb.SignedProposal) (*pb.ProposalResponse, error) { // at first, we check whether the message is valid prop, hdr, hdrExt, err := validation.ValidateProposalMessage(signedProp) .... .... .... // TODO: if the proposal has an extension, it will be of type ChaincodeAction; // if it's present it means that no simulation is to be performed because // we're trying to emulate a submitting peer. On the other hand, we need // to validate the supplied action before endorsing it //1 -- simulate //Lines added by me marshalprop,err := putils.Marshal(prop) uprop,err := putils.GetProposal(marshalprop) if err == nil { fmt.Printf("Unmarshaled proposal is\n\n%#v\n\n",uprop) } unprop, err := putils.UnmarshalPayload(prop.Payload) if err == nil { fmt.Printf("Payload is: \n%#v\n",unprop) } //Addition finished .... .... .... } ``` A huge structure is printed in bytes where unmarshaled proposal is supposed to be there, and where unmarshaled payload is supposed to be, this gets printed:- Payload is: &common.Payload{Header:(*common.Header)(0xc4213d9e90), Data:[]uint8(nil)} Can somebody explain the observations and how to get what I am looking for?

rahulhegde (Mon, 12 Jun 2017 19:43:51 GMT):
@muralisr @bmos299 I am running on hyperledger beta fabric images and my chaincode instantiation fails, this used to pass on Alpha3 (19th May Images). Our chaincode refers to another package and seems there is something changed the way Peer CLI instantiates the chaincode. ``` 2017-06-12 19:34:02.077 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: DCCA7DE03A3B63CA3B84A29637CE6339E90B5C1C5E3101F5A35FE66364260EFA Error: Error endorsing chaincode: rpc error: code = Unknown desc = Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "chaincode/input/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02/chaincode_example02.go:28:2: cannot find package "github.com/shopspring/decimal" in any of: /chaincode/input/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02/vendor/github.com/shopspring/decimal (vendor tree) /opt/go/src/github.com/shopspring/decimal (from $GOROOT) /chaincode/input/src/github.com/shopspring/decimal (from $GOPATH) /opt/gopath/src/github.com/shopspring/decimal ``` Is this again related to ` govendor ` ==> I am running 2 command ` govendor init ` and ` govendor add external+ ` inside the chaincode folder ?

absingh0 (Tue, 13 Jun 2017 05:53:24 GMT):
Has joined the channel.

mastersingh24 (Tue, 13 Jun 2017 08:58:12 GMT):
@rahulhegde - you definitely need to vendor any external dependencies

rahulhegde (Tue, 13 Jun 2017 10:15:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=4sy9xjxec6jDarnst) @mastersingh24 I did that using the above 2 commands but this doesn't seem to resolve. Can you check the finding of https://chat.hyperledger.org/channel/fabric-ci?msg=RBxGMq6yGmwFJuHLB

rahulhegde (Tue, 13 Jun 2017 10:15:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=4sy9xjxec6jDarnst) @mastersingh24 I did that using the above 2 commands but this doesn't seem to resolve. Can you check finding of https://chat.hyperledger.org/channel/fabric-ci?msg=RBxGMq6yGmwFJuHLB https://chat.hyperledger.org/channel/fabric-ci?msg=N8cfYJBvufi6vwTRD

muralisr (Tue, 13 Jun 2017 14:35:59 GMT):
right saw that

muralisr (Tue, 13 Jun 2017 14:36:36 GMT):
will update soon

mastersingh24 (Tue, 13 Jun 2017 14:46:14 GMT):
@muralisr @rahulhegde @greg.haskins : 1) Rahul is correct - basically the packaging does not include the import itself but rather just the dependency - which is a bit odd - but that is what Rahul's fix above does 2) Greg - did you specifically NOT WANT to support vendoring or were you trying to avoid the need to do it by doing it under the covers? (basically the packaging code today does not account for code already vendored)

muralisr (Tue, 13 Jun 2017 14:53:40 GMT):
@mastersingh24 don't want to put words into @greg.haskins mouth ... open to correction ... but I believe the idea was if its already vendored it'll get picked up automatically

muralisr (Tue, 13 Jun 2017 14:53:53 GMT):
checking this out

muralisr (Tue, 13 Jun 2017 14:56:34 GMT):
@mastersingh24 @rahulhegde will update soon

greg.haskins (Tue, 13 Jun 2017 15:10:18 GMT):
@mastersingh24 @muralisr sorry, was traveling yesterday, just getting back online now

greg.haskins (Tue, 13 Jun 2017 15:10:22 GMT):
trying to digest the backlog

mastersingh24 (Tue, 13 Jun 2017 15:11:44 GMT):
I ran some tests and vendored code is not being picked up

greg.haskins (Tue, 13 Jun 2017 15:12:26 GMT):
the intent was as follows

greg.haskins (Tue, 13 Jun 2017 15:13:01 GMT):
given a package A, we would package up A, A/vendor, and any of A's deps (direct or transitive) _excluding_ the shim

greg.haskins (Tue, 13 Jun 2017 15:13:09 GMT):
if that is not what is happening, its a bug

greg.haskins (Tue, 13 Jun 2017 15:13:33 GMT):
(any relevant detail...A's deps end up in A/vendor in the package

greg.haskins (Tue, 13 Jun 2017 15:13:33 GMT):
(another relevant detail...A's deps end up in A/vendor in the package

mastersingh24 (Tue, 13 Jun 2017 15:13:53 GMT):
I think @rahulhegde has the right fix but need to double check

greg.haskins (Tue, 13 Jun 2017 15:14:13 GMT):
i need to review the whole function to understand what he is proposing

mastersingh24 (Tue, 13 Jun 2017 15:14:49 GMT):
The problem is that the code will not include imports which don't have dependencies or aren't a dependency

greg.haskins (Tue, 13 Jun 2017 15:15:18 GMT):
what does it mean to be an import but not a dep?

mastersingh24 (Tue, 13 Jun 2017 15:15:18 GMT):
Or basically top level dependencies (e.g. the imports) are not being considered

greg.haskins (Tue, 13 Jun 2017 15:15:22 GMT):
that is what is confusing me

greg.haskins (Tue, 13 Jun 2017 15:15:41 GMT):
ah, so basically we pick up transitives but not directs

greg.haskins (Tue, 13 Jun 2017 15:15:42 GMT):
?

greg.haskins (Tue, 13 Jun 2017 15:15:56 GMT):
I would buy that...let me review

mastersingh24 (Tue, 13 Jun 2017 15:17:12 GMT):
correct - https://github.com/hyperledger/fabric/blob/master/core/chaincode/platforms/golang/platform.go#L246

mastersingh24 (Tue, 13 Jun 2017 15:17:37 GMT):
I think we need to add the direct import as a dep in the map

greg.haskins (Tue, 13 Jun 2017 15:18:05 GMT):
ah, yeah, plain as day now that i see the whole thing

greg.haskins (Tue, 13 Jun 2017 15:18:12 GMT):
I meant to merge imports -> deps

greg.haskins (Tue, 13 Jun 2017 15:18:28 GMT):
which is effectively what @rahulhegde 's patch does

greg.haskins (Tue, 13 Jun 2017 15:18:47 GMT):
I agree this is a suitable fix

greg.haskins (Tue, 13 Jun 2017 15:19:16 GMT):
only general comment would be: should be commented, and ideally a test which captures my screw up

greg.haskins (Tue, 13 Jun 2017 15:19:32 GMT):
I can do this if @rahulhegde is not willing

mastersingh24 (Tue, 13 Jun 2017 15:20:03 GMT):
If you can do it Greg that would be best

greg.haskins (Tue, 13 Jun 2017 15:20:11 GMT):
ok

greg.haskins (Tue, 13 Jun 2017 15:20:19 GMT):
should be quick, stand by

mastersingh24 (Tue, 13 Jun 2017 15:20:28 GMT):
gracias

mastersingh24 (Tue, 13 Jun 2017 15:20:37 GMT):
nice catch / find @rahulhegde ;)

greg.haskins (Tue, 13 Jun 2017 15:21:02 GMT):
yes, thank you @rahulhegde (and also sorry for the trouble)

greg.haskins (Tue, 13 Jun 2017 15:22:17 GMT):
@mastersingh24 You also mentioned something about problems with vendored libs?

mastersingh24 (Tue, 13 Jun 2017 15:22:27 GMT):
same problem

greg.haskins (Tue, 13 Jun 2017 15:22:30 GMT):
or was that a false start on this problem

greg.haskins (Tue, 13 Jun 2017 15:22:31 GMT):
ok

mastersingh24 (Tue, 13 Jun 2017 15:22:32 GMT):
fixes both

greg.haskins (Tue, 13 Jun 2017 15:22:45 GMT):
ok...what was the problem with vendor?

mastersingh24 (Tue, 13 Jun 2017 15:23:02 GMT):
it was a side affect

greg.haskins (Tue, 13 Jun 2017 15:23:03 GMT):
(I mean, aside from the fact that I was failing to include _imports_ in the vendor folder

mastersingh24 (Tue, 13 Jun 2017 15:23:21 GMT):
^^^ right

greg.haskins (Tue, 13 Jun 2017 15:23:27 GMT):
ok

mastersingh24 (Tue, 13 Jun 2017 15:25:21 GMT):
just tested an external package with / without vendoring (using the fix above) and all is good

muralisr (Tue, 13 Jun 2017 15:30:07 GMT):
@greg.haskins my apologies too... should have been more careful and caught this when I ran the tests

muralisr (Tue, 13 Jun 2017 15:30:18 GMT):
(and apologies to @rahulhegde of course)

Sandeep (Tue, 13 Jun 2017 15:37:54 GMT):
Has joined the channel.

muralisr (Tue, 13 Jun 2017 15:42:30 GMT):
to make matters worse I think I *suggested* that @rahulhegde vendor it... my memory failing me there

muralisr (Tue, 13 Jun 2017 15:42:58 GMT):
@rahulhegde how do you want to handle it.. do you want to put in the fix yourself (we can move the JIRA to you)

muralisr (Tue, 13 Jun 2017 15:43:19 GMT):
or I can do it for you

rahulhegde (Tue, 13 Jun 2017 15:46:08 GMT):
@muralisr no issues. I think @greg.haskins decided to take this JIRA.

greg.haskins (Tue, 13 Jun 2017 15:52:47 GMT):
@muralisr im putting together the patch now

greg.haskins (Tue, 13 Jun 2017 15:53:00 GMT):
biggest hold up is I want a unit-test

muralisr (Tue, 13 Jun 2017 15:53:25 GMT):
perfect

muralisr (Tue, 13 Jun 2017 15:53:30 GMT):
will get out of the way

muralisr (Tue, 13 Jun 2017 16:02:52 GMT):
@greg.haskins one thing... the CLI `peer chaincode install` will make sure the external dependencies are vendored and packaged correctly but its currently up to the user to get all the dependencies in the env so the chaincode builds fine (`go build`) in the first place. I remember you wanted to do the equivalent of "go get" as part of the `peer chaincode install` in future but its not there currently. Correct ?

greg.haskins (Tue, 13 Jun 2017 16:15:01 GMT):
that is correct

greg.haskins (Tue, 13 Jun 2017 16:15:31 GMT):
the assumption is that your "peer chaincode install" has the same demands on your GOPATH as "go build" would

greg.haskins (Tue, 13 Jun 2017 16:15:57 GMT):
we could automate this, but we decided it was better to let the user manage

muralisr (Tue, 13 Jun 2017 16:23:28 GMT):
thanks @greg.haskins .... we want to capture this i think @nickgaski

greg.haskins (Tue, 13 Jun 2017 18:03:22 GMT):
@muralisr @mastersingh24 @rahulhegde https://gerrit.hyperledger.org/r/#/c/10539/

muralisr (Tue, 13 Jun 2017 18:10:35 GMT):
LGTM, @greg.haskins

muralisr (Tue, 13 Jun 2017 18:10:57 GMT):
will +2 once CI goes thru

tomveugelers (Wed, 14 Jun 2017 09:42:03 GMT):
Has joined the channel.

tomveugelers (Wed, 14 Jun 2017 11:47:06 GMT):
Hi everyone, we're currently trying to setup a network between 3 different servers. We managed to create and join channels and installed some chaincode. However we get a timeout when we try to instantiate the chaincode. Does anyone know what could've caused this error? Command: peer chaincode instantiate -o orderer0.serverhostname:7050 --cafile /artifacts/crypto-config/ordererOrganizations/serverhostname/ca/serverhostname-cert.pem --tls -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR('Org1.member','Org2.member')" Error message in the peer logs: `2017-06-13 10:09:47.296 UTC [chaincode] Launch -> ERRO 03d launchAndWaitForRegister failed Timeout expired while starting chaincode mycc:1.0(networkid:dev,peerid:peer0.serverhostname,tx:389f1583ccc651ee9d4a88a11fde18d2a8323de11c7067b4167464bac723bebb)` Error message in the peer container: `2017-06-13 10:04:47.094 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2017-06-13 10:04:47.094 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc Error: Error endorsing chaincode: rpc error: code = 2 desc = Timeout expired while starting chaincode mycc:1.0(networkid:dev,peerid:peer0.serverhostname,tx:389f1583ccc651ee9d4a88a11fde18d2a8323de11c7067b4167464bac723bebb)`

tomveugelers (Wed, 14 Jun 2017 11:47:06 GMT):
Hi everyone, we're currently trying to setup a network between 3 different servers. We managed to create and join channels and installed some chaincode. However we get a timeout when we try to instantiate the chaincode. Does anyone know what could've caused this error? Command: peer chaincode instantiate -o orderer0.serverhostname:7050 --cafile /artifacts/crypto-config/ordererOrganizations/serverhostname/ca/serverhostname-cert.pem --tls -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR('Org1.member','Org2.member')" Error message in the peer logs: `2017-06-13 10:09:47.296 UTC [chaincode] Launch -> ERRO 03d launchAndWaitForRegister failed Timeout expired while starting chaincode mycc:1.0(networkid:dev,peerid:peer0.serverhostname,tx:389f1583ccc651ee9d4a88a11fde18d2a8323de11c7067b4167464bac723bebb)` Error message in the peer container: `2017-06-13 10:04:47.094 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2017-06-13 10:04:47.094 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc Error: Error endorsing chaincode: rpc error: code = 2 desc = Timeout expired while starting chaincode mycc:1.0(networkid:dev,peerid:peer0.serverhostname,tx:389f1583ccc651ee9d4a88a11fde18d2a8323de11c7067b4167464bac723bebb)`

muralisr (Wed, 14 Jun 2017 11:52:52 GMT):
@tomveugelers my guess would be the chaincode couldnt startup

muralisr (Wed, 14 Jun 2017 11:55:43 GMT):
if you add CORE_VM_DOCKER_ATTACHSTDOUT=true and CORE_CHAINCODE_LOGGING_LEVEL=debug env vars to the peer you might get more information from the chaincode

tomveugelers (Wed, 14 Jun 2017 12:03:50 GMT):
Thanks! We'll try that now

tomveugelers (Wed, 14 Jun 2017 12:34:39 GMT):
We stopped the peer, added the env vars into the compose-defaults. We restarted the peer, succesfully installed the chaincode example 02 and joined the channel. After that we tried to instantiate the installed chaincode and we get the following error message: 2017/06/14 12:25:52 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: x509: certificate signed by unknown authority (possibly because of \"x509: ECDSA verification failure\" while trying to verify candidate authority certificate \"serverhostname\")"; Reconnecting to {"peer0.serverhostname:7051" } 2017/06/14 12:25:53 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: x509: certificate signed by unknown authority (possibly because of \"x509: ECDSA verification failure\" while trying to verify candidate authority certificate \"serverhostname\")"; Reconnecting to {"peer0.serverhostname:7051" } 2017-06-14 12:25:54.094 UTC [shim] Start -> ERRO 001 Error trying to connect to local peer: grpc: timed out when dialing Error starting Simple chaincode: Error trying to connect to local peer: grpc: timed out when dialing After these error messages the peer exits.

muralisr (Wed, 14 Jun 2017 12:46:40 GMT):
@tomveugelers `After these error messages the peer exits.` ... you mean the chaincode exits right ?

muralisr (Wed, 14 Jun 2017 12:46:55 GMT):
looks like an TLS issue

tomveugelers (Wed, 14 Jun 2017 12:50:57 GMT):
The peer container and the cc container exit both

pd93 (Wed, 14 Jun 2017 14:45:11 GMT):
Has joined the channel.

Halminhu (Thu, 15 Jun 2017 02:46:22 GMT):
Has joined the channel.

jeffgarratt (Thu, 15 Jun 2017 03:12:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-consensus?msg=qWyrHfk9S96SutXfP) @ryokawajp this can be accomplished by using the IDENTITY option for MSPPrincipal

jeffgarratt (Thu, 15 Jun 2017 03:12:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-consensus?msg=qWyrHfk9S96SutXfP) @ryokawajp this can be accomplished by using the IDENTITY option for MSPPrincipal classification

jeffgarratt (Thu, 15 Jun 2017 03:15:08 GMT):
@ryokawajp you could actually supply the certificate of the signer for the peer as that Identity

jeffgarratt (Thu, 15 Jun 2017 03:15:15 GMT):
then require that single signature

ryokawajp (Thu, 15 Jun 2017 03:16:59 GMT):
@jeffgarratt thank you. Let me learn more on the endorsement policy specification. Do you mean that not only the role of the peers (member/admin) but also identities can be specified in an endorsement policy?

jeffgarratt (Thu, 15 Jun 2017 03:17:08 GMT):
correct

jeffgarratt (Thu, 15 Jun 2017 03:17:28 GMT):
```message MSPPrincipal { enum Classification { ROLE = 0; // Represents the one of the dedicated MSP roles, the // one of a member of MSP network, and the one of an // administrator of an MSP network ORGANIZATION_UNIT = 1; // Denotes a finer grained (affiliation-based) // groupping of entities, per MSP affiliation // E.g., this can well be represented by an MSP's // Organization unit IDENTITY = 2; // Denotes a principal that consists of a single // identity }

jeffgarratt (Thu, 15 Jun 2017 03:17:45 GMT):
ROLE is most often used.... but Identity is also an option

ryokawajp (Thu, 15 Jun 2017 03:20:06 GMT):
@jeffgarratt Ah, the certificate of the signer ... Is there any example? I still do not understand how to specify a certificate. By PEM format? or path of the file?

ryokawajp (Thu, 15 Jun 2017 03:20:13 GMT):
Let me check the source code ...

jeffgarratt (Thu, 15 Jun 2017 03:20:34 GMT):
Not sure how well the CLI supports this at the moment... I work with the protobuf structures myself

jeffgarratt (Thu, 15 Jun 2017 03:21:36 GMT):
the protobuf simply has this field which should be the PEM bytes I believe

jeffgarratt (Thu, 15 Jun 2017 03:22:02 GMT):
jp meaning Japan?

ryokawajp (Thu, 15 Jun 2017 03:22:50 GMT):
@jeffgarratt I see. Thank you for the info. The document in readthedoc site says that the support for ORGANIZATION_UNIT is in the future plan.

ryokawajp (Thu, 15 Jun 2017 03:23:02 GMT):
yes!

jeffgarratt (Thu, 15 Jun 2017 03:23:37 GMT):
@ryokawajp correct... but IDENTITY and ROLE are there now. It is late for me :) But @muralisr should be able to help in the AM our time (US Eastern)

jeffgarratt (Thu, 15 Jun 2017 03:24:00 GMT):
and I will be on a bit later than normal tomorrow as my main computer crashed

jeffgarratt (Thu, 15 Jun 2017 03:24:29 GMT):
we will give you an answer then... just feel free to ping back any time

jeffgarratt (Thu, 15 Jun 2017 03:24:54 GMT):
but know technically this is feasible

ryokawajp (Thu, 15 Jun 2017 03:25:46 GMT):
oh, that is too bad... And thank you for the information again. I will also try studying by myself and come here in AM of US Eastern time

jeffgarratt (Thu, 15 Jun 2017 03:26:10 GMT):
sounds good!!! good luck!!

ryokawajp (Thu, 15 Jun 2017 03:26:58 GMT):
thanks

arner (Thu, 15 Jun 2017 09:54:05 GMT):
Has joined the channel.

AnilOner (Thu, 15 Jun 2017 12:12:00 GMT):
Has joined the channel.

ryokawajp (Thu, 15 Jun 2017 14:22:43 GMT):
Up to now, it seems that CLI supports ROLE only in the current version. I suppose this is the code which parses the command line. https://github.com/hyperledger/fabric/blob/master/common/cauthdsl/policyparser.go

ryokawajp (Thu, 15 Jun 2017 14:25:52 GMT):
While, fabric-sdk-node seems to have some classes which corresponds to IDENTITY. But I am still not sure how to use it. I will continue the study. https://github.com/hyperledger/fabric-sdk-node/blob/master/fabric-client/lib/Policy.js

ryokawajp (Thu, 15 Jun 2017 14:27:14 GMT):
anyway, thank you very much for the information! @jeffgarratt

jeffgarratt (Thu, 15 Jun 2017 14:28:23 GMT):
@ryokawajp you are most welcome!! Hopefully in short order the mechanisms will be exposed to you in a clear and useable way

outis (Fri, 16 Jun 2017 08:32:48 GMT):
Has joined the channel.

Ratnakar (Fri, 16 Jun 2017 15:46:29 GMT):
How can we determine if a transaction is Valid or Invalid in a block ?

jeffgarratt (Fri, 16 Jun 2017 15:48:45 GMT):
@Ratnakar the metadata entry in the block contains one entry for Tx validation information.

jeffgarratt (Fri, 16 Jun 2017 15:48:48 GMT):
```// This enum enlists indexes of the block metadata array enum BlockMetadataIndex { SIGNATURES = 0; // Block metadata array position for block signatures LAST_CONFIG = 1; // Block metadata array position to store last configuration block sequence number TRANSACTIONS_FILTER = 2; // Block metadata array position to store serialized bit array filter of invalid transactions ORDERER = 3; // Block metadata array position to store operational metadata for orderers // e.g. For Kafka, this is where we store the last offset written to the local ledger. }

jeffgarratt (Fri, 16 Jun 2017 15:49:02 GMT):
index 2 contains the Transaction Filter information

jeffgarratt (Fri, 16 Jun 2017 15:49:24 GMT):
bit array to indicate valid or invalid matching the index in the Tx array

Ratnakar (Fri, 16 Jun 2017 17:29:45 GMT):
@jeffgarratt Thankyou :), I will take a look at the structure

jeffgarratt (Fri, 16 Jun 2017 17:29:58 GMT):
@Ratnakar good luck

muralisr (Fri, 16 Jun 2017 20:49:21 GMT):
also take a peek at examples/events/block-listener/block-listener.go @Ratnakar ...although event based, it shows how to check for tx validity

Ratnakar (Fri, 16 Jun 2017 20:58:11 GMT):
Thanks @muralisr , this is good one :)

snowy13 (Sat, 17 Jun 2017 05:28:25 GMT):
Has joined the channel.

sfukazu (Mon, 19 Jun 2017 06:35:44 GMT):
Has joined the channel.

arner (Mon, 19 Jun 2017 11:54:51 GMT):
Hi, we're trying to set up our own Fabric beta network. Everything seems fine until we try to join a channel: _Error: proposal failed (err: rpc error: code = Unknown desc = chaincode error (status: 500, message: "JoinChain" request failed authorization check for channel [torchplatformchannel]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [This identity is not an admin]]))_ Even though we set the CORE_MSPCONFIGPATH to the admin users' msp and channel creation succeeds. Has anyone seen this before?

jeffgarratt (Mon, 19 Jun 2017 13:49:23 GMT):
@arner you will need to join using a cert that is located under the admincerts folder of the MSP config folder.

arner (Mon, 19 Jun 2017 13:53:43 GMT):
@jeffgarratt we're using `crypto-config/peerOrganizations/example.com/users/Admin@example.com/msp` as CORE_MSPCONFIGPATH. Are you saying we need to somehow use `crypto-config/peerOrganizations/example.com/msp/admincerts`?

jeffgarratt (Mon, 19 Jun 2017 13:54:47 GMT):
@arner no, you need to join the channel using a privatekey/cert combination in which that cert is in the admincerts folder of the msp config folder

jeffgarratt (Mon, 19 Jun 2017 13:55:12 GMT):
thus that identity has admin rights on the peer

arner (Mon, 19 Jun 2017 13:59:28 GMT):
I'm using the cli to connect to a peer. As far as I know I need to set the identity using `CORE_MSPCONFIGPATH=crypto-config/peerOrganizations/example.com/users/Admin@example.com/msp`. Or should it be `CORE_MSPCONFIGPATH=crypto-config/peerOrganizations/example.com/msp/` and will it find it by itself?

arner (Mon, 19 Jun 2017 13:59:28 GMT):
I'm using the cli to connect to a peer. As far as I know I need to set the identity using `CORE_PEER_MSPCONFIGPATH=crypto-config/peerOrganizations/example.com/users/Admin@example.com/msp`. Or should it be `CORE_PEER_MSPCONFIGPATH=crypto-config/peerOrganizations/example.com/msp/` and will it find it by itself? [edit: env variable name]

jeffgarratt (Mon, 19 Jun 2017 14:14:00 GMT):
@arner if using the CLI, I would assume the peer would have chosen a peerAdmin identity. Is this correct @muralisr

jeffgarratt (Mon, 19 Jun 2017 14:14:00 GMT):
@arner if using the CLI, I would assume the peer would have chosen a peerAdmin identity. Is this correct @muralisr

jeffgarratt (Mon, 19 Jun 2017 14:14:00 GMT):
@arner if using the CLI, I would assume the peer would have chosen a peerAdmin identity. Is this correct @muralisr ?

Nishi (Mon, 19 Jun 2017 14:53:41 GMT):
Has joined the channel.

arner (Mon, 19 Jun 2017 15:08:53 GMT):
@muralisr would appreciate your insight... We've been struggling with this!

muralisr (Mon, 19 Jun 2017 15:16:14 GMT):
hi @arner I have to take care of somethings but will respond as soon as I can... but I think @jeffgarratt is right ... one suggestion the docker-compose files under examples/e2e_cli give all the ENV variables and examples/e2e_cli/scripts/script.sh gives the way to override them for specific command (such as join)

muralisr (Mon, 19 Jun 2017 15:16:54 GMT):
between the two hopefully you'll find the right settings to get this to work

arner (Mon, 19 Jun 2017 15:21:57 GMT):
thanks, we'll dig deeper

arner (Mon, 19 Jun 2017 16:07:59 GMT):
Is it necessary to keep the paths as in the examples?

arner (Mon, 19 Jun 2017 16:07:59 GMT):
Is it necessary to keep the paths of the volumes (for the keys) as in the examples?

jeffgarratt (Mon, 19 Jun 2017 16:10:28 GMT):
@arner make sure you are setting CORE_PEER_MSPCONFIGPATH=....

arner (Mon, 19 Jun 2017 16:34:43 GMT):
@jeffgarratt I mean is the peer or something else relying on the use of `/etc/hyperledger/` or are we free to use any path?

jeffgarratt (Mon, 19 Jun 2017 16:35:56 GMT):
how are you running? If you are using e2e or behave the paths are determined based upon volume configuration for docker

jeffgarratt (Mon, 19 Jun 2017 16:36:21 GMT):
are you setting up your own environment, then you are free to use whatever paths you wish

jeffgarratt (Mon, 19 Jun 2017 16:36:21 GMT):
if you setting up your own environment, then you are free to use whatever paths you wish

Nishi (Mon, 19 Jun 2017 19:56:54 GMT):
not sure if this helps we mounted keystore and signcerts from org2.example.com/users/Admin@org2.example.com/msp/signcerts under Peer0 in Org2 in docker-compose-e2e.yaml to make Peer0 as admin volumes: - /var/run/:/host/var/run/ - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp - ../crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore:/etc/hyperledger/fabric/msp/keystore - ../crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts:/etc/hyperledger/fabric/msp/signcerts - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls

Nishi (Mon, 19 Jun 2017 19:56:54 GMT):
@arner not sure if this helps we mounted keystore and signcerts from org2.example.com/users/Admin@org2.example.com/msp/signcerts under Peer0 in Org2 in docker-compose-e2e.yaml to make Peer0 as admin volumes: - /var/run/:/host/var/run/ - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp - ../crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore:/etc/hyperledger/fabric/msp/keystore - ../crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts:/etc/hyperledger/fabric/msp/signcerts - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls

dilipjain (Tue, 20 Jun 2017 07:22:47 GMT):
Has joined the channel.

arner (Tue, 20 Jun 2017 07:23:55 GMT):
Thanks @Nishi, that does the trick!

dilipjain (Tue, 20 Jun 2017 07:24:30 GMT):
Hi, Are endorsement policies applied organization-wise or peer-wise?

dilipjain (Tue, 20 Jun 2017 07:24:30 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aooDakiZGYzm24xda) @arner Thanks, As per the page, the endorsement policies look like ... 'Org1.member', 'Org2.member', 'Org3.member', etc. Could it be like 'Org1.Peer1.member', 'Org1.Peer2.member', 'Org2.Peer0.member', etc

arner (Tue, 20 Jun 2017 07:29:25 GMT):
Hi @dilipjain, as far as I know chaincode-wise (see http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html)

arner (Tue, 20 Jun 2017 07:29:46 GMT):
So when you instantiate a chaincode on a channel.

dilipjain (Tue, 20 Jun 2017 07:41:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aooDakiZGYzm24xda) @arner Thanks, As per the page, the endorsement policies look like ... 'Org1.member', 'Org2.member', 'Org3.member', etc. Could it be like 'Org1.Peer1.member', 'Org1.Peer2.member', 'Org2.Peer0.member', etc

dilipjain (Tue, 20 Jun 2017 07:41:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aooDakiZGYzm24xda) @arner Thanks, As per the page ( http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html ), the endorsement policies is based on ... 'Org1.member', 'Org2.member', 'Org3.member', etc. What are these members? And, could member names be like 'Org1.Peer1.member', 'Org1.Peer2.member', 'Org2.Peer0.member', etc.

dilipjain (Tue, 20 Jun 2017 07:41:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aooDakiZGYzm24xda) @arner Thanks, As per page ( http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html ), endorsement policy is based on ... 'Org1.member', 'Org2.member' and 'Org3.member', etc. What are these members? Do they represent 3 different organizations ? Could member names be chosen like 'Org1.Peer1.member', 'Org1.Peer2.member' and 'Org2.Peer0.member', etc.

dongqi (Tue, 20 Jun 2017 08:36:24 GMT):
Has joined the channel.

bh4rtp (Tue, 20 Jun 2017 09:01:52 GMT):
hi all, must all the fabric docker containers set the environment variable `FABRIC_CFG_PATH`?

arner (Tue, 20 Jun 2017 09:34:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wvF98YtpEHkoufaSh) @bh4rtp You just need to set it when using configtxgen (http://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html)

bh4rtp (Tue, 20 Jun 2017 09:38:02 GMT):
@arner i found the container must be set too, otherwise it will report an error: `Fatal error when initializing core config : Error when reading core config file: Unsupported Config Type ""`

arner (Tue, 20 Jun 2017 09:39:33 GMT):
@bh4rtp which type of container is this?

bh4rtp (Tue, 20 Jun 2017 09:40:45 GMT):
@arner hyperledger/fabric-tools, peer, orderer, and found that it must be set to be `FABRIC_CFG_PATH=/etc/hyperledger/fabric`

bh4rtp (Tue, 20 Jun 2017 09:43:31 GMT):
because i want to deploy fabric network on multiple hosts. when exporting the docker images onto host2, the env variables will all disappear. and the 'FABRIC_CFG_PATH` must be manually set.

arner (Tue, 20 Jun 2017 09:44:21 GMT):
@bh4rtp, ok, interesting, I think in my project we don't set them and also don't run into errors. Is anyone else seeing this?

bh4rtp (Tue, 20 Jun 2017 09:48:49 GMT):
if use the pulled images online, it will be ok. because i use `docker run -d hyperledger/fabric-tools` and `docker export CONTAINER_ID > fabric-tool.tar` on host1. and then copy fabric-tools.tar onto host2, import the image. the environment variables are lost. you can use `docker inspect IMAGE_ID` to see every image has the FABRIC_CFG_PATH set.

bh4rtp (Wed, 21 Jun 2017 09:05:54 GMT):
what is the use of chaincode container, for example `dev-peer0.org2.example.com-chaincode_example02-1.0:latest` created after instantiating chaincode?

bh4rtp (Wed, 21 Jun 2017 09:05:54 GMT):
what is the use of chaincode container, for example `dev-peer0.org2.example.com-chaincode_example02-1.0:latest`, created after instantiating chaincode?

bh4rtp (Wed, 21 Jun 2017 09:07:18 GMT):
i only find `/usr/local/bin/chaincode` and `/etc/hyperledger/fabric` related to chaincode.

mastersingh24 (Wed, 21 Jun 2017 10:14:45 GMT):
@bh4rtp - not quite sure I understand the question - chaincode is deployed in Docker containers

bh4rtp (Wed, 21 Jun 2017 10:20:49 GMT):
@mastersingh24 yes, that is my understanding too. but the instantiated docker containers cannot find any chaincode inside, even without go environment.

mastersingh24 (Wed, 21 Jun 2017 10:27:37 GMT):
`/usr/local/bin/chaincode` is the compiled chaincode executable

bh4rtp (Thu, 22 Jun 2017 01:26:02 GMT):
@mastersingh24 in `/var/hyperledger/production/chaincodes` of the peer node, there is a `chaincode_example02.1.0` file which is created at `peer chaincode install`. but this file is not golang source file. so is it encrypted or compiled?

fbenhamo (Thu, 22 Jun 2017 06:14:58 GMT):
@mastersingh24 It is compiled.

mastersingh24 (Thu, 22 Jun 2017 10:48:26 GMT):
@bh4rtp - it is a serialized protobuf structure (https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=5tDqbp97dKAofHyYn)

sidney803 (Fri, 23 Jun 2017 02:18:51 GMT):
Has joined the channel.

vdods (Mon, 26 Jun 2017 21:14:24 GMT):
Has joined the channel.

vdods (Mon, 26 Jun 2017 21:22:54 GMT):
Hi all, I'm trying to ascertain the current status and future plans for endorsement policies. As far as I can tell, the endorsement policy is as described here: http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html -- Apropos "future enhancements", I would like to see the ability for a chaincode instantiator to also specify chaincode (would this be ESCC?) that defines the endorsement policy, as I want total control over that aspect. Is that planned? I haven't found any Jira tickets specifically talking about that.

ynamiki (Tue, 27 Jun 2017 00:09:44 GMT):
Has joined the channel.

neharprodduturi (Tue, 27 Jun 2017 00:19:17 GMT):
Has joined the channel.

dilipjain (Tue, 27 Jun 2017 09:36:11 GMT):
In V0.6, I was able to create a simple client application to make REST calls for invoke/query chaincode APIs. In v1.0, as REST calls are not supported, instead Node SDK (gRPC) has come into picture, and it seems difficult to write test application to make gRPC calls. Another point is ... same v1.0 blockchain application, which is easily tested with CLI, cannot be directly tested with Node SDK since the application folders need to be re-structured to support Node SDK. *It seems, that writing chaincode application is simpler than writing its test application* Please let me know if someone has a simple step-by-step guideline/checklist that could help while converting v0.6 test application (REST calls) into v1.0 test application (Node SDK gRPC) Thanks.

dilipjain (Tue, 27 Jun 2017 09:36:11 GMT):
In V0.6, I was able to create a simple client application to make REST calls for invoke/query chaincode APIs. In v1.0, as REST calls are not supported, instead Node SDK (gRPC) has come into picture, and it seems difficult to write test application to make gRPC calls. Another point is ... same v1.0 blockchain application, which is easily tested with CLI, cannot be directly tested with Node SDK since the application folders need to be re-structured to support Node SDK. *It seems, that writing Node SDK based test application is more difficult then writing blockchain application itself* Please let me know if someone has a simple step-by-step guideline/checklist that could help while converting v0.6 test application (REST calls) into v1.0 test application (Node SDK gRPC) Thanks.

dilipjain (Tue, 27 Jun 2017 09:36:11 GMT):
In V0.6, I was able to create a simple client application to make REST calls for invoke/query chaincode APIs. In v1.0, as REST calls are not supported, instead Node SDK (gRPC) has come into picture, and it seems difficult to write test application to make gRPC calls. Another point is ... same v1.0 blockchain application, which is easily tested with CLI, cannot be directly tested with Node SDK since the application folders need to be re-structured to support Node SDK. *It seems, that writing Node SDK based test application is more difficult then writing blockchain application itself* *and, why the CLI and Node SDK need different approaches for blockchain application folder structures* Please let me know if someone has a simple step-by-step guideline/checklist that could help while converting v0.6 test application (REST calls) into v1.0 test application (Node SDK gRPC) Thanks.

dilipjain (Tue, 27 Jun 2017 09:36:11 GMT):
In V0.6, I was able to create a simple client application to make REST calls for invoke/query chaincode APIs. In v1.0, as REST calls are not supported, instead Node SDK (gRPC) has come into picture, and it seems difficult to write test application to make gRPC calls. Another point is ... same v1.0 blockchain application, which is easily tested with CLI, cannot be directly tested with Node SDK since the application folders need to be re-structured to support Node SDK. *It seems, that writing Node SDK based test application is more difficult then writing blockchain application itself and, why the CLI and Node SDK need different approaches for blockchain application folder structures* Please let me know if someone has a simple step-by-step guideline/checklist that could help while converting v0.6 test application (REST calls) into v1.0 test application (Node SDK gRPC) Thanks.

dilipjain (Tue, 27 Jun 2017 09:36:11 GMT):
In V0.6, I was able to create a simple client application to make REST calls for invoke/query chaincode APIs. In v1.0, as REST calls are not supported, instead Node SDK (gRPC) has come into picture, and it seems difficult to write test application to make gRPC calls. Another point is ... same v1.0 blockchain application, which is easily tested with CLI, cannot be directly tested with Node SDK since the application folders need to be re-structured to support Node SDK. *It seems, that writing Node SDK based test application is more difficult then writing blockchain application itself* *and, why the CLI and Node SDK need different approaches for blockchain application folder structures* Please let me know if someone has a simple step-by-step guideline/checklist that could help while converting v0.6 test application (REST calls) into v1.0 test application (Node SDK gRPC) Thanks.

toddinpal (Tue, 27 Jun 2017 21:37:37 GMT):
Is it possible in an endorsement policy to indicate I want more than one endorsement from a single organization?

jeffgarratt (Tue, 27 Jun 2017 21:42:55 GMT):
@toddinpal yes

toddinpal (Tue, 27 Jun 2017 21:43:48 GMT):
Thanks, just found it in the docs on policy...

toddinpal (Tue, 27 Jun 2017 21:51:31 GMT):
oh, perhaps not... I was looking at signature policy. The endorsement policy expression mechanism doesn't appear to allow specifying the number of the endorsements from an org

toddinpal (Tue, 27 Jun 2017 21:51:31 GMT):
@jeffgarratt or, perhaps not... I was looking at signature policy. The endorsement policy expression mechanism doesn't appear to allow specifying the number of the endorsements from an org

toddinpal (Tue, 27 Jun 2017 21:51:44 GMT):
or at least from what I read in the current docs

jeffgarratt (Tue, 27 Jun 2017 23:44:12 GMT):
@jyellick can perhaps clarify for us both ^^

jeffgarratt (Tue, 27 Jun 2017 23:45:04 GMT):
@toddinpal based upon doc, wouldn't T(2, 'A') work?

jeffgarratt (Tue, 27 Jun 2017 23:45:39 GMT):
I am pretty sure there is logic to assure the same singature can not be used twice, thus this should require 2 sigs from the org.

jeffgarratt (Tue, 27 Jun 2017 23:45:49 GMT):
or perhaps itis T(2, 'A'. 'A')

jeffgarratt (Tue, 27 Jun 2017 23:45:52 GMT):
something like this

jeffgarratt (Tue, 27 Jun 2017 23:46:19 GMT):
I can try some some tests to verify.

toddinpal (Tue, 27 Jun 2017 23:52:08 GMT):
@jeffgarratt Perhaps, although it would be hard to deduce that from the docs

jeffgarratt (Tue, 27 Jun 2017 23:52:33 GMT):
agreed

jyellick (Wed, 28 Jun 2017 01:37:08 GMT):
@jeffgarratt @toddinpal Correct. You want `2 of ['A', 'A']` in your case.

jyellick (Wed, 28 Jun 2017 01:37:41 GMT):
You may also craft policies to be more specific, requiring particular certificates, or a particular OU for the certificate

jyellick (Wed, 28 Jun 2017 01:38:22 GMT):
In which case you might craft a policy to require `2 of ['A.Marketing', 'A.Sales']`

Rachitga (Wed, 28 Jun 2017 10:29:44 GMT):
Hello all, I had doubts about the consistency checks in the various endorsements during the validation phase in the committing peers. How do these peers perform the consistency check among all endorsements? Do they check if all simulation results are same in all endorsements(if that was the case then even one malicious endorser could lead to no transaction being committed), do they pick the majority among the simulation result as the one that should be picked (if that was the case then say a policy that said that four out of ten endorsers should sign it, would not get passed if say four of them were correct and six were malicious), so is it then policy dependent but then each policy can be different how does it deal with ties (if there was a policy that four out of the ten endorsers should sign it, and lets say there are five with one simulation result blob, five with the other simulation result blob), how does it pick then? Can you please point to the piece of code where the committing peer checks this?

Rachitga (Wed, 28 Jun 2017 10:29:44 GMT):
Hello all, I had doubts about the consistency checks in the various endorsements during the validation phase in the committing peers. How do these peers perform the consistency check among all endorsements? Do they check if all simulation results are same in all endorsements(if that was the case then even one malicious endorser could lead to no transaction being committed), do they pick the majority among the simulation result as the one that should be picked (if that was the case then say a policy that said that four out of ten endorsers should sign it, would not get passed if say four of them were correct and six were malicious), so is it then policy dependent but then each policy can be different how does it deal with ties (if there was a policy that four out of the ten endorsers should sign it, and lets say there are five with one simulation result blob, five with the other simulation result blob), how does it pick then? Can you please point to the piece of code where the committing peer checks this?

Rachitga (Wed, 28 Jun 2017 10:32:53 GMT):
@muralisr , @mastersingh24 , @Ratnakar can you please help me out with this query ^^

jeffgarratt (Wed, 28 Jun 2017 13:29:23 GMT):
@Rachitga as long as you get the number of endorsements with the same response that meets the endorsement policy it is sufficient. I am not sure if you are really concerned with consistency vs correctness. You get consistency guarantees wrt to the aforementioned process, but this does not of course guarantee correctness. And yes your system could be effectively halted by a required endorsement returning variant responses, depending on your policy. It is for this reason the N of support exist, to allow for progress in the face of inconsistent results. Selection of the endorsements to choose is up to the requestor. I believe there is also a majority option wrt to policy that will account for membership changes.

Rachitga (Wed, 28 Jun 2017 19:08:26 GMT):
@jeffgarratt , thanks for your answer, so as long as the policy is satisfied then we can pick any one from the ties and it will be consistent. But we might not be sure of the correctness, so if a policy say 4 of support exists, and four malicious endorsing peers collude then they can prevent the correct endorsement from being chosen as ties are not dealt with. Am I correct in my understanding? I found the code that i was looking for in the vscc system chaincode from where i found the file fabric/common/cauthdsl/cauthdsl.go , this is where a policy evaluation function is generated which takes all the endorsements as arguments and checks their consistency as well as the requirements with respect to the policy.

jeffgarratt (Wed, 28 Jun 2017 19:10:36 GMT):
@Rachitga correct. This was the subtle difference I was trying convey. The consistency means it is consistent with the specification of policy, but is not 'correct' based upon desired outcome

jeffgarratt (Wed, 28 Jun 2017 19:10:36 GMT):
@Rachitga correct. This was the subtle difference I was trying convey. The consistency means it is consistent with the specification of policy, but is not 'correct' based upon desired outcome, which can also be subjective :) as the colluders got exactly what they wanted

jeffgarratt (Wed, 28 Jun 2017 19:13:14 GMT):
leading to the inevitable.....

jeffgarratt (Wed, 28 Jun 2017 19:13:19 GMT):
'caveat emptor' :)

mnosseir (Wed, 28 Jun 2017 23:40:24 GMT):
Has joined the channel.

mnosseir (Wed, 28 Jun 2017 23:43:20 GMT):
Hi all,

mnosseir (Wed, 28 Jun 2017 23:47:35 GMT):
The "Architecture Explained" document implies that we can customize the endorsing logic on an endorsing peer. It states that: "By default, endorsing logic at a peer accepts the tran-proposal and simply signs the tran-proposal. However, endorsing logic may interpret arbitrary functionality,....". But I cannot find any references to how this can be accomplished. Does anyone know how can the endorsing logic be customized? I'm referring to section 2.2 of this document "https://hyperledger-fabric.readthedocs.io/en/latest/arch-deep-dive.html".

mnosseir (Wed, 28 Jun 2017 23:47:35 GMT):
The "Architecture Explained" document implies that we can customize the endorsing logic on an endorsing peer. It states that: _"By default, endorsing logic at a peer accepts the tran-proposal and simply signs the tran-proposal. However, endorsing logic may interpret arbitrary functionality,...."_. But I cannot find any references to how this can be accomplished. Does anyone know how can the endorsing logic be customized? I'm referring to section 2.2 of this document "https://hyperledger-fabric.readthedocs.io/en/latest/arch-deep-dive.html".

muralisr (Thu, 29 Jun 2017 01:14:49 GMT):
@mnosseir the endorsement is done by the system chaincode "escc" (search for "escc" in core/scc/importsyscc.go)... you can copy escc chaincode and customize it. escc can be specified at the time of instantiation of a chaincode on a channel

rezamt (Thu, 29 Jun 2017 04:24:07 GMT):
Has joined the channel.

Rachitga (Thu, 29 Jun 2017 05:52:21 GMT):
@jeffgarratt , haha yeah, I get what you mean. Thanks for clearing my doubt, :relaxed: .

Rachitga (Thu, 29 Jun 2017 07:24:44 GMT):
@jeffgarratt , i was again going through the code in fabric/common/cauthdsl/cauthdsl.go, where is the consistency check done here? I could see the code for the N out of support, but where is the check that the verified signatures that are finally considered are on the same data?

mnosseir (Thu, 29 Jun 2017 20:58:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=pvdhGgYLByz7uB7ZZ) @muralisr Thanks a for your answer.

anik (Fri, 30 Jun 2017 06:52:04 GMT):
@muralisr does all channel configuration get saved in orderer ? Does it also include chaincode endorser information

jeffgarratt (Fri, 30 Jun 2017 13:26:58 GMT):
@Ratnakar the endorsements of the proposal that are in the TX, each of them includes a signature across the proposal bytes, these will be verified by the peer upon committing (post orderer)

jeffgarratt (Fri, 30 Jun 2017 13:26:58 GMT):
@Rachitga the endorsements of the proposal that are in the TX, each of them includes a signature across the proposal bytes, these will be verified by the peer upon committing (post orderer)

jeffgarratt (Fri, 30 Jun 2017 13:28:32 GMT):
if they are invalid, the peer will invalidate the TX upon commission

jeffgarratt (Fri, 30 Jun 2017 13:28:32 GMT):
if they are invalid, the peer will invalidate the TX when writing the block to its ledger

awa (Sun, 02 Jul 2017 10:53:24 GMT):
Has joined the channel.

Rachitga (Mon, 03 Jul 2017 07:12:59 GMT):
@jeffgarratt , I get what you are saying but I wanted to know if the vscc does an explicit consistency check or not? What I mean is that after verifying the signature across the proposal bytes in an endorsement as correct, does it compare among the proposal bytes of different endorsements(which it is considering as correct). The transaction response structure is something like this: SignedTransaction |\_ Signature (signature on the Transaction message by the creator specified in the header) \_ Transaction \_ TransactionAction (1...n) |\_ Header (1) (the header of the proposal that requested this action) \_ Payload (1) (the payload for this action) */ And also at the committer, the changes in the ledger state will be made according to the read write set. Where in the code is the read write set that will be chosen in the end to be commited present?

Rachitga (Mon, 03 Jul 2017 07:12:59 GMT):
@jeffgarratt , I get what you are saying but I wanted to know if the vscc does an explicit consistency check or not? What I mean is that after verifying the signature across the proposal bytes in an endorsement as correct, does it compare among the proposal bytes of different endorsements(which it is considering as correct). The transaction response structure is something like this: SignedTransaction |\_ Signature (signature on the Transaction message by the creator specified in the header) \_ Transaction \_ TransactionAction (1...n) |\_ Header (1) (the header of the proposal that requested this action) \_ Payload (1) (the payload for this action) */ So does it do a consistency check among the different payloads in the transaction action array? And also at the committer, the changes in the ledger state will be made according to the read write set. Where in the code is the read write set that will be chosen in the end to be commited present?

Rachitga (Mon, 03 Jul 2017 07:12:59 GMT):
@jeffgarratt , I get what you are saying but I wanted to know if the vscc does an explicit consistency check or not? What I mean is that after verifying the signature across the proposal bytes in an endorsement as correct, does it compare among the proposal bytes of different endorsements(which it is considering as correct). The transaction response structure is something like this: SignedTransaction |\_ Signature (signature on the Transaction message by the creator specified in the header) \_ Transaction .....\_ TransactionAction (1...n) ..........|\_ Header (1) (the header of the proposal that requested this action) ..........\_ Payload (1) (the payload for this action) */ So does it do a consistency check among the different payloads in the transaction action array? And also at the committer, the changes in the ledger state will be made according to the read write set. Where in the code is the read write set that will be chosen in the end to be commited present?

alburt (Mon, 03 Jul 2017 10:47:23 GMT):
Has joined the channel.

jeffgarratt (Mon, 03 Jul 2017 18:19:23 GMT):
@Rachitga there should only be one proposal's bytes submitted for which all of the signatures are validated.

thakkarparth007 (Mon, 03 Jul 2017 21:38:33 GMT):
@Rachitga wrt your second query "Where in the code is the read write set" - search for RWSetBuilder in fabric/core/ledger/kvledger/txmgmt/rwsetutil - this is used by the committer while committing blocks. As far as I understand, the commiter takes a block, does signature validation on the whole block, then verifies the txs within the block, and while doing so, it adds all the writesets into a write-batch (can't remember the exact term) and once all txs have been verified, it writes the whole batch at once.

thakkarparth007 (Mon, 03 Jul 2017 21:38:33 GMT):
@Rachitga wrt your second query "Where in the code is the read write set" - search for RWSetBuilder in fabric/core/ledger/kvledger/txmgmt/rwsetutil - this is used by the committer while committing blocks. As far as I understand, the commiter takes a block, does signature validation on the whole block and the transactions, then verifies the txs within the block for any readwrite conflicts, and while doing so, it adds all the writesets into a write-batch (can't remember the exact term) and once all txs have been verified, it writes the whole batch at once.

thakkarparth007 (Mon, 03 Jul 2017 21:38:33 GMT):
@Rachitga wrt your second query "Where in the code is the read write set" - search for `RWSetBuilder` in `fabric/core/ledger/kvledger/txmgmt/rwsetutil.go` - this is used by the committer while committing blocks. As far as I understand, the commiter takes a block, does: 1. signature validation on the whole block and the transactions, 2. then verifies the txs within the block for any readwrite conflicts, and while doing so, it adds all the writesets into an UpdateBatch 3. and then, it writes the whole updatebatch at once.

thakkarparth007 (Mon, 03 Jul 2017 21:38:33 GMT):
@Rachitga wrt your second query "Where in the code is the read write set" - search for `RWSetBuilder` in `fabric/core/ledger/kvledger/txmgmt/rwsetutil.go` - this is used by the committer while committing blocks. As far as I understand, the commiter takes a block, does: 1. signature validation on the whole block and the transactions, 2. then verifies the txs within the block for any readwrite conflicts, and while doing so, it adds all the writesets into an UpdateBatch 3. and then, it writes the whole updatebatch at once. #1 happens in `Validate(block, doMVCCValidation)` in `fabric/core/committer/txvalidator/validator.go`. This gets called from `fabric/core/committer/committer_impl.go`. #2 happens in: `ValidateAndPrepareBatch()` in `fabric/core/ledger/kvledger/txmgmt/validator/statebasedval/state_based_validator.go` - you'll find what you're looking for. Here the validation that's being done is MVCC and intra-block read-write conflict validation and not the signature validation.

thakkarparth007 (Mon, 03 Jul 2017 22:49:09 GMT):
I'm a little confused about the "verifies the txs within the block, and _while doing so_, it adds all the writesets into a write-batch". Look at `ValidateAndPrepareBatch()` in `fabric/core/ledger/kvledger/txmgmt/validator/statebasedval/state_based_validator.go` - you'll find what you're looking for. I'm confused about the "while doing so" part, because the validation is spread out throughout the codebase, and includes block validation, tx signature validation, tx policy validation (happens in vscc), and I can't really figure out what happens in which order.

thakkarparth007 (Mon, 03 Jul 2017 22:49:09 GMT):
@Rachitga I'm a little confused about the "verifies the txs within the block, and _while doing so_, it adds all the writesets into a write-batch". Look at `ValidateAndPrepareBatch()` in `fabric/core/ledger/kvledger/txmgmt/validator/statebasedval/state_based_validator.go` - you'll find what you're looking for. I'm confused about the "while doing so" part, because the validation is spread out throughout the codebase, and includes block validation, tx signature validation, tx policy validation (happens in vscc), and I can't really figure out what happens in which order.

thakkarparth007 (Mon, 03 Jul 2017 22:49:09 GMT):
@Rachitga Look at `ValidateAndPrepareBatch()` in `fabric/core/ledger/kvledger/txmgmt/validator/statebasedval/state_based_validator.go` - you'll find what you're looking for. Here the validation that's being done is MVCC-type validation and not the signature validation. Signature validation is done at an earlier stage.

thakkarparth007 (Mon, 03 Jul 2017 23:18:44 GMT):
The same name 'validate' for different functionalities confused me for a (long :P) while.

Rachitga (Tue, 04 Jul 2017 04:57:38 GMT):
@jeffgarratt , do you mean that the client submits only one proposal's bytes to the orderer, out of the many that it gets? @thakkarparth007 , thanks, the functions that you mentioned are helpful :relaxed: ! yeah, it is very confusing for me as well.

DannyWong (Tue, 04 Jul 2017 08:37:06 GMT):
Has left the channel.

jeffgarratt (Tue, 04 Jul 2017 14:18:02 GMT):
@Rachitga correct, the client should compare the proposal responses bytes for equivalence across endorsement requests, and then submit the single proposal response bytes along with the endorsements.

nhrishi (Tue, 04 Jul 2017 18:28:42 GMT):
@jeffgarratt @muralisr Hi, Quick question. If we write a endorsement policy such that a transaction will be only endorsed if a user approves it manually. As in this case, a proposal is already generated (RW set) and there can be other transactions that may get processed before this first one is approved by user. The RW set of the first transaction is really outdated and orderer or committer nodes may not process transactions in the same order as they were generated. Does fabric recreates a RWset if its updated in meantime or is there any other way to handle this scenario. Correct me if i'm missing something.

muralisr (Tue, 04 Jul 2017 18:52:31 GMT):
@nhrishi basically what you are saying is that an asset is modified by other transactions while another tx involving it is awaiting endorsement

nhrishi (Tue, 04 Jul 2017 18:56:38 GMT):
@muralisr Yes thats correct

muralisr (Tue, 04 Jul 2017 18:56:54 GMT):
secondary TXs that use the same asset does get endorsed committed the first one will likely invalidated

muralisr (Tue, 04 Jul 2017 18:58:48 GMT):
its hard to propose approaches without knowing details.. but the first question would be why would the secondary TXs get endorsed ?

muralisr (Tue, 04 Jul 2017 18:58:48 GMT):
its hard to propose approaches without knowing details.. but the first question would be why would the secondary TXs get endorsed (while the first is waiting for "manual" endorsement) ?

nhrishi (Tue, 04 Jul 2017 19:00:21 GMT):
yes so lets say all transactions needs "manual" endorsement. and user may not approve or endorse them in the same sequence/order of creation.

nhrishi (Tue, 04 Jul 2017 19:01:15 GMT):
or its waiting for other endorsements and secondary transactions may get endorsed before

nhrishi (Tue, 04 Jul 2017 19:03:37 GMT):
If first one is invalidated (thats my understanding as well), then how do we recreate or re-propose a transaction and then we'll need to begin endorsement process all over again.

muralisr (Tue, 04 Jul 2017 19:05:59 GMT):
sounds like some level control/sequencing from application layer (as in SDK) may be needed (again, loosely speaking without knowledge of details)

nhrishi (Tue, 04 Jul 2017 19:16:48 GMT):
okay, I'm essentially trying to do a multi-party approval (M of N or N of N) process on the transaction. I can see another way is - to write user defined chaincode and manage multi-party approval process. But i thought endorsement policies are designed for the same purpose. In Multi-party approvals scenario, when users are doing "manual" endorsements (in financial market use cases specifically), its very likely that all transactions may not get endorsed completely in the same order as creation. I'm not really sure if we should do it as SDK level because we may have to go through endorsement process all over again. I think if we address this in the fabric itself, somehow reprocess the transaction considering endorsements are already done, that would be ideal (may be incorrect).

muralisr (Tue, 04 Jul 2017 21:05:41 GMT):
@nhrishi can you do it in two steps ? First step send a proposal / transaction to mark the asset as "in prgress" (no manual approval needed) and in the second do the multi-party endorsement... any other proposal coming in attempting to access the asset will be turned down with error

nhrishi (Wed, 05 Jul 2017 02:46:30 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=BT9Y5yggc7MfCwwo6) @muralisr Yup, correct, this logic will be required. Thanks for your help.

seepgoel (Wed, 05 Jul 2017 05:52:31 GMT):
Has joined the channel.

rahulhegde (Wed, 05 Jul 2017 19:00:40 GMT):
@muralisr @dave.enyeart I am trying the data persistence of couch-db on the fabric-beta-release using documentation - https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#a-note-on-data-persistence and see the couch container instance exits. Any input?

rahulhegde (Wed, 05 Jul 2017 19:00:40 GMT):
@muralisr @dave.enyeart I am trying the data persistence of couch-db on the fabric-beta-release using documentation - https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#a-note-on-data-persistence and see the couch container instance exits. Any input? ``` [rhegde@dusd1devrhap040 e2e_cli_v1_st]$ docker logs -f 21511ab48e2b **************************************************** WARNING: CouchDB is running in Admin Party mode. This will allow anyone with access to the CouchDB port to access your database. In Docker's default configuration, this is effectively any other container on the same system. Use "-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password" to set it in "docker run". **************************************************** [os_mon] memory supervisor port (memsup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed {"Kernel pid terminated",application_controller,"{application_start_failure,couch,{{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,auth_cache,{{badmatch,{error,eacces}},[{couch_auth_cache,ensure_users_db_exists,2,[{file,\"src/couch_auth_cache.erl\"},{line,456}]},{couch_auth_cache,open_auth_db,0,[{file,\"src/couch_auth_cache.erl\"},{line,428}]},{couch_auth_cache,reinit_cache,1,[{file,\"src/couch_auth_cache.erl\"},{line,290}]},{couch_auth_cache,init,1,[{file,\"src/couch_auth_cache.erl\"},{line,166}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,240}]}]}}}}},{couch_app,start,[normal,[]]}}}"} ```

rahulhegde (Wed, 05 Jul 2017 19:00:40 GMT):
@muralisr @dave.enyeart I am trying the data persistence of couch-db on the fabric-beta-release using documentation - https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#a-note-on-data-persistence and see the couch container instance exits. Any input? docker-composer.yaml ``` couchdb5: container_name: couchdb5 image: hyperledger/fabric-couchdb:x86_64-1.0.0-beta ports: - "40005:5984" volumes: - ./mount/couchdb5:/opt/couchdb/data ``` ``` [rhegde@dusd1devrhap040 e2e_cli_v1_st]$ docker logs -f 21511ab48e2b **************************************************** WARNING: CouchDB is running in Admin Party mode. This will allow anyone with access to the CouchDB port to access your database. In Docker's default configuration, this is effectively any other container on the same system. Use "-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password" to set it in "docker run". **************************************************** [os_mon] memory supervisor port (memsup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed {"Kernel pid terminated",application_controller,"{application_start_failure,couch,{{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,auth_cache,{{badmatch,{error,eacces}},[{couch_auth_cache,ensure_users_db_exists,2,[{file,\"src/couch_auth_cache.erl\"},{line,456}]},{couch_auth_cache,open_auth_db,0,[{file,\"src/couch_auth_cache.erl\"},{line,428}]},{couch_auth_cache,reinit_cache,1,[{file,\"src/couch_auth_cache.erl\"},{line,290}]},{couch_auth_cache,init,1,[{file,\"src/couch_auth_cache.erl\"},{line,166}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,240}]}]}}}}},{couch_app,start,[normal,[]]}}}"} ```

rahulhegde (Wed, 05 Jul 2017 19:00:40 GMT):
@muralisr @dave.enyeart I am trying the data persistence of couch-db on the fabric-beta-release using documentation - https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#a-note-on-data-persistence and see the couch container instance exits. Any input? docker-composer.yaml ``` couchdb5: container_name: couchdb5 image: hyperledger/fabric-couchdb:x86_64-1.0.0-beta ports: - "40005:5984" volumes: - ./mount/couchdb5:/opt/couchdb/data ``` Couch DB container logs ``` [rhegde@dusd1devrhap040 e2e_cli_v1_st]$ docker logs -f 21511ab48e2b **************************************************** WARNING: CouchDB is running in Admin Party mode. This will allow anyone with access to the CouchDB port to access your database. In Docker's default configuration, this is effectively any other container on the same system. Use "-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password" to set it in "docker run". **************************************************** [os_mon] memory supervisor port (memsup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed {"Kernel pid terminated",application_controller,"{application_start_failure,couch,{{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,auth_cache,{{badmatch,{error,eacces}},[{couch_auth_cache,ensure_users_db_exists,2,[{file,\"src/couch_auth_cache.erl\"},{line,456}]},{couch_auth_cache,open_auth_db,0,[{file,\"src/couch_auth_cache.erl\"},{line,428}]},{couch_auth_cache,reinit_cache,1,[{file,\"src/couch_auth_cache.erl\"},{line,290}]},{couch_auth_cache,init,1,[{file,\"src/couch_auth_cache.erl\"},{line,166}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,240}]}]}}}}},{couch_app,start,[normal,[]]}}}"} ```

rahulhegde (Wed, 05 Jul 2017 19:00:40 GMT):
@muralisr @dave.enyeart I am trying the data persistence of couch-db on the fabric-beta-release using documentation - https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#a-note-on-data-persistence and see the couch container instance exits. Any input? docker-composer.yaml ``` couchdb5: container_name: couchdb5 image: hyperledger/fabric-couchdb:x86_64-1.0.0-beta ports: - "40005:5984" volumes: - ./mount/couchdb5:/opt/couchdb/data ``` Couch DB container log ``` [rhegde@dusd1devrhap040 e2e_cli_v1_st]$ docker logs -f 21511ab48e2b **************************************************** WARNING: CouchDB is running in Admin Party mode. This will allow anyone with access to the CouchDB port to access your database. In Docker's default configuration, this is effectively any other container on the same system. Use "-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password" to set it in "docker run". **************************************************** [os_mon] memory supervisor port (memsup): Erlang has closed [os_mon] cpu supervisor port (cpu_sup): Erlang has closed {"Kernel pid terminated",application_controller,"{application_start_failure,couch,{{shutdown,{failed_to_start_child,couch_secondary_services,{shutdown,{failed_to_start_child,auth_cache,{{badmatch,{error,eacces}},[{couch_auth_cache,ensure_users_db_exists,2,[{file,\"src/couch_auth_cache.erl\"},{line,456}]},{couch_auth_cache,open_auth_db,0,[{file,\"src/couch_auth_cache.erl\"},{line,428}]},{couch_auth_cache,reinit_cache,1,[{file,\"src/couch_auth_cache.erl\"},{line,290}]},{couch_auth_cache,init,1,[{file,\"src/couch_auth_cache.erl\"},{line,166}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,240}]}]}}}}},{couch_app,start,[normal,[]]}}}"} ```

moulali308 (Thu, 06 Jul 2017 06:20:27 GMT):
Has joined the channel.

HuangLijun (Thu, 06 Jul 2017 06:52:54 GMT):
Has joined the channel.

nhrishi (Thu, 06 Jul 2017 09:41:10 GMT):
Hi, i'm using rc1 release and when i try to instantiate a chaincode, getting error 2017-07-06 08:56:32.791 UTC [endorser] ProcessProposal -> ERRO 678 simulateProposal() resulted in chaincode response status 500 for txid: "

nhrishi (Thu, 06 Jul 2017 09:41:10 GMT):
Hi, i'm using rc1 release and when i try to instantiate a chaincode, getting error 2017-07-06 08:56:32.791 UTC [endorser] ProcessProposal -> ERRO 678 simulateProposal() resulted in chaincode response status 500 for txid: " . This is what i see in the peer log.

muralisr (Thu, 06 Jul 2017 12:45:53 GMT):
@nhrishi likely chaincode returned an error .... if you add CORE_CHAINCODE_LOGGING_LEVEL=debug CORE_VM_DOCKER_STDOUT=true to peer's env vars you will get logs from chaincode streamed to peer's logs which might give more info

wlahti (Thu, 06 Jul 2017 14:14:09 GMT):
@nhrishi @muralisr Actually, to get the logging enabled for the `shim` which may be of assistance here, you need to set CORE_CHAINCODE_LOGGING_SHIM=DEBUG. CORE_CHAINCODE_LOGGING_LEVEL does set the overall default level for the chaincode container but the shim value is set to warning by default in sampleconfig/core.yaml and will override the level.

nhrishi (Fri, 07 Jul 2017 03:36:06 GMT):
@muralisr @wlahti Thanks. Will check it.

erickbr24 (Sun, 09 Jul 2017 00:05:28 GMT):
Has joined the channel.

erickbr24 (Sun, 09 Jul 2017 00:06:02 GMT):
Hi. Maybe you've had this issue. As I was following the tutorial on ( http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html ). After successfully running [ ./byfn.sh -m generate ], I try to run [ ./byfn.sh -m up ] and I get this... Starting with channel 'mychannel' and CLI timeout of '10000' Continue (y/n)? y proceeding ... Pulling orderer.example.com (hyperledger/fabric-orderer:latest)... ERROR: manifest for hyperledger/fabric-orderer:latest not found ERROR !!!! Unable to start network Error response from daemon: No such container: cli I would greatly appreciate if anyone can lead me in the right direction. As I have not found this specific issue solved. Thanks!

Ratnakar (Sun, 09 Jul 2017 02:48:06 GMT):
@erickbr24 Looks like you didn't downloaded the docker images. Follow the instructions from this section http://hyperledger-fabric.readthedocs.io/en/latest/samples.html#binaries

gauthampamu (Tue, 11 Jul 2017 21:17:35 GMT):
Has joined the channel.

divyank (Wed, 12 Jul 2017 13:42:45 GMT):
Question about events: Can a client with an Org1 e-cert register for events from an Org2 peer?

jeffgarratt (Wed, 12 Jul 2017 15:51:02 GMT):
@divyank if the org2 peer has configured their localMSPConfig to allow it, yes

divyank (Wed, 12 Jul 2017 15:57:30 GMT):
@jeffgarratt How is that configured? I tried adding an Org1 root to the `cacerts` directory of the Org2 peer's local MSP config

jeffgarratt (Wed, 12 Jul 2017 15:58:09 GMT):
@divyank and after peer restart no go?

divyank (Wed, 12 Jul 2017 16:04:30 GMT):
@jeffgarratt MSP ID validation appears to fail : `failed deserializing event creator: [Expected MSP ID Org2MSP, received Org1MSP]`

jeffgarratt (Wed, 12 Jul 2017 16:05:09 GMT):
this was from which process?

jeffgarratt (Wed, 12 Jul 2017 16:05:16 GMT):
the peer your trying to get events from?

jeffgarratt (Wed, 12 Jul 2017 16:05:29 GMT):
or the listener?

divyank (Wed, 12 Jul 2017 16:06:01 GMT):
Yes, this was the response from the event server on the Org2 peer that I am connecting to

jeffgarratt (Wed, 12 Jul 2017 16:09:04 GMT):
k, 2 secs..

jeffgarratt (Wed, 12 Jul 2017 16:10:46 GMT):
@divyank checking with murali, but the code seems to require membership in the peer's org

jeffgarratt (Wed, 12 Jul 2017 16:10:49 GMT):
```// Validates event messages by validating the Creator and verifying // the signature. Returns the unmarshaled Event object // Validation of the creator identity's validity is done by checking with local MSP to ensure the // submitter is a member in the same organization as the peer

jeffgarratt (Wed, 12 Jul 2017 16:11:28 GMT):
@divyank so it appears I was wrong with my statement above

jeffgarratt (Wed, 12 Jul 2017 16:12:32 GMT):
in this case though, it does seem more likely that if you wish this to happen, you would issue the other ORG a cert to allow them access, which you could revoke later if you choose to

divyank (Wed, 12 Jul 2017 16:14:25 GMT):
@jeffgarratt Alright. Thanks for checking

jeffgarratt (Wed, 12 Jul 2017 16:14:43 GMT):
@divyank your most welcome!!

jeffgarratt (Wed, 12 Jul 2017 18:46:52 GMT):
[ ](https://chat.hyperledger.org/channel/fabric?msg=8rtCSybSaEWr5LMyi) @bgaillar @muralisr may be able to address here

bgaillar (Wed, 12 Jul 2017 18:46:52 GMT):
Has joined the channel.

muralisr (Wed, 12 Jul 2017 18:50:55 GMT):
@jeffgarratt @bgaillar this is something thats on the pipeline ( @jiangyaoguo was actively looking into it) but had to be dropped for 1.0 as it was getting too crowded.... please do add @jiangyaoguo

jiangyaoguo (Thu, 13 Jul 2017 02:01:49 GMT):
@jeffgarratt @bgaillar @muralisr Yes, I'll start working on "Start and Stop CC" since now we have 1.0. It was arranged to post 1.0.

WHATISOOP (Fri, 14 Jul 2017 01:31:06 GMT):
Has joined the channel.

thakkarparth007 (Mon, 17 Jul 2017 22:34:32 GMT):
Hello

thakkarparth007 (Mon, 17 Jul 2017 22:34:53 GMT):
I've been trying to modify the validation code to enable parallel vscc validation of tx within a block

thakkarparth007 (Mon, 17 Jul 2017 22:35:42 GMT):
But on doing that, I'm facing a strange situation where some rlocks acquired in the ledger are not being released

thakkarparth007 (Mon, 17 Jul 2017 22:36:19 GMT):
It might be that I'm doing something wrong, but I'm wondering if parallel vscc invocation is safe currently

thakkarparth007 (Mon, 17 Jul 2017 22:38:11 GMT):
Does anyone know of this?

thakkarparth007 (Mon, 17 Jul 2017 22:38:11 GMT):
Does anyone something about this?

muralisr (Tue, 18 Jul 2017 00:27:23 GMT):
@thakkarparth007 from a pure chaincode pov, system chaincode can be invoked in parallel. However vscc does use ledger APIs and there maybe restrictions on concurrent invoke there. Suggest checking with fabric-ledger with the details on what locks are being held please

thakkarparth007 (Tue, 18 Jul 2017 09:15:54 GMT):
Thanks @muralisr

highlander (Tue, 18 Jul 2017 20:27:56 GMT):
Has joined the channel.

chenxuan (Wed, 19 Jul 2017 03:33:16 GMT):
Has joined the channel.

shanlusun (Wed, 19 Jul 2017 08:32:07 GMT):
Hi, when I try to deploy fabric (1.0.0-rc1) with k8s, I could 1.create channel 2.install chaincode. But failed to `3.instantiate chaincode`:

shanlusun (Wed, 19 Jul 2017 08:32:27 GMT):
The error log of peer is here:

shanlusun (Wed, 19 Jul 2017 08:32:53 GMT):

Message Attachments

shanlusun (Wed, 19 Jul 2017 08:33:59 GMT):
I can see the peer already created images: dev-peer0-org1-mycc-1.0

shanlusun (Wed, 19 Jul 2017 08:34:48 GMT):
but seems peer failed to call the image, any idea will be helpful ~

chawlanikhil24 (Wed, 19 Jul 2017 09:01:49 GMT):
Has joined the channel.

shanlusun (Wed, 19 Jul 2017 09:25:09 GMT):
Anyone has some experience on this issue ?

Johnny-The-Dean (Wed, 19 Jul 2017 12:13:40 GMT):
Has joined the channel.

davidkel (Wed, 19 Jul 2017 12:35:40 GMT):
I see the configtxgen has the ability to create an anchor peer transaction, which I assume is used to define say that a specific peer in an org is the anchor peer. I've created a simple network where I have 1 org and 1 peer and I haven't had to explicitly create this transaction and invoke this transaction and it works as expected. So under what circumstances would I need to actually generate and use this transaction ? Would it be if there were multiple organisations or more than 1 peer per organisation ?

jeffgarratt (Wed, 19 Jul 2017 13:49:30 GMT):
@davidkel this is specifically a high availability concept at the moment I believe. This would allow you to retrieve blocks from another organization in the case they can not be retrieved from the orderer

jeffgarratt (Wed, 19 Jul 2017 13:52:07 GMT):
I would assume that at some point in the future they may be relevant to the sideDB concept

jimthematrix (Wed, 19 Jul 2017 18:01:52 GMT):
@greg.haskins @muralisr not sure who's the best to ask this to, just want to double check that in the following proto "NODE" is meant for javascript chaincode: ``` message ChaincodeSpec { enum Type { UNDEFINED = 0; GOLANG = 1; NODE = 2; CAR = 3; JAVA = 4; } Type type = 1; ChaincodeID chaincode_id = 2; ChaincodeInput input = 3; int32 timeout = 4; }

jimthematrix (Wed, 19 Jul 2017 18:02:29 GMT):
i'm pretty sure it should be, but just making sure before I start making use of it for FAB-2331

muralisr (Wed, 19 Jul 2017 18:09:27 GMT):
@jimthematrix yes, it was meant for if we supprrt javascript natively (unlike composer which still uses GOLANG substrate)

muralisr (Wed, 19 Jul 2017 18:10:37 GMT):
ah that's what FAB-2331 is ?

muralisr (Wed, 19 Jul 2017 18:24:05 GMT):
so one thing @jimthematrix ... the chaincode uses FSM which is totally unneecessary now that we do not have the serialization requirements in 0.6 in 1.0. have been playing with code that removes the chaincode and shim FSMs (no external changes) hopefully for 1.1 (was just mentioning this to @mastersingh24). It would make your life a lot simpler to use that model for javascript.... would you like me to push a WIP CR so you can take a look ?

jimthematrix (Wed, 19 Jul 2017 18:36:23 GMT):
@muralisr yes please, thanks for doing that! I always go "huh?" when looking at the FSM code ;-)

jimthematrix (Wed, 19 Jul 2017 18:36:56 GMT):
can we also make sure that your new approach is committed to 1.1?

jimthematrix (Wed, 19 Jul 2017 18:36:56 GMT):
can we also make sure that your new approach is committed for 1.1?

jimthematrix (Wed, 19 Jul 2017 18:37:11 GMT):
maybe voting needed or something?

muralisr (Wed, 19 Jul 2017 18:37:34 GMT):
will create a JIRA so we can vote... right

jimthematrix (Wed, 19 Jul 2017 18:37:42 GMT):
cool

muralisr (Wed, 19 Jul 2017 18:39:07 GMT):
`I always go "huh?" when looking at the FSM code 😉` - I know... dipped in post big bang reverberations and restrictions from 0.6 ...the clean up will help, promise :-)

muralisr (Wed, 19 Jul 2017 18:39:07 GMT):
@jimthematrix `I always go "huh?" when looking at the FSM code 😉` - I know... dipped in post big bang reverberations and restrictions from 0.6 ...the clean up will help, promise :-)

niteshsolanki (Thu, 20 Jul 2017 07:05:24 GMT):
Has joined the channel.

niteshsolanki (Thu, 20 Jul 2017 07:05:28 GMT):
Are there any API's in shim layer to create Index for couchDB queries or it has to be done using Curl only?

jimthematrix (Thu, 20 Jul 2017 12:02:02 GMT):
@greg.haskins @muralisr my plan for the shim part of javascript chaincode support is first exploring calling golang from node.js, instead of re-implementing the whole shim in node.js natively. This first and foremost saves us time for putting this out in v1.1, and in general may prove to be a viable approach to extend to other languages

muralisr (Thu, 20 Jul 2017 12:03:10 GMT):
hmmm... just as composer does ?

jimthematrix (Thu, 20 Jul 2017 12:03:41 GMT):
no, it's the opposite: Composer is golang calling nodejs via an interpret

jimthematrix (Thu, 20 Jul 2017 12:03:41 GMT):
no, it's the opposite: Composer is golang calling nodejs via an interpreter

jimthematrix (Thu, 20 Jul 2017 12:04:01 GMT):
this is node.js calling golang via shared library

muralisr (Thu, 20 Jul 2017 12:04:13 GMT):
oh I see

greg.haskins (Thu, 20 Jul 2017 12:04:22 GMT):
@jimthematrix I suppose I should withhold judgement until I see an implementation but this strikes me as less than ideal

muralisr (Thu, 20 Jul 2017 12:04:24 GMT):
native node js but just calling shim

muralisr (Thu, 20 Jul 2017 12:04:24 GMT):
native node js but just calling golang shim

jimthematrix (Thu, 20 Jul 2017 12:06:15 GMT):
yes Greg the resulting impact remains to be seen but I think this is an incremental step in that if this turns out to be a bad idea (maybe performance is bad), minimal amount of code can just be replaced with native shim impl with javascript

jimthematrix (Thu, 20 Jul 2017 12:06:38 GMT):
note that grpc support in node.js is accomplished this way

muralisr (Thu, 20 Jul 2017 12:06:41 GMT):
its an implementation detail that can be chaged sure

muralisr (Thu, 20 Jul 2017 12:06:41 GMT):
its an implementation detail that can be changed sure

jimthematrix (Thu, 20 Jul 2017 12:06:59 GMT):
so I'm quite hopeful

jimthematrix (Thu, 20 Jul 2017 12:07:32 GMT):
my question is where should I do the build step of the shim to make it a shared object?

muralisr (Thu, 20 Jul 2017 12:09:23 GMT):
in the spirit of keep it all internal, would be good to stuff that into the build image step than outside of it (ie, "saved" in the fabric externally)

muralisr (Thu, 20 Jul 2017 12:09:47 GMT):
but should wait for @greg.haskins thoughts...

jimthematrix (Thu, 20 Jul 2017 12:11:22 GMT):
I guess I could start with adding an image based on ccenv and adding a build step to build the shim as shared object?

greg.haskins (Thu, 20 Jul 2017 12:11:44 GMT):
@jimthematrix still not sold on the approach, but if you were going to do it that way and wanted to know where the build could happen, my inclination would be to suggest during the ccenv build

greg.haskins (Thu, 20 Jul 2017 12:12:23 GMT):
i see no reason to introduce a new image...in fact, i would probably rather see javaenv collapse back into ccenv

greg.haskins (Thu, 20 Jul 2017 12:14:46 GMT):
@jimthematrix orthogonal to this particular aspect of the discussion, but, ill throw this out there that you could consider doing this as a chaintool platform (http://fabric-chaintool.readthedocs.io/en/latest/application-development/#platform)

jimthematrix (Thu, 20 Jul 2017 12:14:59 GMT):
if you are ok doing that in ccenv that's perfect

greg.haskins (Thu, 20 Jul 2017 12:15:15 GMT):
I designed the .car format to be a universal chaincode container, with provisions for things like declaring compatibility constraints, etc

jimthematrix (Thu, 20 Jul 2017 12:15:16 GMT):
wasn't sure if ccenv was meant to be reserved for golang only ...

greg.haskins (Thu, 20 Jul 2017 12:15:45 GMT):
if you _dont_ use .car, then each other type (GOLANG, JAVA, and now NODE) are going to have to replicate this eventually once we move past v1.0

greg.haskins (Thu, 20 Jul 2017 12:16:11 GMT):
nope, ccenv not meant to be golang specific

greg.haskins (Thu, 20 Jul 2017 12:16:33 GMT):
i see no reason why basically all platforms cant be represented as a superset at the time we cut that release

greg.haskins (Thu, 20 Jul 2017 12:16:39 GMT):
(in ccenv, I mean)

jimthematrix (Thu, 20 Jul 2017 12:16:45 GMT):
_are going to have to replicate this eventually once we move past v1.0_ - what's "this"?

greg.haskins (Thu, 20 Jul 2017 12:17:09 GMT):
@jimthematrix "this" is the basic notion of ABI management

greg.haskins (Thu, 20 Jul 2017 12:17:34 GMT):
I would describe it as analogous to how the JVM deals with different versions of java

greg.haskins (Thu, 20 Jul 2017 12:17:53 GMT):
e.g. "JRE-1.9" can emulate 1.9, 1.8, 1.7, 1.6, etc

niteshsolanki (Thu, 20 Jul 2017 12:18:10 GMT):
How can joins be implemented in couchDB in the chaincode ?

greg.haskins (Thu, 20 Jul 2017 12:18:14 GMT):
and .java files explicitly version themselves

greg.haskins (Thu, 20 Jul 2017 12:18:46 GMT):
so its this coupling of runtime compatibility + emulation plus payload specification that I lump into "abi management"

jimthematrix (Thu, 20 Jul 2017 12:18:47 GMT):
ah ok, yes I'm in agreement. if that can be consolidated as much as possible it's a good thing

jimthematrix (Thu, 20 Jul 2017 12:19:00 GMT):
via the .car mechanism

greg.haskins (Thu, 20 Jul 2017 12:19:01 GMT):
and I tried to capture that in a general way in chaintool/car

jimthematrix (Thu, 20 Jul 2017 12:19:18 GMT):
let me take another look at that

greg.haskins (Thu, 20 Jul 2017 12:19:36 GMT):
ok...would be more than happy to help lay the groundwork for a new type in chaintool

jimthematrix (Thu, 20 Jul 2017 12:20:43 GMT):
like you said it's orthogonal so my current step is to get the shared object built in ccenv and then get js calling golang shim working. when I get to the packaging step I'll revisit this with you

greg.haskins (Thu, 20 Jul 2017 12:20:53 GMT):
ok

greg.haskins (Thu, 20 Jul 2017 12:22:17 GMT):
i think longer term, we will need to get away from "peer vX.Y.Z + ccenv vX.Y.Z" coupling and instead having the notion of the platform specifier (chaintool/car or otherwise) drive the right ccenv

greg.haskins (Thu, 20 Jul 2017 12:22:24 GMT):
but for now...

n91 (Thu, 20 Jul 2017 22:31:06 GMT):
Has joined the channel.

jimthematrix (Fri, 21 Jul 2017 02:07:52 GMT):
as for the idea of re-using the golang shim binary for node.js chaincode, so far it's not looking promising. node.js has good integration with c/c++ (using .h files) but support for golang binaries seems to be lacking. I tried 2 different approaches: 1) build golang as shared libs and load dynamically - require("ffi"), 2) load go source with require("node-go-require") and require("gonode"). haven't been successful so far. I think the biggest problem with this approach in general is debugging when there are problems. I'm starting to think it's time to bite the bullet and re-implement the shim in node.js properly

jimthematrix (Fri, 21 Jul 2017 02:08:09 GMT):
@greg.haskins @muralisr @mastersingh24 ^^^

greg.haskins (Fri, 21 Jul 2017 02:08:49 GMT):
i would prefer that anyway

greg.haskins (Fri, 21 Jul 2017 02:08:57 GMT):
so, sounds good to me

jimthematrix (Fri, 21 Jul 2017 04:58:47 GMT):
some initial "success" (in the form of a failure ;-)) ``` root@91aa68318434:~/core/chaincode/shim/node# CORE_CHAINCODE_ID_NAME="mycc:v0" node test.js --peer.address grpc://192.168.1.64:7051 Doh! Error: Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ``` 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> DEBU 314 []Received message REGISTER from shim 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> DEBU 315 []Fabric side Handling ChaincodeMessage of type: REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] beforeRegisterEvent -> DEBU 316 Received REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> DEBU 317 nothing to notify (dev mode ?) 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> WARN 318 trying to manually run chaincode when not in devmode ? 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> ERRO 319 []Failed to trigger FSM event REGISTER: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> ERRO 31a []Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode)

jimthematrix (Fri, 21 Jul 2017 04:58:47 GMT):
some initial "success" (in the form of a failure ;-) ) ``` root@91aa68318434:~/core/chaincode/shim/node# CORE_CHAINCODE_ID_NAME="mycc:v0" node test.js --peer.address grpc://192.168.1.64:7051 Doh! Error: Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ``` ``` 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> DEBU 314 []Received message REGISTER from shim 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> DEBU 315 []Fabric side Handling ChaincodeMessage of type: REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] beforeRegisterEvent -> DEBU 316 Received REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> DEBU 317 nothing to notify (dev mode ?) 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> WARN 318 trying to manually run chaincode when not in devmode ? 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> ERRO 319 []Failed to trigger FSM event REGISTER: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> ERRO 31a []Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ```

jimthematrix (Fri, 21 Jul 2017 04:58:47 GMT):
some initial "success" (in the form of a failure ;-) ) JS chaincode: ``` const shim = require('./chaincode.js'); shim.Start(); ``` ``` root@91aa68318434:~/core/chaincode/shim/node# CORE_CHAINCODE_ID_NAME="mycc:v0" node test.js --peer.address grpc://192.168.1.64:7051 Doh! Error: Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ``` ``` 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> DEBU 314 []Received message REGISTER from shim 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> DEBU 315 []Fabric side Handling ChaincodeMessage of type: REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] beforeRegisterEvent -> DEBU 316 Received REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> DEBU 317 nothing to notify (dev mode ?) 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> WARN 318 trying to manually run chaincode when not in devmode ? 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> ERRO 319 []Failed to trigger FSM event REGISTER: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> ERRO 31a []Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ```

jimthematrix (Fri, 21 Jul 2017 04:58:47 GMT):
some initial "success" (in the form of a failure ;-) ) JS chaincode: ``` const shim = require('./chaincode.js'); shim.Start(); ```

jimthematrix (Fri, 21 Jul 2017 05:00:25 GMT):
@muralisr I'm coming up to the point to need to implement the chat with peer, so your changes to remove the FSM would be needed here, will discuss tomorrow

jimthematrix (Fri, 21 Jul 2017 05:00:25 GMT):
running inside docker based on fabric-baseimage: ``` root@91aa68318434:~/core/chaincode/shim/node# CORE_CHAINCODE_ID_NAME="mycc:v0" node test.js --peer.address grpc://192.168.1.64:7051 Doh! Error: Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ```

jimthematrix (Fri, 21 Jul 2017 05:02:53 GMT):
output from peer: ``` 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> DEBU 314 []Received message REGISTER from shim 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> DEBU 315 []Fabric side Handling ChaincodeMessage of type: REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] beforeRegisterEvent -> DEBU 316 Received REGISTER in state created 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> DEBU 317 nothing to notify (dev mode ?) 2017-07-21 00:57:10.902 EDT [chaincode] notifyDuringStartup -> WARN 318 trying to manually run chaincode when not in devmode ? 2017-07-21 00:57:10.902 EDT [chaincode] HandleMessage -> ERRO 319 []Failed to trigger FSM event REGISTER: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) 2017-07-21 00:57:10.902 EDT [chaincode] processStream -> ERRO 31a []Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:v0" (except in dev mode) ```

jimthematrix (Fri, 21 Jul 2017 05:02:57 GMT):
@muralisr I'm coming up to the point to need to implement the chat with peer, so your changes to remove the FSM would be needed here, will discuss tomorrow

chawlanikhil24 (Fri, 21 Jul 2017 09:19:21 GMT):
``` ``` ==================== Channel "businesschannel" is created successfully ===================== Having all peers join the channel... CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key CORE_PEER_LOCALMSPID=Org1MSP CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt CORE_PEER_TLS_ENABLED=false CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp CORE_PEER_ID=fabric-cli CORE_LOGGING_LEVEL=DEBUG CORE_PEER_ADDRESS=peer0-org1:7051 2017-07-21 06:10:24.526 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-07-21 06:10:24.526 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-07-21 06:10:24.528 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2017-07-21 06:10:24.529 UTC [msp/identity] Sign -> DEBU 004 Sign: plaintext: 0A8A070A5C08011A0C08D0B5C6CB0510...868967B4244E1A080A000A000A000A00 2017-07-21 06:10:24.529 UTC [msp/identity] Sign -> DEBU 005 Sign: digest: D1D5B3DAC02A15FC20787149BFBF6E3FA1DD99B299120C061EA563986C4C22F9 Error: proposal failed (err: rpc error: code = Unknown desc = Failed to deserialize creator identity, err The supplied identity is not valid, Verify() returned x509: certificate signed by unknown authority) ```

chawlanikhil24 (Fri, 21 Jul 2017 09:19:31 GMT):
Hi please help me with this error

indirajith (Fri, 21 Jul 2017 10:21:43 GMT):
Has joined the channel.

muralisr (Fri, 21 Jul 2017 12:19:24 GMT):
@jimthematrix sure, lets ping and chat sometime today

muralisr (Fri, 21 Jul 2017 12:24:20 GMT):
@chawlanikhil24 is there any interesting error from the peer itself (peer0 ?)

chawlanikhil24 (Fri, 21 Jul 2017 12:58:59 GMT):
``` 2017-07-21 12:57:56.666 UTC [protoutils] validateChannelHeader -> DEBU 1a2 validateChannelHeader info: header type 1 2017-07-21 12:57:56.666 UTC [protoutils] checkSignatureFromCreator -> DEBU 1a3 checkSignatureFromCreator starts 2017-07-21 12:57:56.666 UTC [endorser] ProcessProposal -> DEBU 1a4 Exit 2017-07-21 12:57:58.738 UTC [endorser] ProcessProposal -> DEBU 1a5 Entry 2017-07-21 12:57:58.738 UTC [protoutils] ValidateProposalMessage -> DEBU 1a6 ValidateProposalMessage starts for signed proposal 0xc4217bb6e0 2017-07-21 12:57:58.738 UTC [protoutils] validateChannelHeader -> DEBU 1a7 validateChannelHeader info: header type 1 2017-07-21 12:57:58.738 UTC [protoutils] checkSignatureFromCreator -> DEBU 1a8 checkSignatureFromCreator starts 2017-07-21 12:57:58.739 UTC [endorser] ProcessProposal -> DEBU 1a9 Exit 2017-07-21 12:58:00.822 UTC [endorser] ProcessProposal -> DEBU 1aa Entry 2017-07-21 12:58:00.822 UTC [protoutils] ValidateProposalMessage -> DEBU 1ab ValidateProposalMessage starts for signed proposal 0xc4217f6690 2017-07-21 12:58:00.822 UTC [protoutils] validateChannelHeader -> DEBU 1ac validateChannelHeader info: header type 1 2017-07-21 12:58:00.822 UTC [protoutils] checkSignatureFromCreator -> DEBU 1ad checkSignatureFromCreator starts 2017-07-21 12:58:00.822 UTC [endorser] ProcessProposal -> DEBU 1ae Exit 2017-07-21 12:58:02.936 UTC [endorser] ProcessProposal -> DEBU 1af Entry 2017-07-21 12:58:02.936 UTC [protoutils] ValidateProposalMessage -> DEBU 1b0 ValidateProposalMessage starts for signed proposal 0xc421865bc0 2017-07-21 12:58:02.936 UTC [protoutils] validateChannelHeader -> DEBU 1b1 validateChannelHeader info: header type 1 2017-07-21 12:58:02.936 UTC [protoutils] checkSignatureFromCreator -> DEBU 1b2 checkSignatureFromCreator starts 2017-07-21 12:58:02.937 UTC [endorser] ProcessProposal -> DEBU 1b3 Exit ```

chawlanikhil24 (Fri, 21 Jul 2017 12:59:27 GMT):
Nothing appears to be an error here in the pods Log !

chawlanikhil24 (Fri, 21 Jul 2017 12:59:27 GMT):
Nothing appears to be an error here in the pod peer0 Log !

muralisr (Fri, 21 Jul 2017 13:27:01 GMT):
@chawlanikhil24 can you try the join command with `CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp` ?

chawlanikhil24 (Fri, 21 Jul 2017 13:27:32 GMT):
sure !

blw (Sat, 22 Jul 2017 16:56:07 GMT):
Has joined the channel.

blw (Sat, 22 Jul 2017 17:17:20 GMT):
Has left the channel.

bgaillar (Mon, 24 Jul 2017 14:14:55 GMT):
@jiangyaoguo Any update on the Start and Stop functionality for CC?

jimthematrix (Mon, 24 Jul 2017 18:26:24 GMT):
@muralisr @greg.haskins quick question, how to inspect the content of the installed chaincodes? I tried `tar -tvf /var/hyperledger/production/chaincodes/mycc.v0` and `tar -ztvf` but neither worked

jimthematrix (Mon, 24 Jul 2017 18:35:14 GMT):
is it a serialized protobuf structure?

greg.haskins (Mon, 24 Jul 2017 18:50:27 GMT):
@jimthematrix Murali is your man on that

greg.haskins (Mon, 24 Jul 2017 18:50:59 GMT):
.car is a serialized protobuf, but not sure about the deployment payload

muralisr (Mon, 24 Jul 2017 19:58:28 GMT):
@jimthematrix its a serialized ChaincodeDeploymentSpec... so you can readin the bytes and Unmarshal

divyank (Tue, 25 Jul 2017 15:30:11 GMT):
I noticed that chaincode events are not propagated through chaincode calling chaincode. Was this intentional?

muralisr (Tue, 25 Jul 2017 17:51:26 GMT):
@divyank yes, only responses from called chaincode are returned to the calling chaincode

l1nux (Tue, 25 Jul 2017 19:24:03 GMT):
Has joined the channel.

noyonthe1 (Wed, 26 Jul 2017 18:23:57 GMT):
Has joined the channel.

Asara (Wed, 26 Jul 2017 19:32:05 GMT):
Hey all, can someone take a look at this for a sec?

Asara (Wed, 26 Jul 2017 19:32:11 GMT):
https://pastebin.com/bXwz3XaP

Asara (Wed, 26 Jul 2017 19:33:57 GMT):
I am able to deploy this chain code when running byfn, but when running on multiple servers I cannot

Asara (Wed, 26 Jul 2017 19:34:04 GMT):
I feel like it has to do with my docker environment variables

Asara (Wed, 26 Jul 2017 19:34:05 GMT):
But i'm unsure

Asara (Wed, 26 Jul 2017 19:50:29 GMT):
Could `CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE` have something to do with it?

kostas (Wed, 26 Jul 2017 20:14:35 GMT):
Looking at [the documentation](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html), and this bit is unclear to me: > When -s is specified, the -S option must also be specified if other owners are going to need to sign. Otherwise, the process will create a SignedCDS that includes only the instantiation policy in addition to the CDS. The -S option directs the process to sign the package using the MSP identified by the value of the localMspid property in core.yaml.

kostas (Wed, 26 Jul 2017 20:15:18 GMT):
Why does `-S` (capital S) must be specified if _other_ owners are going to need to sign? If this option directs the process to sign the package, it seems that it's needed regardless?

kostas (Wed, 26 Jul 2017 20:15:18 GMT):
Why does `-S` (capital S) must be specified if _other_ owners are going to need to sign? If this option directs the process to sign the package (as the last sentence indicates), it seems that it's needed regardless?

kostas (Wed, 26 Jul 2017 20:15:18 GMT):
Q1: Why does `-S` (capital S) must be specified if _other_ owners are going to need to sign? If this option directs the process to sign the package (as the last sentence indicates), it seems that it's needed regardless?

kostas (Wed, 26 Jul 2017 20:20:02 GMT):
And one more question, I have that same on the documet: > If no policy is provided, the default policy is used, which only allows the admin identity of the peer’s MSP to instantiate chaincode. But just a couple of paragraphs down we write: > If the instantiation policy is not specified, the default policy is any MSP administrator of the channel. Is the peer's MSP (and which peer by the way?), or is it the MSP administrator of the channel? These two are not necessarily identical.

kostas (Wed, 26 Jul 2017 20:20:02 GMT):
And one more question, I have that same on the documet: > If no policy is provided, the default policy is used, which only allows the admin identity of the peer’s MSP to instantiate chaincode. But just a couple of paragraphs down we write: > If the instantiation policy is not specified, the default policy is any MSP administrator of the channel. Q2: Is the peer's MSP (and which peer by the way?), or is it the MSP administrator of the channel? These two are not necessarily identical.

kostas (Wed, 26 Jul 2017 20:20:02 GMT):
And one more question, I have that same on the documet: > If no policy is provided, the default policy is used, which only allows the admin identity of the peer’s MSP to instantiate chaincode. But just a couple of paragraphs down we write: > If the instantiation policy is not specified, the default policy is any MSP administrator of the channel. Q2: Is the peer's MSP (and which peer by the way?), or is it the MSP administrator of the channel? These two are not necessarily identical. (I would note that the phrasing that follows several paragraphs later -- "For example, recall that the default instantiation policy is any channel MSP administrator, so the creator of a chaincode instantiate transaction must be a member of the channel administrators. " -- is much less ambiguous.)

kostas (Wed, 26 Jul 2017 20:20:02 GMT):
And one more question, I have that same on the documet: > If no policy is provided, the default policy is used, which only allows the admin identity of the peer’s MSP to instantiate chaincode. But just a couple of paragraphs down we write: > If the instantiation policy is not specified, the default policy is any MSP administrator of the channel. Q2: Is the peer's MSP (and which peer by the way?), or is it the MSP administrator of the channel? These two are not necessarily identical. (The phrasing that follows several paragraphs later -- "For example, recall that the default instantiation policy is any channel MSP administrator, so the creator of a chaincode instantiate transaction must be a member of the channel administrators. " -- is much less ambiguous, and matches my understanding of what's going on as well.)

yacovm (Wed, 26 Jul 2017 20:43:10 GMT):
@kostas I believe it's https://github.com/hyperledger/fabric/blob/release/core/scc/lscc/lscc.go#L497

yacovm (Wed, 26 Jul 2017 20:46:37 GMT):
Also I think there is an unwritten rule of thumb in fabric - 1) Signing is with local MSP 2) verification is with channel MSP (unless very specific cases)

muralisr (Wed, 26 Jul 2017 23:06:24 GMT):
@kostas the `-s` stands for "signed package format" (not used currently by SDKs...and in general not used or advertised much). the `-S` stands for if the package should be signed or not... ie, the format may be "signed package" but one need not sign it. If a policy is not provided (and for the non `-s` format, it is not...) the default policy is `any admin of the channel`.

kostas (Thu, 27 Jul 2017 02:54:36 GMT):
@muralisr: I'm confused :slight_smile: Could you expand a bit more on the `-S` switch?

kostas (Thu, 27 Jul 2017 02:54:36 GMT):
@muralisr: Not sure I follow. Perhaps we could give a few examples with the `-S` switch?

kostas (Thu, 27 Jul 2017 02:54:36 GMT):
@muralisr: Not sure I follow. Perhaps you could give a few examples with the `-S` switch?

SyneBlockChainTeam (Thu, 27 Jul 2017 10:15:51 GMT):
Hi, We have deployed 6 chain-codes on 6 peer across 2 organizations (i.e. each organization has 3 peers). We followed both approaches, CLI as well as Node SDK. In case of CLI, everything works fine on each peer (alll calls worked fine). In case of Node SDK, we are able to call chain-code APIs from first 3 peers (of Org1) successfully, but when we tried to call any API from Peers of Org2, it gives following error on SDK Terminal : error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Error executing chaincode: Could not get deployment transaction from LSCC for mycc:v0 - Get ChaincodeDeploymentSpec for mycc/mychannel from LSCC error: chaincode fingerprint mismatch data mismatch at /home/venky/go/src/github.com/hyperledger/mortgage/mortgage/dlt-service/mortgage/node_modules/grpc/src/node/src/client.js:434:17 [2017-07-27 14:42:26.290] [ERROR] invoke-chaincode - transaction proposal was bad [2017-07-27 14:42:26.290] [ERROR] invoke-chaincode - Failed to send Proposal or receive valid response. Response null or status is not 200. exiting... [2017-07-27 14:42:26.290] [ERROR] invoke-chaincode - Failed to order the transaction. Error code: undefined Incase someone has faced similar issue, please let us know its resolution or any clue. We appreciate any help. Thanks

yacovm (Thu, 27 Jul 2017 11:06:23 GMT):
@SyneBlockChainTeam did you run the peer CLI from the same host, and did you run the node SDK from the same host too?

yacovm (Thu, 27 Jul 2017 11:06:33 GMT):
I'd assume you ran the node SDK from a different host

SyneBlockChainTeam (Thu, 27 Jul 2017 12:02:22 GMT):
Initially we tried with CLI and tested with (ORG1 - Peer0, Peer1, Peer2 and ORG2 - Peer0, Peer1, Peer2) successfully. Later-on we tried with Sdk Node as per the configurations suggested in the online documentation. We noticed that everything (Invoke, Query) works find with Peer0, Peer1, Peer2 of ORG1 but when we attempted testing on Peer0, Peer1, Peer2 of ORG2 we started getting above mentioned error. Thanks.

davidkel (Thu, 27 Jul 2017 12:43:11 GMT):
Is there a way to stop a peer restarting a container if the container dies/crashes ? I have a situation where a chaincode container dies, but because the peer removes that container completely and starts a new one there is no way to attach to the container for indepth diagnostics

jeffgarratt (Thu, 27 Jul 2017 15:58:18 GMT):
@muralisr could you point @davidkel to the launch line where he could locally disable the removal of the container on exit?

muralisr (Thu, 27 Jul 2017 16:04:00 GMT):
@jeffgarratt sure... but let me ask this @davidkel if you just want logs from chaincode, a better approach would be to add `CORE_CHAINCODE_LOGGING_LEVEL=debug CORE_CHAINCODE_LOGGING_SHIM=debug CORE_VM_DOCKER_ATTACHSTDOUT=true` to the peer envs. This will get you all the logs from chaincode to debug

davidkel (Thu, 27 Jul 2017 16:10:31 GMT):
@muralisr unfortunately the logs don't show anything which is why I want to go into the container and see if there are any other places I could look for why the container just died

muralisr (Thu, 27 Jul 2017 16:34:59 GMT):
In that case @davidkel just use this comment in core/chaincode/chaincode_support.go

muralisr (Thu, 27 Jul 2017 16:35:04 GMT):
``` sir := container.StopImageReq{CCID: ccintf.CCID{ChaincodeSpec: cds.ChaincodeSpec, NetworkID: chaincodeSupport.peerNetworkID, PeerID: chaincodeSupport.peerID, Version: cccid.Version}, Timeout: 0} // The line below is left for debugging. It replaces the line above to keep // the chaincode container around to give you a chance to get data //sir := container.StopImageReq{CCID: ccintf.CCID{ChaincodeSpec: cds.ChaincodeSpec, NetworkID: chaincodeSupport.peerNetworkID, PeerID: chaincodeSupport.peerID, ChainID: cccid.ChainID, Version: cccid.Version}, Timeout: 0, Dontremove: true}```

Asara (Thu, 27 Jul 2017 17:22:29 GMT):
What version of couchdb should be running for the peer?

Asara (Thu, 27 Jul 2017 17:25:16 GMT):
When starting the peer, it seems like couchDB is unable to create some necessary tables.

Asara (Thu, 27 Jul 2017 17:26:17 GMT):
``` Jul 27 17:24:52 ip-172-30-2-9 peer[4904]: 2017-07-27 17:24:52.615 UTC [couchdb] CreateSystemDatabasesIfNotExist -> ERRO 004 Error during CouchDB CreateDatabaseIfNotExist() for system dbName: _global_changes error: Couch DB Error:illegal_database_name, Status Code:400, Reason:Name: '_global_changes'. Only lowercase characters (a-z), digits (0-9), and any of the characters _, $, (, ), +, -, and / are allowed. Must begin with a letter. ```

Asara (Thu, 27 Jul 2017 17:34:23 GMT):
Which version of `couchdb` is used with the peers?

jeffgarratt (Thu, 27 Jul 2017 18:28:56 GMT):
@Asara https://github.com/hyperledger/fabric/blob/release/images/couchdb/Dockerfile.in#L47

Asara (Thu, 27 Jul 2017 18:29:45 GMT):
thanks @jeffgarratt

kostas (Thu, 27 Jul 2017 19:42:34 GMT):
Just a reminder that I'm trying to get this, but I'm still not there, so any help would be appreciated:

kostas (Thu, 27 Jul 2017 19:42:35 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZA9rWgqkFsdHd5qQ4

Asara (Thu, 27 Jul 2017 21:32:14 GMT):
Hey all, When trying to start chaincode, I get the following error: ``` ERRO 002 Error trying to connect to local peer: x509: cannot validate certificate for 0.0.0.0 because it doesn't contain any IP SANs ```

yacovm (Thu, 27 Jul 2017 21:36:30 GMT):
Hmm

yacovm (Thu, 27 Jul 2017 21:36:44 GMT):
@Asara are you running with docker or on plain linux?

Asara (Thu, 27 Jul 2017 21:36:52 GMT):
Yeap

Asara (Thu, 27 Jul 2017 21:36:55 GMT):
Centos 7

yacovm (Thu, 27 Jul 2017 21:37:01 GMT):
no docker

yacovm (Thu, 27 Jul 2017 21:37:02 GMT):
right?

Asara (Thu, 27 Jul 2017 21:37:09 GMT):
running the binary yeah

yacovm (Thu, 27 Jul 2017 21:37:17 GMT):
ok assume the ip of the peer is `IP`

Asara (Thu, 27 Jul 2017 21:37:36 GMT):
Where would I change that?

yacovm (Thu, 27 Jul 2017 21:37:56 GMT):
wait

yacovm (Thu, 27 Jul 2017 21:37:59 GMT):
I'm telling you

yacovm (Thu, 27 Jul 2017 21:38:02 GMT):
denote the ip of your peer

yacovm (Thu, 27 Jul 2017 21:38:04 GMT):
as IP

yacovm (Thu, 27 Jul 2017 21:38:04 GMT):
as `IP`

yacovm (Thu, 27 Jul 2017 21:38:39 GMT):
https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml#L87

yacovm (Thu, 27 Jul 2017 21:38:42 GMT):
what does this line say?

yacovm (Thu, 27 Jul 2017 21:38:50 GMT):
and this line? https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml#L74

yacovm (Thu, 27 Jul 2017 21:39:03 GMT):
and this line https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml#L318

yacovm (Thu, 27 Jul 2017 21:39:23 GMT):
in *your* core.yaml

Asara (Thu, 27 Jul 2017 21:42:05 GMT):
```listenAddress: 0.0.0.0:7051```

yacovm (Thu, 27 Jul 2017 21:42:20 GMT):
and the rest?

Asara (Thu, 27 Jul 2017 21:42:28 GMT):
``peerAddress:```

Asara (Thu, 27 Jul 2017 21:42:28 GMT):
```peerAddress:```

Asara (Thu, 27 Jul 2017 21:42:29 GMT):
is unset

yacovm (Thu, 27 Jul 2017 21:43:07 GMT):
ok, please go to `sampleconfig/tls/`

yacovm (Thu, 27 Jul 2017 21:43:09 GMT):
and then do:

Asara (Thu, 27 Jul 2017 21:43:32 GMT):
I'm making all these files via ansible, so what should the values be? I can set them to whatever they need to be

yacovm (Thu, 27 Jul 2017 21:43:50 GMT):
wait wait

yacovm (Thu, 27 Jul 2017 21:43:53 GMT):
one step at atime

yacovm (Thu, 27 Jul 2017 21:44:01 GMT):
where is the TLS folder

yacovm (Thu, 27 Jul 2017 21:44:11 GMT):
https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml#L212

yacovm (Thu, 27 Jul 2017 21:44:15 GMT):
what does it say?

yacovm (Thu, 27 Jul 2017 21:44:35 GMT):
do `openssl x509 -in tls/server.crt -text -noout`

Asara (Thu, 27 Jul 2017 21:44:38 GMT):
Same thing as the sample, but I have the msp/tls stuff in the proper directory

yacovm (Thu, 27 Jul 2017 21:44:57 GMT):
ok, please tell me what is the output of the above command

yacovm (Thu, 27 Jul 2017 21:45:07 GMT):
you may tell me only the DNS names

yacovm (Thu, 27 Jul 2017 21:45:09 GMT):
if you want

Asara (Thu, 27 Jul 2017 21:45:11 GMT):
```Subject: C=US, ST=California, L=San Francisco, CN=peer0.org1.example.com```

yacovm (Thu, 27 Jul 2017 21:45:16 GMT):
aha

yacovm (Thu, 27 Jul 2017 21:45:26 GMT):
ping peer0.org1.example.com

yacovm (Thu, 27 Jul 2017 21:45:32 GMT):
do you get a resolution?

Asara (Thu, 27 Jul 2017 21:45:34 GMT):
I have dns set up

Asara (Thu, 27 Jul 2017 21:45:48 GMT):
``` peer0.org1.example.com (172.30.2.219) 56(84) bytes of data. 64 bytes from peer0.org1.example.com (172.30.2.219): icmp_seq=1 ttl=64 time=0.023 ms ```

yacovm (Thu, 27 Jul 2017 21:45:51 GMT):
ok great

yacovm (Thu, 27 Jul 2017 21:46:01 GMT):
so let's try something

yacovm (Thu, 27 Jul 2017 21:46:11 GMT):
listenAddress: `peer0.org1.example.com:7051`

yacovm (Thu, 27 Jul 2017 21:46:11 GMT):
`listenAddress: peer0.org1.example.com:7051`

yacovm (Thu, 27 Jul 2017 21:46:24 GMT):
can you please change to this

yacovm (Thu, 27 Jul 2017 21:46:29 GMT):
and restart the peer?

yacovm (Thu, 27 Jul 2017 21:46:32 GMT):
and then try again?

Asara (Thu, 27 Jul 2017 21:47:26 GMT):
will do

Asara (Thu, 27 Jul 2017 21:47:39 GMT):
for some reason it takes chaincode ~15 minutes to get through packaging

Asara (Thu, 27 Jul 2017 21:47:41 GMT):
so i'll let you know how ti goes :)

yacovm (Thu, 27 Jul 2017 21:48:06 GMT):
ouch

yacovm (Thu, 27 Jul 2017 22:34:24 GMT):
@Asara you still alive?

Asara (Thu, 27 Jul 2017 22:34:52 GMT):
Yeah sorry hitting some silly snags with my scripts (unrelated to fabric)

Asara (Thu, 27 Jul 2017 22:35:00 GMT):
I'll ping ya in a few min :)

Asara (Fri, 28 Jul 2017 00:00:14 GMT):
Alright @yacovm

Asara (Fri, 28 Jul 2017 00:00:25 GMT):
so now a image came up, but not my chaincode

Asara (Fri, 28 Jul 2017 00:00:34 GMT):
```hyperledger/fabric-ccenv:x86_64-1.0.0```

Asara (Fri, 28 Jul 2017 00:01:37 GMT):
Ah it was trying to start

Asara (Fri, 28 Jul 2017 00:01:48 GMT):
``` 2017-07-28 00:00:37.803 UTC [bccsp] initBCCSP -> DEBU 001 Initialize BCCSP [SW] 2017-07-28 00:00:37.804 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {0.0.0.0:7051 } 2017-07-28 00:00:38.804 UTC [grpc] Printf -> DEBU 003 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {0.0.0.0:7051 } 2017-07-28 00:00:40.471 UTC [grpc] Printf -> DEBU 004 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 0.0.0.0:7051: getsockopt: connection refused"; Reconnecting to {0.0.0.0:7051 } 2017-07-28 00:00:40.804 UTC [shim] userChaincodeStreamGetter -> ERRO 005 Error trying to connect to local peer: context deadline exceeded ```

muralisr (Fri, 28 Jul 2017 00:37:06 GMT):
@Asara `0.0.0.0:7051`

muralisr (Fri, 28 Jul 2017 00:37:33 GMT):
u are startng the the peer from your host correct (not in docker ) ?

Asara (Fri, 28 Jul 2017 00:37:41 GMT):
yeap

yacovm (Fri, 28 Jul 2017 00:40:20 GMT):
try deleting the CC image

yacovm (Fri, 28 Jul 2017 00:40:30 GMT):
and re-running the CC

muralisr (Fri, 28 Jul 2017 00:41:19 GMT):
well... I'd also try starting the peer with its IP Address ...

muralisr (Fri, 28 Jul 2017 00:41:38 GMT):
but yes, try deleteing the CC image first

Asara (Fri, 28 Jul 2017 00:41:39 GMT):
For which config setting?

muralisr (Fri, 28 Jul 2017 00:41:55 GMT):
lets try what yacov suggested first ...

muralisr (Fri, 28 Jul 2017 00:42:10 GMT):
what's your platform ?

Asara (Fri, 28 Jul 2017 00:42:13 GMT):
centos 7

muralisr (Fri, 28 Jul 2017 00:42:18 GMT):
ok

yacovm (Fri, 28 Jul 2017 00:47:30 GMT):
no, @muralisr - starting the peer with the ip address will give him the original problem :)

yacovm (Fri, 28 Jul 2017 00:47:35 GMT):
he started from that

yacovm (Fri, 28 Jul 2017 00:47:44 GMT):
his problem is that his TLS cert doesn't have an IP SAN

yacovm (Fri, 28 Jul 2017 00:48:15 GMT):
and when the CC shim connects, the validation fails because it tries to connect to the ip

muralisr (Fri, 28 Jul 2017 00:48:21 GMT):
well

muralisr (Fri, 28 Jul 2017 00:48:39 GMT):
let me look first then :-)

yacovm (Fri, 28 Jul 2017 00:48:44 GMT):
ok.

yacovm (Fri, 28 Jul 2017 00:48:49 GMT):
what I am trying to make him do

yacovm (Fri, 28 Jul 2017 00:49:14 GMT):
is to make the shim use the endpoint that of peer's DNS SAN

muralisr (Fri, 28 Jul 2017 00:49:18 GMT):
`Subject: C=US, ST=California, L=San Francisco, CN=peer0.org1.example.com`

yacovm (Fri, 28 Jul 2017 00:49:18 GMT):
and this way it'll match

muralisr (Fri, 28 Jul 2017 00:49:39 GMT):
why cant we just add peer0.org1.example.com to /etc/hosts

muralisr (Fri, 28 Jul 2017 00:49:45 GMT):
and map it to the host IP

yacovm (Fri, 28 Jul 2017 00:50:00 GMT):
it's resolvable though

yacovm (Fri, 28 Jul 2017 00:50:02 GMT):
he pinged it

muralisr (Fri, 28 Jul 2017 00:50:21 GMT):
from the container ?

yacovm (Fri, 28 Jul 2017 00:50:26 GMT):
no from the host

yacovm (Fri, 28 Jul 2017 00:50:34 GMT):
but I assume they share the same DNS

muralisr (Fri, 28 Jul 2017 00:50:47 GMT):
I think its worth a try

yacovm (Fri, 28 Jul 2017 00:50:48 GMT):
anyway I'm going to sleep, back me up ;)

muralisr (Fri, 28 Jul 2017 00:50:58 GMT):
you got it

Asara (Fri, 28 Jul 2017 00:56:32 GMT):
@muralisr the DNS is added to the /etc/hosts of the host

muralisr (Fri, 28 Jul 2017 01:18:40 GMT):
what does ifconfig (ip add) say ?

jrosmith (Fri, 28 Jul 2017 01:21:58 GMT):
Has joined the channel.

Asara (Fri, 28 Jul 2017 01:22:08 GMT):
So I just redeployed the CC and it came up, but we got this following error:

jrosmith (Fri, 28 Jul 2017 01:22:12 GMT):
Error: Calling enrollment endpoint failed with error [Error: write EPROTO 139892388751168:error:1411713E:SSL routines:ssl_check_srvr_ecc_cert_and_alg:ecc cert not for signing:../deps/openssl/openssl/ssl/ssl_lib.c:2512: 139892388751168:error:14082130:SSL routines:ssl3_check_cert_and_algorithm:bad ecc cert:../deps/openssl/openssl/ssl/s3_cln

jrosmith (Fri, 28 Jul 2017 01:22:12 GMT):
```Error: Calling enrollment endpoint failed with error [Error: write EPROTO 139892388751168:error:1411713E:SSL routines:ssl_check_srvr_ecc_cert_and_alg:ecc cert not for signing:../deps/openssl/openssl/ssl/ssl_lib.c:2512: 139892388751168:error:14082130:SSL routines:ssl3_check_cert_and_algorithm:bad ecc cert:../deps/openssl/openssl/ssl/s3_cln```

jrosmith (Fri, 28 Jul 2017 01:22:36 GMT):
^^ that being the error Asara is running into

Asara (Fri, 28 Jul 2017 01:24:07 GMT):
Exactly :)

muralisr (Fri, 28 Jul 2017 01:38:04 GMT):
@Asara I thought you had `ERRO 002 Error trying to connect to local peer: x509: cannot validate certificate for 0.0.0.0 because it doesn't contain any IP SANs`

Asara (Fri, 28 Jul 2017 01:38:37 GMT):
Said above, I redeployed the chaincode and it came up

Asara (Fri, 28 Jul 2017 01:38:44 GMT):
Not sure why, didn't do anything different, but it did

Asara (Fri, 28 Jul 2017 01:39:02 GMT):
Though this seems like an error with the ca and not peer

muralisr (Fri, 28 Jul 2017 01:44:51 GMT):
I see

muralisr (Fri, 28 Jul 2017 01:44:56 GMT):
so the chaincode came up now

Asara (Fri, 28 Jul 2017 01:45:02 GMT):
Yeap

muralisr (Fri, 28 Jul 2017 01:45:17 GMT):
did you mod /etc/hosts ?

Asara (Fri, 28 Jul 2017 01:46:00 GMT):
Nope, it was always set

muralisr (Fri, 28 Jul 2017 01:46:03 GMT):
and then you get the above openssl error in the SDK ?

Asara (Fri, 28 Jul 2017 01:47:04 GMT):
Yeap

muralisr (Fri, 28 Jul 2017 01:47:29 GMT):
ok

Asara (Fri, 28 Jul 2017 01:50:33 GMT):
any idea what could be causing it?

vu3mmg (Fri, 28 Jul 2017 02:03:05 GMT):
Has joined the channel.

passkit (Fri, 28 Jul 2017 02:50:39 GMT):
Is there any waw to re-request confirmation of a block event. The issue I face is when accessing through an SDK client, I need to set a realistic timeout - currently using 30 seconds, although would like to reduce this. Occasionally, the event will come 2 or 3 seconds later. This becomes problematic, since a write has occurred to the chain, but the application sees a timeout. I guess I could try to read the record to confirm, but that requires duplicating the chain code logic in my application to be able to determine the new asset value.

passkit (Fri, 28 Jul 2017 03:08:29 GMT):
Also, any insight as to what could be causing the following error that appears occasionally in the peer logs. They occur after a transaction has been ordered and transaction is always sees fine, but I can't trace where these events with an empty MSP are originating from.

passkit (Fri, 28 Jul 2017 03:08:40 GMT):
``` 2017-07-28 02:17:45.206 UTC [eventhub_producer] SendProducerBlockEvent -> DEBU 1d49 Channel [loopyloyalty]: Block event for block number [163] contains transaction id: b7717a3b9ed88749fccf37f818d9e778c4abe7f1a7ad26b104bfd000790754f9 2017-07-28 02:17:45.206 UTC [eventhub_producer] SendProducerBlockEvent -> INFO 1d4a Channel [loopyloyalty]: Sending event for block number [163] 2017-07-28 02:17:45.206 UTC [eventhub_producer] Send -> DEBU 1d4b Entry 2017-07-28 02:17:45.206 UTC [eventhub_producer] Send -> DEBU 1d4c Event processor timeout > 0 2017-07-28 02:17:45.206 UTC [eventhub_producer] Send -> DEBU 1d4d Event sent successfully 2017-07-28 02:17:45.207 UTC [eventhub_producer] Send -> DEBU 1d4e Exit 2017-07-28 02:17:45.207 UTC [eventhub_producer] SendProducerBlockEvent -> DEBU 1d4f Exit 2017-07-28 02:17:45.247 UTC [eventhub_producer] validateEventMessage -> DEBU 1d50 ValidateEventMessage starts for signed event 0xc421632b40 2017-07-28 02:17:45.247 UTC [eventhub_producer] Chat -> ERRO 1d51 Error handling message: event message must be properly signed by an identity from the same organization as the peer: [failed deserializing event creator: [Expected MSP ID PASSKIT, received ]] 2017-07-28 02:17:45.247 UTC [eventhub_producer] deRegisterHandler -> DEBU 1d52 deregistering event type: BLOCK ```

vu3mmg (Fri, 28 Jul 2017 03:56:04 GMT):
Hi, I am facing a scenario where , peers cannot create grpc connect with orderer0. When i tried to run nc command I am getting nc -D orderer0 7050 nc: Permission denied Have any one faced similar issue. I am running RHEL 7.3

vu3mmg (Fri, 28 Jul 2017 03:56:23 GMT):
i am able to run the system in ubuntu

vu3mmg (Fri, 28 Jul 2017 03:56:36 GMT):
any special permissions have to be given to docker bridge

vu3mmg (Fri, 28 Jul 2017 03:56:37 GMT):
?

SyneBlockChainTeam (Fri, 28 Jul 2017 14:31:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=F5NyeQJ7tB4C7o9Aq)

SyneBlockChainTeam (Fri, 28 Jul 2017 14:31:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3n8BH7pPoy49d3qFA) In SDK Node, has anyone tried with 1 Organization with More then 3 Peers OR with 2 Organizations each with 3 Peers. We are looking forward for a reply. Thanks

chenxuan (Sat, 29 Jul 2017 14:15:15 GMT):
hi every one

chenxuan (Sat, 29 Jul 2017 14:15:24 GMT):
@here

chenxuan (Sat, 29 Jul 2017 14:15:25 GMT):
i see the protos/peer/proposal.proto it describes the endorsement of the process but it contains two process the first one is /* The flow to get a generic transaction approved goes as follows: the second one is /* The flow to get a CHAINCODE transaction approved goes as follows: and when i see the first one it contains two message message SignedProposal message Proposal the proposal_bytes defined in the message SignedProposal it contains message Proposal the Proposal contains header,payload,extension the header is Header defined in the common.proto ? the payload is what and the extension

Eman0 (Mon, 31 Jul 2017 14:44:26 GMT):
Has joined the channel.

Asara (Mon, 31 Jul 2017 15:25:16 GMT):
Quick question, when chaincode is deployed to a peer, does it also install it to the other peers in the channel?

yacovm (Mon, 31 Jul 2017 15:32:36 GMT):
no

Asara (Mon, 31 Jul 2017 15:33:40 GMT):
So chaincode needs to be installed on every peer manually? Regardless of if they belong to the same channel?

Asara (Mon, 31 Jul 2017 16:01:39 GMT):
ah i understand, instantiate vs install

Asara (Mon, 31 Jul 2017 16:01:40 GMT):
:)

yacovm (Mon, 31 Jul 2017 16:12:26 GMT):
exactly

passkit (Mon, 31 Jul 2017 16:49:55 GMT):
My current chaincode version is 30. I just queried but received the following response `Error chaincode is being launched: ll2-cc:28`

passkit (Mon, 31 Jul 2017 16:49:55 GMT):
My current chaincode version is 29. I just queried but received the following response `Error chaincode is being launched: ll2-cc:28`

passkit (Mon, 31 Jul 2017 16:51:12 GMT):
Why would it launch a previous version of the chain code?

passkit (Mon, 31 Jul 2017 16:51:28 GMT):
`CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75152f3aeb3a passkit-peer-aws-us-east-2a-ll2-cc-28 "chaincode -peer.a..." 3 minutes ago Up 3 minutes passkit-peer-aws-us-east-2a-ll2-cc-28 8aff110c4844 passkit-peer-aws-us-east-2a-ll2-cc-29 "chaincode -peer.a..." About an hour ago Up About an hour `

yacovm (Mon, 31 Jul 2017 16:54:15 GMT):
@passkit

yacovm (Mon, 31 Jul 2017 16:54:24 GMT):
did you have a premature - execution in the error?

yacovm (Mon, 31 Jul 2017 16:54:24 GMT):
did you have a premature execution in the error?

passkit (Mon, 31 Jul 2017 16:57:06 GMT):
@yacovm yes - I think so. The result was not returned, only the error that the code was being launched.

yacovm (Mon, 31 Jul 2017 16:57:28 GMT):
can you check?

passkit (Mon, 31 Jul 2017 16:57:34 GMT):
So - the previous version was due to a channel error - (new code, not installed on that channel)

passkit (Mon, 31 Jul 2017 17:00:35 GMT):
``` 2017-07-31 16:46:31.110 UTC [chaincode] notify -> DEBU 253b notifying Txid:7154096ca10d8763a5228a4d4ed704464673947cfb52017dd351484a5f6b54eb 2017-07-31 16:46:31.110 UTC [chaincode] Execute -> DEBU 253c Exit 2017-07-31 16:46:31.110 UTC [chaincode] Launch -> ERRO 253d launchAndWaitForRegister failed Error chaincode is being launched: ll2-cc:28 2017-07-31 16:46:31.110 UTC [chaincode] ExecuteChaincode -> ERRO 253e Error executing chaincode: Error chaincode is being launched: ll2-cc:28 2017-07-31 16:46:31.110 UTC [endorser] callChaincode -> DEBU 253f Exit 2017-07-31 16:46:31.110 UTC [endorser] simulateProposal -> ERRO 2540 failed to invoke chaincode name:"ll2-cc" on transaction 7154096ca10d8763a5228a4d4ed704464673947cfb52017dd351484a5f6b54eb, error: Error executing chaincode: Error chaincode is being launched: ll2-cc:28 ```

passkit (Mon, 31 Jul 2017 17:01:54 GMT):
My deployment uses stateless containers with persistent storage - so the chaincode is always available in the filesystem, but there may be cases where the image is not - such as this case. How to ensure that in such cases the peer waits for the cc container to launch?

yacovm (Mon, 31 Jul 2017 17:03:01 GMT):
the peer builds the image itself

yacovm (Mon, 31 Jul 2017 17:03:03 GMT):
on demand

yacovm (Mon, 31 Jul 2017 17:04:22 GMT):
Nick, I can't find the error string in the code... which commit hash are you working on?

passkit (Mon, 31 Jul 2017 17:18:09 GMT):
This should be v1.0.0

yacovm (Mon, 31 Jul 2017 17:22:07 GMT):
yes you're right https://github.com/hyperledger/fabric/blob/d9c320297bd2a4eff2eb253ce84dc431ef860972/core/chaincode/chaincode_support.go#L411

yacovm (Mon, 31 Jul 2017 17:23:00 GMT):
so can you give more details on your env? what happened to the containers of version 28? of 29? etc. what you did, what is the flow, etc.

muralisr (Mon, 31 Jul 2017 18:06:14 GMT):
@passkit one possibility is instantiate waiting on a timeout for regtration to kick in ... any other invoke you send meanwhile will get the premature error

muralisr (Mon, 31 Jul 2017 18:07:08 GMT):
if your chaincode never got back (say it crahsed) you are going to waitout the timeout

passkit (Mon, 31 Jul 2017 18:09:08 GMT):
So we currently have issues with the go SDK and event broadcasts not being received. The peers function perfectly and the event is broadcast, but the SDK is not hearing it and timing out.

passkit (Mon, 31 Jul 2017 18:09:39 GMT):
So started debugging on a different channel, but forgot that I had not updated that channel from 28 to 29.

passkit (Mon, 31 Jul 2017 18:09:55 GMT):
So that explains why it launched an older version.

passkit (Mon, 31 Jul 2017 18:11:37 GMT):
Then to Yacov's point, it is possible that it was a second invoke that triggered this error. So I'm ok with this as it is something that could occur if a peer host is restarted and does not contain an image, and therefore I should deal with this scenario in my code.

passkit (Mon, 31 Jul 2017 18:12:25 GMT):
The initial thing that threw me was why an older version was being launched, but I now understand how that happened.

Asara (Mon, 31 Jul 2017 20:19:01 GMT):
Hey all/@greg.haskins, my chaincode packaging takes forever, is there a way to prepackage chaincodes so I can just deploy the 'compiled?' chaincode instead of having to wait 15ish minutes each time

muralisr (Mon, 31 Jul 2017 21:15:53 GMT):
@Asara `peer chaincode package...` command can be used to package it once

muralisr (Mon, 31 Jul 2017 21:16:17 GMT):
and then you install the packaged file simply as `peer chaincode install `

greg.haskins (Tue, 01 Aug 2017 02:09:34 GMT):
@Asara in addition to what Murali said, also sounds a bit odd for it to take 15minutes

gauthampamu (Tue, 01 Aug 2017 02:40:59 GMT):
I have question on chaincode upgrade, when you upgrade the chaincode older Docker containers are not terminated. Why ? Thanks in advance

gauthampamu (Tue, 01 Aug 2017 02:42:11 GMT):
@muralisr Is it recommended to use the command line tool to package and install the chaincode or should we use the API to install the chaincode file.

gauthampamu (Tue, 01 Aug 2017 02:43:04 GMT):
@muralisr For production environment should we use the peer chaincode tool or develop Nodejs program to install.

muralisr (Tue, 01 Aug 2017 03:18:02 GMT):
@gauthampamu note that chaincode can run against multiple ledgers. So CC.v1 is running and is instantiated on channel1 and channel2

muralisr (Tue, 01 Aug 2017 03:18:02 GMT):
@gauthampamu note that chaincode can run against multiple ledgers. So CC.v1 is running and is instantiated on channel1 and channel2. CC.v2 installed and instantiated on channel2 ... CC.v1 can still serve requests for channel1

gauthampamu (Tue, 01 Aug 2017 03:25:01 GMT):
@muralisr Thanks for the response. Let say if you just have one channel, how does it work ? Will it create separate docker container or restart the docker container ?

gauthampamu (Tue, 01 Aug 2017 03:33:02 GMT):
How does the fabric authenticate the requests submitted by the application SDK. Does the endorsing peer check the signing identity ? How does it verify the identity of the request ?

passkit (Tue, 01 Aug 2017 03:50:04 GMT):
I'm not sure I ever got an answer to a previous question of whether or not it is possible to query the result of a transaction by txID. In my case, I am using the Fabric Go SDK and there are reliability issues that are preventing my clients from receiving the event broadcast. The peers are functioning perfectly and broadcasting the event as expected, but the SDK intermittently has trouble receiving it. In these cases, I would like to be able to manually pull this broadcast data by txId to determine if the transaction has actually been committed.

yacovm (Tue, 01 Aug 2017 05:36:29 GMT):
@passkit use a qscc query

yacovm (Tue, 01 Aug 2017 05:36:53 GMT):
Perhaps you can access the validated ledger

yacovm (Tue, 01 Aug 2017 05:37:14 GMT):
I need to take a look at the code though, when i get to the office will do that

passkit (Tue, 01 Aug 2017 05:37:54 GMT):
Cool, thanks

yacovm (Tue, 01 Aug 2017 05:55:14 GMT):
`GetTransactionByID` is what you need in QSCC

Asara (Tue, 01 Aug 2017 13:38:46 GMT):
@muralisr @greg.haskins Hey thanks! Is there a way to do that via the SDK?

Asara (Tue, 01 Aug 2017 13:39:21 GMT):
@greg.haskins I agree, and I'm not sure why it is taking so long. But it is always stalled on packaging the chaincode. But again I've only done it via the node-sdk

muralisr (Tue, 01 Aug 2017 13:41:07 GMT):
@Asara if you are stalled on packaging it in node SDK, I'd try installing from CLI first. If that doesn't stall, then it may be an issue with the SDK and worth looking into

Asara (Tue, 01 Aug 2017 13:42:13 GMT):
Alright cool. I'll try packaging/deploying it via the `peer` cli first

Asara (Tue, 01 Aug 2017 15:02:33 GMT):
Are docker instances for the chaincode supposed to start on `peer` servers where the chaincode is installed

gauthampamu (Tue, 01 Aug 2017 15:51:45 GMT):
@Asara It will not start the peer server when you install the chaincode. You will need peers to be up and running to send the request to install the chaincode.

Asara (Tue, 01 Aug 2017 15:53:32 GMT):
@gauthampamu My scenario is as such: 1. peer1 installs and then instantiates chaincode 1.5 peer1's docker instance containing the chaincode comes up 2. peer2 goes to install chaincode 3. peer2 returns a 200, but the docker instance doesn't come up

gauthampamu (Tue, 01 Aug 2017 15:56:28 GMT):
@Asara Have you tried to install the chaincode on both peers and then instantiate the chaincode on the channel

gauthampamu (Tue, 01 Aug 2017 15:56:40 GMT):
Also did both peers join the channel

Asara (Tue, 01 Aug 2017 15:56:49 GMT):
Nope but I can. I am following: http://hyperledger-fabric.readthedocs.io/en/latest/install_instantiate.html

Asara (Tue, 01 Aug 2017 15:56:55 GMT):
for the most part (doing it via the SDK)

Asara (Tue, 01 Aug 2017 15:57:00 GMT):
Yes both peers joined the channel

silliman (Tue, 01 Aug 2017 15:59:09 GMT):
@Asara your scenario is working as designed. Installing chaincode simply places the chaincode binary on the peer's file system. It is a peer-level operation in that it only needs to be done once per peer. When you instantiated the chaincode on peer1, that spins up a docker chaincode container on peer1. Assuming this has all gone well, you will not get a docker chaincode container on peer2 until you target a transactionproposal to peer2.

Asara (Tue, 01 Aug 2017 15:59:52 GMT):
@silliman Alright cool. I'll send a txn to peer2 and see what happens

gauthampamu (Tue, 01 Aug 2017 16:04:32 GMT):
@Asara Where is the docker compose for this tutorials.

gauthampamu (Tue, 01 Aug 2017 16:04:33 GMT):
docker-2peer.yml

Asara (Tue, 01 Aug 2017 16:05:07 GMT):
I'm using binaries, not docker

Eman0 (Tue, 01 Aug 2017 22:55:43 GMT):
Hi, I am trying to decode the callers' certificates in my chaincode. All the callers’ certificates were decoded successfully except for one. I printed the certificate out and decode it using OpenSSL and got a proper certificate content. Any idea why would the chaincode fail to decode this one only?

C0rWin (Tue, 01 Aug 2017 23:31:44 GMT):
@Eman0 can you provide the code? what error do you see, e.g. how do you indicate the problem with this special certificate? how did you created those certificates?

Eman0 (Tue, 01 Aug 2017 23:54:28 GMT):

Message Attachments

Eman0 (Tue, 01 Aug 2017 23:54:48 GMT):
@C0rWin

C0rWin (Tue, 01 Aug 2017 23:55:26 GMT):
can you view logs of the chaincode to see the error?

C0rWin (Tue, 01 Aug 2017 23:57:04 GMT):
btw, have you tested this code outside the chaincode scope? e.g. unit test or just dropping a few lines in some main package?

Eman0 (Tue, 01 Aug 2017 23:58:15 GMT):
I will take few minutes to run the network up again. No, I have not.

C0rWin (Wed, 02 Aug 2017 00:01:22 GMT):
@Eman0 IMO it's worth doing UT to see whenever it's something inherent in fabric or something not related to chaincode

Eman0 (Wed, 02 Aug 2017 00:07:16 GMT):
@C0rWin I just viewed the logs. No errors. I will but it is a bit strange because it works fine for all the other certificates

Glen (Wed, 02 Aug 2017 07:27:04 GMT):
Hi, who can explain what endorse does on earth and where is the relative code? thanks!

dave.enyeart (Wed, 02 Aug 2017 15:22:10 GMT):
@Glen When you instantiate a chaincode you specify an endorsement policy, that is, how many and which organizations must endorse a transaction. Endorsement essentially means authorize/execute/sign a proposal request. It sounds like you would benefit from the the Transaction Flow documentation: https://hyperledger-fabric.readthedocs.io/en/latest/txflow.html

dave.enyeart (Wed, 02 Aug 2017 15:22:54 GMT):
In terms of the code - https://github.com/hyperledger/fabric/blob/release/core/endorser/endorser.go

Asara (Wed, 02 Aug 2017 18:21:20 GMT):
@silliman Hey sorry for not responding earlier. Sending a txn to peer2 brought up the instance. Thanks for the input :)

rmohta (Wed, 02 Aug 2017 21:05:16 GMT):
Upgrading from alpha-2 to 1.0 release, unable to install my cc. Can someone please help?

rmohta (Wed, 02 Aug 2017 21:06:18 GMT):
```root@d2fc341504a5:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts# ./03-install-cc.sh Will try to install netpayment1cc-1.0 CORE_PEER_GOSSIP_ORGLEADER=false CORE_PEER_LOCALMSPID=Org1MSP CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock CORE_PEER_TLS_ENABLED=false CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.phx.xyz.com/users/Admin@org1.phx.xyz.com/msp CORE_PEER_ID=cli CORE_LOGGING_LEVEL=DEBUG CORE_PEER_ADDRESS=10.16.125.73:7051 CORE_NEXT=true 2017-08-02 20:53:30.211 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-08-02 20:53:30.212 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-08-02 20:53:30.212 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2017-08-02 20:53:30.213 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc 2017-08-02 20:53:30.281 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS stash.xyz.com/netpayment3 2017-08-02 20:53:30.463 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package bytes 2017-08-02 20:53:30.463 UTC [golang-platform] func1 -> DEBU 007 Discarding GOROOT package encoding/json 2017-08-02 20:53:30.464 UTC [golang-platform] func1 -> DEBU 008 Discarding GOROOT package errors 2017-08-02 20:53:30.464 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package fmt 2017-08-02 20:53:30.464 UTC [golang-platform] func1 -> DEBU 00a Accepting import: github.com/hyperledger/fabric/common/flogging 2017-08-02 20:53:30.464 UTC [golang-platform] func1 -> DEBU 00b Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim 2017-08-02 20:53:30.465 UTC [golang-platform] func1 -> DEBU 00c Discarding provided package github.com/hyperledger/fabric/protos/peer 2017-08-02 20:53:30.465 UTC [golang-platform] func1 -> DEBU 00d Discarding GOROOT package strings 2017-08-02 20:53:30.465 UTC [golang-platform] func1 -> DEBU 00e Discarding GOROOT package time Error: Error getting chaincode code chaincode: Error getting chaincode package bytes: Error obtaining dependencies for github.com/hyperledger/fabric/common/flogging: : failed with error: "exit status 1" can't load package: package github.com/hyperledger/fabric/common/flogging: cannot find package "github.com/hyperledger/fabric/common/flogging" in any of: /opt/go/src/github.com/hyperledger/fabric/common/flogging (from $GOROOT) /opt/gopath/src/github.com/hyperledger/fabric/common/flogging (from $GOPATH) Usage: peer chaincode install [flags] ```

rmohta (Wed, 02 Aug 2017 21:07:35 GMT):
Under GOROOT, I can see the package at `/opt/go/hyperledger/fabric/common/flogging` and not `/opt/go/src/github.com/hyperledger/fabric/common/flogging` as seen in the above error.

scottz (Wed, 02 Aug 2017 21:43:19 GMT):
Scenario: instantiation on channel1 of chaincode named "mycc" takes 9 minutes to create the container. However, we observe that invokes on channel1 fail. We think this is because it takes longer than core.yaml chaincode:startuptimeout value of 300s, and longer than the application waits. BUT notice: if we wait 10 minutes and then instantiate same exact chaincode "mycc" on channel2, it reuses the mycc chaincode container as expected and all invokes are successful immediately on channel2. This proves the "mycc" container was correctly created as a result of the first request, and the request was not cancelled after the alloted 5 minutes when the peer timed out. So... *what is the benefit of the design for using startuptimeout*? All it does is allow the fabric peer to abandon hope. If the peer had waited statelessly and asynchronously for the chaincode container to be established, then channel1 instantiation completion would have been recoreded and invokes would work too. (Alternatively, when it gave up, should it have cancelled the attempt to create the container?)

scottz (Wed, 02 Aug 2017 21:44:06 GMT):
@muralisr @suryalanka ^^^

muralisr (Wed, 02 Aug 2017 22:16:40 GMT):
@scottz @suryalanka on the failure scenario do you see `Timeout expired while starting chaincode` error ? And if in debug mode, `stopping due to error while launching` ?

muralisr (Wed, 02 Aug 2017 22:19:02 GMT):
I'd expect you see those....in which case, I'd also expect the chaincode to be cleaned up and removed after the timeout. The second successful one likely got created by the second request (as opposed to latching on to a lazy chaincode startup from the first)

muralisr (Wed, 02 Aug 2017 22:27:34 GMT):
@rmohta you may want to vendor all dependencies (including shim) within the chaincode .... https://www.youtube.com/watch?v=-mlUaJbFHcM may help....

nate94305 (Thu, 03 Aug 2017 01:01:44 GMT):
Has joined the channel.

nate94305 (Thu, 03 Aug 2017 01:03:48 GMT):
Hi, I have a question regarding endorsing and committing. From which one are the chaincode docker's logs, endorser's chaincode simulation or peer's commit with chaincode?

muralisr (Thu, 03 Aug 2017 01:22:30 GMT):
@nate94305 , endorser's chaincode simulation

nate94305 (Thu, 03 Aug 2017 01:23:15 GMT):
@muralisr thanks.

nate94305 (Thu, 03 Aug 2017 01:26:42 GMT):
With high volume trading, lots of transactions simulated okay during endorsement may fail due to the readset difference between endorsement time and commitment time, such as global sequence counter

nate94305 (Thu, 03 Aug 2017 01:26:42 GMT):
With high volume trading, lots of transactions simulated okay during endorsement may fail due to the readset difference between endorsement time and commitment time, such as global sequence counter. Any solution for this?

nate94305 (Thu, 03 Aug 2017 01:26:42 GMT):
With high volume trading, lots of transactions simulated okay during endorsement may fail during commitment due to the readset difference between endorsement time and commitment time, such as global sequence counter. Any solution for this?

suryalanka (Thu, 03 Aug 2017 02:14:56 GMT):
@muralisr No, haven't seen timeouts in the peer logs

suryalanka (Thu, 03 Aug 2017 02:16:13 GMT):
the chaincode container is up and running without any errors

muralisr (Thu, 03 Aug 2017 02:23:07 GMT):
@suryalanka I meant timeout after the first failed instantiate... not the second successful one

muralisr (Thu, 03 Aug 2017 02:23:24 GMT):
let's check tomorrow

kmohanar (Thu, 03 Aug 2017 10:40:57 GMT):
Has joined the channel.

Eric.Bui (Thu, 03 Aug 2017 16:23:21 GMT):
Has joined the channel.

silliman (Thu, 03 Aug 2017 21:10:24 GMT):
If a client sends a transaction proposal to more than one endorsing peer, after it receives all the responses, does the client send all of the R/W sets in the endorsed transaction it sends to the orderer? Or just a single R/W set.

muralisr (Thu, 03 Aug 2017 22:10:10 GMT):
just from one of the endorsing peers @silliman

pd93 (Fri, 04 Aug 2017 09:13:15 GMT):
Getting this: `identity 0 does not satisfy principal: The identity is a member of a different MSP (expected ordererOrg0, got peerOrg0)` from my orderer logs, anyone know what does this indicates?

pd93 (Fri, 04 Aug 2017 09:13:15 GMT):
Getting this: `identity 0 does not satisfy principal: The identity is a member of a different MSP (expected ordererOrg0, got peerOrg0)` from my orderer logs, does anyone know what this indicates?

mastersingh24 (Fri, 04 Aug 2017 10:02:43 GMT):
@song (https://chat.hyperledger.org/channel/general?msg=jTBPNKE9zoDBCcffJ)

song (Fri, 04 Aug 2017 10:02:43 GMT):
Has joined the channel.

mastersingh24 (Fri, 04 Aug 2017 10:03:38 GMT):
@pd93 - What transactions are you submitting to the orderer?

pd93 (Fri, 04 Aug 2017 10:05:34 GMT):
@mastersingh24 I haven't submitted anything manually. I'm just brining up a network with behave and I noticed those in the logs. I get a similar error from the eventhub when I try and connect via the node sdk: `{ Error: event message must be properly signed by an identity from the same organization as the peer: [failed deserializing event creator: [Expected MSP ID peerOrg0, received ordererOrg0]]`

mastersingh24 (Fri, 04 Aug 2017 10:19:26 GMT):
@pd93 - It looks like somehow the crypto material being used has been reversed

mastersingh24 (Fri, 04 Aug 2017 10:19:58 GMT):
i.e. Your node sdk app is using creds from the orderer org

pd93 (Fri, 04 Aug 2017 10:25:12 GMT):
Hmm.. okay. I'll double check everything. I'm really not sure how I've done this :')

jimthematrix (Fri, 04 Aug 2017 18:08:44 GMT):
@greg.haskins getting the following error from running 1.0.1 locally: ```error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Error starting container: Failed to generate platform-specific docker build: Failed to pull hyperledger/fabric-ccenv:x86_64-1.0.1-snapshot-0a9951b9: API error (404): {"message":"manifest for hyperledger/fabric-ccenv:x86_64-1.0.1-snapshot-0a9951b9 not found"}```

jimthematrix (Fri, 04 Aug 2017 18:09:20 GMT):
what's strange is that the docker's label gives a different snapshot value: ```"Labels": { "com.docker.compose.config-hash": "e54b6f953cca7f9b35763265ff7b3ecbbcfb71c5c8778ad22e38f2edf88ff53b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "fixtures", "com.docker.compose.service": "peer0.org1.example.com", "com.docker.compose.version": "1.15.0", "org.hyperledger.fabric.base.version": "0.3.1", "org.hyperledger.fabric.version": "1.0.1-snapshot-62fd2682" }```

jimthematrix (Fri, 04 Aug 2017 18:10:58 GMT):
and the label is consistent with the ccenv image tag: `x86_64-1.0.1-snapshot-62fd2682`

jimthematrix (Fri, 04 Aug 2017 18:11:25 GMT):
I'm a little puzzled where did the chaincode support code get the `x86_64-1.0.1-snapshot-0a9951b9` tag value

jimthematrix (Fri, 04 Aug 2017 18:18:03 GMT):
i'm going to try first do a make clean

jimthematrix (Fri, 04 Aug 2017 18:40:46 GMT):
looks like the files build/docker/bin/peer(orderer) are not being refreshed during `make docker` (even with `make -B docker`), after `make clean` first that deletes them, and rebuild, they are now back in sync: build number inside the binaries are consistent with the docker tag

eacoeytaux (Fri, 04 Aug 2017 19:54:33 GMT):
Has joined the channel.

greg.haskins (Sun, 06 Aug 2017 02:05:17 GMT):
@jimthematrix that problem is consistent with having your builds out of sync

greg.haskins (Sun, 06 Aug 2017 02:05:38 GMT):
as you discovered, simply rebuilding them all should fix it

greg.haskins (Sun, 06 Aug 2017 02:06:23 GMT):
for background, the last number is generated from the commit-sha that was HEAD at the time you did the build

greg.haskins (Sun, 06 Aug 2017 02:06:55 GMT):
so, if you, for example, pull, build the world, commit something, build just one component...the shas would differ

greg.haskins (Sun, 06 Aug 2017 02:08:05 GMT):
@jimthematrix btw: with all the rampant at-here (ab)use, I am missing lots of pings, so just DM me if you have a problem to get my attention

jimthematrix (Sun, 06 Aug 2017 02:20:23 GMT):
thanks @greg.haskins for confirming that. will keep DM in mind ;-)

greg.haskins (Sun, 06 Aug 2017 02:29:01 GMT):
anytime...

greg.haskins (Sun, 06 Aug 2017 02:29:30 GMT):
btw: the last part of the puzzle I should mention: the "0a9951b9" reference was coming from the peer. not the ccenv

greg.haskins (Sun, 06 Aug 2017 02:29:53 GMT):
basically, by default, the peer will attempt to use a ccenv with an identical tag

greg.haskins (Sun, 06 Aug 2017 02:30:22 GMT):
so fabric-peer:x86_64-1.0.1-snapshot-0a9951b9 will expect fabric-ccenv:x86_64-1.0.1-snapshot-0a9951b9

greg.haskins (Sun, 06 Aug 2017 02:31:58 GMT):
this is controlled here: https://github.com/hyperledger/fabric/blob/3abe144d50a6edb367ef978f75387f515b95dc1f/sampleconfig/core.yaml#L329

greg.haskins (Sun, 06 Aug 2017 02:32:36 GMT):
basically, the peer offers a templating engine...it will translate $(PROJECT_VERSION) to be the same as the peers

greg.haskins (Sun, 06 Aug 2017 02:32:59 GMT):
you can, of course, override it to be something else, but by default it will try to match it

greg.haskins (Sun, 06 Aug 2017 02:33:05 GMT):
matching it is typically what you want

greg.haskins (Sun, 06 Aug 2017 02:34:09 GMT):
I see the problem you describe all the time when I rebuild only the peer but not the ccenv _AND_ I happened to have moved to a new gitsha in the interim

greg.haskins (Sun, 06 Aug 2017 02:34:32 GMT):
lesson to be learned here is be really careful, because its the case where you _havent_ moved the gitsha that is the most dangerous

greg.haskins (Sun, 06 Aug 2017 02:34:47 GMT):
(you may be using mismatched peer/ccenv and not even realize it)

jimthematrix (Sun, 06 Aug 2017 19:30:03 GMT):
thanks for the full explanation @greg.haskins , that's exactly what happened. now thinking it a bit more, I had thought that "make docker" would have rebuilt the peer binary in /build/docker/bin so that'll resync the binary running inside docker with the tag on the docker images, but that's apparently not happening. isn't that supposed to be that way: /build/docker/bin gets rebuilt along with docker images themselves?

frbrkoala (Tue, 08 Aug 2017 00:18:40 GMT):
Hi guys. Just a quick question. Is my understanding correct, that we can't use more then one Kafka-based ordering clusters per channel? In such case in the large scaled Fabric-based blockchain network with one large channel an "ordering service" (a combination of ordering peers with Kafka brokers /zookeepers) is becoming a central part of the architecture. Is this correct?

Eman0 (Tue, 08 Aug 2017 00:35:33 GMT):
What happens if a peer is the only endorser for a chaincode and it creates a fake transaction proposal, endorses it and broadcasts it. From what I understand, committing peers only verify that the endorsement is valid and that means other peers will commit the transaction. Is that correct?

frbrkoala (Tue, 08 Aug 2017 00:40:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=oxYtzQNpitodmDsoW) @Eman0 To me it looks like you are right. That's why the Endorsement policies are important. If we don't trust one single peer in the network, we should better create a policy that will enforce validation with a number of peers to make sure peers will double check each other.

Eman0 (Tue, 08 Aug 2017 00:53:23 GMT):
@frbrkoala Thank you. That's what I thought too.

Eman0 (Tue, 08 Aug 2017 01:08:36 GMT):
Sorry, another question. How does the client know the set of endorsers for any chaincode ?

dave.enyeart (Tue, 08 Aug 2017 10:04:46 GMT):
The client application is authored together with the chaincode. The client application must have knowledge of the endorsement policies and gather enough endorsements.

dave.enyeart (Tue, 08 Aug 2017 10:04:46 GMT):
@Eman0 The client application is authored together with the chaincode. The client application must have knowledge of the endorsement policies and gather enough endorsements.

dave.enyeart (Tue, 08 Aug 2017 10:04:46 GMT):
@Eman0 The client application is authored together with the chaincode. The client application must have knowledge of the endorsement policies ahead of time, and have logic to gather enough endorsements.

Eman0 (Tue, 08 Aug 2017 16:59:53 GMT):
@dave.enyeart Thank you, that makes sense. Incase of multiple endorsers, is it possible to test that through CLI? or is it only able to interact with one endorser at a time?

dave.enyeart (Tue, 08 Aug 2017 17:01:18 GMT):
CLI only interacts with a single endorser, it is meant for initial trial/demo only. You will need to use the client SDK to send to multiple endorsers.

Selvam_Annamalai (Wed, 09 Aug 2017 09:21:11 GMT):
Has joined the channel.

greg.haskins (Wed, 09 Aug 2017 13:48:39 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=v5AwZzejvfjqrwWPz) @dave.enyeart I am of the opinion that needs to change in a future release though

greg.haskins (Wed, 09 Aug 2017 13:48:51 GMT):
not sure everyone agrees, but this seems logical to me

greg.haskins (Wed, 09 Aug 2017 13:49:38 GMT):
e.g. a client should only really need knowledge of a) a small set of seed peers it trusts (presumably its own) and b) a set of 1 or more chaincodes it wants to interact with

greg.haskins (Wed, 09 Aug 2017 13:50:01 GMT):
everything else (endorsement policies, endorsement members, orderer(s), etc, should be in-band discoverable

greg.haskins (Wed, 09 Aug 2017 13:52:03 GMT):
to address threat vectors against the discoverable data, it should have strong provenance mechanisms back to the channel/chaincode instantiate activity

greg.haskins (Wed, 09 Aug 2017 13:52:45 GMT):
e.g. the signature of the instantiate transaction which includes the endorsement policy/group should be conveyed

greg.haskins (Wed, 09 Aug 2017 13:53:43 GMT):
The v1.0 configuration mechanisms are way to fragile to be considered practical for the long term

greg.haskins (Wed, 09 Aug 2017 13:53:43 GMT):
The v1.0 configuration mechanisms are way too fragile to be considered practical for the long term

Selvam_Annamalai (Thu, 10 Aug 2017 10:04:11 GMT):
I have modified the first network • Generated certificates and channel artifacts in the first machine with configtx and crypto-config yaml files (which contains both the org details,the 4 nodes & one Orderer) by running the command ./byfn.sh –m generate • Updated docker-compose-cli, docker-compose-couch, docker-compose-e2e-template and docker-compose-base yaml files to contain first org, 2 peer nodes and 1 Orderer. • Started the network (First Org with 2 nodes and Orderer) in the first machine by running the command ./byfn.sh –m up • Copied the generated certificates and the channel artifacts in to the second machine • Updated docker-compose-cli, docker-compose-couch, docker-compose-e2e-template and docker-compose-base yaml files to contain second org, 2 peer nodes and without Orderer. • Did not call CreateChannel function in script.sh file. Commented out. • Started the network (Second Org with 2 nodes without Orderer) in the second machine by running the command ./byfn.sh –m up • Got the exception “Error: genesis block file not found open mychannel.block: no such file or directory” during Channel Join Operation. Can you please tell me how to resolve this issue?

qsmen (Fri, 11 Aug 2017 06:59:49 GMT):
Has joined the channel.

SotirisAlfonsos (Fri, 11 Aug 2017 09:52:50 GMT):
Hello. I was wondering, where can i find the code where the peer sends the response to the client after endorsement, and the code where the peer receives the new transaction proposal from the client?

Eman0 (Sat, 12 Aug 2017 17:57:22 GMT):
@SotirisAlfonsos https://github.com/hyperledger/fabric/blob/release/core/endorser/endorser.go

ydk210999 (Sun, 13 Aug 2017 07:23:22 GMT):
Has joined the channel.

Glen (Mon, 14 Aug 2017 01:44:35 GMT):
Hello, How does endorsement validate a transaction, can it prevent a malicious client from doing harm to the BC network?

yacovm (Mon, 14 Aug 2017 06:56:38 GMT):
yes

yacovm (Mon, 14 Aug 2017 06:56:50 GMT):
at endorsement time - the access control policies are checked

ajp (Mon, 14 Aug 2017 15:24:59 GMT):
Has joined the channel.

Glen (Mon, 14 Aug 2017 15:27:24 GMT):
ok

Eman0 (Mon, 14 Aug 2017 17:19:33 GMT):
Does the broadcasted endorsement contain the client signature?

yacovm (Mon, 14 Aug 2017 17:26:53 GMT):
It contains the signed proosal

yacovm (Mon, 14 Aug 2017 17:26:56 GMT):
So yes

Eman0 (Mon, 14 Aug 2017 17:31:45 GMT):
ermm do committing peers revalidate the client signature? or they just verify the endorsers' signatures?

yacovm (Mon, 14 Aug 2017 17:48:23 GMT):
the latter - but in the future they would probably do also the former ( @adc please correct me if that's wrong)

tallharish (Tue, 15 Aug 2017 11:53:49 GMT):
Has joined the channel.

tallharish (Tue, 15 Aug 2017 12:25:56 GMT):
I am developing a chaincode and testing it by modifying script.sh in e2e_cli example with the default network setup (Org1,Org2, 2 members each). If I instantiate chaincode using peer0.Org1, I am able to invoke transactions on it. But when I invoke transactions on peer0.Org2 after instantiating CC on peer0.Org1, I get the following error on peer0.org2. The same behavior other way round as well. ``` 2017-08-14 *12:06:27.826 UTC* [chaincode] processStream -> DEBU 645 [8bb78db8]sending state message TRANSACTION 2017-08-14 *12:06:27.922 UTC* [chaincode] processStream -> ERRO 646 Error handling chaincode support stream: rpc error: code = Canceled desc = context canceled 2017-08-14 12:06:27.925 UTC [chaincode] deregisterHandler -> DEBU 647 Deregister handler: mycc:1.0 2017-08-14 12:06:27.925 UTC [chaincode] deregisterHandler -> DEBU 648 Deregistered handler with key: mycc:1.0 (after a while...) 2017-08-14 *12:06:57.829 UTC* [chaincode] Execute -> DEBU 649 Exit 2017-08-14 12:06:57.829 UTC [chaincode] ExecuteChaincode -> ERRO 64a Error executing chaincode: Failed to execute transaction (Timeout expired while executing transaction) ``` On the orderer, I see the following message corresponding to same timestamp [orderer/common/broadcast] Handle -> WARN a14 Error reading from stream: rpc error: code = Canceled desc = context canceled My e2e_cli works fine with the default chaincode examples. What could be going wrong with my chaincode? how do I debug? Thanks

tallharish (Tue, 15 Aug 2017 12:25:56 GMT):
I am developing a chaincode and testing it by modifying script.sh in e2e_cli example with the default network setup (Org1,Org2, 2 members each). If I instantiate chaincode using peer0.Org1, I am able to invoke transactions on it. But when I invoke transactions on peer0.Org2 after instantiating CC on peer0.Org1, I get the following error on peer0.org2. The same behavior other way round as well. ``` 2017-08-14 *12:06:27.826 UTC* [chaincode] processStream -> DEBU 645 [8bb78db8]sending state message TRANSACTION 2017-08-14 *12:06:27.922 UTC* [chaincode] processStream -> ERRO 646 Error handling chaincode support stream: rpc error: code = Canceled desc = context canceled 2017-08-14 12:06:27.925 UTC [chaincode] deregisterHandler -> DEBU 647 Deregister handler: mycc:1.0 2017-08-14 12:06:27.925 UTC [chaincode] deregisterHandler -> DEBU 648 Deregistered handler with key: mycc:1.0 (after a while...) 2017-08-14 *12:06:57.829 UTC* [chaincode] Execute -> DEBU 649 Exit 2017-08-14 12:06:57.829 UTC [chaincode] ExecuteChaincode -> ERRO 64a Error executing chaincode: Failed to execute transaction (Timeout expired while executing transaction) ``` On the orderer, I see the following message corresponding to same timestamp ``` [orderer/common/broadcast] Handle -> WARN a14 Error reading from stream: rpc error: code = Canceled desc = context canceled ``` My e2e_cli works fine with the default chaincode examples. What could be going wrong with my chaincode? how do I debug? Thanks

muralisr (Tue, 15 Aug 2017 12:28:28 GMT):
@tallharish you can ignore the orderer error (for now at least) its just that peer or cli has disconnected

muralisr (Tue, 15 Aug 2017 12:28:49 GMT):
the timeout could be due to chaincode dying

muralisr (Tue, 15 Aug 2017 12:28:59 GMT):
or reporting an error

muralisr (Tue, 15 Aug 2017 12:30:19 GMT):
if you add env vars`CORE_CHAINCODE_LOGGING_LEVEL=debug and CORE_VM_DOCKER_ATTACHSTDOUT=true` to peer container's the chaincode logs will be redirected to peer side

muralisr (Tue, 15 Aug 2017 12:30:40 GMT):
and you can look at the peer logs to debug

tallharish (Tue, 15 Aug 2017 12:44:03 GMT):
Thanks @muralisr. This was helpful. ``` 2017-08-15 12:40:06.932 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 50f Transaction creator ID: Org1MSP 2017-08-15 12:40:06.932 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 510 ACTION 2017-08-15 12:40:06.932 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 511 commission 2017-08-15 12:40:06.941 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 512 panic: runtime error: invalid memory address or nil pointer dereference 2017-08-15 12:40:06.941 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 513 [signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x4018c8] 2017-08-15 12:40:06.941 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 514 2017-08-15 12:40:06.943 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 515 goroutine 10 [running]: 2017-08-15 12:40:06.944 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 516 panic(0xa65ca0, 0xc420016040) 2017-08-15 12:40:06.945 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 517 /opt/go/src/runtime/panic.go:500 +0x1a1 2017-08-15 12:40:06.945 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 518 main.(*SupplyChainCC).Invoke(0xc4201d8410, 0x1051aa0, 0xc420078c80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 2017-08-15 12:40:06.946 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 519 /chaincode/input/src/example.com/ICI/msp_overlay/chaincode/go/supply_chain/supply_chain.go:74 +0x588 2017-08-15 12:40:06.946 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 51a example.com/ICI/msp_overlay/vendor/github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction.func1(0xc4202b2150, 0xc4201eb0e0) 2017-08-15 12:40:06.947 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 51b /chaincode/input/src/example.com/ICI/msp_overlay/vendor/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:317 +0x483 2017-08-15 12:40:06.947 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 51c created by example.com/ICI/msp_overlay/vendor/github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction 2017-08-15 12:40:06.947 UTC [dev-peer0.org1.example.com-mycc-1.0] func2 -> INFO 51d /chaincode/input/src/example.com/ICI/msp_overlay/vendor/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:328 +0x49 2017-08-15 12:40:07.030 UTC [chaincode] processStream -> ERRO 51e Error handling chaincode support stream: rpc error: code = Canceled desc = context canceled ```

muralisr (Tue, 15 Aug 2017 13:52:41 GMT):
@tallharish sure, once you figure out the panic from `supply_chain.go:74` you should be set

sampath06 (Tue, 15 Aug 2017 16:29:10 GMT):
Has joined the channel.

sampath06 (Tue, 15 Aug 2017 16:49:30 GMT):
What are some sample scenarios where a peer may refuse to endorse a transaction? Is it just to prevent unauthorised nodes from validating transactions?

rahulhegde (Tue, 15 Aug 2017 18:19:11 GMT):
Can you help me understand - - on starting the peer - how does peer get the orderer host information? I assume the connection is initiated by Peer to Orderer. - in kafka-consensus orderer service setup - how do we know or control which peer-OSN communicates and I assume there would be switching to the available OSN to support fault tolerance Thanks.

tallharish (Tue, 15 Aug 2017 18:23:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bzCncs7QnZoTZkikj) Thanks @muralisr. Nailed it immediately :)

vdods (Thu, 17 Aug 2017 00:12:53 GMT):
Hi there, I'm working on enabling TLS on my ca/peer/orderer, and now my chaincode docker container is having problems. It looks like a cert issue; here is the log from the chaincode docker container: ```2017-08-17 00:08:16.348 UTC [shim] SetupChaincodeLogging -> INFO 001 Chaincode (build level: 1.0.0) starting up ... 2017-08-17 00:08:16.348 UTC [bccsp] initBCCSP -> DEBU 002 Initialize BCCSP [SW] 2017-08-17 00:08:16.348 UTC [shim] userChaincodeStreamGetter -> DEBU 003 Peer address: peer0.org0.example.com:7051 2017-08-17 00:08:16.413 UTC [shim] userChaincodeStreamGetter -> ERRO 004 Error trying to connect to local peer: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "fabric-ca-server") Error starting Simple chaincode: Error trying to connect to local peer: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "fabric-ca-server") ```

vdods (Thu, 17 Aug 2017 00:13:46 GMT):
I attempted to specify CORE_VM_DOCKER_TLS_ENABLED and the related options for cert,key,ca files, but to no avail.

vdods (Thu, 17 Aug 2017 00:19:49 GMT):
The relevant portion of the log from the peer is ```peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [chaincode] Launch -> DEBU 336 launchAndWaitForRegister fetched 114631 bytes from file system peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [chaincode] getArgsAndEnv -> DEBU 337 Executable is chaincode peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [chaincode] getArgsAndEnv -> DEBU 338 Args [chaincode -peer.address=peer0.org1.example.com:7051] peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [chaincode] launchAndWaitForRegister -> DEBU 339 start container: mycc:v0(networkid:dev,peerid:peer0.org1.example.com) peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [chaincode] launchAndWaitForRegister -> DEBU 33a start container with args: chaincode -peer.address=peer0.org1.example.com:7051 peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [chaincode] launchAndWaitForRegister -> DEBU 33b start container with env: peer0.org1.example.com | CORE_CHAINCODE_ID_NAME=mycc:v0 peer0.org1.example.com | CORE_PEER_TLS_ENABLED=true peer0.org1.example.com | CORE_CHAINCODE_LOGGING_LEVEL=debug peer0.org1.example.com | CORE_CHAINCODE_LOGGING_SHIM=debug peer0.org1.example.com | CORE_CHAINCODE_LOGGING_FORMAT=%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message} peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [container] lockContainer -> DEBU 33c waiting for container(dev-peer0.org1.example.com-mycc-v0) lock peer0.org1.example.com | 2017-08-17 00:18:39.147 UTC [container] lockContainer -> DEBU 33d got container (dev-peer0.org1.example.com-mycc-v0) lock peer0.org1.example.com | 2017-08-17 00:18:39.148 UTC [dockercontroller] Start -> DEBU 33e Cleanup container dev-peer0.org1.example.com-mycc-v0 peer0.org1.example.com | 2017-08-17 00:18:39.149 UTC [dockercontroller] stopInternal -> DEBU 33f Stop container dev-peer0.org1.example.com-mycc-v0(Container not running: dev-peer0.org1.example.com-mycc-v0) peer0.org1.example.com | 2017-08-17 00:18:39.158 UTC [dockercontroller] stopInternal -> DEBU 340 Kill container dev-peer0.org1.example.com-mycc-v0 (API error (500): {"message":"Cannot kill container dev-peer0.org1.example.com-mycc-v0: Container 319978f8a4bff75f050a5a26b77d023622391653ec59cf7de9c79cc391ced735 is not running"} ```

muralisr (Thu, 17 Aug 2017 17:31:37 GMT):
@vdods I assume you removed the old chaincode image with `docker rmi ...` ?

niteshsolanki (Thu, 17 Aug 2017 19:25:33 GMT):
can a user Chaincode call qscc ?

vdods (Thu, 17 Aug 2017 23:07:16 GMT):
@muralisr Yes

vdods (Fri, 18 Aug 2017 00:00:20 GMT):
@muralisr I'm pretty sure it's the authentication issue though. What is involved in the chaincode container authenticating itself with the peer?

kelvinzhong (Fri, 18 Aug 2017 01:41:53 GMT):
Has joined the channel.

yacovm (Fri, 18 Aug 2017 07:50:58 GMT):
@vdods if the peer uses TLS - you also use TLS as the shim

greg.haskins (Fri, 18 Aug 2017 13:55:21 GMT):
@vdods you may find it helpful to enable this: https://github.com/hyperledger/fabric/blob/ae4e37dbafe74997534ab317dec5c3f4f53b6a84/sampleconfig/core.yaml#L286

greg.haskins (Fri, 18 Aug 2017 13:55:57 GMT):
that will very likely dump some useful output about why the container is exiting

greg.haskins (Fri, 18 Aug 2017 13:57:52 GMT):
however, I suspect you are getting bit by this: https://jira.hyperledger.org/browse/FAB-3996

greg.haskins (Fri, 18 Aug 2017 13:58:16 GMT):
note that a workaround is provided at the bottom of the thread

vdods (Fri, 18 Aug 2017 15:56:14 GMT):
Thanks, I had tried deleting the images before, to no avail, but for some reason it worked this time. *shrug*

vdods (Fri, 18 Aug 2017 17:39:39 GMT):
@greg.haskins Hmm.. nevermind, it's still failing, though it succeeded once. Seems to fail nondeterministically

vdods (Fri, 18 Aug 2017 17:39:39 GMT):
@greg.haskins Hmm.. nevermind, it's still failing, though it succeeded twice. Seems to fail nondeterministically

vdods (Fri, 18 Aug 2017 17:55:05 GMT):
It alternates success and failure. The following log entries are present in the succeeding one and not present in the failing one: `[ccprovider] GetChaincodeData -> DEBU 479^[[0m Getting chaincode data for from cache` `[ccprovider] NewCCContext -> DEBU 47b^[[0m NewCCCC (chain=mychannel,chaincode=mycc,version=v0,txid=87e84772df25345ea759fe18c2847b59bb6018df595d29db3f70c81596ffc01c,syscc=false,proposal=0xc42140ef00,canname=mycc:v0` `[chaincode] Launch -> DEBU 47c^[[0m chaincode is running(no need to launch) : mycc:v0` and a few others, but those are the first that I can see

vdods (Fri, 18 Aug 2017 17:56:39 GMT):
The strange thing is that I'm deleting all state (docker volumes that contain peer/orderer/ca state, docker containers, docker images for chaincode), so the behavior should be identical each time I run it. Maybe there's some anonymous docker volume being created and used somewhere that I'm not seeing

vdods (Fri, 18 Aug 2017 21:09:59 GMT):
It appears to be directly related to which peer is the leader -- the leader peer works, the non-leader doesn't

yacovm (Fri, 18 Aug 2017 21:30:57 GMT):
what's the issue, @vdods ?

vdods (Fri, 18 Aug 2017 21:32:27 GMT):
Upon transaction invocation, my non-leader peer returns with error `[lscc] Invoke -> ERRO 3e0 error getting chaincode mycc on channel: mychannel(err:could not find chaincode with name 'mycc')`, whereas the leader peer functions correctly.

yacovm (Fri, 18 Aug 2017 21:33:08 GMT):
ah well what's the setup?

yacovm (Fri, 18 Aug 2017 21:33:13 GMT):
is the non leader chatting with the leader?

vdods (Fri, 18 Aug 2017 21:49:37 GMT):
I've got 2 orgs, 2 peers each. I've set the CORE_PEER_GOSSIP_ORGLEADER explicitly on each peer so that there is one leader per org

vdods (Fri, 18 Aug 2017 21:49:37 GMT):
@yacovm I've got 2 orgs, 2 peers each. I've set the CORE_PEER_GOSSIP_ORGLEADER explicitly on each peer so that there is one leader per org

vdods (Fri, 18 Aug 2017 21:50:01 GMT):
I am seeing a few chat messages in the peer logs

vdods (Fri, 18 Aug 2017 21:50:54 GMT):
Really only seeing messages like `[shim] StartInProc -> DEBU 15e starting chat with peer using name=qscc:1.0.1` and `[shim] chatWithPeer -> DEBU 15f Registering.. sending REGISTER`

vdods (Fri, 18 Aug 2017 21:51:48 GMT):
But -- I'm sending the transaction proposal to both peers (leader and non-leader), and getting success from leader and failure from non-leader. The failure is `could not find chaincode with name 'mycc' - make sure the chaincode mycc has been successfully instantiated and try again`

vdods (Fri, 18 Aug 2017 22:10:03 GMT):
@yacovm When I switch back to using leader election, I get success every other time I spin up and run my blockchain network+app -- this is starting from scratch after deleting all state.

vdods (Fri, 18 Aug 2017 22:10:03 GMT):
@yacovm When I switch back to using leader election, I get success every other time I spin up and run my blockchain network+app -- this is starting from scratch after deleting all state.

vdods (Fri, 18 Aug 2017 22:10:03 GMT):
@yacovm When I switch back to using leader election, I get success every other time I spin up and run my blockchain network+app -- this is starting from scratch after deleting all state.

vdods (Fri, 18 Aug 2017 22:10:25 GMT):
Well, apparently not in exact alternation.. But it is nondeterministic

vdods (Fri, 18 Aug 2017 22:11:40 GMT):
Presumably the leader election is pseudorandom

yacovm (Sat, 19 Aug 2017 07:35:31 GMT):
@vdods can you please move this convo to #fabric-gossip channel and also provide me with logs with gossip in debug in them?

DarshanBc (Tue, 22 Aug 2017 08:21:42 GMT):
Has joined the channel.

DarshanBc (Tue, 22 Aug 2017 08:23:16 GMT):
Is there any way that I get notified one a block is created?

DarshanBc (Tue, 22 Aug 2017 08:23:16 GMT):
Is there any way that I get notified once a block is created?

Vadim (Tue, 22 Aug 2017 08:24:02 GMT):
@DarshanBc https://fabric-sdk-node.github.io/EventHub.html#registerBlockEvent__anchor

cwng (Tue, 22 Aug 2017 09:43:12 GMT):
Has joined the channel.

rsherwood (Tue, 22 Aug 2017 11:03:08 GMT):
Has joined the channel.

Hai-XuCheng (Wed, 23 Aug 2017 08:43:06 GMT):
Has joined the channel.

Vrai1127 (Wed, 23 Aug 2017 13:53:15 GMT):
Has joined the channel.

Vrai1127 (Wed, 23 Aug 2017 21:39:39 GMT):
All, I have a design question: 1) In most of the use cases, the participants of the network will have data which they would really like to keep confidential (for e.g. how much amount one invested) among select few peers.I understand channel is an option for peers to transact privately. But does that mean for all practical purposes, we will end up with multiple channels irrespective of how big or small a usecase is and then on the application side( front end) we will have to orchestrate to get data from all the channels and present to the user based on access level? 2) is there a mechanism to control access level for a peer on a channel so as it could access only specific data? Please help

vdods (Wed, 23 Aug 2017 23:09:47 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=dofNZi8aBhhqGxqmR) @yacovm Yep, I can do that. Sorry for the delay -- I was on a camping trip to view the total eclipse in central Oregon :)

vdods (Thu, 24 Aug 2017 01:07:51 GMT):
@yacovm In reproducing the bug again, I don't think it's necessarily gossip. I'm getting different failures, with no deterministic reproducibility -- sometimes the node SDK times out on channel creation before the peers do anything at all. Sometimes it fails during a transaction proposal, and sometimes it totally succeeds. This is starting with the peers' chaincode docker images already existing.

vdods (Thu, 24 Aug 2017 01:29:23 GMT):
This nondeterministic failure happens even when I clear all state and start from scratch

vdods (Thu, 24 Aug 2017 01:30:26 GMT):
It looks like it might be a problem with fabric-sdk-node.. when the SDK call to create channel is made, in the successful case the orderer responds, whereas in the failure case the orderer doesn't make a peep (no indication it received any request)

Stas Sorokin (Thu, 24 Aug 2017 10:49:29 GMT):
Has joined the channel.

Stas Sorokin (Thu, 24 Aug 2017 10:51:04 GMT):
Hello. Can someone explain what the difference between Org.member and Org.admin in endorsment policy? as i understood for example endorsment policy specifies way of approving transaction by validating peers. in case of Org.member it is clear - it's just endorosing peer. What does Org.admin mean in case of peer?

Vadim (Thu, 24 Aug 2017 11:08:23 GMT):
@Stas Sorokin I think I know now: the admin is the identity which is in the msp/admincerts, so if you put certificate of peer 1 into peer 2 msp/admincerts folder, then the endorsements of peer1 will satisfy the policy Org1.admin on peer2

Stas Sorokin (Thu, 24 Aug 2017 13:05:16 GMT):
hm...ok, thank you - it is need to try

Stas Sorokin (Thu, 24 Aug 2017 13:05:16 GMT):
hm...ok, thank you - it needs to try

vdods (Thu, 24 Aug 2017 18:09:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=dofNZi8aBhhqGxqmR) @yacovm Nevermind about this issue -- I fixed the bug by upgrading docker. The problem is that the grpc calls were experiencing dns resolution failure, and tracking the bug down was a very misleading process.

jeffgarratt (Thu, 24 Aug 2017 18:23:25 GMT):
@Stas Sorokin the difference is that Org.member means any signature from someone with a cert signed by the org (or in trust chain). This in general will be a peer that has been configured by the organization where the localMspConfig/signcerts will contain a cert signed by the org. Whereas an Org.admin refers to someone who has the admin role for the MSP, which requires the cert actually have been configured within the MSPConfig of the channel (which is seeded from the consortium on genesis of the channel). This is NOT the same as placing the cert into the localMSPCOnfig/admins folder of a peer, which will make that user an Admin for the Peer, but not for the Org's MSP.

jeffgarratt (Thu, 24 Aug 2017 18:23:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=oZjY6vaj6ByRpEXoD) @Stas Sorokin the difference is that Org.member means any signature from someone with a cert signed by the org (or in trust chain). This in general will be a peer that has been configured by the organization where the localMspConfig/signcerts will contain a cert signed by the org. Whereas an Org.admin refers to someone who has the admin role for the MSP, which requires the cert actually have been configured within the MSPConfig of the channel (which is seeded from the consortium on genesis of the channel). This is NOT the same as placing the cert into the localMSPCOnfig/admins folder of a peer, which will make that user an Admin for the Peer, but not for the Org's MSP.

Vadim (Fri, 25 Aug 2017 05:33:22 GMT):
@jeffgarratt how do one gets an endorsement from such admin? Should there be a peer configured with such MSP or something else? [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=CS3fKguejYAw34TJZ)

Stas Sorokin (Fri, 25 Aug 2017 15:29:00 GMT):
Hi again, let consider two orgs with three endorsing peers in each organisation. if i instantiate a chaincode with endorsment policy AND('Org1.member', 'Org2.member') then call invoke it is no matter how many peers will endorse transaction, isn't it? One peer from Org1 and One peer from Org2 are enough?

jeffgarratt (Fri, 25 Aug 2017 16:58:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=PgurG4uBXbjxbEmyy) @Stas Sorokin correct

jeffgarratt (Fri, 25 Aug 2017 16:59:12 GMT):
@Vadim yes... You would have required a peer to be configured such that the signerscert is one of the certs in the MSPConfig's admins field

jeffgarratt (Fri, 25 Aug 2017 16:59:12 GMT):
@Vadim yes... You would have required a peer to be configured such that the signerscert is one of the certs in the MSPConfig's admins field (i.e. the field encoded in the channel config)

jeffgarratt (Fri, 25 Aug 2017 17:00:30 GMT):
@Stas Sorokin in reality, the multiple possible endorsers peer org would be HA purposes

jeffgarratt (Fri, 25 Aug 2017 17:00:30 GMT):
@Stas Sorokin in reality, the multiple possible endorsers perorg would be HA purposes

jeffgarratt (Fri, 25 Aug 2017 17:00:30 GMT):
@Stas Sorokin in reality, the multiple possible endorsers per org would be HA purposes

jeffgarratt (Fri, 25 Aug 2017 17:00:30 GMT):
@Stas Sorokin in reality, the multiple possible endorsers per org would be for HA purposes

jeffgarratt (Fri, 25 Aug 2017 17:01:36 GMT):
you would not get multiple endorsements from the same or in general

jeffgarratt (Fri, 25 Aug 2017 17:01:36 GMT):
you would not get multiple endorsements from the same org in general

jeffgarratt (Fri, 25 Aug 2017 17:02:05 GMT):
though it would of course not harm anything, just inefficient

nnao (Fri, 25 Aug 2017 17:57:56 GMT):
Has left the channel.

Stas Sorokin (Fri, 25 Aug 2017 18:15:16 GMT):
is it possible to manage of minimum count of endorsing peer in some organisation? i know it is nonsense, but my boss want to know - can we manage count of required endorsments within someone organisation? :nerd:

greg.haskins (Fri, 25 Aug 2017 20:16:03 GMT):
@Stas Sorokin yes, the policy is configurable and could be written as "requires 2 endorsments from Org A and one endorsement from Org B"

greg.haskins (Fri, 25 Aug 2017 20:16:12 GMT):
or whatever you desire

Vadim (Sat, 26 Aug 2017 05:47:23 GMT):
@greg.haskins how will this policy look like? AND('OrgA.member', 'OrgA.member', 'OrgB.member') or something else?

DarshanBc (Sat, 26 Aug 2017 08:02:30 GMT):
I have 2 types of requests one has to be endorsed by org1 and other by org2 how would I do tat

aberfou (Sat, 26 Aug 2017 16:14:48 GMT):
Hi, can someone explain me what kind of validation will be executed by the committer before updating the ledger?

yacovm (Sat, 26 Aug 2017 16:14:56 GMT):
yes

yacovm (Sat, 26 Aug 2017 16:15:00 GMT):
it checks:

yacovm (Sat, 26 Aug 2017 16:16:01 GMT):
1) The transactions are signed by the peers according to the endorsement policy 2) The versions of the Read sets are not "old" in comparison to the existing ones (Multi version concurrency control)

aberfou (Sat, 26 Aug 2017 16:17:56 GMT):
@yacovm thx, that means only the version of the rw sets will be checked?

yacovm (Sat, 26 Aug 2017 16:18:15 GMT):
only, in comparison to.... ?

yacovm (Sat, 26 Aug 2017 16:18:21 GMT):
to values?

aberfou (Sat, 26 Aug 2017 16:19:52 GMT):
i mean you have to trust the endorsment peers, if i have only one endorsment peer then it is possible that the endorsment peer can cheat...am i right?

yacovm (Sat, 26 Aug 2017 16:20:23 GMT):
if the endorsement policy is like "only 1 signature from any org" then yeah

yacovm (Sat, 26 Aug 2017 16:20:26 GMT):
but it's up to you

yacovm (Sat, 26 Aug 2017 16:20:37 GMT):
also - that's true for the default validation system chaincode

yacovm (Sat, 26 Aug 2017 16:20:46 GMT):
if you implement your own system chaincode

yacovm (Sat, 26 Aug 2017 16:21:00 GMT):
that does chaincode simulation and checks that things "make sense"

yacovm (Sat, 26 Aug 2017 16:21:20 GMT):
then you won't be cheated I guess

aberfou (Sat, 26 Aug 2017 16:21:21 GMT):
what is the difference between a nomal chaincode and a system chaincode

yacovm (Sat, 26 Aug 2017 16:21:33 GMT):
a normal chaincode is what you know

yacovm (Sat, 26 Aug 2017 16:21:56 GMT):
a system chaincode is just code in the peer that does all kinds of infrastructure specific tasks

yacovm (Sat, 26 Aug 2017 16:22:02 GMT):
and it has the signature of a chaincode shim

yacovm (Sat, 26 Aug 2017 16:22:30 GMT):
so it's called a system chaincode

yacovm (Sat, 26 Aug 2017 16:22:35 GMT):
i.e when you install a chaincode on a peer

aberfou (Sat, 26 Aug 2017 16:22:38 GMT):
infrastructure specific tasks... e.g.?

yacovm (Sat, 26 Aug 2017 16:22:45 GMT):
you actually call a life-cycle system chaincode

yacovm (Sat, 26 Aug 2017 16:23:05 GMT):
> infrastructure specific tasks... e.g.? Making a peer join a channel, instantiate chaincode, install chaincode, etc. etc.

aberfou (Sat, 26 Aug 2017 16:24:27 GMT):
@yacovm thx :)

yacovm (Sun, 27 Aug 2017 08:07:37 GMT):
@muralisr https://stackoverflow.com/questions/45884426/fail-to-install-signed-package-with-peer-chaincode-install-command

muralisr (Sun, 27 Aug 2017 15:03:37 GMT):
thanks @yacovm ...answered

aberfou (Mon, 28 Aug 2017 05:54:43 GMT):
what will happen if in case of 2/2 endorsment peers have different results.. is the client checking that? Or does the client only check the endorsment policy?

aberfou (Mon, 28 Aug 2017 06:36:13 GMT):
one more question regarding the anchor peer. the glossary says "A peer node on a channel that all other peers can discover and communicate with. Each Member on a channel has an anchor peer (or multiple anchor peers to prevent single point of failure), allowing for peers belonging to different Members to discover all existing peers on a channel."

aberfou (Mon, 28 Aug 2017 06:37:11 GMT):
why do the peers of the different organizations need to communicate with each other? what kind of information will be exchanged?

DarshanBc (Mon, 28 Aug 2017 08:03:23 GMT):
In balance transfer example what is that we get by "GET query Transaction by TransactionID" lots of data which I amnot able to understand

DarshanBc (Mon, 28 Aug 2017 08:03:23 GMT):
In balance transfer example what is that we get by "GET query Transaction by TransactionID" lots of data which I am not able to understand

mastersingh24 (Mon, 28 Aug 2017 08:59:31 GMT):
@aberfou - the client can check to make sure that it received enough endorsements back and can check to make sure that the endorsement responses match as well, but this is not required (although it's a nice thing to do if possible). Even if the client does not check and submits the endorsement responses to the ordering service, each peer which receives the transaction will actually check to make sure that enough correct endorsements were obtained (https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=AyWRCsNHgmemahsjg)

aberfou (Mon, 28 Aug 2017 09:12:04 GMT):
ok that means still only the endorsment policies will be checked by other peers but not the result of the endorsment...?

aberfou (Mon, 28 Aug 2017 09:16:12 GMT):
lets say i have two endorsment peers and i need a signature from both endorsment peers. my transaction looks like this: send 100 assets from a to b. lets assume endorsment peer0 executes it properly, but endorsment peer1 transfers 10000 for whatever reason. bot peers sign the proposal.

aberfou (Mon, 28 Aug 2017 09:16:12 GMT):
lets say i have two endorsment peers and i need a signature from both endorsment peers. my transaction looks like this: send 100 assets from a to b. lets assume endorsment peer0 executes it properly, but endorsment peer1 transfers 10000 for whatever reason. both peers sign the proposal, so the endorsment policy has been satisfied

aberfou (Mon, 28 Aug 2017 09:17:18 GMT):
what will happen?

Vadim (Mon, 28 Aug 2017 09:18:34 GMT):
@aberfou as far as I know, the app packs into a transaction one result and n signatures over that result. So in this case you have 2 different results, which means an app must choose. But either way, the endorsement policy will not be satisfied, as only 1 signature can be provided

aberfou (Mon, 28 Aug 2017 09:19:30 GMT):
@Vadim I see

aberfou (Mon, 28 Aug 2017 09:20:41 GMT):
but what do you mean the app must chose?

aberfou (Mon, 28 Aug 2017 09:21:11 GMT):
how does the app distinguish the different results?

Vadim (Mon, 28 Aug 2017 09:24:56 GMT):
@aberfou the app receives all proposal responses, so it can iterate over them and make sure that they are all the same

aberfou (Mon, 28 Aug 2017 09:25:53 GMT):
@Vadim ok that means the app cheks all results

Vadim (Mon, 28 Aug 2017 09:26:57 GMT):
it checks it before ordering, the app might not check it, but then the transaction will be in a block and when committed by peers, marked as invalid because of policy violation

aberfou (Mon, 28 Aug 2017 09:28:42 GMT):
ok that means the peers check it, if there are different results the transaction will be marked as invalid?

Vadim (Mon, 28 Aug 2017 09:30:01 GMT):
I think you can't send different results, it's only one result and many signatures

aberfou (Mon, 28 Aug 2017 09:31:19 GMT):
then i dont understand how and where invalid results will be detected

Vadim (Mon, 28 Aug 2017 09:34:01 GMT):
@aberfou [ ](https://chat.hyperledger.org/channel/fabric-consensus?msg=R2XK8djFiK8Yn5JYc)

Vadim (Mon, 28 Aug 2017 09:35:45 GMT):
@aberfou e.g. in node-sdk here is how it's set: https://github.com/hyperledger/fabric-sdk-node/blob/release/fabric-client/lib/Channel.js#L1450

aberfou (Mon, 28 Aug 2017 09:35:49 GMT):
ok now i understand

Vadim (Mon, 28 Aug 2017 09:35:55 GMT):
one ProposalResponse and many endorsements

aberfou (Mon, 28 Aug 2017 09:36:25 GMT):
yes and if the signature of one endorser is different then the policy is not valid any more

aberfou (Mon, 28 Aug 2017 09:36:46 GMT):
thx a lot!

Vadim (Mon, 28 Aug 2017 09:37:03 GMT):
no problem

aberfou (Mon, 28 Aug 2017 09:54:02 GMT):
one more question regarding the anchor peer. the glossary says "A peer node on a channel that all other peers can discover and communicate with. Each Member on a channel has an anchor peer (or multiple anchor peers to prevent single point of failure), allowing for peers belonging to different Members to discover all existing peers on a channel." why do the peers of the different organizations need to communicate with each other? what kind of information will be exchanged?

Vadim (Mon, 28 Aug 2017 10:03:38 GMT):
@aberfou I think they can fetch blocks from them if the orderer is not available for some reason

aberfou (Mon, 28 Aug 2017 11:13:10 GMT):
thx

Ratnakar (Mon, 28 Aug 2017 16:03:34 GMT):
This is regarding https://gerrit.hyperledger.org/r/#/c/12799/ As per @greg.haskins suggestion ``` Passing the TLS objects as parameters is not a good idea. They should be passed into the container itself. ``` As part of the JIRA `FAB-5406 - Peer<-->Chaincode Mutual TLS`. @yacovm

Ratnakar (Mon, 28 Aug 2017 16:21:11 GMT):
This is regarding https://gerrit.hyperledger.org/r/#/c/12799/ As per @greg.haskin suggestion ``` Passing the TLS objects as parameters is not a good idea. They should be passed into the container itself. ``` As part of the JIRA `FAB-5406 - Peer<-->Chaincode Mutual TLS`. completed by yacov. A change to the design has to be made for the above to take care. ^^^ @jimthematrix , @yacovm @mastersingh24

yacovm (Mon, 28 Aug 2017 16:22:53 GMT):
Right. @greg.haskins do you have an alternative? as long as it can be secured with the peer<-->docker TLS connection (if applicable) I'm open to new suggestions, what did you have in mind?

DarshanBc (Mon, 28 Aug 2017 17:33:29 GMT):
@Vadim how to list all the transaction ID of transactions done by particular user

rahulhegde (Mon, 28 Aug 2017 21:04:07 GMT):
@muralisr @kostas @jyellick [1] Use of config.yaml (4th point - http://hyperledger-fabric.readthedocs.io/en/latest/msp.html#msp-setup-on-the-peer-orderer-side) in the msp folder indicates, let's say for peer fabric, for every signed request received from either client could be orderer or HFC or (anything else, can you please update - is it for Gossip?) must have a entry in the yaml (https://github.com/hyperledger/fabric/blob/release/msp/mspimpl.go#L1118). Is that correct? [2] Since the config.yaml is cached in the peer implementation, we would require to reboot the peer process in case there needs to change config.yaml. Is my understanding correct and this should apply to orderer since it is sharing the mspimpl.go code? [3] I am feeling, by adding config.yaml entry is like mandating every signed request to carry OU field. How do we justify from the security perspective if we loosen this condition - https://github.com/hyperledger/fabric/blob/release/msp/mspimpl.go#L1119 and set to true?

jyellick (Mon, 28 Aug 2017 22:12:39 GMT):
@rahulhegde The MSP information in the `orderer.yaml` and `core.yaml` is local to the process. In the orderer case, this is used only for signing. In the peer, this is used for signing and for local admin actions like installing chaincode. All other signature validation for channel specific things like `Broadcast` and `Deliver` use the channel MSPs as defined by `configtx.yaml`.

jyellick (Mon, 28 Aug 2017 22:12:39 GMT):
@rahulhegde The MSP information in the `orderer.yaml` and `core.yaml` is local to the process. In the orderer case, this is used only for signing. In the peer, this is used for signing and for local admin actions like installing chaincode. All other signature validation for channel specific things like `Broadcast` and `Deliver` use the channel MSPs as initially defined by `configtx.yaml` and stored and propagated in the blockchain

jimthematrix (Tue, 29 Aug 2017 13:37:33 GMT):
@muralisr @yacovm do you guy have an idea what might cause this error? ```Chat stream with peer - on error: "Error: unknown service protos.ChaincodeSupport

jimthematrix (Tue, 29 Aug 2017 13:37:53 GMT):
happening when trying to connect from the chaincode process

yacovm (Tue, 29 Aug 2017 13:37:56 GMT):
yeah

yacovm (Tue, 29 Aug 2017 13:38:00 GMT):
it's the wrong port I guess?

jimthematrix (Tue, 29 Aug 2017 13:38:02 GMT):
oh ;-)

jimthematrix (Tue, 29 Aug 2017 13:38:25 GMT):
pretty sure that shouldn't be the case

yacovm (Tue, 29 Aug 2017 13:38:31 GMT):
what port is that?

yacovm (Tue, 29 Aug 2017 13:38:39 GMT):
7051 no longer works

jimthematrix (Tue, 29 Aug 2017 13:38:42 GMT):
```CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES db6ca221ed65 hyperledger/fabric-peer:latest "peer node start -..." 2 hours ago Up 2 hours 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com

yacovm (Tue, 29 Aug 2017 13:38:56 GMT):
it should be 7052

jimthematrix (Tue, 29 Aug 2017 13:39:08 GMT):
this is how it's launched: ```CORE_CHAINCODE_ID_NAME="mycc:v0" node test/integration/test.js --peer.address grpc://localhost:7051

jimthematrix (Tue, 29 Aug 2017 13:39:16 GMT):
7052?

yacovm (Tue, 29 Aug 2017 13:39:16 GMT):
right

yacovm (Tue, 29 Aug 2017 13:39:18 GMT):
it's the wrong port

yacovm (Tue, 29 Aug 2017 13:39:21 GMT):
7052

jimthematrix (Tue, 29 Aug 2017 13:39:37 GMT):
is that related to the auth handler feature?

yacovm (Tue, 29 Aug 2017 13:39:42 GMT):
no...

muralisr (Tue, 29 Aug 2017 13:39:47 GMT):
are you using an old chaincode image ?

yacovm (Tue, 29 Aug 2017 13:39:48 GMT):
it's related to the TLS CC

jimthematrix (Tue, 29 Aug 2017 13:40:33 GMT):
so the new port is always 7052 regardless if tls is enabled or not?

jimthematrix (Tue, 29 Aug 2017 13:40:40 GMT):
in my case I don't have tls enabled

jimthematrix (Tue, 29 Aug 2017 13:43:14 GMT):
@muralisr this is from the node.js chaincode test code ;-)

jimthematrix (Tue, 29 Aug 2017 13:53:19 GMT):
@yacovm node.js chaincode e2e test working fine now after mapping the additional 7052 port, thanks!

yacovm (Tue, 29 Aug 2017 13:54:33 GMT):
the port is now different because the listener is different, because the TLS configuration is different and separate.

rahulhegde (Tue, 29 Aug 2017 15:21:03 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=4yK3ZiAiZxMmXSHGd) @jyellick Now in that case - to confirm ` config.yaml (4th point - http://hyperledger-fabric.readthedocs.io/en/latest/msp.html#msp-setup-on-the-peer-orderer-side) ` will also become part of the channel-configuration block. Hence for example during Identity Validation process of the received Endorsement Proposal Request, the peer process will pick the endorsement request sender's MSP from the configuration-block (ledger) and one of the step will be to perform the OU validation on that signing cert.

jyellick (Tue, 29 Aug 2017 15:40:33 GMT):
@rahulhegde You keep referring to `config.yaml`, do you mean `conifgtx.yaml`?

jyellick (Tue, 29 Aug 2017 15:40:33 GMT):
@rahulhegde ~You keep referring to `config.yaml`, do you mean `conifgtx.yaml`?~ I see this in the doc now

jyellick (Tue, 29 Aug 2017 15:43:02 GMT):
I have not personally used the OU functions, but yes, looking at the code, if you include this file in your MSP directory, before running the `configtxgen` tool, then this will get included into the configuration block for the channel.

Ratnakar (Tue, 29 Aug 2017 20:51:06 GMT):
@greg.haskins Can we use this patch https://gerrit.hyperledger.org/r/#/c/12799/ for enabling mutual TLS for node chaincode . later we can take up the task of building the client tls certs in the chaincode image ?

anishman (Wed, 30 Aug 2017 14:32:27 GMT):
Has joined the channel.

troyronda (Wed, 30 Aug 2017 20:28:24 GMT):
@greg.haskins @muralisr @cbf hi guys - could you please help me understand the practical purpose of FAB-2122 / CS6059?

troyronda (Wed, 30 Aug 2017 20:31:34 GMT):
It seems to me that a consortium should be able to deploy chaincode applications that meet the interface. Of course, a consortium might want to approve the chaincodes that are deployed consortium-wide (e.g., possibly the result of 3rd party code review). As an example, distributed as a whitelist of hashes. However FAB-2122 and stripping binaries doesn't achieve this.

troyronda (Wed, 30 Aug 2017 20:31:34 GMT):
It seems to me that a consortium should be able to deploy chaincode applications that meet the interface. Of course, a consortium might want to approve the chaincodes that are deployed consortium-wide (e.g., possibly the result of 3rd party code review). As an example, distributed as a whitelist of hashes. However FAB-2122 and stripping content doesn't achieve this.

troyronda (Wed, 30 Aug 2017 20:34:20 GMT):
More strongly, I think we should be able to deploy artificats that are output from our build system rather than submitting source code that peers then compile.

troyronda (Wed, 30 Aug 2017 20:34:20 GMT):
More strongly, I think we should be able to deploy artificats that are output from our "normal" build system rather than submitting source code that peers then compile.

greg.haskins (Wed, 30 Aug 2017 20:34:48 GMT):
@troyronda understand that you are interested in that, but note that FAB-2122 is specific to the type=GOLANG type

greg.haskins (Wed, 30 Aug 2017 20:35:25 GMT):
and type=GOLANG is specific to golang-source payloads

greg.haskins (Wed, 30 Aug 2017 20:35:36 GMT):
i think you are referring to that other thread where you want a new deployment type

troyronda (Wed, 30 Aug 2017 20:36:27 GMT):
There is another thread on that topic but I was trying to review the prior history to understand the current status.

greg.haskins (Wed, 30 Aug 2017 20:36:42 GMT):
OTP, but ill try to respond in a bit

troyronda (Wed, 30 Aug 2017 20:37:10 GMT):
sure, thanks

aleksandar.likic (Wed, 30 Aug 2017 20:52:41 GMT):
Has joined the channel.

jimthematrix (Wed, 30 Aug 2017 21:32:10 GMT):
@greg.haskins if you may allow me to pile on ;-) https://gerrit.hyperledger.org/r/#/c/12799/ is also pending your decision whether to let this one go in as-is (so node.js and golang chaincode are processed exactly the same, by passing the client key and cert on the command line), and use a separate CR to address your concerns and fix it for all chaincode types

jimthematrix (Wed, 30 Aug 2017 21:32:12 GMT):
thanks

greg.haskins (Wed, 30 Aug 2017 21:33:26 GMT):
@jimthematrix im still confused by your statement on that

greg.haskins (Wed, 30 Aug 2017 21:33:38 GMT):
afaict, the other platforms inject the tls using docker-api

greg.haskins (Wed, 30 Aug 2017 21:34:24 GMT):
oh i see what you mean

greg.haskins (Wed, 30 Aug 2017 21:34:29 GMT):
hmm, someone mustve changed that

troyronda (Wed, 30 Aug 2017 22:39:31 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=SAcmewwQLJMLqvvw7) @Vrai1127 I'd suggest you look into the ongoing work on Private Data (FAB-1151)

greg.haskins (Wed, 30 Aug 2017 22:45:56 GMT):
@jimthematrix ah, i see...that snuck in recently

greg.haskins (Wed, 30 Aug 2017 22:45:58 GMT):
https://github.com/hyperledger/fabric/commit/7a26f1fe1f3e09c950a9be0cf1c1adca2dc4dcee

greg.haskins (Wed, 30 Aug 2017 22:46:16 GMT):
thats not the right way to go, though, so lets not perpetuate it

jimthematrix (Wed, 30 Aug 2017 23:08:14 GMT):
@greg.haskins can you recommend an alternative? not sure what you meant by using docker-api

greg.haskins (Wed, 30 Aug 2017 23:16:07 GMT):
@jimthematrix on mobile so can't get links. I think it's called the "upload api" in the docker engine spec. I use it in the container build logic if you search in there

greg.haskins (Wed, 30 Aug 2017 23:16:50 GMT):
Basically CREATE+UPLOAD(TLS)+START is what we want here

greg.haskins (Wed, 30 Aug 2017 23:17:28 GMT):
I'll send link later if you can't find it

greg.haskins (Thu, 31 Aug 2017 00:30:11 GMT):
@jimthematrix https://github.com/hyperledger/fabric/blob/c4c977db678fc9153e1ee37423d5eae828ec87f7/core/chaincode/platforms/util/utils.go#L191

greg.haskins (Thu, 31 Aug 2017 00:33:35 GMT):
@troyronda so, the overall problems with the BINARY proposal, aside from the fact that I am still not convinced that obscure code makes sense, is that it was way too fragile and non deterministic to do it that way

greg.haskins (Thu, 31 Aug 2017 00:34:10 GMT):
my suggestion is to not try to use a native binary, but rather ride on something like JVM/LLVM

greg.haskins (Thu, 31 Aug 2017 00:34:17 GMT):
that would take care of at least part of it

troyronda (Thu, 31 Aug 2017 00:34:19 GMT):
JVM/LLVM is not viable

troyronda (Thu, 31 Aug 2017 00:34:27 GMT):
The source code is Go

troyronda (Thu, 31 Aug 2017 00:34:58 GMT):
let me understand the fragile / non-deterministic comment better

troyronda (Thu, 31 Aug 2017 00:35:09 GMT):
this is the install command, so non-deterministic isn't applicable

greg.haskins (Thu, 31 Aug 2017 00:35:35 GMT):
im just saying what approach I would advise for an obfuscation approach that still allows you to be $arch platform neutral

troyronda (Thu, 31 Aug 2017 00:36:00 GMT):
Go outputs binaries for all the platforms so the easiest way to handle is to include all the binaries

troyronda (Thu, 31 Aug 2017 00:36:00 GMT):
Go outputs binaries for all the platforms so the easiest way to handle is to include all the binaries resulting from x-compile

troyronda (Thu, 31 Aug 2017 00:36:07 GMT):
(the latest patch does this)

greg.haskins (Thu, 31 Aug 2017 00:36:57 GMT):
let me put it this way: is there a variant of running "go build" that you can think of that would produce a sufficiently neutral payload that is independent of $arch/$distro?

greg.haskins (Thu, 31 Aug 2017 00:37:10 GMT):
is that conveyed to the framework?

troyronda (Thu, 31 Aug 2017 00:37:14 GMT):
yes - x-compile

troyronda (Thu, 31 Aug 2017 00:37:16 GMT):
:)

greg.haskins (Thu, 31 Aug 2017 00:37:22 GMT):
can someone else reproduce your binary?

greg.haskins (Thu, 31 Aug 2017 00:37:44 GMT):
your contract isnt very useful unless multiple parties can verify its terms

troyronda (Thu, 31 Aug 2017 00:37:47 GMT):
The build system and code reviewers

troyronda (Thu, 31 Aug 2017 00:38:07 GMT):
Code review should be decoupled from deployment

greg.haskins (Thu, 31 Aug 2017 00:38:09 GMT):
as a code reviewer, how do I know binary X relates to code base Y?

greg.haskins (Thu, 31 Aug 2017 00:38:49 GMT):
what if code reviewer A has a different version of glibc, or nswitch, etc, etc on their system?

troyronda (Thu, 31 Aug 2017 00:39:10 GMT):
build the code in the same docker container

greg.haskins (Thu, 31 Aug 2017 00:39:18 GMT):
bottom line, fabric is a FOSS framework...you can always fork if if you want to run your network that way

greg.haskins (Thu, 31 Aug 2017 00:39:41 GMT):
but the proposal is way too fragile for upstream merging (IMO)

troyronda (Thu, 31 Aug 2017 00:39:45 GMT):
Fabric is a platform that a consortium agrees to run and the consortium defines appropriate processes

greg.haskins (Thu, 31 Aug 2017 00:40:08 GMT):
sure, so your consortium can run a variant that accepts BINARY=4 payloads

greg.haskins (Thu, 31 Aug 2017 00:40:27 GMT):
but it would need to be much more robust to go upstream (again, IMO)

troyronda (Thu, 31 Aug 2017 00:40:42 GMT):
I don't understand your objection - seems philiosophical

greg.haskins (Thu, 31 Aug 2017 00:40:59 GMT):
not philosophical at all...

troyronda (Thu, 31 Aug 2017 00:41:04 GMT):
the proposal isn't fragile - it handles multi-arch

troyronda (Thu, 31 Aug 2017 00:41:27 GMT):
you are placing a requirement on consortiums that doesn't exist - that chaincode must be sent as source code

greg.haskins (Thu, 31 Aug 2017 00:41:28 GMT):
you basically are proposing a weak contract on a interface that needs a strong one

greg.haskins (Thu, 31 Aug 2017 00:41:46 GMT):
I am not placing any requirements on consortiums...

greg.haskins (Thu, 31 Aug 2017 00:42:04 GMT):
I am saying, as one of the maintainers of the code base, I dont think that patch is a good idea for upstream merging

troyronda (Thu, 31 Aug 2017 00:42:08 GMT):
why

troyronda (Thu, 31 Aug 2017 00:42:28 GMT):
multi-arch is supported

greg.haskins (Thu, 31 Aug 2017 00:42:48 GMT):
because, saying "type=BINARY" is a pretty weak description for the payload juxtaposed against all the variants of the peer in which it may encounter

troyronda (Thu, 31 Aug 2017 00:43:15 GMT):
any suggestion for a better type description?

greg.haskins (Thu, 31 Aug 2017 00:46:35 GMT):
I would probably start with the way any ABI is negotiated: either versioned or feature tagged

troyronda (Thu, 31 Aug 2017 00:47:06 GMT):
As an example, what about including as source-code a loader of the binary

troyronda (Thu, 31 Aug 2017 00:47:16 GMT):
this source-code is compiled against the shim

troyronda (Thu, 31 Aug 2017 00:47:28 GMT):
and meets the interface

troyronda (Thu, 31 Aug 2017 00:47:40 GMT):
the binary isn't executable in that case

greg.haskins (Thu, 31 Aug 2017 00:47:47 GMT):
but I would also strongly suggest a more platform neutral approach...there isnt a way today to negotiate the potentially infinite heterogeneous composition of your network apriori

greg.haskins (Thu, 31 Aug 2017 00:48:11 GMT):
what if we add ARM7 in v1.1

greg.haskins (Thu, 31 Aug 2017 00:48:26 GMT):
or update the glibc, but only half the nodes update

greg.haskins (Thu, 31 Aug 2017 00:48:32 GMT):
etc etc

greg.haskins (Thu, 31 Aug 2017 00:48:36 GMT):
its fragile

troyronda (Thu, 31 Aug 2017 00:48:39 GMT):
these are closed consortiums

troyronda (Thu, 31 Aug 2017 00:49:02 GMT):
if arm7 becomes a platform in a consortium, then support is added

greg.haskins (Thu, 31 Aug 2017 00:49:34 GMT):
well, again, that consortium can choose to patch the support...i see no problem in that...then the heterogeneity problem doesnt need to be addressed

greg.haskins (Thu, 31 Aug 2017 00:50:02 GMT):
another alternative is to implement it as system chaincode and embed it in the peer that the consortium runs

troyronda (Thu, 31 Aug 2017 00:50:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3EqmZWiYDQ7CPfQqD)

troyronda (Thu, 31 Aug 2017 00:51:02 GMT):
the objection was the interface contract - i think this can be addressed with the source code loader

troyronda (Thu, 31 Aug 2017 00:51:12 GMT):
I don't buy the argument the fragile argument

troyronda (Thu, 31 Aug 2017 00:51:12 GMT):
I don't buy the fragile argument

greg.haskins (Thu, 31 Aug 2017 00:51:23 GMT):
ok, you dont have to

troyronda (Thu, 31 Aug 2017 00:51:38 GMT):
even CC doesn't necessarily compiled to every platform

troyronda (Thu, 31 Aug 2017 00:51:38 GMT):
even CC doesn't necessarily compile to every platform

greg.haskins (Thu, 31 Aug 2017 00:51:54 GMT):
agreed, and I raised that ABI issue already

greg.haskins (Thu, 31 Aug 2017 00:52:00 GMT):
and plan on fixing it

troyronda (Thu, 31 Aug 2017 00:52:04 GMT):
are you saying that only langauages that compile to every target should be included as environments

troyronda (Thu, 31 Aug 2017 00:52:04 GMT):
are you saying that only languages that compile to every target should be included as platforms

troyronda (Thu, 31 Aug 2017 00:52:38 GMT):
compilation of CC can already fail - you can't guarantee this

greg.haskins (Thu, 31 Aug 2017 00:53:07 GMT):
i am suggesting that golang binaries are a poor/fragile vehicle for heterogeneous execution

troyronda (Thu, 31 Aug 2017 00:53:32 GMT):
Not if multiple archs are included in the package

troyronda (Thu, 31 Aug 2017 00:53:50 GMT):
It's an implementation detail on who produced it

greg.haskins (Thu, 31 Aug 2017 00:53:59 GMT):
I am also suggesting that non-deterministic generation is illogical for chaincode

troyronda (Thu, 31 Aug 2017 00:54:00 GMT):
Same compiler

troyronda (Thu, 31 Aug 2017 00:54:08 GMT):
non-deterministic?

troyronda (Thu, 31 Aug 2017 00:54:42 GMT):
Install has no deterministic requirements - it is run individually on each peer

troyronda (Thu, 31 Aug 2017 00:54:57 GMT):
there is no endorsement

greg.haskins (Thu, 31 Aug 2017 00:55:05 GMT):
im saying that if multiple parties need a smart contract, those parties need to be able to evaluate both what the contract guarantees, and that they are actually interacting with it

troyronda (Thu, 31 Aug 2017 00:55:22 GMT):
Up to the consortium to decide how to handle

greg.haskins (Thu, 31 Aug 2017 00:55:42 GMT):
sure..so, run the consortium however you like

troyronda (Thu, 31 Aug 2017 00:55:45 GMT):
And submitting source code doesn't do anything

greg.haskins (Thu, 31 Aug 2017 00:55:49 GMT):
patch the code to accept binaries...totally fine

troyronda (Thu, 31 Aug 2017 00:55:58 GMT):
Without real reviews of the source code nothing happens

greg.haskins (Thu, 31 Aug 2017 00:56:05 GMT):
its not about review

troyronda (Thu, 31 Aug 2017 00:56:10 GMT):
of course it is

greg.haskins (Thu, 31 Aug 2017 00:56:14 GMT):
(well, it is, but not in this context

greg.haskins (Thu, 31 Aug 2017 00:56:24 GMT):
no, its about attestation

troyronda (Thu, 31 Aug 2017 00:56:37 GMT):
yes - an expert review needs to examine the code

troyronda (Thu, 31 Aug 2017 00:56:43 GMT):
this has nothing to do with compilation on the peer

greg.haskins (Thu, 31 Aug 2017 00:56:50 GMT):
you cant have attestation without a deterministic relationship between source and payload

troyronda (Thu, 31 Aug 2017 00:57:06 GMT):
compile the code in the same environment with the same compiler - reviewer does the same

troyronda (Thu, 31 Aug 2017 00:57:11 GMT):
doesn't need to be done on a peer

greg.haskins (Thu, 31 Aug 2017 00:57:36 GMT):
thats an extra constraint that can't be enforced simply by saying "I accept type=BINARY"

troyronda (Thu, 31 Aug 2017 00:58:00 GMT):
there should be a whitelist feature but this is a general feature not just for binary

greg.haskins (Thu, 31 Aug 2017 00:58:04 GMT):
saying "I accept type=BINARY" means you are relying on an external process to enforce robustness

troyronda (Thu, 31 Aug 2017 00:58:12 GMT):
same with source code

greg.haskins (Thu, 31 Aug 2017 00:58:14 GMT):
and that is fragile

greg.haskins (Thu, 31 Aug 2017 00:58:36 GMT):
no, its not the same

troyronda (Thu, 31 Aug 2017 00:58:47 GMT):
if no one reviews before instantiation on each peer it is

troyronda (Thu, 31 Aug 2017 00:58:52 GMT):
*on each peer*

greg.haskins (Thu, 31 Aug 2017 00:58:55 GMT):
because each peer can take an identical source payload, hash it, and the compile it

troyronda (Thu, 31 Aug 2017 00:59:08 GMT):
install is sent individually to each peer

troyronda (Thu, 31 Aug 2017 00:59:23 GMT):
what's the protection if different source code is sent to one of them

greg.haskins (Thu, 31 Aug 2017 00:59:25 GMT):
that doesnt matter though

greg.haskins (Thu, 31 Aug 2017 00:59:33 GMT):
different source is different hash

troyronda (Thu, 31 Aug 2017 00:59:42 GMT):
different binary is different hash

greg.haskins (Thu, 31 Aug 2017 00:59:54 GMT):
yes, you are making my point

troyronda (Thu, 31 Aug 2017 01:00:12 GMT):
we both agree that if someone does the review then things are good and if they don't then they aren't

troyronda (Thu, 31 Aug 2017 01:00:17 GMT):
:)

greg.haskins (Thu, 31 Aug 2017 01:00:23 GMT):
no, we are talking about different things

troyronda (Thu, 31 Aug 2017 01:00:30 GMT):
if no one reviews the source code on the peer it's the same result

greg.haskins (Thu, 31 Aug 2017 01:00:48 GMT):
review is one part, attestation is a different part, and determinism links them together

troyronda (Thu, 31 Aug 2017 01:01:07 GMT):
but you can deterministically build the binary

greg.haskins (Thu, 31 Aug 2017 01:01:17 GMT):
only with an external process

greg.haskins (Thu, 31 Aug 2017 01:01:23 GMT):
if you are careful, sure, maybe

troyronda (Thu, 31 Aug 2017 01:01:25 GMT):
reviewing code is an external process

greg.haskins (Thu, 31 Aug 2017 01:01:37 GMT):
forget about the review

troyronda (Thu, 31 Aug 2017 01:01:38 GMT):
distribute the same docker image - i don't see the issue

greg.haskins (Thu, 31 Aug 2017 01:01:46 GMT):
the issue is relating the review to what the peer is executing

troyronda (Thu, 31 Aug 2017 01:02:00 GMT):
yes - whether sent as binary or source code, that must be reviewed

greg.haskins (Thu, 31 Aug 2017 01:02:19 GMT):
sure, AND you need to be able to relate the review to what is executing

troyronda (Thu, 31 Aug 2017 01:02:25 GMT):
sure - via the hash

greg.haskins (Thu, 31 Aug 2017 01:02:40 GMT):
yes...and therein lies the relationship to determinism

troyronda (Thu, 31 Aug 2017 01:02:47 GMT):
but source code sent to the peer doesn't change the picture

greg.haskins (Thu, 31 Aug 2017 01:02:59 GMT):
yes, it does

troyronda (Thu, 31 Aug 2017 01:03:23 GMT):
if i have a reviewer reviews the code, deterministically produces the same binary then no issue

troyronda (Thu, 31 Aug 2017 01:03:23 GMT):
if i have a reviewer review the code, deterministically produces the same binary then no issue

greg.haskins (Thu, 31 Aug 2017 01:03:51 GMT):
IFF, then thats _one_ issue

greg.haskins (Thu, 31 Aug 2017 01:03:59 GMT):
but you still have others

troyronda (Thu, 31 Aug 2017 01:04:13 GMT):
I don't have an arch issue

greg.haskins (Thu, 31 Aug 2017 01:04:27 GMT):
no, you dont _think_ you have an arch issue ;)

troyronda (Thu, 31 Aug 2017 01:04:32 GMT):
I know I don't :)

troyronda (Thu, 31 Aug 2017 01:04:51 GMT):
The source is Go and I can cross-compile to all the archs

greg.haskins (Thu, 31 Aug 2017 01:04:59 GMT):
that alone isnt enough

greg.haskins (Thu, 31 Aug 2017 01:05:08 GMT):
its not just $arch

greg.haskins (Thu, 31 Aug 2017 01:05:31 GMT):
$distro matters...$version matters, lots of things you havent thought of, matter

greg.haskins (Thu, 31 Aug 2017 01:05:42 GMT):
its just a bad idea: ive seen this movie

troyronda (Thu, 31 Aug 2017 01:06:07 GMT):
On the interface issue, I can supply the source code that loads the object code - that source code is compiled against the interface

troyronda (Thu, 31 Aug 2017 01:06:15 GMT):
distro doesn't matter - its run in docker

troyronda (Thu, 31 Aug 2017 01:06:35 GMT):
one of the benefits of wrapping the result in docker is that I don't have to worry about this

greg.haskins (Thu, 31 Aug 2017 01:06:36 GMT):
so tell me, what does "runs in docker" mean to you?

troyronda (Thu, 31 Aug 2017 01:06:56 GMT):
I know what environment to expect and what files are available

troyronda (Thu, 31 Aug 2017 01:07:10 GMT):
aka distro

troyronda (Thu, 31 Aug 2017 01:07:44 GMT):
I know that it runs in the host OS and that it uses the host kernel

greg.haskins (Thu, 31 Aug 2017 01:07:51 GMT):
for all $arch? for all $kernel, for all $dockerd?

greg.haskins (Thu, 31 Aug 2017 01:08:27 GMT):
i'm not saying "it cant work"...im just saying "its fragile" and thus I dont think this is a good general solution

greg.haskins (Thu, 31 Aug 2017 01:08:39 GMT):
why is it critical to go upstream?

troyronda (Thu, 31 Aug 2017 01:09:06 GMT):
I think issues that come up can be resolved by an object loader, as needed

greg.haskins (Thu, 31 Aug 2017 01:09:19 GMT):
if you want a good model to follow here, I would look at how JVM negotiation takes place

greg.haskins (Thu, 31 Aug 2017 01:09:37 GMT):
e.g. --target/--source 1.6/1.7/1.8 etc

greg.haskins (Thu, 31 Aug 2017 01:09:52 GMT):
if you had that kind of facility, maybe

troyronda (Thu, 31 Aug 2017 01:09:54 GMT):
sorry don't follow

troyronda (Thu, 31 Aug 2017 01:10:18 GMT):
like a constraint matcher on which binary to load?

greg.haskins (Thu, 31 Aug 2017 01:10:19 GMT):
you are familiar with jvm environment in general, i assume

greg.haskins (Thu, 31 Aug 2017 01:10:43 GMT):
yes, like I mentioned before, version/feature negotiation

greg.haskins (Thu, 31 Aug 2017 01:11:02 GMT):
I can build a .jar for, say, 1.7 and then run it on jvm 1.9

greg.haskins (Thu, 31 Aug 2017 01:11:12 GMT):
it negotiates down to emulate 1.7 based on the payload

troyronda (Thu, 31 Aug 2017 01:11:19 GMT):
Sure

troyronda (Thu, 31 Aug 2017 01:11:59 GMT):
I had been thinking of a simpler constraint matcher (like go dep), but you are talking at the feature level

troyronda (Thu, 31 Aug 2017 01:12:18 GMT):
i.e., take the highest version that meets the constraints

greg.haskins (Thu, 31 Aug 2017 01:12:22 GMT):
if you had a robust feature/version negotiation AND a way to deterministically map from source to payload, I would be more open to the idea

greg.haskins (Thu, 31 Aug 2017 01:12:43 GMT):
without that, I dont think it makes sense to consider in a general framework

troyronda (Thu, 31 Aug 2017 01:12:47 GMT):
am i missing something on the deterministic map?

greg.haskins (Thu, 31 Aug 2017 01:12:54 GMT):
it seems, yes

greg.haskins (Thu, 31 Aug 2017 01:13:29 GMT):
let me play your argument back to you

greg.haskins (Thu, 31 Aug 2017 01:14:24 GMT):
you are saying "i have a well controlled group (consortium) and we agree to play nice such that everyone knows that type=BINARY was generated with process XYZ"

greg.haskins (Thu, 31 Aug 2017 01:14:47 GMT):
and therefore my determinism is derived from everyone doing process XYZ

troyronda (Thu, 31 Aug 2017 01:15:00 GMT):
and was process XYZ was appropriately review and the source code in that process was also appropriately reviewed

troyronda (Thu, 31 Aug 2017 01:15:00 GMT):
and was process XYZ was appropriately reviewed and the source code in that process was also appropriately reviewed

troyronda (Thu, 31 Aug 2017 01:15:00 GMT):
and process XYZ was appropriately reviewed and the source code in that process was also appropriately reviewed

greg.haskins (Thu, 31 Aug 2017 01:15:14 GMT):
sure, that goes without saying

greg.haskins (Thu, 31 Aug 2017 01:15:23 GMT):
but heres the problem

greg.haskins (Thu, 31 Aug 2017 01:16:38 GMT):
as a general purpose platform, we dont have that luxury of assuming everyone will know that is on them to sort out

greg.haskins (Thu, 31 Aug 2017 01:16:48 GMT):
and if they dont know its on them to sort out, its fragile

greg.haskins (Thu, 31 Aug 2017 01:17:31 GMT):
id rather it be an intrinsic property of the platform E.g. "I am a jar for jvm 1.7"

troyronda (Thu, 31 Aug 2017 01:17:32 GMT):
And I then I make the argument that this is still true with source-code based approaches

greg.haskins (Thu, 31 Aug 2017 01:17:45 GMT):
and the platform knows what it is, knows what to do with it, or can reject it if it doesnt

troyronda (Thu, 31 Aug 2017 01:17:47 GMT):
(if each participant doesn't review)

troyronda (Thu, 31 Aug 2017 01:18:02 GMT):
it's so easy not to review right now

greg.haskins (Thu, 31 Aug 2017 01:18:06 GMT):
ok, I will try to explain this one more time

troyronda (Thu, 31 Aug 2017 01:18:10 GMT):
install and insantiate

greg.haskins (Thu, 31 Aug 2017 01:18:21 GMT):
its not about review, its about attestation between what was reviewed, and what is executing

greg.haskins (Thu, 31 Aug 2017 01:18:32 GMT):
do this experiment

greg.haskins (Thu, 31 Aug 2017 01:18:43 GMT):
write "hello world" in golang

greg.haskins (Thu, 31 Aug 2017 01:19:34 GMT):
now run "go build" and hash it with say, shasum

greg.haskins (Thu, 31 Aug 2017 01:20:23 GMT):
repeat that process on every system ...even keeping things like "$arch" constant, do you think you will get the exact shasum on every system

greg.haskins (Thu, 31 Aug 2017 01:21:01 GMT):
say, OSX 10.12 verses ubuntu 16.04, verses alpine, vs OSX 10.11, or OSX 10.12 with todays patch, or .....

greg.haskins (Thu, 31 Aug 2017 01:21:04 GMT):
get the picture?

greg.haskins (Thu, 31 Aug 2017 01:21:21 GMT):
that binary is almost assuredly not going to generate the same shasum

greg.haskins (Thu, 31 Aug 2017 01:21:31 GMT):
but its the same code

greg.haskins (Thu, 31 Aug 2017 01:22:12 GMT):
even tiny things like libc.so are going to completely hose you

greg.haskins (Thu, 31 Aug 2017 01:22:44 GMT):
i.e. native binaries are poor vehicles for distributed systems that rely on determinism

greg.haskins (Thu, 31 Aug 2017 01:23:48 GMT):
so, if I review "hello world" and you review "hello world", but you give me a binary that shas differently than the one I produce, how do I know you didnt really send me "bonjour" instead?

greg.haskins (Thu, 31 Aug 2017 01:25:45 GMT):
i've been doing this a long time: im pretty skeptical that would offer even a modicum of determinism

greg.haskins (Thu, 31 Aug 2017 01:26:33 GMT):
and if its not deterministic, its of little value as a contract vehicle

troyronda (Thu, 31 Aug 2017 01:47:30 GMT):
@greg.haskins fyi - result of experiment .. only two machines though

troyronda (Thu, 31 Aug 2017 01:47:42 GMT):
machine 1 - mac osx; machine 2 - ubuntu

troyronda (Thu, 31 Aug 2017 01:47:47 GMT):
installed exact same docker image

troyronda (Thu, 31 Aug 2017 01:47:52 GMT):
on one:

troyronda (Thu, 31 Aug 2017 01:47:54 GMT):
root@61f715bba28b:/go/src# uname -a Linux 61f715bba28b 4.9.41-moby #1 SMP Fri Aug 18 01:58:38 UTC 2017 x86_64 GNU/Linux root@61f715bba28b:/go/src# sha256sum < src 37ead42bf5add387ab254727f805f15209ebf23f95cf0867a8b0e88d2564b4de -

troyronda (Thu, 31 Aug 2017 01:48:10 GMT):
on second: root@19853b642eaa:/go/src# uname -a Linux 19853b642eaa 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 GNU/Linux root@19853b642eaa:/go/src# sha256sum < src 37ead42bf5add387ab254727f805f15209ebf23f95cf0867a8b0e88d2564b4de -

troyronda (Thu, 31 Aug 2017 01:48:27 GMT):
root@19853b642eaa:/go/src# ./src hello world

troyronda (Thu, 31 Aug 2017 01:48:45 GMT):
(src is just the name of the executable because I was lazy and just dumped hello.go in the folder)

greg.haskins (Thu, 31 Aug 2017 01:48:49 GMT):
and how are you enforcing all users use "exact same docker image"

greg.haskins (Thu, 31 Aug 2017 01:49:13 GMT):
via process XYZ, right?

troyronda (Thu, 31 Aug 2017 01:49:16 GMT):
This isn't an issue - only those who need to review follow the instructions

troyronda (Thu, 31 Aug 2017 01:49:16 GMT):
This isn't an issue - only those who need to review and accept follow the instructions

troyronda (Thu, 31 Aug 2017 01:49:30 GMT):
Code reviewer(s) say they produce a certain hash

troyronda (Thu, 31 Aug 2017 01:49:35 GMT):
follow the instructions to validate

troyronda (Thu, 31 Aug 2017 01:49:35 GMT):
participants follow the instructions to validate

troyronda (Thu, 31 Aug 2017 01:49:39 GMT):
this is deterministic

troyronda (Thu, 31 Aug 2017 01:50:09 GMT):
instructions are simple

troyronda (Thu, 31 Aug 2017 01:50:30 GMT):
same as hashing a folder of source

troyronda (Thu, 31 Aug 2017 01:50:30 GMT):
same as hashing a folder of source, but in this case hashing a binary

troyronda (Thu, 31 Aug 2017 01:50:53 GMT):
if you trust the reviewer(s), or enough reviewers then this is all good

troyronda (Thu, 31 Aug 2017 01:52:17 GMT):
for those who are curious, this was the go 1.9. root@61f715bba28b:/go/src# go version go version go1.9 linux/amd64

troyronda (Thu, 31 Aug 2017 01:52:25 GMT):
root@19853b642eaa:/go/src# go version go version go1.9 linux/amd64

troyronda (Thu, 31 Aug 2017 01:54:36 GMT):
docker was started using docker run -it golang:1.9 bash

greg.haskins (Thu, 31 Aug 2017 01:55:21 GMT):
so, to be clear, i was talking about native platform go-execution, not in a docker container

greg.haskins (Thu, 31 Aug 2017 01:55:25 GMT):
but lets talk about that

greg.haskins (Thu, 31 Aug 2017 01:55:30 GMT):
what does your dockerfile look like?

troyronda (Thu, 31 Aug 2017 02:08:16 GMT):
For simplicity, I just used the first one I saw that already installed Go 1.9 (https://hub.docker.com/_/golang/ ; https://github.com/docker-library/golang/blob/94e49ca93c5bbf172e462cea8872c77f9bc08c10/1.9/stretch/Dockerfile)

troyronda (Thu, 31 Aug 2017 02:08:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=XJ6SeFSitSAWnxFtQ) ok - I always assumed I would create the same environment

greg.haskins (Thu, 31 Aug 2017 02:09:30 GMT):
any thoughts about this line w.r.t. determinism?: https://github.com/docker-library/golang/blob/94e49ca93c5bbf172e462cea8872c77f9bc08c10/1.9/stretch/Dockerfile#L4

troyronda (Thu, 31 Aug 2017 02:09:32 GMT):
(not that I would use this one in particular)

greg.haskins (Thu, 31 Aug 2017 02:09:42 GMT):
how about running "ldd ./src"

troyronda (Thu, 31 Aug 2017 02:10:03 GMT):
the dockerfile that one would actually use would need to lock the apt repo sources for example

greg.haskins (Thu, 31 Aug 2017 02:10:30 GMT):
ok, so maybe "use docker is process X, and use fixed containers is process Y

greg.haskins (Thu, 31 Aug 2017 02:10:37 GMT):
what else is in the mix?

greg.haskins (Thu, 31 Aug 2017 02:10:45 GMT):
what is that binary linked against?

troyronda (Thu, 31 Aug 2017 02:10:45 GMT):
but my point was just to see if the same docker image across two OSes with Golang resulted in the same

troyronda (Thu, 31 Aug 2017 02:10:45 GMT):
but my goal was just to see if the same docker image across two OSes with Golang resulted in the same

greg.haskins (Thu, 31 Aug 2017 02:11:15 GMT):
what do you get when you look at the linker tables

greg.haskins (Thu, 31 Aug 2017 02:11:21 GMT):
?

troyronda (Thu, 31 Aug 2017 02:11:24 GMT):
root@61f715bba28b:/go/src# ldd ./src not a dynamic executable root@61f715bba28b:/go/src# ./src hello world root@61f715bba28b:/go/src#

greg.haskins (Thu, 31 Aug 2017 02:11:53 GMT):
is this system on glibc?

greg.haskins (Thu, 31 Aug 2017 02:12:57 GMT):
musl perhaps?

troyronda (Thu, 31 Aug 2017 02:13:10 GMT):
root@61f715bba28b:/go/src# ldd --version ldd (Debian GLIBC 2.24-11+deb9u1) 2.24 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper. root@61f715bba28b:/go/src#

greg.haskins (Thu, 31 Aug 2017 02:13:31 GMT):
do you see any instances of dlopen in the symbol table?

troyronda (Thu, 31 Aug 2017 02:15:32 GMT):
no

troyronda (Thu, 31 Aug 2017 02:15:56 GMT):
(if this is sufficient: readelf --symbols src | grep -i dlopen)

greg.haskins (Thu, 31 Aug 2017 02:16:27 GMT):
not sure...the real test will be to try to have the image try to gethostbyname()

greg.haskins (Thu, 31 Aug 2017 02:17:08 GMT):
usually when you link to glibc, even statically, it will embed a call to dlopen the libnss.so stuff

greg.haskins (Thu, 31 Aug 2017 02:17:18 GMT):
depending on how it was compiled

greg.haskins (Thu, 31 Aug 2017 02:20:05 GMT):
if the container you used happens to be close enough to the libnss.so available in the baseos container, it may get past that hurdle too

greg.haskins (Thu, 31 Aug 2017 02:20:41 GMT):
assuming we dont go to FROM scratch/busybox again, which we did in the past

troyronda (Thu, 31 Aug 2017 02:25:58 GMT):
root@373aaaf4a98c:/go/src/hello2# go build root@373aaaf4a98c:/go/src/hello2# ./hello2 address: [23.185.0.4 2620:12a:8000::4 2620:12a:8001::4] root@373aaaf4a98c:/go/src/hello2# sha256sum < hello2 82ff9bf158bf35d8a9b9dba65ce24b4dde60c18c9d54e2b1e0dfe0422bbb1ff1 - root@373aaaf4a98c:/go/src/hello2# ldd hello2 linux-vdso.so.1 (0x00007fff0cd2e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd3cf94b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd3cf5ac000) /lib64/ld-linux-x86-64.so.2 (0x000055a8c41a5000) root@373aaaf4a98c:/go/src/hello2#

greg.haskins (Thu, 31 Aug 2017 02:26:44 GMT):
so thats dynamically linked...thats even worse

troyronda (Thu, 31 Aug 2017 02:26:49 GMT):
root@61f715bba28b:/go/src/hello2# go build root@61f715bba28b:/go/src/hello2# ./hello2 address: [23.185.0.4 ffff:ffff:8000::4 ffff:ffff:8001::4] root@61f715bba28b:/go/src/hello2# sha256sum < hello2 82ff9bf158bf35d8a9b9dba65ce24b4dde60c18c9d54e2b1e0dfe0422bbb1ff1 - root@61f715bba28b:/go/src/hello2# ldd hello2 linux-vdso.so.1 (0x00007fffc9703000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f81c870e000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81c836f000) /lib64/ld-linux-x86-64.so.2 (0x00007f81c892b000) root@61f715bba28b:/go/src/hello2#

greg.haskins (Thu, 31 Aug 2017 02:26:54 GMT):
what was the difference in how you compiled the first "src"

troyronda (Thu, 31 Aug 2017 02:27:10 GMT):
Different source code, same build command

troyronda (Thu, 31 Aug 2017 02:27:12 GMT):
(go build)

troyronda (Thu, 31 Aug 2017 02:27:37 GMT):
root@61f715bba28b:/go/src/hello2# cat hello2.go package main import ( "fmt" "net" ) func main() { addrs, err := net.LookupHost("hyperledger.org") if err == nil { fmt.Printf("address: %v\n", addrs) } else { fmt.Printf("error: %v\n", err) } } root@61f715bba28b:/go/src/hello2#

greg.haskins (Thu, 31 Aug 2017 02:28:29 GMT):
ok, now take "hello2" and put it in a "FROM scratch" container

greg.haskins (Thu, 31 Aug 2017 02:28:56 GMT):
(actually put both the static link and dyn linked ones in, just for fun)

greg.haskins (Thu, 31 Aug 2017 02:32:16 GMT):
something like this ```FROM scratch WORKDIR /usr/local/app COPY hello2 . CMD ./hello2```

troyronda (Thu, 31 Aug 2017 02:35:54 GMT):
ok

troyronda (Thu, 31 Aug 2017 02:36:30 GMT):
i hadn't bothered with cmd, but did this:

troyronda (Thu, 31 Aug 2017 02:36:31 GMT):
➜ d docker run -it 172603008db3 /hello hello world ➜ d docker run -it 172603008db3 /hello2 standard_init_linux.go:187: exec user process caused "no such file or directory"

greg.haskins (Thu, 31 Aug 2017 02:36:52 GMT):
sure, thats fine

greg.haskins (Thu, 31 Aug 2017 02:37:35 GMT):
its hard to tell from the output, but I think that bottom one is an example of my point

greg.haskins (Thu, 31 Aug 2017 02:38:17 GMT):
its likely dying because it cant find things like /lib/x86_64-linux-gnu/libc.so.6

greg.haskins (Thu, 31 Aug 2017 02:38:45 GMT):
so, you can partially mitigate that by forcing the link as static

greg.haskins (Thu, 31 Aug 2017 02:39:00 GMT):
but, I suspect your net.LookupHost will still fail

troyronda (Thu, 31 Aug 2017 02:39:23 GMT):
Those .so would be in the peer-created docker image

greg.haskins (Thu, 31 Aug 2017 02:39:46 GMT):
anyway, main point is that even with docker normalizing the tool chain, you still have decoupled environments

greg.haskins (Thu, 31 Aug 2017 02:39:57 GMT):
and theres no negotiation of this as far as I can tell

troyronda (Thu, 31 Aug 2017 02:40:13 GMT):
If I submit the source code for the peer to compile, the same thing happen

greg.haskins (Thu, 31 Aug 2017 02:40:18 GMT):
those would really be the two main things I would want to see addressed

greg.haskins (Thu, 31 Aug 2017 02:40:34 GMT):
well, no, because the peer compiles it to its environment

greg.haskins (Thu, 31 Aug 2017 02:41:28 GMT):
for instance, if one peer has /lib/libc.musl-x86_64.so.1 and another has /lib/libc.glibc-x86_64.so.1, each is linked locally

greg.haskins (Thu, 31 Aug 2017 02:41:28 GMT):
for instance, if one peer has /lib/libc.musl-x86_64.so.1 and another has /lib/libc.glibc-ppcle64.so.1, each is linked locally

troyronda (Thu, 31 Aug 2017 02:41:58 GMT):
Is that expected?

greg.haskins (Thu, 31 Aug 2017 02:42:02 GMT):
yes

troyronda (Thu, 31 Aug 2017 02:42:05 GMT):
in the docker image

troyronda (Thu, 31 Aug 2017 02:42:17 GMT):
not on the peer because that's not relevant

troyronda (Thu, 31 Aug 2017 02:42:27 GMT):
in the docker image environment that the CC is injected into

greg.haskins (Thu, 31 Aug 2017 02:42:31 GMT):
yes, its expected

greg.haskins (Thu, 31 Aug 2017 02:42:54 GMT):
even in just the simple example of heterogeneous $arch

greg.haskins (Thu, 31 Aug 2017 02:43:23 GMT):
the ppcle team could very well have built their container with a different lineage

greg.haskins (Thu, 31 Aug 2017 02:44:10 GMT):
in fact, they do today, though they all have debian roots so its "sorta" normalized

greg.haskins (Thu, 31 Aug 2017 02:44:15 GMT):
but you cant bank on that

troyronda (Thu, 31 Aug 2017 02:44:42 GMT):
does bring up a question about even with source submitted if everything always works then

greg.haskins (Thu, 31 Aug 2017 02:44:51 GMT):
also consider things like we base on debian/ubuntu today, but I know the redhat folks are busy porting it over to RH ecosystem

greg.haskins (Thu, 31 Aug 2017 02:45:14 GMT):
so you could easily have a network were some peers are ubuntu and others are rhel based, for example

greg.haskins (Thu, 31 Aug 2017 02:45:26 GMT):
or, the next drop could be alpine based, whatever

troyronda (Thu, 31 Aug 2017 02:45:34 GMT):
(not scripts like node, but source that is compiled)

troyronda (Thu, 31 Aug 2017 02:45:43 GMT):
(like the existing golang platform)

greg.haskins (Thu, 31 Aug 2017 02:45:54 GMT):
yes, so even the source needs better ABI management than we have today

greg.haskins (Thu, 31 Aug 2017 02:45:59 GMT):
i have been arguing for this

greg.haskins (Thu, 31 Aug 2017 02:46:20 GMT):
but the problem is greatly exacerbated by the proposition of binary payloads

greg.haskins (Thu, 31 Aug 2017 02:46:23 GMT):
thus my objections

troyronda (Thu, 31 Aug 2017 02:47:50 GMT):
unless the binary is static linked...

greg.haskins (Thu, 31 Aug 2017 02:48:07 GMT):
not to shamelessly plug my own project, but I was trying to tackle this problem in chaintool with the notion of "platform specifier"

greg.haskins (Thu, 31 Aug 2017 02:48:12 GMT):
http://fabric-chaintool.readthedocs.io/en/latest/platforms/golang/#platform-specifier

greg.haskins (Thu, 31 Aug 2017 02:48:32 GMT):
something like that is similar to the "jar v1.7 on jvm v1.9"

greg.haskins (Thu, 31 Aug 2017 02:48:37 GMT):
notion

troyronda (Thu, 31 Aug 2017 02:48:52 GMT):
To be honest, when I first heard about that tool - before reading the description, i had thought it would create packaged binaries from me

troyronda (Thu, 31 Aug 2017 02:48:52 GMT):
To be honest, when I first heard about that tool - before reading the description, i had thought it would create packaged binaries from mefor

troyronda (Thu, 31 Aug 2017 02:48:52 GMT):
To be honest, when I first heard about that tool - before reading the description, i had thought it would create packaged binaries for me

troyronda (Thu, 31 Aug 2017 02:48:53 GMT):
;)

greg.haskins (Thu, 31 Aug 2017 02:49:06 GMT):
even static linked isnt a panecea...static linking is really weak in golang/glibc

greg.haskins (Thu, 31 Aug 2017 02:49:31 GMT):
theres that nasty problem with gethostbyname to contend with

troyronda (Thu, 31 Aug 2017 02:49:32 GMT):
that I would have something to plug into my build system :)

greg.haskins (Thu, 31 Aug 2017 02:49:46 GMT):
and theres still the problem that you cant predict the $arch that might be in the network

troyronda (Thu, 31 Aug 2017 02:50:13 GMT):
<= fabric supported archs :)

troyronda (Thu, 31 Aug 2017 02:50:41 GMT):
these problems are less so for binaries derived from go

greg.haskins (Thu, 31 Aug 2017 02:50:43 GMT):
yes...but to my point...each one of those constraints are one more point of fragility

greg.haskins (Thu, 31 Aug 2017 02:51:03 GMT):
and trust me, if its there, users will try to shove @##$ into it, and then we get the hard to decipher bug reports

greg.haskins (Thu, 31 Aug 2017 02:53:07 GMT):
so, I would really rather see a strong story about deterministic payloads, ideally universal $arch/$distro neutrality, and feature/compat negotiation

troyronda (Thu, 31 Aug 2017 02:54:58 GMT):
I'm still wondering about a mechanism to bring in a binary library that is loaded by submitted source (that the peer compiles).

greg.haskins (Thu, 31 Aug 2017 02:55:40 GMT):
that seems more like an alternate way to do the same concept, with the same concerns

greg.haskins (Thu, 31 Aug 2017 02:56:11 GMT):
i still think you are barking up the wrong tree with native object code

greg.haskins (Thu, 31 Aug 2017 02:57:01 GMT):
if you want to deploy obfuscated uberjars on top of a JVM, written in clojure, im all over that

greg.haskins (Thu, 31 Aug 2017 02:57:05 GMT):
;)

troyronda (Thu, 31 Aug 2017 02:57:23 GMT):
yeh ha.

greg.haskins (Thu, 31 Aug 2017 02:57:54 GMT):
if my team and I can ever get some spare cycles, we'll be tackling that

troyronda (Thu, 31 Aug 2017 02:58:22 GMT):
The obfuscated part?

greg.haskins (Thu, 31 Aug 2017 02:59:00 GMT):
well, my interest in is clojure chaincode in general...but I can see how that could be extended to .jar deployment model fairly trivially and without the issues I am raising now

troyronda (Thu, 31 Aug 2017 02:59:24 GMT):
Ah - I was curious if you had an obfuscation use case :)

greg.haskins (Thu, 31 Aug 2017 02:59:39 GMT):
it would at least solve 2 of the 3 concerns cleanly, and the third could be managed I think

greg.haskins (Thu, 31 Aug 2017 03:00:01 GMT):
its not high on my radar now, but I can understand why it interest you

greg.haskins (Thu, 31 Aug 2017 03:01:13 GMT):
anyway, that is why I initially suggested the JVM/LLVM route

troyronda (Thu, 31 Aug 2017 03:01:15 GMT):
From the above, it does seem that object code produced specifically from Go has potential though (still pushing)

greg.haskins (Thu, 31 Aug 2017 03:01:33 GMT):
yeah, the problem is that it "feels" like that when you first get into it

greg.haskins (Thu, 31 Aug 2017 03:01:49 GMT):
but it leads to disappointment/despair ;)

troyronda (Thu, 31 Aug 2017 03:02:01 GMT):
I felt good so far ;)

greg.haskins (Thu, 31 Aug 2017 03:02:32 GMT):
look in JIRA for my foray into busybox optimization

greg.haskins (Thu, 31 Aug 2017 03:02:53 GMT):
so promising based on golang+static

greg.haskins (Thu, 31 Aug 2017 03:03:00 GMT):
25MB containers

greg.haskins (Thu, 31 Aug 2017 03:03:06 GMT):
only to get whacked by NSS

troyronda (Thu, 31 Aug 2017 03:03:18 GMT):
doh!

greg.haskins (Thu, 31 Aug 2017 03:03:48 GMT):
thats why I brought up the dlopen thing...thats the part that screwed me

greg.haskins (Thu, 31 Aug 2017 03:04:49 GMT):
the other route might be to go in the other direction

greg.haskins (Thu, 31 Aug 2017 03:04:58 GMT):
docker containers exported

troyronda (Thu, 31 Aug 2017 03:05:26 GMT):
See this is where I think object code that is loaded from a submitted source has an advantage (that object code could be very simple and not have dependencies)

greg.haskins (Thu, 31 Aug 2017 03:05:31 GMT):
but even that I suspect is fragile in this ecosystem

troyronda (Thu, 31 Aug 2017 03:06:05 GMT):
(simple meaning not needing to link to things)

greg.haskins (Thu, 31 Aug 2017 03:06:29 GMT):
yes, and that is why I was steering you to xVM code, because it has those properties AND not the other issues

greg.haskins (Thu, 31 Aug 2017 03:06:46 GMT):
e.g. uberjar on jvm, or whatever

troyronda (Thu, 31 Aug 2017 03:06:52 GMT):
Codebase is in Go... I didn't see a good path ...

troyronda (Thu, 31 Aug 2017 03:06:52 GMT):
Codebase is in Go... I didn't see a good path on llvm...

greg.haskins (Thu, 31 Aug 2017 03:06:59 GMT):
LLVM is actually really cool, though I dont know how golang support is on it

greg.haskins (Thu, 31 Aug 2017 03:07:16 GMT):
I know historically its been strongest in the C++ space

greg.haskins (Thu, 31 Aug 2017 03:07:23 GMT):
but the model is awesome for this stuff

troyronda (Thu, 31 Aug 2017 03:07:25 GMT):
there is a project but it doesn't look too active

troyronda (Thu, 31 Aug 2017 03:07:37 GMT):
i only know it from swift

greg.haskins (Thu, 31 Aug 2017 03:08:12 GMT):
yeah...its been awhile but there is the notion of a discrete front-end and back-end

troyronda (Thu, 31 Aug 2017 03:08:34 GMT):
(and I was wondering how well obfuscation actually ends up working if you use something like llvm)

greg.haskins (Thu, 31 Aug 2017 03:08:45 GMT):
so you can have something like clang compile C++ to .llvm and then JIT it on the target platform in the llvm runtime

greg.haskins (Thu, 31 Aug 2017 03:09:15 GMT):
ive never looked but in theory its no different than x86_64 object code

greg.haskins (Thu, 31 Aug 2017 03:09:32 GMT):
its just like a different $arch, and one that can be JIT'ed to a host $arch with high performance

greg.haskins (Thu, 31 Aug 2017 03:10:08 GMT):
im sure you can strip debug symbols, etc, to get a similar surface as standard machine code

greg.haskins (Thu, 31 Aug 2017 03:10:23 GMT):
anyway, I digress

greg.haskins (Thu, 31 Aug 2017 03:10:55 GMT):
anyway, im toast for the day

greg.haskins (Thu, 31 Aug 2017 03:10:59 GMT):
thanks for the chat

troyronda (Thu, 31 Aug 2017 03:11:02 GMT):
ok good night!

troyronda (Thu, 31 Aug 2017 03:11:08 GMT):
thanks for taking the time

troyronda (Thu, 31 Aug 2017 03:14:59 GMT):
I did one last experiment - static linking hello2

troyronda (Thu, 31 Aug 2017 03:15:01 GMT):
root@61f715bba28b:/go/src/hello2# CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' . root@61f715bba28b:/go/src/hello2# ./hello2 address: [23.185.0.4 ffff:ffff:8000::4 ffff:ffff:8001::4] root@61f715bba28b:/go/src/hello2# ldd hello2 not a dynamic executable root@61f715bba28b:/go/src/hello2# sha256sum < hello2 4a832b59e0203541ef3bf10796efeed09be644f0b61469b367d4b57390316c97 - root@61f715bba28b:/go/src/hello2#

troyronda (Thu, 31 Aug 2017 03:15:11 GMT):
root@373aaaf4a98c:/go/src/hello2# CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' . root@373aaaf4a98c:/go/src/hello2# ./hello2 address: [23.185.0.4 2620:12a:8000::4 2620:12a:8001::4] root@373aaaf4a98c:/go/src/hello2# ldd hello2 not a dynamic executable root@373aaaf4a98c:/go/src/hello2# sha256sum < hello2 4a832b59e0203541ef3bf10796efeed09be644f0b61469b367d4b57390316c97 - root@373aaaf4a98c:/go/src/hello2#

troyronda (Thu, 31 Aug 2017 03:16:38 GMT):
➜ d docker run -it 663221ffe5db /hello2 address: [23.185.0.4 ffff:ffff:8000::4 ffff:ffff:8001::4] ➜ d

troyronda (Thu, 31 Aug 2017 03:16:50 GMT):
(this is the scratch container)

troyronda (Thu, 31 Aug 2017 03:16:50 GMT):
(this is the from scratch container with the static linked hello2)

greg.haskins (Thu, 31 Aug 2017 12:05:23 GMT):
@troyronda ah, CGO_ENABLED=0 is cheating

greg.haskins (Thu, 31 Aug 2017 12:05:32 GMT):
the shim is not compatible

troyronda (Thu, 31 Aug 2017 12:05:57 GMT):
Shim is not compatible?

greg.haskins (Thu, 31 Aug 2017 12:05:58 GMT):
and if you dont have CGO_ENABLED=0, you are screwed because it becomes coupled to libc version you compiled on

greg.haskins (Thu, 31 Aug 2017 12:06:04 GMT):
no, unfortunately

greg.haskins (Thu, 31 Aug 2017 12:06:11 GMT):
its all coming back to me now

greg.haskins (Thu, 31 Aug 2017 12:06:32 GMT):
CGO is required, CGO requires xlibc, xlibc binds you to unportable binary

troyronda (Thu, 31 Aug 2017 12:06:56 GMT):
confused... shouldn't all the shim need to do is enable protobufs back to the peer?

greg.haskins (Thu, 31 Aug 2017 12:07:33 GMT):
one of the direct/transitive crypto libraries that the shim uses/provides requires CGO, IIRC

troyronda (Thu, 31 Aug 2017 12:07:59 GMT):
My solution with a binary loader is unaffected :)

greg.haskins (Thu, 31 Aug 2017 12:08:22 GMT):
i dont think so

troyronda (Thu, 31 Aug 2017 12:08:48 GMT):
shim would be compiled to the source code that was submitted ... the rest of the code would be object code

greg.haskins (Thu, 31 Aug 2017 12:08:53 GMT):
anyway, point being, you are dancing with fragility

greg.haskins (Thu, 31 Aug 2017 12:08:57 GMT):
there are many ways to lose

troyronda (Thu, 31 Aug 2017 12:09:14 GMT):
(remember in that solution, object code is submitted not a binary)

troyronda (Thu, 31 Aug 2017 12:09:32 GMT):
the binary is created similar to now, but linked to an additional library (or loads a submitted .so)

troyronda (Thu, 31 Aug 2017 12:09:49 GMT):
this seems to be the most elegant mechanism to me

greg.haskins (Thu, 31 Aug 2017 12:09:49 GMT):
have you tried using .so's with golang?

troyronda (Thu, 31 Aug 2017 12:10:28 GMT):
I want to see how golang plugins look in 1.9

greg.haskins (Thu, 31 Aug 2017 12:10:46 GMT):
yes, that is the most promising for what you are proposing

greg.haskins (Thu, 31 Aug 2017 12:10:55 GMT):
i can tell you its basically a non-starter pre v1.9

greg.haskins (Thu, 31 Aug 2017 12:11:16 GMT):
BUT, I also think we need to get away from decoupling the shim from the code

greg.haskins (Thu, 31 Aug 2017 12:11:28 GMT):
so you are reintroducing a problem I am trying to get rid of

troyronda (Thu, 31 Aug 2017 12:12:00 GMT):
Just an example of how something could work against what exists

troyronda (Thu, 31 Aug 2017 12:12:36 GMT):
If there was a decoupling for the source code version, then a decoupling would exist for this solution too

troyronda (Thu, 31 Aug 2017 12:13:05 GMT):
(since I am basically saying you could use the golang source code version but allow object code linking)

greg.haskins (Thu, 31 Aug 2017 12:13:05 GMT):
no no, what i am saying is: decoupling for source is how we do it today, and its a broken model

greg.haskins (Thu, 31 Aug 2017 12:13:15 GMT):
I am advocating we _stop_ doing that

greg.haskins (Thu, 31 Aug 2017 12:13:16 GMT):
https://jira.hyperledger.org/browse/FAB-5177

greg.haskins (Thu, 31 Aug 2017 12:13:38 GMT):
the ABI management should be at the GRPC level, not chaincode->shim level

troyronda (Thu, 31 Aug 2017 12:14:00 GMT):
yes I get that - and that would be my gut as well

troyronda (Thu, 31 Aug 2017 12:14:21 GMT):
but i feel that it reinforces the point that CC applications are simply seperate services from the peer

troyronda (Thu, 31 Aug 2017 12:14:34 GMT):
and then you could ask why is there an install command at all

greg.haskins (Thu, 31 Aug 2017 12:14:58 GMT):
not following your last comment

greg.haskins (Thu, 31 Aug 2017 12:15:10 GMT):
isnt "install" simply a way to distribute your payload?

troyronda (Thu, 31 Aug 2017 12:15:21 GMT):
yes - there are many ways to do that today

greg.haskins (Thu, 31 Aug 2017 12:15:22 GMT):
what does that have to do with its runtime environment or topology?

troyronda (Thu, 31 Aug 2017 12:16:43 GMT):
(sorry it's a digression)

greg.haskins (Thu, 31 Aug 2017 12:17:48 GMT):
so, i agree that the BINARY proposal similarly solves FAB-5177, but the problem is the other issues I pointed out

yacovm (Thu, 31 Aug 2017 12:17:49 GMT):
> the ABI management should be at the GRPC level, not chaincode->shim level What do you mean? (Hi :) )

greg.haskins (Thu, 31 Aug 2017 12:18:19 GMT):
greetings @yacovm

greg.haskins (Thu, 31 Aug 2017 12:19:12 GMT):
@yacovm its coverd ad nauseam in FAB-5177, so I wont repeat it here

yacovm (Thu, 31 Aug 2017 12:19:37 GMT):
btw I was thinking about a similar topic - if we had a more easy to use API between the peer and the shim, we could have simply declared an API that the peer would've used to serve a shim, via protobuf, and then just declared, that you can simply install a *container* into the peer and that *container* would be simply spawned. What do you think?

greg.haskins (Thu, 31 Aug 2017 12:19:43 GMT):
in particular, read my last comment

troyronda (Thu, 31 Aug 2017 12:20:00 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=RSKr5ExydSW9i7XMq) or any other package management system

troyronda (Thu, 31 Aug 2017 12:20:00 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=RSKr5ExydSW9i7XMq) or any other package management system... or things like ansible

troyronda (Thu, 31 Aug 2017 12:20:00 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=RSKr5ExydSW9i7XMq) or any other package management system... or things like ansible... that was where I was leading into with my digression above...

yacovm (Thu, 31 Aug 2017 12:20:11 GMT):
of course - this is only in theory and in retrospect, no something we have the manpower / time for IMO

greg.haskins (Thu, 31 Aug 2017 12:21:21 GMT):
@yacovm as far as that API is concerned, we more or less have that today

yacovm (Thu, 31 Aug 2017 12:21:30 GMT):
no, the API sucks.

greg.haskins (Thu, 31 Aug 2017 12:21:33 GMT):
theres a GRPC contract between the chaincode and peer

greg.haskins (Thu, 31 Aug 2017 12:21:39 GMT):
ok, well, thats a different problem

yacovm (Thu, 31 Aug 2017 12:21:39 GMT):
yeah I think it's not good

greg.haskins (Thu, 31 Aug 2017 12:21:55 GMT):
thats fair...but ignore that for a second

greg.haskins (Thu, 31 Aug 2017 12:21:59 GMT):
lets say it didnt suck

yacovm (Thu, 31 Aug 2017 12:22:01 GMT):
but that's what you get when you just add more and more features

yacovm (Thu, 31 Aug 2017 12:22:01 GMT):
but that's what you get when you just add more and more features. if we knew the features ahead...

greg.haskins (Thu, 31 Aug 2017 12:22:38 GMT):
all I was saying is that its easier to do ABI management between two GRPC endpoints than it is to do ABI management between a golang application and a golang library

yacovm (Thu, 31 Aug 2017 12:22:50 GMT):
I totally agree

greg.haskins (Thu, 31 Aug 2017 12:22:51 GMT):
thats it, really

greg.haskins (Thu, 31 Aug 2017 12:23:13 GMT):
if the GRPC contract sucks, lets fix that

yacovm (Thu, 31 Aug 2017 12:23:37 GMT):
I don't think it's that easy. compatibility, etc. I'd like to see a "ng" (next-gen) chaincode or something

yacovm (Thu, 31 Aug 2017 12:23:39 GMT):
that would do just that

yacovm (Thu, 31 Aug 2017 12:23:44 GMT):
and we can provide with a toolbox

yacovm (Thu, 31 Aug 2017 12:23:47 GMT):
to make it easy

yacovm (Thu, 31 Aug 2017 12:23:50 GMT):
and examples, etc.

yacovm (Thu, 31 Aug 2017 12:24:32 GMT):
but I'm now acting as an armchair economist, etc. I don't think it'll actually happen soon

troyronda (Thu, 31 Aug 2017 12:25:43 GMT):
The issue I was having above is how to deal with & distribute Golang CC that isn't being compiled by the peer (without getting into a fork)

troyronda (Thu, 31 Aug 2017 12:25:54 GMT):
I agree with the grpc point

yacovm (Thu, 31 Aug 2017 12:26:02 GMT):
if we have a chaincode type: container

yacovm (Thu, 31 Aug 2017 12:26:04 GMT):
that'd be easy ;)

greg.haskins (Thu, 31 Aug 2017 12:26:57 GMT):
@yacovm you are essentially making the same argument as @troyronda

troyronda (Thu, 31 Aug 2017 12:26:59 GMT):
would this type imply that the container was installed out-of-band of the install command

greg.haskins (Thu, 31 Aug 2017 12:27:05 GMT):
except his "container" is a static golang binary

troyronda (Thu, 31 Aug 2017 12:27:17 GMT):
which is injected into a container by the peer ;)

greg.haskins (Thu, 31 Aug 2017 12:27:21 GMT):
(well, a multi-arch golang binary

greg.haskins (Thu, 31 Aug 2017 12:27:44 GMT):
but there are a few problems to sort out

troyronda (Thu, 31 Aug 2017 12:28:12 GMT):
yes longer version: multi-arch golang binary, that can have the minimum source code to link against the chaincode shim library, and is then injected into a container

troyronda (Thu, 31 Aug 2017 12:28:24 GMT):
the minimum source code bit is how we got on this GRPC topic :)

greg.haskins (Thu, 31 Aug 2017 12:28:40 GMT):
yeah..and I would drop that part of it honestly

greg.haskins (Thu, 31 Aug 2017 12:28:46 GMT):
i think its taking it in the wrong direction

troyronda (Thu, 31 Aug 2017 12:29:02 GMT):
I'm only saying that due to the current situation - not because i like it :)

greg.haskins (Thu, 31 Aug 2017 12:29:11 GMT):
I like the notion of "something that just needs a GRPC endpoint" which is closer to your original BINARY propsal

greg.haskins (Thu, 31 Aug 2017 12:29:16 GMT):
got it

greg.haskins (Thu, 31 Aug 2017 12:29:49 GMT):
but as I said, I am trying to eradicate that problem, not cement it as a requirement to solve a different problem ;)

greg.haskins (Thu, 31 Aug 2017 12:31:34 GMT):
but do you at least see my concern w.r.t. an "auto-vendored" source payload being the most robust way to solve the various problems I highlighted?

troyronda (Thu, 31 Aug 2017 12:32:16 GMT):
of course - ideally it would simply be a grpc contract and more like micro-services

troyronda (Thu, 31 Aug 2017 12:32:16 GMT):
of course - ideally it would simply be a grpc contract

greg.haskins (Thu, 31 Aug 2017 12:32:39 GMT):
right...its just that golang isnt a great way to do this

greg.haskins (Thu, 31 Aug 2017 12:33:18 GMT):
(IMO)

troyronda (Thu, 31 Aug 2017 12:33:27 GMT):
which part?

greg.haskins (Thu, 31 Aug 2017 12:33:53 GMT):
well, just in general, as a universal binary

greg.haskins (Thu, 31 Aug 2017 12:34:29 GMT):
the golang folks somewhat tried with the --static thing, but its a bit half-arsed

greg.haskins (Thu, 31 Aug 2017 12:35:06 GMT):
they did a great job with the ubiquitous x-compile out of the can

troyronda (Thu, 31 Aug 2017 12:35:09 GMT):
Golang has much easier x-compile than many other solutions - its not byte code but its nice

greg.haskins (Thu, 31 Aug 2017 12:35:14 GMT):
thats probably the best x-compile ive ever seen

troyronda (Thu, 31 Aug 2017 12:35:24 GMT):
agree

greg.haskins (Thu, 31 Aug 2017 12:35:24 GMT):
agreed, I agree its the best

greg.haskins (Thu, 31 Aug 2017 12:35:28 GMT):
but its not perfect

greg.haskins (Thu, 31 Aug 2017 12:36:27 GMT):
one of the mistakes I think that was made was they took the integration to 85% and then let things like g++/clang bleed through

greg.haskins (Thu, 31 Aug 2017 12:36:32 GMT):
that causes some of the problems ive seen

greg.haskins (Thu, 31 Aug 2017 12:36:48 GMT):
and things like CGO, etc, being another

troyronda (Thu, 31 Aug 2017 12:39:43 GMT):
yeh...

troyronda (Thu, 31 Aug 2017 12:44:13 GMT):
btw - the reason I'm pushing so much on this topic is that I believe that you should be able to use an off-the-shelf fabric peer and then simply add-on the specific behaviors for a consortium - those specific behaviors having appropriate reviews. I don't think having to have forks of the base system is a good-long steady-state strategy (so I end up believing in a strong base that is extensible). I also think it's important to enable an ecosystem of independent developers of CC/consortium applications...

troyronda (Thu, 31 Aug 2017 12:44:13 GMT):
btw - the reason I'm pushing so much on this topic is that I believe that you should be able to use an off-the-shelf fabric peer and then simply add-on the specific behaviors for a consortium - those specific behaviors having appropriate reviews. I don't think having to have forks of the base system is a good steady-state strategy (so I end up believing in a strong base that is extensible). I also think it's important to enable an ecosystem of independent developers of CC/consortium applications...

troyronda (Thu, 31 Aug 2017 12:44:13 GMT):
btw - one of the reasons I'm pushing so much on this topic is that I believe that you should be able to use an off-the-shelf fabric peer and then simply add-on the specific behaviors for a consortium - those specific behaviors having appropriate reviews. I don't think having to have forks of the base system is a good steady-state strategy (so I end up believing in a strong base that is extensible). I also think it's important to enable an ecosystem of independent developers of CC/consortium applications...

troyronda (Thu, 31 Aug 2017 12:47:45 GMT):
(i.e., i hate maintaining cherry picked code in the base system & I much prefer the decoupled reviewability)

greg.haskins (Thu, 31 Aug 2017 12:48:15 GMT):
thats understandable...but I still dont think the review argument applies here

greg.haskins (Thu, 31 Aug 2017 12:48:43 GMT):
perhaps part of the problem is we changed the instance addressing a while back which weakened the relationship a bit

greg.haskins (Thu, 31 Aug 2017 12:48:49 GMT):
but I am working on putting that back

troyronda (Thu, 31 Aug 2017 12:49:03 GMT):
(review of fabric vs the various consortium extensions)

troyronda (Thu, 31 Aug 2017 12:49:03 GMT):
(review of fabric vs the various consortium extensions such as CC)

greg.haskins (Thu, 31 Aug 2017 12:49:58 GMT):
but anyway, I understand why its desirable to be upstream: all I am saying is it cant (IMO) go upstream if its not robust enough or general enough

greg.haskins (Thu, 31 Aug 2017 12:50:12 GMT):
and we havent got it over that bar yet

greg.haskins (Thu, 31 Aug 2017 12:51:00 GMT):
like I said, I could see how some kind of uberjar-on-jvm scenario could meet all those criteria...i think golang is a little weak in this regard

greg.haskins (Thu, 31 Aug 2017 12:51:16 GMT):
so its not the concepts per se, just the impl

troyronda (Thu, 31 Aug 2017 12:51:43 GMT):
the thing is golang ended up as the first/default CC platform

troyronda (Thu, 31 Aug 2017 12:52:07 GMT):
(btw - i really only personally care about binaries from golang anyways)

troyronda (Thu, 31 Aug 2017 12:52:07 GMT):
(btw - i really only personally care about binaries from golang anyways in the topic above)

greg.haskins (Thu, 31 Aug 2017 12:52:13 GMT):
sure, BUT, that doesnt matter too much anyway since we are talking about augmenting the execution layer

greg.haskins (Thu, 31 Aug 2017 12:52:58 GMT):
the biggest benefit to utilizing golang is simply the maturity of the tooling (like the shim)

greg.haskins (Thu, 31 Aug 2017 12:52:58 GMT):
the biggest benefit to utilizing golang is simply the maturity of the ecosystem (like the shim)

greg.haskins (Thu, 31 Aug 2017 12:53:15 GMT):
but whatever we do, its a net-new platform, effectively

jimthematrix (Thu, 31 Aug 2017 17:05:46 GMT):
@greg.haskins @yacovm can we get clarity on what's needed to address Greg's concern over passing the client key/cert to the chaincode container please. I believe Greg is advocating for that to be done during the docker image build, but Yacov said this should be done at the time of launching the container instance (so each launch will result in a different key/cert pair)

jimthematrix (Thu, 31 Aug 2017 17:06:04 GMT):
just want to bring us together to sort this out so we can move this along

greg.haskins (Thu, 31 Aug 2017 17:06:23 GMT):
to be clear: I also agree it should be done at launch, I am just saying it should be done via upload-api and not parameters

jimthematrix (Thu, 31 Aug 2017 17:06:33 GMT):
ok

greg.haskins (Thu, 31 Aug 2017 17:06:41 GMT):
I had originally done this during cotnainer build when I didnt know about the upload-api

greg.haskins (Thu, 31 Aug 2017 17:06:59 GMT):
which was suboptimal, but I didnt know how else to handle at the time

greg.haskins (Thu, 31 Aug 2017 17:07:31 GMT):
@yacovm snuck the parameter one into GOLANG ;)

greg.haskins (Thu, 31 Aug 2017 17:07:35 GMT):
but I think we should fix both

yacovm (Thu, 31 Aug 2017 17:07:39 GMT):
Oh yes

jimthematrix (Thu, 31 Aug 2017 17:07:52 GMT):
right that should be done regardless of the chaincode type

greg.haskins (Thu, 31 Aug 2017 17:08:01 GMT):
agreed

jimthematrix (Thu, 31 Aug 2017 17:08:24 GMT):
so i think we now have clarity, let me dive into that (Yacov is pre-occupied with other work at the moment)

greg.haskins (Thu, 31 Aug 2017 17:08:34 GMT):
sounds good, thanks @jimthematrix

greg.haskins (Thu, 31 Aug 2017 17:08:41 GMT):
you got my notes about how I used it elsewhere?

jimthematrix (Thu, 31 Aug 2017 17:08:42 GMT):
may have other questions for you guys, thanks

jimthematrix (Thu, 31 Aug 2017 17:08:49 GMT):
yep

greg.haskins (Thu, 31 Aug 2017 17:08:52 GMT):
cool

greg.haskins (Thu, 31 Aug 2017 17:10:27 GMT):
@jimthematrix relevant JIRA: https://jira.hyperledger.org/browse/FAB-4447

jimthematrix (Thu, 31 Aug 2017 17:12:20 GMT):
:ok_hand: thanks

jimthematrix (Thu, 31 Aug 2017 17:13:38 GMT):
hmm, so it's marked as low, are we sure we want this to be addressed at this point in time for v1.1?

jimthematrix (Thu, 31 Aug 2017 17:14:26 GMT):
can we live with what Yacov has for v1.1, and address FAB-4447 for both the server and client TLS materials at a later time?

jimthematrix (Thu, 31 Aug 2017 17:15:19 GMT):
@greg.haskins ^^^

greg.haskins (Thu, 31 Aug 2017 17:15:51 GMT):
I would say fix it

greg.haskins (Thu, 31 Aug 2017 17:16:13 GMT):
its not like we are in an -rc10 freeze to ship

jimthematrix (Thu, 31 Aug 2017 17:18:08 GMT):
would you be ok with a partial fix in v1.1, to only use the upload-api approach for the client key/cert, and address FAB-4447 (the server ca cert) later?

jimthematrix (Thu, 31 Aug 2017 17:19:16 GMT):
so leave what we have for the server cert alone, but make sure the new capabilities w.r.t mutual TLS follows best practices?

greg.haskins (Thu, 31 Aug 2017 18:33:43 GMT):
sorry, was OTP

greg.haskins (Thu, 31 Aug 2017 18:35:46 GMT):
I havent had a chance to review, but im guessing the point of the mutual TLS changes was to recognize that both the client (chaincode) and server (peer) need a common trust root. The path of least resistance is probably to have the peer inject a key-pair/cert for the client into the client, along with the peer cert

greg.haskins (Thu, 31 Aug 2017 18:35:55 GMT):
i assume that is more or less what @yacovm already did

greg.haskins (Thu, 31 Aug 2017 18:36:07 GMT):
now its just a question of vehicle to transfer those assets

greg.haskins (Thu, 31 Aug 2017 18:36:46 GMT):
I had previously added the server-side injection at container build time, but that is way too early

yacovm (Thu, 31 Aug 2017 18:36:47 GMT):
The idea is to have a strict mapping between the chaincode *name* and its cert

yacovm (Thu, 31 Aug 2017 18:37:03 GMT):
Each shim container gets its own cert

greg.haskins (Thu, 31 Aug 2017 18:37:29 GMT):
so what I would suggest is any TLS material (server or client) be injected right before launch, via upload API

yacovm (Thu, 31 Aug 2017 18:37:47 GMT):
Sounds good. Into the file system?

greg.haskins (Thu, 31 Aug 2017 18:37:57 GMT):
@yacovm yeah

greg.haskins (Thu, 31 Aug 2017 18:38:22 GMT):
some well known location, like /etc/hyperledger/fabric/chaincode/tls or something

yacovm (Thu, 31 Aug 2017 18:38:59 GMT):
Ok sounds good to me

yacovm (Thu, 31 Aug 2017 18:39:32 GMT):
Also shoukd remove some code that i wrote that does base64 encoding, always good to remove code

greg.haskins (Thu, 31 Aug 2017 18:42:27 GMT):
yes, pls

greg.haskins (Thu, 31 Aug 2017 18:44:13 GMT):
@yacovm not sure you saw this, but I posted an example of what I mean: https://github.com/hyperledger/fabric/blob/c4c977db678fc9153e1ee37423d5eae828ec87f7/core/chaincode/platforms/util/utils.go#L191

greg.haskins (Thu, 31 Aug 2017 18:45:06 GMT):
I use that technique to move src/binary payloads into/out of the container during build...similar approach could be used to inject something like [peer.crt, chaincode.key, chaincode.crt]

yacovm (Thu, 31 Aug 2017 18:46:08 GMT):
I did. Thanks though

ngeorge (Tue, 05 Sep 2017 11:08:03 GMT):
Has joined the channel.

ngeorge (Tue, 05 Sep 2017 11:33:46 GMT):
Hi, while running the End2EndIT.java integration test, whatever endorsement policy is given, the instantiation is getting successful ..eg. with a wrong value for identity mspid, the endorsement is supposed to fail, but in my case, instantiation succeeds.. Is endorsement policy not required/validated during instantiation?

muralisr (Tue, 05 Sep 2017 11:49:32 GMT):
@ngeorge the endorsement policy is used for invokes to the chaincode

muralisr (Tue, 05 Sep 2017 11:49:32 GMT):
@ngeorge the endorsement policy is used to enforce invokes to the chaincode

ngeorge (Tue, 05 Sep 2017 12:08:50 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=Zr52yicCZFtFo2ffA) @muralisr So, does that mean, endorsement policy need not be set while instantiating a chaincode?

muralisr (Tue, 05 Sep 2017 12:33:08 GMT):
@ngeorge it needs to be set while instantiating a chancode to suit the policy for invokes

Eman0 (Tue, 05 Sep 2017 12:50:57 GMT):
Hi, is it possible to call another chaincode on another channel from a chaincode ?

muralisr (Tue, 05 Sep 2017 13:28:21 GMT):
@Eman0 yes you can call a chaincode on another channel but that will be "read only" ... any "PutState" you do on the called CC won't be written.. doc in https://github.com/hyperledger/fabric/blob/release/core/chaincode/shim/interfaces.go#L80

Ashish (Tue, 05 Sep 2017 14:56:54 GMT):
Has joined the channel.

Eman0 (Tue, 05 Sep 2017 15:39:51 GMT):
@muralisr Thank you

aleksandar.likic (Tue, 05 Sep 2017 15:46:53 GMT):
@greg.haskins Regarding the lack of determinism in golang CC build across environment variations (go/compiler/lib verions); don't we have the same problem with the .so fabric plugin mechanism (based on go plugins) that is being proposed? What is the approach to attestation that "what is executing is what was reviewed" in that case?

greg.haskins (Tue, 05 Sep 2017 15:48:14 GMT):
not really, no

greg.haskins (Tue, 05 Sep 2017 15:49:21 GMT):
non determinism is just another form of byzantine error...besides, work is already underway to provide deterministic chaincode environments

greg.haskins (Tue, 05 Sep 2017 15:50:10 GMT):
"determinism" in this case is about relating to "what was written/reviewed" to "what is running"

aleksandar.likic (Tue, 05 Sep 2017 15:50:33 GMT):
"work is already underway to provide deterministic chaincode environments" - is there a JIRA ticker?

greg.haskins (Tue, 05 Sep 2017 15:50:44 GMT):
if what is written/reviewed generates non-deterministic outputs, that is a different problem

greg.haskins (Tue, 05 Sep 2017 15:51:05 GMT):
not sure, its just an R&D project right now

aleksandar.likic (Tue, 05 Sep 2017 15:52:18 GMT):
Sorry, I still don't understand why .so plugins don't have the same issue.

greg.haskins (Tue, 05 Sep 2017 15:52:37 GMT):
im not sure what you mean

greg.haskins (Tue, 05 Sep 2017 15:52:59 GMT):
we dont have a fabric .so mechanism as far as I know

aleksandar.likic (Tue, 05 Sep 2017 15:53:44 GMT):
https://jira.hyperledger.org/browse/FAB-5378 assumes that at some point SCCs will be deployable as .so files.

aleksandar.likic (Tue, 05 Sep 2017 15:54:01 GMT):
... go plugins

greg.haskins (Tue, 05 Sep 2017 15:54:50 GMT):
i havent had a chance to review that proposal, but overall I would say "no" because thats more of a fabric-admin decision (same to bake SCCs into the peer binary)

greg.haskins (Tue, 05 Sep 2017 15:55:45 GMT):
e.g. not sure what the linkage has to do with determinism in that case

aleksandar.likic (Tue, 05 Sep 2017 15:56:41 GMT):
so your objection to per-compiled user CCs is due to the fact they are deployable by someone who is not fabric-admin, right? You don't have a problem with fabric admins deploying binaries.

aleksandar.likic (Tue, 05 Sep 2017 15:56:41 GMT):
so your objection to pre-compiled user CCs is due to the fact they are deployable by someone who is not fabric-admin, right? You don't have a problem with fabric admins deploying binaries.

greg.haskins (Tue, 05 Sep 2017 15:56:59 GMT):
i havent had a chance to review the proposal

greg.haskins (Tue, 05 Sep 2017 15:57:34 GMT):
what I can say is the user deployable scenario you presented before was not adequately robust in a heterogeneous environment

greg.haskins (Tue, 05 Sep 2017 15:58:13 GMT):
overall, I think FAB-5378 might be missing the point of SCCs, so it needs careful review

aleksandar.likic (Tue, 05 Sep 2017 15:59:03 GMT):
Yes, I understand, I am just trying to find where that line is - that we must not cross with the binaries.

greg.haskins (Tue, 05 Sep 2017 15:59:34 GMT):
but again, ignoring that...if someone wants to fork fabric, add/remove SCCs, and recompile it, that is an administrative action for a given consortia

aleksandar.likic (Tue, 05 Sep 2017 15:59:54 GMT):
What I hear is that fabric admins should be OK with deploying fabric binary extensions. Is that what you think?

greg.haskins (Tue, 05 Sep 2017 16:00:20 GMT):
I dont know...i havent had a chance to review the proposal

greg.haskins (Tue, 05 Sep 2017 16:00:40 GMT):
like I said, I think it might be missing the point of SCCs to begin with so thats the part I need to study

aleksandar.likic (Tue, 05 Sep 2017 16:00:56 GMT):
I am not referring now to any proposal, I am asking in general.

greg.haskins (Tue, 05 Sep 2017 16:01:21 GMT):
I don yet have an opinion

greg.haskins (Tue, 05 Sep 2017 16:01:21 GMT):
I don't yet have an opinion

aleksandar.likic (Tue, 05 Sep 2017 16:03:56 GMT):
OK, thanks for getting back so quickly.

sudeshrshetty (Tue, 05 Sep 2017 16:19:41 GMT):
Has joined the channel.

DarshanBc (Wed, 06 Sep 2017 14:27:05 GMT):
I have endorsement policy AND('Org1.member', 'Org2.member') my question is when I invoke a transaction on a chaincode on what basis a transaction gets signature from org1.member and org2.member

jeffgarratt (Wed, 06 Sep 2017 16:11:46 GMT):
@DarshanBc you will need to get endorsements from peers from both organizations

DarshanBc (Wed, 06 Sep 2017 16:48:10 GMT):
@jeffgarratt If I send a transaction proposal to peers of org1 and I invoke a chaincode installed only on org2 from chaincode of org1 will the endorsement policy be satisfied

Glen (Thu, 07 Sep 2017 01:03:29 GMT):
sorry wrong place sent.

Glen (Thu, 07 Sep 2017 01:03:29 GMT):
Who can help explain what the directories under /var/hyperledger/production/ledgersData on peer are used for? i know they are are leveldb files used for block storage. i want to know more about the database organisation on peer. why are there directories historyLeveldb ledgerProvider stateLeveldb besides chains?

DarshanBc (Thu, 07 Sep 2017 01:06:39 GMT):
Can someone explain me example purpose for AND(org1.member,org2.member) endorsement since same chaincode is installed on peers of both orgs obviously always the transaction proposal gets endorsed by 2peers and committed but when does it fail except when org2 peers collapse

DarshanBc (Thu, 07 Sep 2017 04:33:44 GMT):
when does this endorsement policy AND('org1.member',org2.member2) is not satisified apart from not sending transactino proposal to peers org1 and org2

DarshanBc (Thu, 07 Sep 2017 04:33:44 GMT):
when does this endorsement policy AND('org1.member',org2.member2) is not satisified apart from not sending transactino proposal to peers org1 and org2 I want to know based on what endorsement policy fails documentation says APIs check whether responses are same if same then they are sent for ordering I have same chaincode installed on org1.memeber and org2.member obviously we need to get same response from both of them so whats the use of having endorsement policy

DarshanBc (Thu, 07 Sep 2017 04:33:44 GMT):
when does this endorsement policy AND('org1.member',org2.member2) is not satisified apart from not sending transactino proposal to peers org1 and org2. I want to know based on what endorsement policy fails. Documentation says APIs check whether responses are same, if same then they are sent for ordering. when I have same chaincode installed on org1.memeber and org2.member obviously we need to get same response from both of the peers so whats the use of having endorsement policy.

boliang (Thu, 07 Sep 2017 07:29:21 GMT):
Has joined the channel.

boliang (Thu, 07 Sep 2017 07:51:00 GMT):
@DarshanBc 1) There could be more peers than just Org1 and Org2 in the same channel, for example, Org3. In this case, the policy And(Org1.member, Org2.member) means you just need to get endorsement from these two orgs (excludes Org3). 2) The client SDK checks the endorsement results from multiple endorsers. But if it's malicious client, he can still send responses for ordering even they are not the same. That's why committers have to check the endorsement policy to make sure the signatures from endorsers are correct and the signatures satisfy the rules.

DarshanBc (Thu, 07 Sep 2017 08:09:49 GMT):
@boliang so you mean to say endorsement policy is only to avoid malicious attack and in no case of genuine transaction endorsement policy fails except if the all peers of org1 are down

boliang (Thu, 07 Sep 2017 08:15:01 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=Yi57PJKyiFHD5skNY) @DarshanBc Yes. In my opinion, consensus consists of endorsement and ordering. That's why you should carefully design the endorsement policy.

DarshanBc (Thu, 07 Sep 2017 08:45:25 GMT):
@boliang ok can you clarify my view on endorsement. I have a car selling market, to buy a car literally I need an endorsement of payment class and an endorsement of manufacturer of car saying payment is done and car is manufactured so can I achieve this by endorsement policy of Hyperledger-fabric

boliang (Thu, 07 Sep 2017 08:49:52 GMT):
@DarshanBc What do you mean by "endorsement of payment class"?

DarshanBc (Thu, 07 Sep 2017 08:55:54 GMT):
@boliang I meant in a literal way in other words confirmation from payment class saying payment is done by buyer

boliang (Thu, 07 Sep 2017 09:00:34 GMT):
@DarshanBc could you specify the roles of endorsers in your case? For example, manufacturer.

boliang (Thu, 07 Sep 2017 09:01:03 GMT):
I don't know what else in your case

DarshanBc (Thu, 07 Sep 2017 09:16:53 GMT):
for successfull sellCar transaction my endorsement policy should be AND('payment.member','seller.member','buyer.member') which means transfer of ownership is being done and signature of buyer.member and seller.member is obtained in parallel if payment is done then only payment.member signs the transaction hence all the endorsers have endorsed and this txn can be sent for ordering thus for commit in DB

boliang (Thu, 07 Sep 2017 09:35:54 GMT):
In reality, the scenarios donot work in the way you mentioned. Then endorsement result is automatically generated by peer based on the simulation result of chaincode. It means in current implementation, the result only relies on ledger and chaincode. @DarshanBc

DarshanBc (Thu, 07 Sep 2017 10:38:21 GMT):
@boliang http://hyperledger-fabric.readthedocs.io/en/latest/txflow.html says for transaction of radish both buyer and seller has to endorse doesn't that mean in the way I mentioned

boliang (Thu, 07 Sep 2017 11:26:00 GMT):
@DarshanBc No, it's not what you describe.

bstasyszyn (Thu, 07 Sep 2017 13:58:54 GMT):
Has joined the channel.

kostas (Thu, 07 Sep 2017 18:41:35 GMT):
Why is it that if a chaincode with the same name exists, an instantiation will return an error?

kostas (Thu, 07 Sep 2017 18:41:36 GMT):
https://github.com/hyperledger/fabric/blob/release/core/scc/lscc/lscc.go#L573

kostas (Thu, 07 Sep 2017 18:41:46 GMT):
Am I parsing this bit wrong? (I most likely am.)

yacovm (Thu, 07 Sep 2017 19:50:41 GMT):
because that LSCC invocation (deploy) is in the context of a channel so it it already exists in LSCC it is already instantiated

yacovm (Thu, 07 Sep 2017 19:50:41 GMT):
because that LSCC invocation (deploy) is in the context of a channel so it it already instantiated (exists under the LSCC namespace) it shouldn't work

kostas (Thu, 07 Sep 2017 20:17:25 GMT):
Isn't this where the version should come into play though?

kostas (Thu, 07 Sep 2017 20:17:25 GMT):
@yacovm: Thanks. Isn't this where the version should come into play though?

kostas (Thu, 07 Sep 2017 20:17:59 GMT):
(The doc says that "multiple versions of a chaincode may be active simultaneously".)

C0rWin (Thu, 07 Sep 2017 20:32:32 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wqv3dYgTGQKCo5DaY) @kostas different versions will be result of the upgrade rather than instantiate

yacovm (Thu, 07 Sep 2017 20:34:46 GMT):
the version isn't the "key" of the LSCC

yacovm (Thu, 07 Sep 2017 20:34:49 GMT):
the key is the chaincode "name"

yacovm (Thu, 07 Sep 2017 20:35:00 GMT):
the version is like the value in our story, @kostas

kostas (Thu, 07 Sep 2017 20:36:09 GMT):
Roger, thanks guys. I see: https://github.com/hyperledger/fabric/blob/release/core/scc/lscc/lscc.go#L269

kostas (Thu, 07 Sep 2017 20:37:03 GMT):
The role of that version field was a bit fuzzy in my mind, but it's less so now.

sushantdm (Fri, 08 Sep 2017 08:02:56 GMT):
Has joined the channel.

muralisr (Fri, 08 Sep 2017 12:24:32 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fQ5of4hhQgc8QxdQt

muralisr (Fri, 08 Sep 2017 12:24:47 GMT):
What story is that @yacovm ?

yacovm (Fri, 08 Sep 2017 12:35:12 GMT):
Thething be asked

Ashish (Sun, 10 Sep 2017 18:36:01 GMT):
Hi, endorsements are being done by the designated Peers' rite?

Ashish (Sun, 10 Sep 2017 18:36:55 GMT):
then why is that the endorsement policy setup configuration has roles like "member" and "admin" ?

Ashish (Sun, 10 Sep 2017 18:38:20 GMT):
arent these the user level roles? We do not start a peer with a role when we start it, rite? Nor we join a channel by specifying a role.

divyank (Mon, 11 Sep 2017 16:44:19 GMT):
Hello, can anybody here explain the reasoning behind compiling the peer binary statically? https://github.com/hyperledger/fabric/blob/release/docker-env.mk#L65

yacovm (Mon, 11 Sep 2017 17:47:17 GMT):
@greg.haskins ^

Ashish (Tue, 12 Sep 2017 10:28:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fQ5of4hhQgc8QxdQt) @yacovm I was getting this error while trying to instantiate a chaincode example_cc to 2 Organizations which are members of a channel say "dualchannel" [ Each Org had 2 peers ] I was doing it in an iterative manner ( first Org1, then Org2 ). And I was using JAVA SDK I had sent out a Instantiation proposal to 2 peers of Org1 first. At that time i didnt know that I need to instantiate only once. But it was successful.( i.e, even though I had two peers in the proposal, it was still successfull) Then my code picked up Org2 and tried to tried to send an Instantiating proposal to the two peers which are left. This time, i got the above mentioned error that " chaincode exists example_cc" I agree to the above error [ But I was confused a bit as it looked similar to the error during the duplicate installation. ] My question is, why didn't the same error come when I tried to instantiate to both the peers of Org1 ? Is it because I had both the peers clubbed in the same Instantiation proposal ? Now what I am planning to do is, to iterate further down, at peer level, and instantiate only till the first successful response.

jon_s (Tue, 12 Sep 2017 12:05:57 GMT):
Has joined the channel.

jrosmith (Tue, 12 Sep 2017 17:26:53 GMT):
@Ashish installing is an action specific to the peers, instantiating is specific to the channel. it doesn't matter that there are two peers in the instantiate proposal, when org1 goes to instantiate it is still the first proposal to instantiate the chaincode on that channel. when org2 tried to send a proposal it found that the chaincode was already bound to the channel

greg.haskins (Wed, 13 Sep 2017 11:32:09 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=g4c5Y6zbcKcNFtfcp) @divyank The rationale is that we use effectively a multi-stage docker build (e.g. builder container is different from run-time container)...since the runtime container is stripped down, it is not safe to assume that ldd linkages that are available at build-time are also available at run-time. Thus, we use --static builds to eliminate dynamic linking and create a more self-contained payload that is easier to migrate

greg.haskins (Wed, 13 Sep 2017 11:32:46 GMT):
in the earlier versions of the code, this was actually true as we were using ubuntu for build-time and busybox for runtime

greg.haskins (Wed, 13 Sep 2017 11:33:11 GMT):
however, we had to back away from that because of a snafu with glibc, so now the runtime is also based on a stripped down ubuntu

greg.haskins (Wed, 13 Sep 2017 11:33:44 GMT):
thus, the requirements are more lax than they used to be, at least currently

greg.haskins (Wed, 13 Sep 2017 11:34:22 GMT):
(would like to revisit this again in the future...as a stripped ubuntu build is like 160MB and a busybox build is about 25MB)

divyank (Wed, 13 Sep 2017 12:39:13 GMT):
@greg.haskins I see. I'm working on extending FAB-4207 to use Go plugins and found that plugins are not compatible with static builds. Would you be open to changing the way we manage the ldd linkages?

greg.haskins (Wed, 13 Sep 2017 12:40:40 GMT):
@divyank it would technically work, since we currently do ubuntu-to-ubuntu, but I would be concerned that it would preclude us from ever revisiting the optimization

greg.haskins (Wed, 13 Sep 2017 12:40:57 GMT):
i guess we should discuss the merits of plugins vs size optimization

divyank (Wed, 13 Sep 2017 13:35:34 GMT):
As a user I'm pretty happy with the current 150 MB image size. It's almost like loading the CNN homepage :)

divyank (Wed, 13 Sep 2017 13:36:25 GMT):
If we did move to something like ubuntu to alpine in the future, wouldn't it be sufficient to ensure the same version of the dependency is available at build and runtime?

greg.haskins (Wed, 13 Sep 2017 14:59:16 GMT):
@divyank generally yes, though the details of managing that can sometimes be unattractive

greg.haskins (Wed, 13 Sep 2017 14:59:25 GMT):
but essentially, that is more or less what we are doing today

greg.haskins (Wed, 13 Sep 2017 14:59:54 GMT):
e.g. the builder and runtime environments share a lineage and thus abi compatibility is a natural benefit of that

greg.haskins (Wed, 13 Sep 2017 15:00:09 GMT):
we could continue to manage it that way

divyank (Wed, 13 Sep 2017 15:00:28 GMT):
Would something like docker multi-stage builds help manage this? https://docs.docker.com/engine/userguide/eng-image/multistage-build/

greg.haskins (Wed, 13 Sep 2017 15:01:31 GMT):
no, but only because a) we are effectively doing the same thing already, and b) while the built-in docker-multistage support is more attractive that rolling our own multi-stage in many ways, there are a few issues with converting

greg.haskins (Wed, 13 Sep 2017 15:02:05 GMT):
for one, it requires docker-engine v17.06+ and I am not ready the demand that as a fabric requirement on our users

greg.haskins (Wed, 13 Sep 2017 15:02:05 GMT):
for one, it requires docker-engine v17.06+ and I am not ready to demand that as a fabric requirement on our users

greg.haskins (Wed, 13 Sep 2017 15:03:01 GMT):
the second is that the docker multi-stage support is somewhat limiting because stage 1 runs as a docker-build and not a docker-run and it precludes some capabilities that we take advantage of

greg.haskins (Wed, 13 Sep 2017 15:03:15 GMT):
such as volume-mounting intermediate artifacts

greg.haskins (Wed, 13 Sep 2017 15:03:40 GMT):
i digress...not really relevant here because it doesnt get us any closer to --static vs plugins

divyank (Wed, 13 Sep 2017 15:05:11 GMT):
Yes, so it would be okay to install ldd linkages in both baseos and base image?

greg.haskins (Wed, 13 Sep 2017 16:42:15 GMT):
well, they are already there naturally

greg.haskins (Wed, 13 Sep 2017 16:42:54 GMT):
baseimage derives from baseos, so it shares the necessary lineage in a way that non --static has a shot at working

greg.haskins (Wed, 13 Sep 2017 16:43:06 GMT):
actually, i just remembered the other problem though

greg.haskins (Wed, 13 Sep 2017 16:43:13 GMT):
still solvable, but not as clearcut

greg.haskins (Wed, 13 Sep 2017 16:44:03 GMT):
the reason I stuck with --static even after re-establishing a baseos lineage is you cant really predict in a generic way what libs the app will need

greg.haskins (Wed, 13 Sep 2017 16:44:49 GMT):
for instance, if peer pulled in libfoo.so that was installed in baseimage, it would require the installation of the same in baseos in order to work

greg.haskins (Wed, 13 Sep 2017 16:44:56 GMT):
--static solved that nicely

greg.haskins (Wed, 13 Sep 2017 16:45:13 GMT):
like I said, you could still solve it, but it gets a little messier

divyank (Wed, 13 Sep 2017 17:25:56 GMT):
I ran into that issue as well. I'm currently trying to see if it's possible to statically link certain libraries while still producing a dynamically linked binary. This way there would be no need for adding the required .so files to the baseos image.

ngeorge (Thu, 14 Sep 2017 10:49:33 GMT):
Has anyone tried passing an endorsement policy as byte array? I couldnt find any samples of the same..

acloudfan (Thu, 14 Sep 2017 16:22:11 GMT):
Has joined the channel.

jimthematrix (Thu, 14 Sep 2017 17:08:01 GMT):
@muralisr do we still need stub.GetBinding()? what is that used for? I suppose a chaincode can use it to get a unique hash for the transaction proposal, and use it for some purpose. but seeing how it's computed, hash(nonce, creator, epoch), it's almost identical to txId

jimthematrix (Thu, 14 Sep 2017 17:08:45 GMT):
trying to decide whether I should make this available in node.js chaincode stub API. i'm leaning toward no. what's your opinion?

fred0071 (Fri, 15 Sep 2017 06:42:30 GMT):
Has joined the channel.

muralisr (Fri, 15 Sep 2017 11:54:20 GMT):
@jimthematrix I was trying to reason out exactly the same way you described. This appears to have come from https://jira.hyperledger.org/browse/FAB-1752. I'm also not sure when this would be used... let;s check with @elli-androulaki @adc ?

elli-androulaki (Fri, 15 Sep 2017 12:27:32 GMT):
Hi @jimthematrix , @muralisr , binding is to be used for invocation access control at the chaincode layer when the chaincode authentication is based on alternate authentication mechanisms (other than creator)

elli-androulaki (Fri, 15 Sep 2017 12:29:36 GMT):
it fulfils the same purpose for chaincodes/application and fabric platform as tls-unique when used by applications running on tls

elli-androulaki (Fri, 15 Sep 2017 12:29:36 GMT):
it fulfils the same purpose for chaincodes/application on top of fabric as tls-unique when used by applications running on tls

jimthematrix (Fri, 15 Sep 2017 14:26:03 GMT):
@elli-androulaki thanks for the detailed explanation (on the whiteboard), as we discussed this is a useful and advanced API and is likely the least understood feature of the chaincode API, we should provide more documentation and also have the SDKs add a "generateBinding()" as part of constructing a proposal.

jimthematrix (Fri, 15 Sep 2017 14:26:23 GMT):
@muralisr as a result of a f2f discussion with Elli, I now understood the function it provides and how it's supposed to be used. so I'll add it to node.js chaincode

elli-androulaki (Fri, 15 Sep 2017 14:33:52 GMT):
sure!

vdods (Sun, 17 Sep 2017 18:59:51 GMT):
Has left the channel.

SyneBlockChainTeam (Mon, 18 Sep 2017 08:24:34 GMT):
We need to deploy each peer on different physical machines. Might be, this could be achieved by creating peer on different machines with help docker. Could you please suggest the configuration steps for this? Thanks

joifsi (Mon, 18 Sep 2017 08:31:40 GMT):
Has joined the channel.

joifsi (Mon, 18 Sep 2017 08:34:10 GMT):
I keep getting the following debug logs in the peer console saying that security handshake failed. Can someone help with what this means and why is the handshake failing ```2017-09-18 07:44:46.243 UTC [grpc] Printf -> DEBU 19e grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: x509: cannot validate certificate for 127.0.0.1 because it doesn't cont ain any IP SANs"; Reconnecting to {"127.0.0.1:7051" } 2017-09-18 07:44:46.244 UTC [grpc] Printf -> DEBU 19f grpc: Server.Serve failed to complete security handshake from "127.0.0.1:40296": EOF ```

mastersingh24 (Mon, 18 Sep 2017 10:19:16 GMT):
@joifsi - Basically hostname verification is failing at the TLS layer. Assuming you are using certs generated by cryptogen, they only contain hostnames in the SAN (Subject Alternative Name) field. How are you running your peers? Docker, binary, etc?

joifsi (Mon, 18 Sep 2017 11:19:55 GMT):
@mastersingh24 Thanks for the quick response. I am using docker but not using the hostnames of the docker containers, rather I am using the ip address of the host machine and the exposed ports

mastersingh24 (Mon, 18 Sep 2017 11:23:01 GMT):
@joifsi - maybe this will help: https://stackoverflow.com/a/46115806/6160507 ?

joifsi (Mon, 18 Sep 2017 11:24:40 GMT):
I have tried this out but and I am using the dns names instead of ip addresses, but still the same issue comes up.

bryanhuang (Mon, 18 Sep 2017 13:02:04 GMT):
Hi all, while I upgrade a chaincode, endorser report an error "UpgradeChaincode Endorser returned error: Transaction processor (localhost:7051) returned error 'rpc error: code = Unknown desc = Failed to transaction message(proto: Marshal called with nil)'"

bryanhuang (Mon, 18 Sep 2017 13:03:13 GMT):
Could you please help on this problem, thanks a lot.

troyronda (Mon, 18 Sep 2017 14:07:58 GMT):
@mastersingh24 - was just looking at FAB-6161 - do you guys have a solution for PKCS11?

troyronda (Mon, 18 Sep 2017 14:07:58 GMT):
@mastersingh24 - was just looking at FAB-6161 - do you guys have a solution for PKCS11 that can leverage "official" builds?

troyronda (Mon, 18 Sep 2017 14:08:47 GMT):
(that does not involve custom builds/images)

yyyyyyy9 (Tue, 19 Sep 2017 00:37:42 GMT):
Has joined the channel.

CarlXK (Tue, 19 Sep 2017 02:35:18 GMT):
@here my peer node receive a SIGTERM and the peer quit, why it will got a SIGTERM? i can't got ant clue from the log ``` 2017-09-18 11:23:50.703 CST [shim] func1 -> DEBU 3f3ae Sending KEEPALIVE response 2017-09-18 11:23:50.703 CST [chaincode] processStream -> DEBU 3f3af []Received message KEEPALIVE from shim 2017-09-18 11:23:50.703 CST [chaincode] processStream -> DEBU 3f3b0 Received KEEPALIVE Response 2017-09-18 11:23:53.805 CST [shim] func1 -> DEBU 3f3b1 []Received message KEEPALIVE from shim 2017-09-18 11:23:53.805 CST [shim] func1 -> DEBU 3f3b2 Sending KEEPALIVE response 2017-09-18 11:23:53.806 CST [chaincode] processStream -> DEBU 3f3b3 []Received message KEEPALIVE from shim 2017-09-18 11:23:53.806 CST [chaincode] processStream -> DEBU 3f3b4 Received KEEPALIVE Response 2017-09-18 11:23:55.753 CST [chaincode] processStream -> DEBU 3f3b5 []Received message KEEPALIVE from shim 2017-09-18 11:23:55.754 CST [chaincode] processStream -> DEBU 3f3b6 Received KEEPALIVE Response 2017-09-18 11:23:58.466 CST [nodeCmd] func3 -> DEBU 3f3b7 sig: terminated 2017-09-18 11:23:58.466 CST [fsblkstorage] Shutdown -> DEBU 3f3b8 closing fs blockStore:xnchannel 2017-09-18 11:23:58.466 CST [main] main -> INFO 3f3b9 Exiting..... ```

jeffgarratt (Wed, 20 Sep 2017 16:01:15 GMT):
@CarlXK it appears something is sending the SIGTERM to the process. This could occur depending on how you execute the process (e.g. CTRL-C directly, or running a process through a remote session and NOT using NOHUP)

CarlXK (Thu, 21 Sep 2017 01:48:20 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=nDnGzY6zfxn5kSeEa) @jeffgarratt yep, i run the peer use docker swarm (docker stack deploy) command , but on other machine's peer not receive the signal

SachinAmingad (Thu, 21 Sep 2017 12:48:34 GMT):
Has joined the channel.

SachinAmingad (Thu, 21 Sep 2017 12:49:00 GMT):
Hi there my orderer and peer fails due to grpc connection unavaliable what could be the actual reason . I am using Yacov fabric deployment !!

muralisr (Thu, 21 Sep 2017 13:02:26 GMT):
@yacovm ^^^

yacovm (Thu, 21 Sep 2017 13:08:25 GMT):
Lol

yacovm (Thu, 21 Sep 2017 13:08:30 GMT):
Is that a thing?

yacovm (Thu, 21 Sep 2017 13:08:43 GMT):
Come to private chat

t_stephens67 (Fri, 22 Sep 2017 19:46:22 GMT):
Has joined the channel.

divyank (Fri, 22 Sep 2017 19:49:40 GMT):
Hi all, we would like some feedback on the pkcs11/static build incompatibility discussion at: https://jira.hyperledger.org/browse/FAB-6161?focusedCommentId=31106&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-31106

divyank (Fri, 22 Sep 2017 19:50:26 GMT):
^ @mastersingh24 @greg.haskins @aleksandar.likic @troyronda

aleksandar.likic (Fri, 22 Sep 2017 23:05:04 GMT):
Chaincode Type Agnostic Peer - Proposal Hi all, we need a way to distribute pre-compiled golang chaincode. We had a proposal how to achieve this, and after receiving great feedback (a couple of reviews from the community, namely @greg.haskins :wink: ) We considered @greg.haskins ’ recommendation from https://jira.hyperledger.org/browse/FAB-6014?focusedCommentId=30526&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-30526 to fully commit to docker as a solution. We took the idea a bit further, as we realized that committing fully to docker provides and opportunity to move chaincode type specific processing out of the peer source code, which we believe has many great positives. We came up with a draft proposal: https://jira.hyperledger.org/browse/FAB-6014?focusedCommentId=30526&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-30526. It’s still a bit rough, so we would appreciate feedback and contribution from the community. Particularly, @greg.haskins ‘ help would be greatly appreciated. Thanks!

aleksandar.likic (Fri, 22 Sep 2017 23:05:04 GMT):
Chaincode Type Agnostic Peer - Proposal Hi all, we need a way to distribute pre-compiled golang chaincode. We had a proposal on how to achieve this, and after receiving great feedback (a couple of reviews from the community, namely @greg.haskins :wink: ), we considered @greg.haskins ’ recommendation from https://jira.hyperledger.org/browse/FAB-6014?focusedCommentId=30526&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-30526 to fully commit to docker as a solution. We took the idea a bit further, as we realized that committing fully to docker provides and opportunity to move chaincode type specific processing out of the peer source code, which we believe has many great positives. We came up with a draft proposal: https://jira.hyperledger.org/browse/FAB-6014?focusedCommentId=30526&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-30526. It’s still a bit rough, so we would appreciate feedback and contribution from the community. Particularly, @greg.haskins ‘ help would be greatly appreciated. Thanks!

greg.haskins (Fri, 22 Sep 2017 23:05:48 GMT):
@aleksandar.likic I will try to review it this weekend

aleksandar.likic (Fri, 22 Sep 2017 23:09:54 GMT):
@greg.haskins Thanks Greg! I hope we'll get feedback from others too!

yacovm (Sat, 23 Sep 2017 08:40:39 GMT):
@aleksandar.likic don't forget this needs to play nicely with the peer<-->chaincode mutual TLS auth which the peergenerates tne cert for,else the peer won't accept the gRPC stream

ToddKitchens3 (Sat, 23 Sep 2017 17:42:27 GMT):
Has joined the channel.

aleksandar.likic (Sat, 23 Sep 2017 18:28:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=LfShpy9W95AopjB5q) @yacovm Of course. Implementation would use the existing peer<-->chaincode gRPC schema, no need to invent anything new in this regard. The changes would be mostly around install and instantiate.

aleksandar.likic (Sat, 23 Sep 2017 18:28:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=LfShpy9W95AopjB5q) @yacovm Of course. Implementation would use the existing peer<-->chaincode gRPC schema, no need to invent anything new in this regard. The changes would be mostly around chaincode install and instantiate.

yacovm (Sat, 23 Sep 2017 18:29:26 GMT):
I'm talking about the "sort-of-recent" mutual TLS thing

yacovm (Sat, 23 Sep 2017 18:29:50 GMT):
when the peer spawns a chaincode container, it injects it with a TLS certificate and a TLS private key

aleksandar.likic (Sat, 23 Sep 2017 18:30:04 GMT):
Understood, thanks.

yacovm (Sat, 23 Sep 2017 18:30:08 GMT):
you *have* to use it to connect to the peer, or else it'll block youu

yacovm (Sat, 23 Sep 2017 18:30:08 GMT):
you *have* to use it to connect to the peer, or else it'll block you

aleksandar.likic (Sat, 23 Sep 2017 18:34:43 GMT):
@greg.haskins has already suggested having a standard peer-chaincode contract for instantiation, so i think TLS is one of the things that should be covered.

aleksandar.likic (Sat, 23 Sep 2017 18:34:43 GMT):
@greg.haskins has already suggested having a standard peer-chaincode contract for instantiation, so i think TLS is one of the things that should be covered. Current proposal doesn't go into details on this, that's one area where it should improve I guess.

toriaezunama (Mon, 25 Sep 2017 12:17:54 GMT):
Has joined the channel.

GiorgiBlockchain (Tue, 26 Sep 2017 02:30:31 GMT):
Has joined the channel.

albrandt (Tue, 26 Sep 2017 15:08:32 GMT):
Has left the channel.

gauthampamu (Tue, 26 Sep 2017 17:26:09 GMT):
https://chat.hyperledger.org/channel/fabric-sdk-node?msg=vhFHthbBHTdmcrL6S

DarshanBc (Wed, 27 Sep 2017 02:17:33 GMT):
I need to join another organization to my network of channel xyz dynamically where already 2orgs exist org3 have their own set of functionalities p,q,r written in chaincode how to make these new functionalities available for the members of org1 and org2

C0rWin (Wed, 27 Sep 2017 05:33:09 GMT):
@DarshanBc you need to install new chaincode on peers of org1 and org2.

aleksandar.likic (Wed, 27 Sep 2017 13:57:42 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=S6WmmnovmH2XTdiTg) @greg.haskins Hi Greg, have you had a chance to review it?

greg.haskins (Wed, 27 Sep 2017 16:03:25 GMT):
@aleksandar.likic not yet, sorry

t_stephens67 (Wed, 27 Sep 2017 17:35:41 GMT):
I have created 3 fabric peers and generated new keys and certs for those and then mapped each peer to its own couchdb. I have created a channel on peer0 and added peer1 and peer2 to the channel I then deploy my .bna network onto all 3 peers. When I run my composer-rest-server how does it interact with all 3 peers? Is consensus built in or do I need to configure consensus.

dhuseby (Thu, 28 Sep 2017 01:52:30 GMT):
is the membership service provider a centralized server that all peers talk to?

dhuseby (Thu, 28 Sep 2017 01:52:39 GMT):
or is there a local instance of the MSP on each peer?

dhuseby (Thu, 28 Sep 2017 01:52:48 GMT):
if so, then how are the MSP instances kept synchronized/

dhuseby (Thu, 28 Sep 2017 01:52:50 GMT):
?

yacovm (Thu, 28 Sep 2017 05:47:45 GMT):
In v1.0 we have an MSP instance per channel, and a local MSP that is cross channel. The channel MSPs are updated with cobfiguration blocks

yacovm (Thu, 28 Sep 2017 05:48:14 GMT):
But its not a server, just a module in the code

shubhammangla (Thu, 28 Sep 2017 12:30:59 GMT):
Has joined the channel.

jworthington (Thu, 28 Sep 2017 14:25:36 GMT):
Has joined the channel.

qizhang (Fri, 29 Sep 2017 18:10:38 GMT):
Has joined the channel.

asaningmaxchain (Sun, 01 Oct 2017 07:55:37 GMT):
Has joined the channel.

asaningmaxchain (Sun, 01 Oct 2017 07:57:27 GMT):
@yacovm each peer/orderer contains a msp?

yacovm (Sun, 01 Oct 2017 08:02:58 GMT):
yes

asaningmaxchain (Sun, 01 Oct 2017 08:32:37 GMT):
i know the in the orderer system channel, it loads the all msp in the genesis config

asaningmaxchain (Sun, 01 Oct 2017 08:32:37 GMT):
i know the in the orderer system channel, it loads the all msp in the genesis config,why the orderer contains the local msp

yacovm (Sun, 01 Oct 2017 08:48:15 GMT):
well the local msp contains its signing key ;)

yacovm (Sun, 01 Oct 2017 08:48:22 GMT):
the orderer signs blocks

asaningmaxchain (Sun, 01 Oct 2017 09:01:04 GMT):
the peer will deliver the block from the orerer,how the peer verify the signature

yacovm (Sun, 01 Oct 2017 09:27:11 GMT):
what do you mean how

epm2wi (Sun, 01 Oct 2017 10:16:25 GMT):
Has joined the channel.

asaningmaxchain (Tue, 03 Oct 2017 11:44:10 GMT):
i think the msp is a ca

asaningmaxchain (Tue, 03 Oct 2017 11:44:10 GMT):
i think the msp is a ca,it's right? @yacovm

asaningmaxchain (Tue, 03 Oct 2017 11:44:13 GMT):
@yacovm

asaningmaxchain (Tue, 03 Oct 2017 11:45:54 GMT):
when i in the 'examples/e2e_cli` to execute the generateArtifacts.sh to produce the artifacts

yacovm (Tue, 03 Oct 2017 11:51:01 GMT):
I don't understand

asaningmaxchain (Tue, 03 Oct 2017 11:56:53 GMT):
can you explain the msp

asaningmaxchain (Tue, 03 Oct 2017 11:56:53 GMT):
can you explain the msp? and how the fabric use the msp

yacovm (Tue, 03 Oct 2017 12:00:03 GMT):
this is a question to #fabric-crypto

thakkarparth007 (Tue, 03 Oct 2017 12:29:33 GMT):
@asaningmaxchain msp only plays a role once you have an identity. It verifies if an identity belongs to an org or has permissions to perform an action. CA on the other hand is for enrolling/unregistering identities to organizations. You don't always need a CA for fabric to work - you _can_ work without it if you use the cryptogen tool that will generate identities for you. But that's not a very straightforward way for big networks.

asaningmaxchain (Tue, 03 Oct 2017 12:33:22 GMT):
https://pastebin.com/ytSvakkp @thakkarparth007 can you explain each folder

thakkarparth007 (Tue, 03 Oct 2017 12:59:07 GMT):
I'm not very well worsed with that folder structure. Fabric crypto would be a better place to get the details. I can only give a high level overview

thakkarparth007 (Tue, 03 Oct 2017 12:59:07 GMT):
I'm not very well verrsed with that folder structure. Fabric crypto would be a better place to get the details. I can only give a high level overview

thakkarparth007 (Tue, 03 Oct 2017 12:59:07 GMT):
I'm not very well versed with that folder structure. Fabric crypto would be a better place to get the details. I can only give a high level overview

yacovm (Tue, 03 Oct 2017 13:08:52 GMT):
So the `ca` folder is to initialize a CA. contains a private key and a CA's cert. the `msp` folder is actually the data that is persisted in the config block about the organization, used to build the "verifier" MSP per channel. the `peers` folder contains 2 folders: - `msp` folder to store the signing MSP of a peer - `tls` folder to store the TLS stuff (cert, root CA cert, and signing key) - `tlsca` folder is used to store in the config block, the TLS verification data - it's basically root CA certs. @asaningmaxchain

asaningmaxchain (Tue, 03 Oct 2017 13:14:35 GMT):
so the `ca` is the root

asaningmaxchain (Tue, 03 Oct 2017 13:17:36 GMT):
what's the `users` folder

asaningmaxchain (Tue, 03 Oct 2017 13:17:36 GMT):
what's the `users` folder @yacovm

yacovm (Tue, 03 Oct 2017 13:27:16 GMT):
the user's signing key and CA cert

yacovm (Tue, 03 Oct 2017 13:28:41 GMT):
also the user's admin cert (not sure why a user would need the admin cert of the admin user... @jimthematrix @mastersingh24 ideas?)

Vadim (Tue, 03 Oct 2017 13:30:09 GMT):
@yacovm @asaningmaxchain this is the peer admin user cert

Vadim (Tue, 03 Oct 2017 13:30:31 GMT):
it can be used to e.g. install/instantiate chaincodes

yacovm (Tue, 03 Oct 2017 13:32:03 GMT):
nope, that is only correct in case the user is an admin itself

yacovm (Tue, 03 Oct 2017 13:32:34 GMT):
but I was referring to: ``` └── User1@org2.example.com ├── msp │ ├── admincerts │ │ └── User1@org2.example.com-cert.pem

Vadim (Tue, 03 Oct 2017 13:33:37 GMT):
that user's cert is located in the peer/msp/admincerts, at least for cryptogen 1.0.2

Vadim (Tue, 03 Oct 2017 13:33:37 GMT):
that admin user's cert is located in the peer/msp/admincerts, at least for cryptogen 1.0.2

Vadim (Tue, 03 Oct 2017 13:34:06 GMT):
what is incorrect about that?

Vadim (Tue, 03 Oct 2017 13:35:50 GMT):
ok, I meant Admin@peer user [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=5d2BEEYW6hexYRTF3)

yacovm (Tue, 03 Oct 2017 13:41:57 GMT):
yep in that case you're correct

jimthematrix (Tue, 03 Oct 2017 13:53:06 GMT):
@yacovm @Vadim hmm, this is confusing: so the following two files are identical (just tried generating from the latest cryptogen built from master): ```cat crypto-config/peerOrganizations/org1.example.com/users/User1\@org1.example.com/msp/admincerts/User1\@org1.example.com-cert.pem crypto-config/peerOrganizations/org1.example.com/users/User1\@org1.example.com/msp/signcerts/User1\@org1.example.com-cert.pem

jimthematrix (Tue, 03 Oct 2017 13:53:06 GMT):
@yacovm @Vadim hmm, this is confusing: so the following two files are identical (just tried generating from the latest cryptogen built from master): ```org1.example.com/users/User1\@org1.example.com/msp/admincerts/User1\@org1.example.com-cert.pem org1.example.com/users/User1\@org1.example.com/msp/signcerts/User1\@org1.example.com-cert.pem

yacovm (Tue, 03 Oct 2017 13:53:39 GMT):
looks like the user is an admin? ;)

jimthematrix (Tue, 03 Oct 2017 13:53:54 GMT):
it can't

yacovm (Tue, 03 Oct 2017 13:53:55 GMT):
or at least thinks he is?

jimthematrix (Tue, 03 Oct 2017 13:54:17 GMT):
because the peers msp config dir is set to `org1.example.com/`

jimthematrix (Tue, 03 Oct 2017 13:54:17 GMT):
because the peers msp config dir is set to `org1.example.com/msp`

jimthematrix (Tue, 03 Oct 2017 13:54:44 GMT):
which has a different admin cert

yacovm (Tue, 03 Oct 2017 13:54:53 GMT):
I don't think admincerts should even be in that folder since a client SDK doesn't listen for connections and only invokes operations on network nodes, not the other way around so there is no admin operation on an SDK that can be verified

jimthematrix (Tue, 03 Oct 2017 13:56:30 GMT):
right, that's likely what the "admincerts" under the User1 folder is meant for, that it's validating a response signed by the admin

jimthematrix (Tue, 03 Oct 2017 13:56:30 GMT):
right, that's likely what the "admincerts" under the User1 folder is meant for, that it's validating a response signed by the admin (presumably you could have a peer be configured with the admin identity, and an endorsement policy containing `org1.ADMIN`)

jimthematrix (Tue, 03 Oct 2017 13:56:44 GMT):
but the problem is the cert has the wrong content

yacovm (Tue, 03 Oct 2017 13:58:37 GMT):
but what response by an admin can an SDK even validate??

yacovm (Tue, 03 Oct 2017 13:59:18 GMT):
> and an endorsement policy containing This doesn't make sense, a peer cannot be an admin...

yacovm (Tue, 03 Oct 2017 13:59:44 GMT):
BTW Jim - the SDK doesn't verify the signature of the endorsements returned from the peer, does it?

jimthematrix (Tue, 03 Oct 2017 13:59:47 GMT):
a peer SHOULDN'T be an admin, but it definitely CAN be made one

jimthematrix (Tue, 03 Oct 2017 14:00:53 GMT):
the node SDK doesn't validate the certs accompanying proposal response, but Java SDK does in fact

jimthematrix (Tue, 03 Oct 2017 14:01:13 GMT):
(both SDKs do verify the signature, to be clear)

yacovm (Tue, 03 Oct 2017 14:01:15 GMT):
so I'm not talking about cert validation, but about signature validation of the endorsements

yacovm (Tue, 03 Oct 2017 14:01:25 GMT):
> (both SDKs do verify the signature, to be clear) oh? really?

yacovm (Tue, 03 Oct 2017 14:01:37 GMT):
what if a signature is signed improperly then ?

yacovm (Tue, 03 Oct 2017 14:01:53 GMT):
lets say you got an endorsements from peer0, peer1, peer2 and the signature from peer2 is wrong

yacovm (Tue, 03 Oct 2017 14:02:00 GMT):
will the endorsement fail?

yacovm (Tue, 03 Oct 2017 14:02:14 GMT):
will the client SDK return an error?

yacovm (Tue, 03 Oct 2017 14:02:24 GMT):
so that the submission of the transaction to the orderer will not happen?

yacovm (Tue, 03 Oct 2017 14:05:49 GMT):
@jimthematrix ^

jimthematrix (Tue, 03 Oct 2017 14:09:41 GMT):
both SDK's expose a utility API to check if all responses have valid signatures, and returns `false` if any failed to verify

jimthematrix (Tue, 03 Oct 2017 14:09:56 GMT):
then it's up to the app (that uses the SDK) to decide whether to proceed or not

yacovm (Tue, 03 Oct 2017 14:18:55 GMT):
Could you perhaps give me a link to the code (node.SDK preferred) @jimthematrix ? Thanks in advance!

yacovm (Tue, 03 Oct 2017 14:37:01 GMT):
https://github.com/hyperledger/fabric-sdk-node/blob/6f7310ccda8648473d0f794e28c5b390ac030480/fabric-client/lib/Channel.js#L1620-L1665 Is this here?

jimthematrix (Tue, 03 Oct 2017 17:14:29 GMT):
@yacovm that's correct

yacovm (Tue, 03 Oct 2017 17:20:15 GMT):
@troyronda @aleksandar.likic do you guys know if it's checked in go-SDK ?

yacovm (Tue, 03 Oct 2017 17:21:22 GMT):

Message Attachments

aleksandar.likic (Tue, 03 Oct 2017 18:03:11 GMT):
Go SDK is currently not checking endorsement signatures. How does other SDKs achieve this without discovery service (that the client could use to obtain endorsers' certs)? By sticking the certs in the client configuration?

yacovm (Tue, 03 Oct 2017 19:10:40 GMT):
@aleksandar.likic - simple. When you get the endorsement, the endorser's certs are already in the signed proposal !

yacovm (Tue, 03 Oct 2017 19:11:18 GMT):
The SDK is primed with the root CA certs of all orgs and with this, it can validate the endorser's cert, and then afterwards - verify the signature.

yacovm (Tue, 03 Oct 2017 19:12:09 GMT):
Can you configure the root CA certs of other orgs in the Go-SDK? (I don't remember... used it too long ago)

yacovm (Tue, 03 Oct 2017 19:15:17 GMT):
@troyronda ^

falix (Wed, 04 Oct 2017 02:01:06 GMT):
Has joined the channel.

rock_martin (Wed, 04 Oct 2017 06:01:44 GMT):
HI ,Can we access transaction id of the parent invocation of the transaction in chaincode?

Vadim (Wed, 04 Oct 2017 07:16:06 GMT):
@rock_martin stub.GetTxID()?

yacovm (Wed, 04 Oct 2017 07:58:44 GMT):
I think by parent invocation he means a chaincode2chaincode call no?

Vadim (Wed, 04 Oct 2017 07:59:23 GMT):
@yacovm I don't know what he means, trying to get more info from him ;)

Colonel_HLE (Wed, 04 Oct 2017 09:23:33 GMT):
Has joined the channel.

Colonel_HLE (Wed, 04 Oct 2017 09:23:41 GMT):
Hey, what is the main difference between *endorsers* in fabric and a *notary node* in corda? They look quite similar to me, but i think i am missing something.

surabhi (Wed, 04 Oct 2017 09:42:05 GMT):
Has joined the channel.

rock_martin (Wed, 04 Oct 2017 10:30:00 GMT):
sorry @Vadim @yacovm its not parent.its current

rock_martin (Wed, 04 Oct 2017 10:30:09 GMT):
sorry for typographical mistake

Vadim (Wed, 04 Oct 2017 10:35:21 GMT):
@rock_martin so then `stub.GetTxID()` should work for you

rock_martin (Wed, 04 Oct 2017 10:35:32 GMT):
@vadim Thanks

rock_martin (Wed, 04 Oct 2017 10:36:17 GMT):
Could you please let me know for implementation of fabric as for production level i.e as running on multiple hosts

asaningmaxchain (Wed, 04 Oct 2017 11:13:36 GMT):
@jimthematrix can you explain the msp detailly?

chrispoole (Wed, 04 Oct 2017 15:18:01 GMT):
Has joined the channel.

Menniti (Wed, 04 Oct 2017 20:22:41 GMT):
Has joined the channel.

elli-androulaki (Thu, 05 Oct 2017 07:35:03 GMT):
@asaningmaxchain here is the doc on MSP http://hyperledger-fabric.readthedocs.io/en/latest/msp.html and for MSP identities http://hyperledger-fabric.readthedocs.io/en/latest/msp-identity-validity-rules.html.

return_01 (Thu, 05 Oct 2017 13:42:35 GMT):
Has joined the channel.

AbhishekSeth (Fri, 06 Oct 2017 07:19:30 GMT):
Has joined the channel.

AbhishekSeth (Fri, 06 Oct 2017 07:21:37 GMT):
hey all... Where and how to define which peer acts as admin for an org?

rock_martin (Fri, 06 Oct 2017 10:14:08 GMT):
if I install chaincode on 3 peers of a channel that has total number of 5 so when I instantiate chaincode does the endorsement policy exclude those 2 peers by itself even if they are involved in the organisation that endorsed the chaincode

rock_martin (Fri, 06 Oct 2017 11:18:18 GMT):
I had a query, because the node SDK keeps all the certificates and keys in artifacts. So I think we need to have one node app for each and every organization(or pehaps every peer), that only have certificates for their organization's peer?? How would we transport the client and channel objects between these applications??

DarshanBc (Fri, 06 Oct 2017 13:11:39 GMT):
Hi today with endorsement policy I observed a peculiar behavior of txn execution in balance transfer instead of A and B I'm extracting enroll ID from getcreator() and making that as key and value is manipulated in two ways 1.simply adding value to balance 2. Like normal txn i.e., increase receiver balance and decrease sendor's balance. I have Jim from org1 and Barry from org2 I've put AND(org1.member,org2.member) endorsement policy for my chaincode. I observed that txn is successful if I add amount to Jim's balance just like that without any transfer and *execute this txn on peers of org1* block also got added. Txn fails because of endorsement failure only when I do nornal txn any idea why?

jrosmith (Fri, 06 Oct 2017 13:15:06 GMT):
@rock_martin you're right that each organization, assuming you wanted them on separate servers, to have their own node application. you wouldn't need to transport client/channel objects between them...you can just build them for each application. only the channel network config needs to be shared between orgs

jrosmith (Fri, 06 Oct 2017 13:15:36 GMT):
in the future questions like that are better for #fabric-sdk-node

Menniti (Fri, 06 Oct 2017 19:48:29 GMT):
Guys, conceptual questions... I`m able to create peers instantiate in different networks (IE - My house, Amazon, Digital Ocean) to then talk to each other and be in the same Hyperledger network ? Until now I have done this only everything in My Local Machine

t_stephens67 (Fri, 06 Oct 2017 19:49:56 GMT):
^

Asara (Fri, 06 Oct 2017 19:52:07 GMT):
@Menniti As long as they are configured to talk to each other and can communicate on the same channel, then yes they are on the same network.

Menniti (Fri, 06 Oct 2017 19:53:57 GMT):
Sorry Asara, i don`t get it I will be able to connect My house, Amazon and Digital Ocean in the same network by instanciate the same peer on those 3 machines

Menniti (Fri, 06 Oct 2017 19:54:00 GMT):
?

Menniti (Fri, 06 Oct 2017 19:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qGczp9wgPB2KwX3Sr) @Asara Got it!!! thank you very much!!!

Menniti (Fri, 06 Oct 2017 19:57:07 GMT):
Other question, make sense use smartphones to instantiate this peers ?

Menniti (Fri, 06 Oct 2017 19:57:28 GMT):
in therm of internet, computing capacity, storage etc..

jrosmith (Fri, 06 Oct 2017 20:59:37 GMT):
@Menniti you don't need the same peer on 3 machines. each machine has its own peer(s), but PeerHouse, PeerAmazon, and PeerDigital need to be connected to the same channel.

Menniti (Sat, 07 Oct 2017 02:11:10 GMT):
@jrosmith, totally make sens! tank you very much

Menniti (Sat, 07 Oct 2017 02:11:23 GMT):
@Asara Thank you too

DarshanBc (Mon, 09 Oct 2017 08:57:02 GMT):
There are 3 orgs org1,org2,org3 there are 2 chaincodes with different endorsement policies such as A->AND(org1.member,org2.member), B->AND(org2.member,org3.member). If chaincode A invokes B only on peers of org2 doesn't the endorsement policy fail?

C0rWin (Mon, 09 Oct 2017 10:27:31 GMT):
@DarshanBc chaincode A could only invoke chaincode B for reads, therefore it cannot fail endorsement policy

DarshanBc (Mon, 09 Oct 2017 10:28:07 GMT):
how about for writes?

DarshanBc (Mon, 09 Oct 2017 10:28:07 GMT):
@C0rWin how about for writes?

C0rWin (Mon, 09 Oct 2017 10:32:41 GMT):
currently, chaincode to chaincode is only for reads

yacovm (Mon, 09 Oct 2017 10:34:24 GMT):
AFAIK you can do a CC2CC write for the same channel

yacovm (Mon, 09 Oct 2017 10:34:34 GMT):
the endorsement policy is checked for all the RWSets

muralisr (Mon, 09 Oct 2017 14:11:00 GMT):
@yacovm +1 ^^^ :-)

nhrishi (Mon, 09 Oct 2017 17:41:49 GMT):
Hi, I've been running an app server that invokes a chaincode. I'm running fabric and App server on 2 different VMs. Its been running perfectly fine for last 4-5 days. I was doing a batch processing. Somehow it worked for around 10 invoke transactions and all of sudden started failing for next invoke transaction. Its giving me below errror and looks to me that peer is no longer accessible to App server. Is there anyway to find out. I see docker container is still running fine. Can anyone please advise asap. This is little urgent. ```error: [Peer.js]: sendProposal - timed out after:60000 error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: REQUEST_TIMEOUT at Timeout._onTimeout (./node_modules/fabric-client/lib/Peer.js:121:19) at ontimeout (timers.js:386:14) at tryOnTimeout (timers.js:250:5) at Timer.listOnTimeout (timers.js:214:5) [2017-10-09 07:50:42.582] [ERROR] invoke-chaincode - transaction proposal was bad [2017-10-09 07:50:42.582] [ERROR] invoke-chaincode - Failed to send Proposal or receive valid response. Response null or status is not 200. exiting... [2017-10-09 07:50:42.582] [ERROR] invoke-chaincode - Failed to order the transaction. Error code: undefined ```

yacovm (Mon, 09 Oct 2017 17:44:15 GMT):
@nhrishi any logs of the peer?

yacovm (Mon, 09 Oct 2017 17:44:20 GMT):
also what is the memory consumption of the peer?

yacovm (Mon, 09 Oct 2017 17:44:27 GMT):
CPU consumption?

nhrishi (Mon, 09 Oct 2017 17:59:34 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=QmRieZRgdM9D52Bjo) @yacovm Somehow docker logs is not giving me any output. Its taking forever. Memory usage - 114.4 MiB / 62.75 GiB 0.18% and CPU usage is varying between 15% - 50%

yacovm (Mon, 09 Oct 2017 18:01:40 GMT):
you can do `docker inspect` and see where the logs are outputted to

yacovm (Mon, 09 Oct 2017 18:01:43 GMT):
is the file system full perhaps?

nhrishi (Mon, 09 Oct 2017 18:18:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=sSWBup3eogeCnD6bE) @yacovm Thanks. Interestingly, I processed 10 invoke transactions through this peer successfully but dont see anything in the log. I also dont see any transaction received when i invoke from app. Yes I upgraded the diskspace today, its not full.

yacovm (Mon, 09 Oct 2017 18:19:07 GMT):
so you invoke from the node SDK

yacovm (Mon, 09 Oct 2017 18:19:09 GMT):
wait for the event

yacovm (Mon, 09 Oct 2017 18:19:16 GMT):
and you don't get it

yacovm (Mon, 09 Oct 2017 18:19:17 GMT):
right?

nhrishi (Mon, 09 Oct 2017 18:19:24 GMT):
yes

nhrishi (Mon, 09 Oct 2017 18:19:49 GMT):
its failing at sendProposal

yacovm (Mon, 09 Oct 2017 18:19:50 GMT):
aha, ok - and if you query for the chaincode - do you see that the state changed?

yacovm (Mon, 09 Oct 2017 18:19:56 GMT):
ah I see

yacovm (Mon, 09 Oct 2017 18:20:14 GMT):
and you say you can't look at the peer logs?

nhrishi (Mon, 09 Oct 2017 18:20:45 GMT):
I cant see using docker logs but I could see it using path in docker inspect.

yacovm (Mon, 09 Oct 2017 18:21:20 GMT):
and what does it say?

yacovm (Mon, 09 Oct 2017 18:21:26 GMT):
anythinh interesting?

nhrishi (Mon, 09 Oct 2017 18:22:52 GMT):
Interestingly, I don't see any log updates for today.Rest all looks usual and no errors

nhrishi (Mon, 09 Oct 2017 18:23:35 GMT):
I'm looking at " "LogPath": "/var/lib/docker/containers/2930214f3f1e95016e3b41264372ed26290c74ae121069479d90c1b2168bc303/2930214f3f1e95016e3b41264372ed26290c74ae121069479d90c1b2168bc303-json.log", "

nhrishi (Mon, 09 Oct 2017 18:23:50 GMT):
do you think its not the one

yacovm (Mon, 09 Oct 2017 18:24:54 GMT):
no idea

nhrishi (Mon, 09 Oct 2017 18:25:51 GMT):
its weird

yacovm (Mon, 09 Oct 2017 20:45:46 GMT):
@nhrishi is the peer still alive?

nhrishi (Tue, 10 Oct 2017 04:04:20 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EY6NvQJvh5ifA8QeS) @yacovm Yes its still alive.

nhrishi (Tue, 10 Oct 2017 08:45:15 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=KuawKpBZBamzabWFk) @nhrishi @yacovm Today, I've started getting this issue for other peers as well and yesterday, I managed to invoke and query on these peers successfully. This looks like related to Docker containers.

nhrishi (Tue, 10 Oct 2017 08:45:15 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=KuawKpBZBamzabWFk) @nhrishi @yacovm Today, I've started getting this issue for other peers as well and yesterday, I managed to invoke and query on these peers successfully. This looks like related to Docker containers. Btw I've been running the network for 5 days now.

DarshanBc (Tue, 10 Oct 2017 10:53:17 GMT):
Can an endorsement policy be on different peers of same orgs

yacovm (Tue, 10 Oct 2017 10:58:50 GMT):
yes

nhrishi (Tue, 10 Oct 2017 11:33:10 GMT):
@yacovm I did check ther peer log but i dont see the request is hitting the peer at all. Also when i do a docker stats Net I/O is as below. Do you think this is something can cause the issue - ``` 965 MB / 1.21 GB 1.23 GB / 1.13 GB 3.16 GB / 3.95 GB 4.24 GB / 4.19 GB 1.13 GB / 1.21 GB 3.19 GB / 3.98 GB 1.21 GB / 917 MB 3.06 GB / 4.03 GB 1.15 GB / 1.22 GB```

nhrishi (Tue, 10 Oct 2017 11:33:10 GMT):
@yacovm I did check ther peer log but i dont see the request is hitting the peer at all. Also when I do a docker stats on peers Net I/O is as below. Do you think this is something can cause the issue - ``` 965 MB / 1.21 GB 1.23 GB / 1.13 GB 3.16 GB / 3.95 GB 4.24 GB / 4.19 GB 1.13 GB / 1.21 GB 3.19 GB / 3.98 GB 1.21 GB / 917 MB 3.06 GB / 4.03 GB 1.15 GB / 1.22 GB```

yacovm (Tue, 10 Oct 2017 11:33:29 GMT):
what is this GB?

nhrishi (Tue, 10 Oct 2017 11:33:47 GMT):
Net I/O

yacovm (Tue, 10 Oct 2017 11:33:49 GMT):
if you don't see the request hitting the peer - can you perhaps use `tcpdump` and see if there is any traffic reaching it?

DarshanBc (Tue, 10 Oct 2017 11:33:55 GMT):
@yacovm can I have affiliations for peers and have endorsements based on that?

yacovm (Tue, 10 Oct 2017 11:33:58 GMT):
on port 7051

yacovm (Tue, 10 Oct 2017 11:34:10 GMT):
> @yacovm can I have affiliations for peers and have endorsements based on that? affiliation? What's that?

nhrishi (Tue, 10 Oct 2017 11:34:20 GMT):
Ok let me try

nhrishi (Tue, 10 Oct 2017 17:17:26 GMT):
@yacovm, Can I add new additional anchor peer in the existing network and kill/remove existing one later.

nhrishi (Tue, 10 Oct 2017 17:21:04 GMT):
Hi, I'm running a network with multiple organization and peers since last 5 days. Apparently, node app is not connecting to nodes and looks like they are in the deadlock situation and not responding. Is there anyway to resolve this issue without restarting the network or adding additional new nodes and kill existing ones later. Can someone pls advise asap. This is really urgent.

yacovm (Tue, 10 Oct 2017 17:26:23 GMT):
Yes you can

yacovm (Tue, 10 Oct 2017 17:26:56 GMT):
@nhrishi did you do tcpdump like i suggested?

nhrishi (Tue, 10 Oct 2017 17:28:51 GMT):
@yacovm yes I did and see traffic on the network. In fact, I'm able to invoke/query one of the peer. The issue is only for some set of peers.

nhrishi (Tue, 10 Oct 2017 17:29:44 GMT):
I'm trying to do docker stop and start but peer is not stopping

yacovm (Tue, 10 Oct 2017 17:30:57 GMT):
ah it's not stopping?

yacovm (Tue, 10 Oct 2017 17:31:26 GMT):
can you please then do `ps exec -it /bin/bash` and then do inside the peer: `kill -SIGABRT 1` ? (the pid is always 1)

nhrishi (Tue, 10 Oct 2017 17:31:28 GMT):
yes so i have 2 peers for this organization. Peer0 and Peer1. Peer0 is anchor node.

nhrishi (Tue, 10 Oct 2017 17:31:46 GMT):
I managed to stop peer1 but not peer0

yacovm (Tue, 10 Oct 2017 17:31:47 GMT):
kill with SIGABRT will make a peer crash and dump its stack trace to stdout/stderr

yacovm (Tue, 10 Oct 2017 17:31:55 GMT):
then you can send me the stack trace

nhrishi (Tue, 10 Oct 2017 17:32:43 GMT):
Okay, Just want to confirm, but I can replace another peer with this one. I don't want to restart the network and lose data.

nhrishi (Tue, 10 Oct 2017 17:32:43 GMT):
Okay, Just want to confirm, but can I replace another peer with this one? I don't want to restart the network and lose data.

yacovm (Tue, 10 Oct 2017 17:33:09 GMT):
well I just want to fix a problem in case there is a bug

yacovm (Tue, 10 Oct 2017 17:33:16 GMT):
well the peer writes to a volume

yacovm (Tue, 10 Oct 2017 17:33:19 GMT):
right?

yacovm (Tue, 10 Oct 2017 17:33:29 GMT):
if the volume is persisted with docker restart

yacovm (Tue, 10 Oct 2017 17:33:32 GMT):
then you're good

yacovm (Tue, 10 Oct 2017 17:33:42 GMT):
is the volume shared between the host and the peer?

yacovm (Tue, 10 Oct 2017 17:33:42 GMT):
is the volume shared between the host and the peer? (docker)

nhrishi (Tue, 10 Oct 2017 17:33:55 GMT):
yes Its shared. Its just i never did it

yacovm (Tue, 10 Oct 2017 17:34:31 GMT):
lets do an experiment: start a peer the way you start it but instead of a peer make there a sleep command

yacovm (Tue, 10 Oct 2017 17:34:40 GMT):
and then, log into the docker container

yacovm (Tue, 10 Oct 2017 17:34:42 GMT):
of the sleep command

yacovm (Tue, 10 Oct 2017 17:34:55 GMT):
and do `echo "bla bla" > /var/hyperledger/production`

yacovm (Tue, 10 Oct 2017 17:35:06 GMT):
and then restart the docker instance and see if it is still there

yacovm (Tue, 10 Oct 2017 17:35:13 GMT):
this way you'll test the docker setup

yacovm (Tue, 10 Oct 2017 17:35:16 GMT):
if it is persisted, or not

nhrishi (Tue, 10 Oct 2017 17:37:45 GMT):
Sorry I didnt understand about the sleep command in the docker. You mean shell command?

yacovm (Tue, 10 Oct 2017 17:38:58 GMT):
yes

nhrishi (Tue, 10 Oct 2017 17:47:33 GMT):
sure let me try that. Btw If I crash the peer, will I be able to bring it back using docker start.

nhrishi (Tue, 10 Oct 2017 17:54:32 GMT):
I tried `kill -SIGABRT 1` in my dev environment and did docker start. I'm able to see existing data and invoke/query.

yacovm (Tue, 10 Oct 2017 17:59:38 GMT):
noooooooo

yacovm (Tue, 10 Oct 2017 17:59:42 GMT):
why did you do docker start?

yacovm (Tue, 10 Oct 2017 17:59:46 GMT):
I wanted the logs!

nhrishi (Tue, 10 Oct 2017 18:00:18 GMT):
yes, I did it in my dev environment. This is not the actual environement i'm having a problem

nhrishi (Tue, 10 Oct 2017 18:00:28 GMT):
I'm having this issue in my UAT environment

yacovm (Tue, 10 Oct 2017 18:00:29 GMT):
ah

nhrishi (Tue, 10 Oct 2017 18:00:35 GMT):
so I'm trying things in dev first before UAT

yacovm (Tue, 10 Oct 2017 18:00:41 GMT):
I see

nhrishi (Tue, 10 Oct 2017 18:19:48 GMT):
Sorry I missed one point. I tried to stop one of the peer in my UAT environment (in order to start again). But it didnt stop gracefully and now we can't do exec -it into it.

nhrishi (Tue, 10 Oct 2017 18:20:13 GMT):
This was an hour back

nhrishi (Wed, 11 Oct 2017 10:25:16 GMT):
@yacovm I tried `kill -SIGABRT 1` on the peer exec bash. It doesn't work. the container is still active in docker ps and running. I tried SIGKILL and SIGTERM as well. Same issue.

yacovm (Wed, 11 Oct 2017 10:25:42 GMT):
it won't die?

nhrishi (Wed, 11 Oct 2017 10:25:49 GMT):
yes

nhrishi (Wed, 11 Oct 2017 10:25:55 GMT):
its still running

nhrishi (Wed, 11 Oct 2017 10:26:04 GMT):
```USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 29.0 0.1 667260 100328 ? Ssl Oct04 2864:22 peer node start root 21 0.0 0.0 18256 2052 ? Ss+ Oct09 0:00 /bin/bash root 209 0.1 0.0 18264 1888 ? Ss 10:23 0:00 /bin/bash root 219 0.0 0.0 34416 1456 ? R+ 10:24 0:00 ps -auxwww ```

nhrishi (Wed, 11 Oct 2017 10:47:27 GMT):
@yacovm Do you see any other options. I need restart this peer.

nhrishi (Wed, 11 Oct 2017 10:47:46 GMT):
and we can also capture stack trace so we can also investigate

yacovm (Wed, 11 Oct 2017 10:48:04 GMT):
hmm not sure what you can do, also i'm in a meeting... sorry

nhrishi (Wed, 11 Oct 2017 10:48:53 GMT):
oh ok

nhrishi (Wed, 11 Oct 2017 10:48:56 GMT):
no worries

nhrishi (Thu, 12 Oct 2017 07:40:17 GMT):
@yacovm @Vadim Just want to update on the issue, we discussed for last 2 days. We've managed bring nodes back up. We had to remove the node, then restart docker daemon and start all docker containers in the network. All unresponsive nodes are brought up and synced with the network without losing data. Really appreciate your help. Thanks a lot. :thumbsup: A couple of points/ observations - We couldn't pinpoint the real issue behind peer going into the unresponsive mode. For adding new peer with different name on the live network, we need to really look at cryptogen utility to produce certs based on the root CA. Also we mainly need to look at how we can increase transaction throughput. I've some ideas, will let update you after my investigation. We should have the best practices guide on it.

yacovm (Thu, 12 Oct 2017 07:41:06 GMT):
what's wrong with Tx throughput?

yacovm (Thu, 12 Oct 2017 07:41:16 GMT):
are you running v1.0.x or master branch?

nhrishi (Thu, 12 Oct 2017 07:41:33 GMT):
yes I'm running on the 1.0.2

yacovm (Thu, 12 Oct 2017 07:43:38 GMT):
and what's the problem with throughput?

nhrishi (Thu, 12 Oct 2017 07:44:31 GMT):
Just want to clarify, the above issue started when I was processing around 100 transactions and the invoke started failing with REQUEST_TIMEOUT issue after 20-25 transactions. Since then it went into the unresponsive mode. I'm sure something went wrong during this.

nhrishi (Thu, 12 Oct 2017 07:45:24 GMT):
I'm planning to do more regressive testing in our dev environment to see if I can replicate the issue.

nhrishi (Thu, 12 Oct 2017 07:45:24 GMT):
I'm planning to do more regression testing in our dev environment to see if I can replicate the issue.

niteshsolanki (Thu, 12 Oct 2017 13:46:34 GMT):
Hi. I had a question regarding events in hyperledger. What happens if the rate of consumption of events is slower than the production? what happens if the events.buffer is full and events.timeout has reached ? are the events from the buffer dropped ?

rsherwood (Fri, 13 Oct 2017 10:20:15 GMT):
Does anyone know if when proposing or endorsing a transaction if the current version of the channel configuration block is recorded in the transaction, and if would be checked in the orderer or VSCC ? The question behind the question is, if we start changing the CRL list in the MSP of the channel configuration block will that affect in-flight transactions (assuming that we do not add any of the endorsers or proposers cert numbers to the CRL list so the transaction is still valid with both the old and amended configuration block).

yacovm (Fri, 13 Oct 2017 10:28:57 GMT):
@rsherwood a configuration transaction (one that has CRLs, or any policy or MSP change) comes in its own block

yacovm (Fri, 13 Oct 2017 10:29:33 GMT):
so when a block with transactions is processed, it doesn't have in-flight transactions affected by the config update because the config update has been already either committed, or in flight itself.

yacovm (Fri, 13 Oct 2017 10:29:33 GMT):
so when a block with transactions is processed, it doesn't have in-flight transactions affected by the config update because the config update has been already either committed, or in flight itself (inside the orderer, or queued for delivery to the peer)

rsherwood (Fri, 13 Oct 2017 10:30:58 GMT):
So at the time of endorsement the state of the configuration block is not recorded in the normal transaction ?

yacovm (Fri, 13 Oct 2017 11:43:33 GMT):
no, we don't need it because the transactions comes in a block

yacovm (Fri, 13 Oct 2017 11:43:40 GMT):
and blocks are processed in a sequenced order @rsherwood

tongli (Fri, 13 Oct 2017 15:12:21 GMT):
Has joined the channel.

tongli (Fri, 13 Oct 2017 15:14:58 GMT):
good morning, reading the doc, looking at the chaincode package command, a bit confused by options -s -S and -i, Do not feel that the question was answered, here it is again. using -s without -S, means it will be a signed CDS, but who actually signs the package?

tongli (Fri, 13 Oct 2017 15:16:27 GMT):
reading the doc about chaincode package, confused about -s -S and -i option. When using -s without -S option, means it will be a signed CDS, but who actually signs the package? how does it get signed?

tongli (Fri, 13 Oct 2017 15:18:37 GMT):
can anyone shed a bit light on this?

tongli (Fri, 13 Oct 2017 17:40:58 GMT):
@here, can anyone help out with the question above? Thanks.

JonathanLevi (Fri, 13 Oct 2017 17:42:11 GMT):
Tong, did we not ask you something?

yacovm (Fri, 13 Oct 2017 17:42:11 GMT):
Please don't use here here either

tongli (Fri, 13 Oct 2017 17:42:52 GMT):
@JonathanLevi need to get an answer for my question.

JonathanLevi (Fri, 13 Oct 2017 17:43:31 GMT):
And therefore... you ignore our requests to behave in a certain way here?

yacovm (Fri, 13 Oct 2017 17:43:35 GMT):
wait, didn't you ask that in another channel?

tongli (Fri, 13 Oct 2017 17:43:40 GMT):
seems to be a relatively easy one.

tongli (Fri, 13 Oct 2017 17:43:47 GMT):
yes I did, was directed here.

JonathanLevi (Fri, 13 Oct 2017 17:43:59 GMT):
I *do not care* how easy is your question...

tongli (Fri, 13 Oct 2017 17:44:04 GMT):
did not get answer.

JonathanLevi (Fri, 13 Oct 2017 17:44:06 GMT):
Just to be *very clear*

tongli (Fri, 13 Oct 2017 17:44:24 GMT):
@JonathanLevi if you can answer the question, please do.

JonathanLevi (Fri, 13 Oct 2017 17:46:07 GMT):
@tongli Can you please confirm that you just wrote to me directly *if you are so good, please answer that question.*

JonathanLevi (Fri, 13 Oct 2017 17:47:08 GMT):
Just trying to make sure that I read it correctly.

tongli (Fri, 13 Oct 2017 17:47:15 GMT):
@JonathanLevi what do you try to get to. I have a question, and trying to get an answer.

JonathanLevi (Fri, 13 Oct 2017 17:47:55 GMT):
We are trying to tell you over and over, not to use @ here, even you believe that your question is simple/easy or challenging enough.

tongli (Fri, 13 Oct 2017 17:48:40 GMT):
well, I am not getting an answer. if you know, please tell me.

Asara (Fri, 13 Oct 2017 17:53:10 GMT):
@tongli http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html#creating-the-package

Asara (Fri, 13 Oct 2017 17:53:16 GMT):
Have ya read this?

tongli (Fri, 13 Oct 2017 17:53:40 GMT):
Yes. that part does not really tell me what I like to know.

tongli (Fri, 13 Oct 2017 17:53:48 GMT):
the question is this.

tongli (Fri, 13 Oct 2017 17:54:23 GMT):
if use -s without -S, the package is still called SignedCDS, but who actually signed it?

tongli (Fri, 13 Oct 2017 17:55:37 GMT):
I also said that the doc might have to be improved a bit to make it clear that signing package is out of band as Jeff pointed out. the information is not available from the doc.

tongli (Fri, 13 Oct 2017 17:56:13 GMT):
at least I could not find the answer to my question from that doc.

Asara (Fri, 13 Oct 2017 17:56:55 GMT):
`When -s is specified, the -S option must also be specified if other owners are going to need to sign. Otherwise, the process will create a SignedCDS that includes only the instantiation policy in addition to the CDS.`

Asara (Fri, 13 Oct 2017 17:57:32 GMT):
Someone who knows better, correct me if I'm wrong,but that seems to imply that the peer from which you ran the command?

tongli (Fri, 13 Oct 2017 17:58:02 GMT):
right, read that part multiple times, otherwise, the process will create a SignedCDS, but whose signature is in the package?

tongli (Fri, 13 Oct 2017 17:58:17 GMT):
well it says includes only the instantiation policy in addition to the CDS,

tongli (Fri, 13 Oct 2017 17:58:30 GMT):
did not say anything about signature.

tongli (Fri, 13 Oct 2017 17:59:31 GMT):
assume CDS is said above raw CDS which has nothing about signatures.

wlahti (Fri, 13 Oct 2017 18:08:13 GMT):
looking at the code, without -S, the CDS is signed by the default signing identity of the local MSP of the peer you are running the command against.

wlahti (Fri, 13 Oct 2017 18:08:13 GMT):
@tongli looking at the code, without -S, the CDS is signed by the default signing identity of the local MSP of the peer you are running the command against.

wlahti (Fri, 13 Oct 2017 18:10:16 GMT):
I'd need to look further to determine exactly how the default signing identity is set.

wlahti (Fri, 13 Oct 2017 18:10:16 GMT):
I'd need to look further to determine exactly how the default signing identity is set if that's needed.

tongli (Fri, 13 Oct 2017 18:10:17 GMT):
@wlahti cool, cool. thanks for providing the answer. without -S, the peer's signature will be the only signature inside that package since that package can not be further signed.

wlahti (Fri, 13 Oct 2017 18:11:34 GMT):
yes, that's how I understand it

tongli (Fri, 13 Oct 2017 18:12:12 GMT):
@wlahti the peer has a core_peer_id set when it gets started, is it possibly that is how the peer id to be specified?

tongli (Fri, 13 Oct 2017 18:13:32 GMT):
what throws me off is the statement that says "includes only the instantiation policy in addition to the CDS", but it is still called Signed, I think that was the something confused me, it may be clear to others.

tongli (Fri, 13 Oct 2017 18:15:13 GMT):
@wlahti anyway, thanks a lot for helping out. now I understand. so with -S, the package can be passed around to be signed by more parties. Who would be allowed to sign though?

wlahti (Fri, 13 Oct 2017 18:15:17 GMT):
which doc are you looking at? I can follow-up with Murali, the expert in this area, to make sure things are documented correctly and in an accurate, easy to understand way. (Murali's traveling this week, I believe)

tongli (Fri, 13 Oct 2017 18:15:42 GMT):
http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html

tongli (Fri, 13 Oct 2017 18:16:04 GMT):
the section is creating the package.

tongli (Fri, 13 Oct 2017 18:16:33 GMT):
below the example, there are explanations for options -s -S and -i.

tongli (Fri, 13 Oct 2017 18:18:38 GMT):
now with -S option, I understand multiple parties can sign the package, but who is allowed to sign?

tongli (Fri, 13 Oct 2017 18:19:11 GMT):
can anyone sign that package?

wlahti (Fri, 13 Oct 2017 18:20:15 GMT):
I'm not sure on that part. I could imagine it would let anyone sign but if the signatures don't match the (instantiation? endorsement?) policy the action won't succeed

wlahti (Fri, 13 Oct 2017 18:21:16 GMT):
but that's a guess :)

tongli (Fri, 13 Oct 2017 18:21:18 GMT):
so you mean that the instantiation policy may play a roll on whose signatures are needed?

tongli (Fri, 13 Oct 2017 18:21:41 GMT):
@wlahti understood. thanks again for helping out.

wlahti (Fri, 13 Oct 2017 18:22:33 GMT):
yes, that's what I'd guess. the instantiation policy may say "Org1 and Org2 must sign this package before it can be instantiated" seems like a likely scenario to me

wlahti (Fri, 13 Oct 2017 18:22:33 GMT):
yes, that's what I'd guess. the instantiation policy may say "Org1 and Org2 must have an Admin sign this package before it can be instantiated" seems like a likely scenario to me

tongli (Fri, 13 Oct 2017 18:24:33 GMT):
@wlahti I thought that signing party and instantiation party may be different, but that is just me thinking out loud. but if signing parties are all peers, your guess could be very well true. thanks again.

wlahti (Fri, 13 Oct 2017 18:26:51 GMT):
glad to add my thoughts. :) I've touched the code in this area a few times but haven't spent much time looking into these kinds of details.

wlahti (Fri, 13 Oct 2017 18:27:34 GMT):
when I figure out more, I'll reach out to you in addition to making sure the documentation is updated.

tongli (Fri, 13 Oct 2017 18:29:02 GMT):
@wlahti very cool, really appreciate your help.

minollo (Fri, 13 Oct 2017 21:50:30 GMT):
Has joined the channel.

minollo (Fri, 13 Oct 2017 21:52:54 GMT):
Hopefully not a too obvious question: from the experiments I've run, it is possible to execute parallel endorsement for X transactions against the same chaincode as long as I direct those endorsement requests to X different peers. But it seems to me that endorsement requests (at least for the same chaincode, same channel) sent to a single peer get serialized. Is that true? If yes, is there any obvious technical reason for serializing endorsement requests issues to a single peer for the same chaincode/channel? Thanks!

yacovm (Fri, 13 Oct 2017 22:05:34 GMT):
> But it seems to me that endorsement requests (at least for the same chaincode, same channel) sent to a single peer get serialized. Is that true? I think that it is serialized indeed. > is there any obvious technical reason for serializing endorsement requests issues to a single peer for the same chaincode/channel? Thanks! Not something I can think of.

muralisr (Fri, 13 Oct 2017 22:30:51 GMT):
@minollo requests to a chaincode on a peer is NOT serialized in the peer side

yacovm (Fri, 13 Oct 2017 22:48:06 GMT):
@muralisr aren't they serialized in the shim side though?

muralisr (Fri, 13 Oct 2017 22:48:21 GMT):
nope... shouldn't be

muralisr (Fri, 13 Oct 2017 22:48:35 GMT):
why do you think they are ?

muralisr (Fri, 13 Oct 2017 22:48:52 GMT):
(they used to be in 0.5/0.6 ..... but not in 1.0)

muralisr (Fri, 13 Oct 2017 22:49:42 GMT):
once I get rid of the FSM (which was necessary for serialization in 0.5/0.6), it'll be clearer

muralisr (Fri, 13 Oct 2017 22:52:15 GMT):
off for the day @yacovm

minollo (Fri, 13 Oct 2017 23:16:38 GMT):
@muralisr , @yacovm that's what I noticed in a recent test I run; parallel requests to the same peer, same chaincode ended up serialized; the same to two different peers, same chaincode run in parallel. I may well have been human error; I'll try to reproduce it with straight sdk calls and report back.

jworthington (Sat, 14 Oct 2017 12:59:22 GMT):
Trying to get ccenv docker. docker pull hyperledge/fabric-ccenv:x86_64-1.0.2. Error response from daemon: pull access denied for hyperledge/fabric-ccenv, repository does not exist or may require 'docker login'. What am I doing wrong?

jworthington (Sat, 14 Oct 2017 13:51:13 GMT):
my peer is 1.0.2, but I notice peer chaincode instantiate is trying to pull 1.0.1. Error starting container: Failed to generate platform-specific docker build: Failed to pull hyperledgerhyperledger/fabric-ccenv:x86_64-1.0.1: API error (404): {"message":"pull access denied for hyperledgerhyperledger/fabric-ccenv

jworthington (Sat, 14 Oct 2017 13:52:42 GMT):
iAnd the syntax seems odd to me, but I am not a docker person. hyperledgerhyperledger/fabric-ccenv

jworthington (Sat, 14 Oct 2017 15:05:46 GMT):
well, typo in my manual pull. pulled 1.0.1, 1.0.2, and 1.0.3 fine. But instantiate still shows error: Error starting container: Failed to generate platform-specific docker build: Failed to pull hyperledgerhyperledger/fabric-ccenv:x86_64-1.0.1: API error (404): {"message":"pull access denied for hyperledgerhyperledger/fabric-ccenv, repository does not exist or may require 'docker login'"}

jeffgarratt (Sat, 14 Oct 2017 15:53:21 GMT):
@jworthington those images should also be available from docker hub without issue.

minollo (Sat, 14 Oct 2017 15:55:54 GMT):
@muralisr , @yacovm OK, I understood the problem a bit better. Endorsement against the same chaincode from the same peer, is definitely not serialized; you can indeed run multiple endorsement in parallel - which is great. But there is indeed a worrisome serialization happening though: while a peer is working on an endorsement (it doesn't matter against which chaincode), any commit operation run by the same peer is blocked. Looking at the log file, that behavior seems to be caused by the fact that, as part of the endorsement, just before running the invoked chaincode function a read lock is acquired on a RWMutex: ` 2017-10-14 14:15:02.335 UTC [lockbasedtxmgr] NewTxSimulator -> DEBU 5c22 constructing new tx simulator 2017-10-14 14:15:02.336 UTC [lockbasedtxmgr] newLockBasedTxSimulator -> DEBU 5c23 constructing new tx simulator [4b4b5b68-4c45-4d6c-95a8-d3fb36e5440a] 2017-10-14 14:15:02.336 UTC [endorser] simulateProposal -> DEBU 5c24 Entry - txid: a548d636e62a5ba1b8f3995607485a92ebf69b1b66c56decdcf7bad9a6cb9c07 channel id: mychannel 2017-10-14 14:15:02.336 UTC [ccprovider] NewCCContext -> DEBU 5c25 NewCCCC (chain=mychannel,chaincode=lscc,version=1.0.1-snapshot-d30b129,txid=a548d636e62a5ba1b8f3995607485a92ebf69b1b66c56decdcf7bad9a6cb9c07,syscc=true,proposal=0xc4220bc5f0,canname=lscc:1.0.1-snapshot-d30b129 2017-10-14 14:15:02.336 UTC [chaincode] Launch -> DEBU 5c26 chaincode is running(no need to launch) : lscc:1.0.1-snapshot-d30b129 NewLockBasedTxSimulator acquites a read lock: txmgr.commitRWLock.RLock() ` While that transaction is being endorsed, the read lock remains active; at this point I submit a different transaction for endorsement and try to commit it, which ends up doing... ` 2017-10-14 14:15:15.710 UTC [kvledger] Commit -> DEBU 62c5 Channel [mychannel]: Committing block [2] transactions to state database 2017-10-14 14:15:15.710 UTC [lockbasedtxmgr] Commit -> DEBU 62c6 Committing updates to state database ` Commit tries to acquire a write lock on the same object: txmgr.commitRWLock.Lock(). That lock request waits until the previous endorsement is completed and the read lock is released. That implies that while an endorsement is being "computed", all commit activities by the same peers are locked; other endorsement requests do happen in parallel. My initial thought that multiple endorsement requests against the same chaincode were serialized was a side effect of using a piece of code that was collecting the endorsement and submitting the commit request in a single logical block. I suppose the underlying question is whether this is the expected behavior or not. Thanks!

minollo (Sat, 14 Oct 2017 15:55:54 GMT):
@muralisr , @yacovm OK, I understood the problem a bit better. Endorsement against the same chaincode from the same peer, is definitely not serialized; you can indeed run multiple endorsement in parallel - which is great. But there is indeed a worrisome serialization happening though: while a peer is working on an endorsement (it doesn't matter against which chaincode), any commit operation run by the same peer is blocked. Looking at the log file, that behavior seems to be caused by the fact that, as part of the endorsement, just before running the invoked chaincode function a read lock is acquired on a RWMutex: 2017-10-14 14:15:02.335 UTC [lockbasedtxmgr] NewTxSimulator -> DEBU 5c22 constructing new tx simulator 2017-10-14 14:15:02.336 UTC [lockbasedtxmgr] newLockBasedTxSimulator -> DEBU 5c23 constructing new tx simulator [4b4b5b68-4c45-4d6c-95a8-d3fb36e5440a] 2017-10-14 14:15:02.336 UTC [endorser] simulateProposal -> DEBU 5c24 Entry - txid: a548d636e62a5ba1b8f3995607485a92ebf69b1b66c56decdcf7bad9a6cb9c07 channel id: mychannel 2017-10-14 14:15:02.336 UTC [ccprovider] NewCCContext -> DEBU 5c25 NewCCCC (chain=mychannel,chaincode=lscc,version=1.0.1-snapshot-d30b129,txid=a548d636e62a5ba1b8f3995607485a92ebf69b1b66c56decdcf7bad9a6cb9c07,syscc=true,proposal=0xc4220bc5f0,canname=lscc:1.0.1-snapshot-d30b129 2017-10-14 14:15:02.336 UTC [chaincode] Launch -> DEBU 5c26 chaincode is running(no need to launch) : lscc:1.0.1-snapshot-d30b129 NewLockBasedTxSimulator acquites a read lock: txmgr.commitRWLock.RLock() While that transaction is being endorsed, the read lock remains active; at this point I submit a different transaction for endorsement and try to commit it, which ends up doing... 2017-10-14 14:15:15.710 UTC [kvledger] Commit -> DEBU 62c5 Channel [mychannel]: Committing block [2] transactions to state database 2017-10-14 14:15:15.710 UTC [lockbasedtxmgr] Commit -> DEBU 62c6 Committing updates to state database Commit tries to acquire a write lock on the same object: txmgr.commitRWLock.Lock(). That lock request waits until the previous endorsement is completed and the read lock is released. That implies that while an endorsement is being "computed", all commit activities by the same peers are locked; other endorsement requests do happen in parallel. My initial thought that multiple endorsement requests against the same chaincode were serialized was a side effect of using a piece of code that was collecting the endorsement and submitting the commit request in a single logical block. I suppose the underlying question is whether this is the expected behavior or not. Thanks!

muralisr (Sat, 14 Oct 2017 16:09:09 GMT):
@minollo the tx simualtor is used to collect RW deltas created by the tx and spans each proposal. @dave.enyeart @manish-sethi any way to optimize this endorser/committer locks ?

dave.enyeart (Sat, 14 Oct 2017 16:23:35 GMT):
@muralisr @minollo @manish-sethi The locks between simulation and commit are indeed expected behavior. Say your simulation does multiple queries, you don't want those queries to return inconsistent results due to on-going commits. There is some research on how to optimize this in the long term, but no 'quick fix' in the short-term.

minollo (Sat, 14 Oct 2017 16:45:47 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=tseCm58DDxdZ4sfZw) @dave.enyeart Thanks @dave.enyeart ; I would have expected that being addressed providing a snapshot of the state stable for the duration of a simulation (either provided by the underlying persistence engine, or by a layer on top of it). I suppose something along those lines is part of the ongoing research you mentioned.

minollo (Sat, 14 Oct 2017 16:45:47 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=tseCm58DDxdZ4sfZw) @dave.enyeart Thanks; I would have expected that being addressed providing a snapshot of the state stable for the duration of a simulation (either provided by the underlying persistence engine, or by a layer on top of it). I suppose something along those lines is part of the ongoing research you mentioned.

manish-sethi (Sun, 15 Oct 2017 02:48:31 GMT):
@minollo Just to clarify further on the lock aspect. The write lock is acquired for a very short duration - Only for committing the final writes to the db. The actual validation of trans (the most time consuming operation) are performed before holding the write locks. So, this write lock should not become performance issue especially, If your simulation are mostly short running trans. Yes, we also intend to use the snapshot based approach going forward.

manish-sethi (Sun, 15 Oct 2017 02:51:48 GMT):
Also, if you want to discuss these aspects further or want to share some empirical observations about this lock, it would be helpful, if you can share that on fabric-ledger channel.

minollo (Sun, 15 Oct 2017 10:37:58 GMT):
@manish-sethi the problem is not that the write lock is acquired for a short or long duration; the problem is that read locks during endorsement can indeed be acquired for long amounts of time (as long as it takes to invoke a chaincode function) - which implies that *any* commit operation on that peer is blocked during that time.

manish-sethi (Sun, 15 Oct 2017 14:01:22 GMT):
@minollo - I'll move this discussion to fabric-ledger channel for the benefit of others and would post respond there later.

muralisr (Sun, 15 Oct 2017 14:56:10 GMT):
@minollo `read locks during endorsement can indeed be acquired for long amounts of time (as long as it takes to invoke a chaincode function)` not sure what "long amounts of time" means here but application should be layered in such a way - typically - to keep heavy processing business logic out of chaincode. Keep chaincode lean/mean as a maintainer of consented ledger state (and @manish-sethi we can take up further discussion in fabric-ledger as you suggest)

jworthington (Sun, 15 Oct 2017 17:22:47 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=GE4HstnMAyAziGsc8) @jeffgarratt Thanks. Yes. But peer chaincode instantiate is making the call to docker. Not me. So I don't see how to control that. Even after I manually pull, instantiate is erroring on the docker pull attempt.

jeffgarratt (Sun, 15 Oct 2017 18:04:05 GMT):
@jworthington just saw this 'hyperledgerhyperledger/fabric-ccenv'... seems that is one to many hyperledgers

jeffgarratt (Sun, 15 Oct 2017 18:04:21 GMT):
not sure if cut paste issue

jeffgarratt (Sun, 15 Oct 2017 18:04:21 GMT):
not sure if copy paste issue on your post though vs config issue

jworthington (Sun, 15 Oct 2017 19:07:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=GgSr79dicPWe4pbNd) @jeffgarratt it can eb tough, I know. I issue the command " peer chaincode instantiate -o providercred-ord.belltane.com:7050 -C channel1 -n marbles -v 0 -c '{"Args":["init","a", "100", "b","200"]}' " and the cleint response is " 2017-10-14 14:51:47.960 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0ACD070A6608031A0C0883C988CF0510...30300A000A04657363630A0476736363 2017-10-14 14:51:47.960 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: B2EF7A421542D5A00BB4CF7470F2F3928AD5D37334DD09B49EF48A61623E63B1 Error: Error endorsing chaincode: rpc error: code = Unknown desc = Error starting container: Failed to generate platform-specific docker build: Failed to pull hyperledgerhyperledger/fabric-ccenv:x86_64-1.0.1: API error (404): {"message":"pull access denied for hyperledgerhyperledger/fabric-ccenv, repository does not exist or may require 'docker login'"} " and the server log is " 2017-10-14 14:50:42.935 UTC [dockercontroller] Start -> DEBU 74b Start container belltane-providercred-marbles-0 2017-10-14 14:50:42.935 UTC [dockercontroller] createContainer -> DEBU 74c Create container: belltane-providercred-marbles-0 2017-10-14 14:50:42.938 UTC [dockercontroller] Start -> DEBU 74d start-could not find image (container id ), because of ...attempt to recreate image 2017-10-14 14:50:42.938 UTC [chaincode-platform] generateDockerfile -> DEBU 74e FROM hyperledger/fabric-baseos:x86_64-0.3.2 ADD binpackage.tar /usr/local/bin LABEL org.hyperledger.fabric.chaincode.id.name="marbles" \ org.hyperledger.fabric.chaincode.id.version="0" \ org.hyperledger.fabric.chaincode.type="GOLANG" \ org.hyperledger.fabric.version="1.0.2" \ org.hyperledger.fabric.base.version="0.3.2" ENV CORE_CHAINCODE_BUILDLEVEL=1.0.2 2017-10-14 14:50:42.939 UTC [util] DockerBuild -> DEBU 74f Attempting build with image hyperledgerhyperledger/fabric-ccenv:x86_64-1.0.1 2017-10-14 14:50:42.940 UTC [util] DockerBuild -> DEBU 750 Image hyperledgerhyperledger/fabric-ccenv:x86_64-1.0.1 does not exist locally, attempt pull 2017-10-14 14:50:43.341 UTC [chaincode-platform] func1 -> ERRO 751 Failed to generate platform-specific docker build: Failed to pull hyperledgerhyperledger/fabric-ccenv:x86_64-1.0.1: API error (404): {"message":"pull access denied for hyperledgerhyperledger/fabric-ccenv, repository does not exist or may require 'docker login'"} " I don't know where that extra hyperledger is coming from. It won't find the local image even though I pulled it manually.

jworthington (Sun, 15 Oct 2017 19:10:01 GMT):
I'm using the prebuilt binary from Sept 1. I am pretty sure I used it before OK. But I've also done my own makes so possibly not.

minollo (Sun, 15 Oct 2017 20:43:56 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EpxkTF3DBJ7Wjc4Gf) @muralisr Sure, we all agree about that; but it's also true we have little (no) control on what users do in a chaincode; and I would assume we want to avoid any bottleneck in the infrastructure which is susceptible to how one part of the user's code takes...

minollo (Sun, 15 Oct 2017 20:43:56 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EpxkTF3DBJ7Wjc4Gf) @muralisr Sure, we all agree about that; but it's also true we have little (no) control on what users do in a chaincode; and I would assume we want to avoid any bottleneck in the infrastructure which is susceptible to how one part of the user's code behaves...

eabiodun (Sun, 15 Oct 2017 23:38:37 GMT):
Has joined the channel.

luomin (Mon, 16 Oct 2017 08:57:14 GMT):
Has joined the channel.

jworthington (Mon, 16 Oct 2017 13:29:47 GMT):
peer chaincode instantiate error. chaincode install was fine. Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package ../../bin/github.com/hyperledger/fabric/chaincode/marbles: open /bin/github.com/hyperledger/fabric/chaincode/marbles: no such file or directory. I see it is looking for a relative directory. relative to what? if the chaincode is installed, why can it not be found for instantiate?

thakkarparth007 (Mon, 16 Oct 2017 19:38:32 GMT):
@minollo while you are right that we have no control over what users do in a chaincode, at least for the "very short duration" argument, my experiments have shown that it hasn't been a real bottleneck. The major bottleneck are still the crypto operations. The wait time of the writers is less than a millisecond, or an order of magnitude lesser (i don't remember currently). And this lock is for the entire block of transactions. On the other hand, the overall transaction takes 200-500ms (depending upon the load) on a set of 8 peers all connected with very high speed network.

thakkarparth007 (Mon, 16 Oct 2017 19:39:22 GMT):
The commit duration itself takes 100-200ms for leveldb, more for couchdb.

thakkarparth007 (Mon, 16 Oct 2017 19:39:45 GMT):
So currently the locks aren't causing any harm, and are outnumbered by the latency due to other operations.

minollo (Mon, 16 Oct 2017 19:41:16 GMT):
@thakkarparth007 I think the misunderstanding here is that the risk is not how long the write lock is; but how long the read locks (during endorsements) are; if a simulation on peer A lasts, say, 1 second because the user has written a very complex chaincode function, any commit activity on that same peer A (same channel) is locked until the simulation of 1 second completes

thakkarparth007 (Mon, 16 Oct 2017 19:42:20 GMT):
By "wait time of a writer" I meant the time between the time a writer calls "rwMutex.Lock()" and the time when the call returns. I should've clarified that more.

thakkarparth007 (Mon, 16 Oct 2017 19:42:43 GMT):
And yes, if the chaincode is that complex, you'd have such an issue.

minollo (Mon, 16 Oct 2017 19:42:59 GMT):
Yep; that's all I'm saying

minollo (Mon, 16 Oct 2017 19:45:59 GMT):
@thakkarparth007 that said, I'm interested in hearing about other performance bottlenecks you are aware of - and also understanding what kind of work is happening to alleviate them; can you elaborate?

thakkarparth007 (Mon, 16 Oct 2017 19:54:07 GMT):
In my experiments we haven't considered network latency, so I can only talk about peer components. Orderer wasn't becoming a bottleneck before the peers, so we haven't focused on the orderer either (a single kafka-based orderer was sufficient). Given this, we found that: 1. Seriality of channels was a bottleneck. Throughput maxes out pretty soon, before the CPU becomes a bottleneck, since the commit is currently serial. So if you can, try to have multiple channels. With more channels, peers can process more transactions, faster. 2. CPU becomes a bottleneck when there are multiple channels. So you should have enough CPUs to handle more channels, and an overall (across channels) high load of transactions. 3. Underlying database - leveldb is much better. 4. Endorsement policy used - this I'm not too clear about yet, because we didn't use the N-out-of syntax, and instead used complex joins of "AND"s and "OR"s for specifying "3 out of 4 orgs" as the endorsement policy. One thing was clear that if the endorsement policy is complex (long), then that does affect the max throughput limit.

thakkarparth007 (Mon, 16 Oct 2017 19:56:06 GMT):
our experiments consisted of microbenchmarks - though we couldn't really find "long running" smart contracts for benchmarking. Major bottleneck was the commit phase. Endorsement and ordering were scaling well with increasing load.

thakkarparth007 (Mon, 16 Oct 2017 19:59:47 GMT):
Oh, and of course, crypto operations were a major bottleneck. But I think recently a fix for that got merged - the MSP component was optimized to reduce the crypto operations, and that did give a major boost to performance.

thakkarparth007 (Mon, 16 Oct 2017 20:03:38 GMT):
There's also one more thing - latency of transactions matters - not just throughput, in case you have many transactions touching the same keys in the ledger, due to MVCC errors. Currently Fabric creates read-write sets entirely on the endorser, and that happens rather quickly, but there's a considerable delay before the values get committed.

thakkarparth007 (Mon, 16 Oct 2017 20:06:27 GMT):
So in case there are multiple conflicting transactions, it'd reduce the throughput. For example, if you're having a counter key that simply gets incremented every time a user visits a page (stupid example for a 'blockchain' maybe, but serves the demo) - you don't want to wait for 0.5-1s (for previous increment to have committed). I was personally thinking if we could introduce 'lazy

thakkarparth007 (Mon, 16 Oct 2017 20:06:27 GMT):
So in case there are multiple conflicting transactions, it'd reduce the throughput. For example, if you're having a counter key that simply gets incremented every time a user visits a page (stupid example for a 'blockchain' maybe, but serves the demo) - you don't want to wait for 0.5-1s (for previous increment to have committed). I was personally thinking if we could introduce 'lazy evaluation' for some special cases, then that'd help solve this problem to a good degree, but I don't have enough info on the use cases, and what sort of 'lazy evaluation' operators could be introduced. This is just a personal thought, and as far as I know there isn't anything going on in this space.

minollo (Mon, 16 Oct 2017 21:06:57 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=TgpRRfsmHS9NMGRCc) @thakkarparth007 Do you have a jira reference about this, so that I can understand more details of this issues - and understand whether I'm using the fixed code or not?

muralisr (Mon, 16 Oct 2017 21:08:13 GMT):
@thakkarparth007 `Major bottleneck was the commit phase.` ... did you try with https://gerrit.hyperledger.org/r/#/c/12849/ ?

muralisr (Mon, 16 Oct 2017 21:08:13 GMT):
@thakkarparth007 `Major bottleneck was the commit phase.` ... did you try with https://gerrit.hyperledger.org/r/#/c/12849/ ? (tagging @aso too)

thakkarparth007 (Tue, 17 Oct 2017 07:07:47 GMT):
@minollo no I don't have. I'd been working on performance aspects of fabric for a while, but haven't gotten about to documenting things properly yet.

thakkarparth007 (Tue, 17 Oct 2017 07:09:04 GMT):
@muralisr I haven't tried with that particular code yet, but I did implement basic version of parallel tx validation, and it did improve the performance. Even then I think commit is still a bottleneck.

thakkarparth007 (Tue, 17 Oct 2017 07:09:38 GMT):
I'll get back with more results and insights in a few days.

thakkarparth007 (Tue, 17 Oct 2017 07:12:22 GMT):
@minollo https://jira.hyperledger.org/browse/FAB-5880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel this is the MSP fix I was talking about.

minollo (Tue, 17 Oct 2017 12:26:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=4L98sd37yaDQuyTfB) @thakkarparth007 Thanks!

vdods (Tue, 17 Oct 2017 21:31:08 GMT):
Has joined the channel.

vdods (Tue, 17 Oct 2017 22:05:18 GMT):
I'm getting a very frustrating error `Verify() returned x509: certificate has expired or is not yet valid` when the peer checks the admin cert, and found this code: ```func (msp *bccspmsp) getValidityOptsForCert(cert *x509.Certificate) x509.VerifyOptions { // First copy the opts to override the CurrentTime field // in order to make the certificate passing the expiration test // independently from the real local current time. // This is a temporary workaround for FAB-3678 var tempOpts x509.VerifyOptions tempOpts.Roots = msp.opts.Roots tempOpts.DNSName = msp.opts.DNSName tempOpts.Intermediates = msp.opts.Intermediates tempOpts.KeyUsages = msp.opts.KeyUsages tempOpts.CurrentTime = cert.NotBefore.Add(time.Second) return tempOpts } ``` which references this Jira ticket https://jira.hyperledger.org/browse/FAB-3678 . However, even though the cert validity options CurrentTime is being set to one second after the NotBefore time for the cert, the time check is still failing. Is anyone else having this problem?

vdods (Tue, 17 Oct 2017 22:06:33 GMT):
E.g. ```cert.Subject.CommonName = "peer0-admin" NotBefore = time.Time{sec:63643868520, nsec:0, loc:(*time.Location)(nil)}, NotAfter = time.Time{sec:63675404520, nsec:0, loc:(*time.Location)(nil)}, opts = x509.VerifyOptions{DNSName:"", Intermediates:(*x509.CertPool)(0xc4201e7710), Roots:(*x509.CertPool)(0xc4201e7680), CurrentTime:time.Time{sec:63643868521, nsec:0, loc:(*time.Location)(nil)}, KeyUsages:[]x509.ExtKeyUsage(nil)} ```

vdods (Tue, 17 Oct 2017 22:07:26 GMT):
Noting that indeed, NotBefore < CurrentTime < NotAfter -- here, the CurrentTime is the one in the validity opts

yacovm (Tue, 17 Oct 2017 22:12:45 GMT):
@vdods this belongs to #fabric-crypto can you please move it there?

vdods (Tue, 17 Oct 2017 22:12:55 GMT):
Ok

thakkarparth007 (Wed, 18 Oct 2017 21:08:36 GMT):
If I want add a peer to multiple channels at a time, do I need to take care that the channel-join requests take place one after another?

thakkarparth007 (Wed, 18 Oct 2017 21:10:40 GMT):
Right now, I was adding a peer to 8 channels at once, and got this in peer logs: ``` eived state transfer request for channel ch5 while expecting channel ch6 skipping request... 2017-10-18 21:09:08.978 UTC [gossip/state] directMessage -> WARN 19e Rec eived state transfer request for channel ch5 while expecting channel ch7 skipping request... ```

thakkarparth007 (Wed, 18 Oct 2017 21:10:40 GMT):
Right now, I was adding a peer to 8 channels at once, and got this in peer logs: ``` 2017-10-18 21:09:08.978 UTC [gossip/state] directMessage -> WARN 19f Rec eived state transfer request for channel ch5 while expecting channel ch6 skipping request... 2017-10-18 21:09:08.978 UTC [gossip/state] directMessage -> WARN 19e Rec eived state transfer request for channel ch5 while expecting channel ch7 skipping request... ```

thakkarparth007 (Wed, 18 Oct 2017 21:10:40 GMT):
Right now, I was adding a peer to 8 channels at once, and got this in peer logs: ``` 2017-10-18 21:09:08.978 UTC [gossip/state] directMessage -> WARN 19f Received state transfer request for channel ch5 while expecting channel ch6 skipping request... 2017-10-18 21:09:08.978 UTC [gossip/state] directMessage -> WARN 19e Received state transfer request for channel ch5 while expecting channel ch7 skipping request... ```

thakkarparth007 (Wed, 18 Oct 2017 21:12:16 GMT):
This seems to have caused a deadlock - as the peer doesn't join any other channels after joining one of the 8

thakkarparth007 (Wed, 18 Oct 2017 21:15:13 GMT):
I guess I should move this to the gossip channel.

yoheiueda (Thu, 19 Oct 2017 08:15:15 GMT):
Has joined the channel.

MeenakshiSingh (Fri, 20 Oct 2017 10:35:41 GMT):
Has joined the channel.

jyellick (Fri, 20 Oct 2017 13:56:01 GMT):
@wy Requiring that an organization is an endorser for a chaincode implies that the chaincode must be invoked by one of that org's peers as part of the transaction [ ](https://chat.hyperledger.org/channel/fabric-orderer?msg=SovnDw2JY3nkuyD83)

wy (Fri, 20 Oct 2017 13:56:01 GMT):
Has joined the channel.

wy (Fri, 20 Oct 2017 13:56:53 GMT):
@jyellick i was referring to the previous answer given by @kostas

mogamboizer (Sat, 21 Oct 2017 15:15:12 GMT):
Has joined the channel.

steveruckdashel (Mon, 23 Oct 2017 15:07:26 GMT):
Has joined the channel.

outis (Tue, 24 Oct 2017 00:52:17 GMT):
I'm trying to run bft-smart, but stumbled at the very beginning. I did: 1. clone fabric and hyperledger-bftsmart repos 2. check out zeromq branch 3. run `ant` in hyperledger-bftsmart 4. run `./launch4Replicas.sh`, which gave me 'Could not find or load main class bft.BFTNode'. What else should I do before running lanuch4Replicas?

chfalak (Tue, 24 Oct 2017 04:49:57 GMT):
Has joined the channel.

chfalak (Tue, 24 Oct 2017 04:51:29 GMT):
How do we make one peer an endorser node? Do we need to set an environment variable in the container of the peer for this?

thakkarparth007 (Tue, 24 Oct 2017 05:39:12 GMT):
Just deploy chaincode to that node and submit transaction proposals to it

Menniti (Tue, 24 Oct 2017 16:20:23 GMT):
Hey guys, Maybe someone is interested Hyperledger Course in EdX https://www.edx.org/course/blockchain-business-introduction-linuxfoundationx-lfs171x

vdods (Tue, 24 Oct 2017 19:01:21 GMT):
Quick question: How does the peer CLI work with respect to already-running peer nodes? E.g. I've got a peer running, then I run the CLI command (in a separate terminal) to create a channel, and now I want to run the command to join that peer to the channel. Is the `peer channel join` process talking with my already-running node? It seems to require its own core.yaml configuration file, yet it's not clear that the `peer channel join` process is really a peer.

C0rWin (Tue, 24 Oct 2017 19:17:27 GMT):
@vdods working with `peer cli` command you do not need `core.yaml` file, everything configured either with command line parameters or environmental variables

vdods (Tue, 24 Oct 2017 19:18:10 GMT):
does it use core.yaml if present?

vdods (Tue, 24 Oct 2017 19:20:47 GMT):
Perhaps a simpler clarifying question: `peer node` is pretty clearly for invoking the peer server. The other commands, such as `peer chaincode`, `peer channel` seem to be operating as a client which talks to an existing peer node (server). I'm thinking in terms of the distinction/separation between the fabric-ca tools `fabric-ca-server` and `fabric-ca-client`.

C0rWin (Tue, 24 Oct 2017 19:20:57 GMT):
`defMaxBlockDistance = 100`

vdods (Wed, 25 Oct 2017 00:03:09 GMT):
Using the same executable for server and client is confusing, especially when it comes to configuration -- which one uses which config vars

vdods (Wed, 25 Oct 2017 00:03:32 GMT):
I'd suggest using peer-server and peer-client, as fabric-ca does

vdods (Wed, 25 Oct 2017 00:14:53 GMT):
@C0rWin Is there an example of which env vars are needed to properly call `peer channel join` (among others)? I'm attempting to do so, but getting `[main] main -> ERRO 001 Cannot run peer because cannot init crypto, missing /home/vdods/files/gopath/src/github.com/hyperledger/fabric/sampleconfig/generated-artifacts/orgs/org0/fabric-ca-clients/peer0-admin/msp folder` where it's clearly using the default "sampleconfig" path from somewhere, but I'm not sure where.

vdods (Wed, 25 Oct 2017 00:50:11 GMT):
This seems to call for setting FABRIC_CFG_PATH, but then it wants to load a config file like core.yaml, which is precisely what I'm trying to avoid

vdods (Wed, 25 Oct 2017 00:51:50 GMT):
I looked in the fabric source code, and unless you set FABRIC_CFG_PATH, it adds the development config hyperledger/fabric/sampleconfig/core.yaml, which is meant only to be used in a test/dev environment. This is really bad because it's the implicit default behavior, and to do the correct thing in a production environment (i.e. not use the dev config), one must first know about this configuration, and take an explicit step to avoid it.

vdods (Wed, 25 Oct 2017 01:04:54 GMT):
Ok, I'm getting it to work with the following hacks: - setting FABRIC_CFG_PATH to the dir that contains the MSP of peer-admin (i.e. the account whose cert is in the peer's msp/admincerts dir) - creating an empty core.yaml file in $FABRIC_CFG_PATH - copying peer-admin's cert into its own admincerts dir

vdods (Wed, 25 Oct 2017 01:07:39 GMT):
I think these hacks are all due to the fact that the peer server and peer client are conflated into a single executable, and therefore the configuration and execution of each is messy and unclear. It makes sense not to require a config for non-server cli operations such as `peer channel join`, but unless a config file is specified (via setting FABRIC_CFG_PATH), it attempts to load the unsafe dev env config in sampleconfig. It also doesn't make sense for the peer admin account to be its own admin -- it's the admin of the peer, not itself. I think this is due to the MSP loading function always expecting to see msp/admincerts/xyz.pem, even if what is using the MSP has no concept of admin.

indira.kalagara (Wed, 25 Oct 2017 11:15:03 GMT):
Has joined the channel.

yoheiueda (Wed, 25 Oct 2017 11:59:12 GMT):
Can we enable pprof profiling for chaincode? I think we can enable pprof for a peer process by setting CORE_PEER_PROFILE_ENABLED. Is there a similar option for chaincode profiling?

rickr (Wed, 25 Oct 2017 15:15:56 GMT):
@wlahti @muralisr For the new feature https://jira.hyperledger.org/browse/FAB-5481 What is the _context_ that determines the what type blocks that the Peer will notify the client with? Is it the organization the peer belongs to so irregardless of what channel it is wanting block notifications it will only ever be allowed to receive Filter vs Full blocks ? Or, does the specific channel blocks that it wants notification will change what it can receive ?

wlahti (Wed, 25 Oct 2017 15:23:57 GMT):
Since you're talking about blocks/filtered blocks from the new (not yet merged) channel service, the access control policies (which I believe are on a per channel basis) determine which event types a client can receive.

wlahti (Wed, 25 Oct 2017 15:23:57 GMT):
Since you're talking about blocks/filtered blocks from the new (not yet merged, for anyone else interested) channel service, the access control policies (which I believe are on a per channel basis) determine which event types a client can receive.

rickr (Wed, 25 Oct 2017 15:27:07 GMT):
So what is the behavor if a Peer org. on channel A is allowed Full blocks and on channel B its only Filtered blocks and it tries to register for both for Full blocks ? I assume it will get rejected.

wlahti (Wed, 25 Oct 2017 15:29:27 GMT):
yes, the registration request is all or nothing. Assuming registration for only block events on both channels, the client would receive a message stating that registration failed due to not have access to block events on channel B.

rickr (Wed, 25 Oct 2017 15:30:07 GMT):
So it does identify which

wlahti (Wed, 25 Oct 2017 15:30:09 GMT):
that is where the BlockOrFilteredBlock registration type that you requested (aka BlockBest) will come in handy

rickr (Wed, 25 Oct 2017 15:31:40 GMT):
I assume it will get the most restricted block (FilterBlock) if any channel is limited to that type

rickr (Wed, 25 Oct 2017 15:31:40 GMT):
I assume it will get the most restricted block (FilterBlock) if any channel is limited to that type for BlockOrFilteredBlock

wlahti (Wed, 25 Oct 2017 15:32:17 GMT):
the response will have an entry for each registration request and whether any error occurred

wlahti (Wed, 25 Oct 2017 15:33:10 GMT):
yes, correct.

rickr (Wed, 25 Oct 2017 15:35:03 GMT):
Just to make certain we are on the same page .. back to my example if the registration was for BlockOrFilteredBlock on A and B above. The client would only see FilteredBlock for *both* channel A and B.

wlahti (Wed, 25 Oct 2017 15:36:44 GMT):
oh, no, I misread your previous statement. it will receive the maximal information available for each channel. it will receive

wlahti (Wed, 25 Oct 2017 15:36:44 GMT):
oh, no, I misread your previous statement. it will receive the maximal information available for each channel. it will receive block events for channel A and filtered blocks for channel B

rickr (Wed, 25 Oct 2017 15:37:11 GMT):
k thx

aleksandar.likic (Wed, 25 Oct 2017 15:45:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=vjbushWom4zYx8Hda) @vdods There is a CR at https://gerrit.hyperledger.org/r/#/c/13851/. This is a simple code split that doesn't go into configuration split (yet), but it should be a good start. It seems there is a strong desire from the community to have the peer split into client and server, but not so much among the maintainers.

aleksandar.likic (Wed, 25 Oct 2017 15:45:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=vjbushWom4zYx8Hda) @vdods There is a CR at https://gerrit.hyperledger.org/r/#/c/13851/. This is a simple code split that doesn't go into configuration split (yet), but it should be a good start. It seems there is a strong desire from the community to have the peer split into client and server.

vdods (Wed, 25 Oct 2017 17:33:09 GMT):
@aleksandar.likic Sweet! Thanks for the heads up

aleksandar.likic (Wed, 25 Oct 2017 18:01:21 GMT):
@vdods In order to get it accepted, you (and others interested in having it in) need to lobby with the maintainers. I am not a maintainer (cannot give it +2) and have absolutely no control over its acceptance into the code base.

aleksandar.likic (Wed, 25 Oct 2017 18:01:21 GMT):
@vdods In order to get it accepted, you (and others interested in having it in) need to lobby with the maintainers / release managers. I am not a maintainer (cannot give it +2) and have absolutely no control over its acceptance into the code base.

vdods (Wed, 25 Oct 2017 18:05:54 GMT):
@aleksandar.likic Is there any one in particular? I'm guessing Gari, but is there anyone else?

aleksandar.likic (Wed, 25 Oct 2017 18:38:22 GMT):
@vdods The proposal is at https://jira.hyperledger.org/browse/FAB-6317, it did steer some interest. It currently has one vote. I think it needs five to be considered for the next release. I posted it to fabric-pr-review, which is monitored by the maintainers, but it seems they see it a low priority.

vdods (Wed, 25 Oct 2017 18:39:31 GMT):
Hmm.. ok, well I just voted for it, and messaged Gari about it

vdods (Wed, 25 Oct 2017 18:40:21 GMT):
Because it's essentially a change in API (breaking one exe into two, in addition to whatever internal changes), it would seem that getting it into 1.1 would be a good idea, otherwise it'll have to wait for another 3 months or whatever

aleksandar.likic (Wed, 25 Oct 2017 18:40:36 GMT):
Are you a maintainer? If you are not, your vote doesn't count towards the required five votes.

vdods (Wed, 25 Oct 2017 18:40:43 GMT):
Oh.. haha.. nope!

linzheng (Thu, 26 Oct 2017 04:15:45 GMT):
Has joined the channel.

Selvam_Annamalai (Thu, 26 Oct 2017 09:10:29 GMT):
I have a org with 2 peers. When I try to install a chaincode on the 2 peers, I am getting the below error (Connection refused). Can you please tell me how to resolve this issue? cli.a.example.com CORE_PEER_ADDRESS=peer0.a.example.com:7051 peer chaincode install -n relationship -v 1.0 -p relationship && CORE_PEER_ADDRESS=peer1.a.example.com:7051 peer chaincode install -n relationship -v 1.0 -p relationship 2017-10-25 09:24:16.350 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-10-25 09:24:16.363 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-10-25 09:24:16.398 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2017-10-25 09:24:16.398 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc 2017-10-25 09:24:16.668 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS relationship 2017-10-25 09:24:17.722 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package fmt 2017-10-25 09:24:17.722 UTC [golang-platform] func1 -> DEBU 007 Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim 2017-10-25 09:24:17.723 UTC [golang-platform] func1 -> DEBU 008 Discarding provided package github.com/hyperledger/fabric/protos/peer 2017-10-25 09:24:17.723 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package strconv 2017-10-25 09:24:17.723 UTC [golang-platform] GetDeploymentPayload -> DEBU 00a done 2017-10-25 09:24:17.725 UTC [msp/identity] Sign -> DEBU 00b Sign: plaintext: 0AFB060A5C08031A0C08C1B0C1CF0510...3C70FC2B0000FFFF23C7E864001C0000 2017-10-25 09:24:17.725 UTC [msp/identity] Sign -> DEBU 00c Sign: digest: 48535E5AAA200D2FF621CA28A7A90D04E1C7F13EBCE2B7502F9596613552D9BC 2017-10-25 09:24:17.732 UTC [chaincodeCmd] install -> DEBU 00d Installed remotely response: 2017-10-25 09:24:17.732 UTC [main] main -> INFO 00e Exiting..... 2017-10-25 09:24:17.780 UTC [grpc] Printf -> DEBU 001 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 172.19.0.10:7051: getsockopt: connection refused"; Reconnecting to {peer1.a.example.com:7051 } 2017-10-25 09:24:18.782 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 172.19.0.10:7051: getsockopt: connection refused"; Reconnecting to {peer1.a.example.com:7051 } 2017-10-25 09:24:20.488 UTC [grpc] Printf -> DEBU 003 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 172.19.0.10:7051: getsockopt: connection refused"; Reconnecting to {peer1.a.example.com:7051 } Error: Error getting endorser client chaincode: PER:404 - Error trying to connect to local peer /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:116 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/common.go:240 github.com/hyperledger/fabric/peer/chaincode.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/install.go:166 github.com/hyperledger/fabric/peer/chaincode.chaincodeInstall /opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode/install.go:54 github.com/hyperledger/fabric/peer/chaincode.installCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:118 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Caused by: context deadline exceeded Usage: peer chaincode install [flags]

C0rWin (Thu, 26 Oct 2017 10:53:55 GMT):
@Selvam_Annamalai `peer1.a.example.com` appears as not routable from the host where you executes the install command, hence `peer cli` not able to establish connection and eventually fails

nikit-os (Fri, 27 Oct 2017 12:29:39 GMT):
Has joined the channel.

knagware9 (Fri, 27 Oct 2017 12:57:19 GMT):
Has joined the channel.

AlekNS (Fri, 27 Oct 2017 16:16:14 GMT):
Has joined the channel.

rahulhegde (Sun, 29 Oct 2017 21:17:50 GMT):
I have a public channel with write permission to Org1 and Read permission to rest all Organizations, hence the channel configuration policy. A different chaincode installed on a channel (say channel-1) performs a channel-2-channel query access on the public channel (within the same peer node). It is seen during channel-2-channel access, the write policy is evaluated and hence channel-2-channel query access fails. Problem Example - Org2 is authorized for write-operation on channel-1 but not on public channel. This endorsement proposal is marked as failed due to write-access check on public channel. As far as we rememberer, there was always read-access support enabled by Hyperledger Fabric during c-2-c access operations. Is this a defect? Note: I tried even performing writes in our public chaincode during c-2-c operation (after giving write permission on public channel to Org2) but this was never see in the public ledger.

rahulhegde (Sun, 29 Oct 2017 21:17:50 GMT):
I have a public channel with write permission to Org1 and Read permission to rest all Organizations, hence the channel configuration policy. A different chaincode installed on a channel (say channel-1) performs a channel-2-channel query access on the public channel (within the same peer node). It is seen during channel-2-channel access, the write policy is evaluated and hence channel-2-channel query access fails. Problem Example - Org2 is authorized for write-operation on channel-1 but not on public channel. This endorsement proposal is marked as failed due to write-access check on public channel. As far as we rememberer, there was always read-access support enabled by Hyperledger Fabric during c-2-c access operations. Is this a defect? Note: I tried even performing writes in our public chaincode during c-2-c operation (after giving write permission on public channel to Org2) but this was never see in the public ledger. https://jira.hyperledger.org/browse/FAB-6816

liurf (Mon, 30 Oct 2017 03:20:53 GMT):
Has joined the channel.

liurf (Mon, 30 Oct 2017 03:21:03 GMT):
hi,all,how to Member management in fabric?

meridian (Mon, 30 Oct 2017 04:35:08 GMT):
Has joined the channel.

david_dornseifer (Mon, 30 Oct 2017 22:53:44 GMT):
Has joined the channel.

kelly_ (Wed, 01 Nov 2017 00:11:29 GMT):
Hello all

kelly_ (Wed, 01 Nov 2017 00:11:50 GMT):
I have a question about when the endorsing peers update their ledger verison number

kelly_ (Wed, 01 Nov 2017 00:12:18 GMT):
Some documents suggest that version numbers should be updated according to 'block height'

kelly_ (Wed, 01 Nov 2017 00:13:30 GMT):
Another document suggests to get high throughput on fabric you should send state deltas rather than a write value, so that multiple transactions can have an impact on the same key's value within a block

kelly_ (Wed, 01 Nov 2017 00:14:22 GMT):
What I'm confused about is this: once the endorser processes the first state delta would it not update it's version number? If it didn't how are these state delta's all written rather than having each one replace the proceeding

asaningmaxchain (Wed, 01 Nov 2017 01:07:11 GMT):
@mastersingh24 can you explain how the fabric distinguish the msp is admin/member

asaningmaxchain (Wed, 01 Nov 2017 01:07:11 GMT):
?

yacovm (Wed, 01 Nov 2017 06:45:43 GMT):
@kelly_ the version is the height + the sequence in block

yacovm (Wed, 01 Nov 2017 06:46:38 GMT):
@asaningmaxchain - the MSP configuration in the local MSP or in the config block of a channel MSP contains the identities of the admins. The MSP code simply does a comparison whether the raw identity matches one of the admin identities, that's all.

asaningmaxchain (Wed, 01 Nov 2017 06:48:56 GMT):
https://gist.github.com/asaningmaxchain/1814323b465d2d910d07ca9deab61686

asaningmaxchain (Wed, 01 Nov 2017 06:50:29 GMT):
@yacovm it means in the orderer bootstrap,it load the genesis block to config the msp, in the each msp definition which contains the ```admins``` field,

asaningmaxchain (Wed, 01 Nov 2017 06:50:42 GMT):
so the admins is the msp admin?

asaningmaxchain (Wed, 01 Nov 2017 06:50:42 GMT):
so the fields admins is the msp admin?

yacovm (Wed, 01 Nov 2017 06:52:20 GMT):
yes

asaningmaxchain (Wed, 01 Nov 2017 06:57:58 GMT):
@yacovm thx,in the fabric,each component(peer,orderer) contains the local msp,in my mind,the peer/orderer own the keystore and signcerts,it's enough,but in the ```e2e_cli```,when the peer contains so many folder

asaningmaxchain (Wed, 01 Nov 2017 06:58:22 GMT):
https://gist.github.com/asaningmaxchain/ba691bc09850929dd15bcfb751bcf86f

asaningmaxchain (Wed, 01 Nov 2017 09:07:29 GMT):
@jyellick

asaningmaxchain (Wed, 01 Nov 2017 09:07:37 GMT):
@mastersingh24

kayadhami (Wed, 01 Nov 2017 16:00:26 GMT):
Has joined the channel.

aambati (Wed, 01 Nov 2017 16:17:21 GMT):
Hi everyone, I was going to start working on the JIRA https://jira.hyperledger.org/browse/FAB-5604. This defect is a low hanging one and is a good candidate for anyone new to hyperledger, thinking about dabbling with peer code. So, I thought give a chance for someone interested in picking it up. Please assign it yourself and start working on it if you are interested. Thank you.

aambati (Wed, 01 Nov 2017 16:17:21 GMT):
Hi everyone, I was going to start working on the JIRA https://jira.hyperledger.org/browse/FAB-5604. This defect is a low hanging one and is a good candidate for anyone new to hyperledger, thinking about dabbling with peer code. So, I thought to give a chance for someone interested in picking it up. Please assign it yourself and start working on it if you are interested. Thank you.

rahulhegde (Fri, 03 Nov 2017 15:26:51 GMT):
@muralisr 1. During Chaincode Install or Peer Join Operation - is CRL list validated? 2. (if point is Yes) IIf I paste a new CRL list in the localMSP, would the Peer pick this new list or do i need to restart the Peer Node

rahulhegde (Fri, 03 Nov 2017 15:26:51 GMT):
@muralisr 1. During Chaincode Install or Peer Join Operation - is CRL list validated from LocalMSP? 2. (if point is Yes) IIf I paste a new CRL list in the localMSP, would the Peer pick this new list or do i need to restart the Peer Node

rahulhegde (Fri, 03 Nov 2017 15:26:51 GMT):
@muralisr 1. During Chaincode Install or Peer Join Operation - is CRL list validated using the LocalMSP? 2. (if point is Yes) IIf I paste a new CRL list in the localMSP, would the Peer pick this new list or do i need to restart the Peer Node

rahulhegde (Fri, 03 Nov 2017 15:26:51 GMT):
@muralisr 1. During Chaincode Install or Peer Join Operation - is CRL list validated using the LocalMSP? 2. (if point 1 is Yes) IIf I paste a new CRL list in the localMSP, would the Peer pick this new list or do i need to restart the Peer Node

rahulhegde (Fri, 03 Nov 2017 15:26:51 GMT):
@muralisr 1. During Chaincode Install or Peer Join Operation - is CRL list validated using the LocalMSP? 2. (if point 1 is Yes) IIf I paste a new CRL list in the localMSP, would the Peer pick the new CRLlist file or do i need to restart the Peer Node

rahulhegde (Fri, 03 Nov 2017 15:26:51 GMT):
@muralisr 1. During Chaincode Install or Peer Join Operation - is CRL list validated using the LocalMSP? 2. (if point 1 is Yes) IIf I paste a new CRL list in the localMSP, would the Peer pick the new CRLlist file or do i need to restart the Peer Node?

muralisr (Fri, 03 Nov 2017 15:29:53 GMT):
@rahulhegde I don;t know.. let me tag @ale @mastersingh24 @yacovm for help

muralisr (Fri, 03 Nov 2017 15:29:53 GMT):
@rahulhegde I don;t know.. let me tag @aso @mastersingh24 @yacovm for help

yacovm (Fri, 03 Nov 2017 15:30:29 GMT):
of course not

yacovm (Fri, 03 Nov 2017 15:30:34 GMT):
the local MSP is loaded at startup

yacovm (Fri, 03 Nov 2017 15:30:41 GMT):
there are plans to be able to update it

yacovm (Fri, 03 Nov 2017 15:31:04 GMT):
the local MSP also can't validate a CRL of a different organization

yacovm (Fri, 03 Nov 2017 15:31:06 GMT):
how can it do that?

yacovm (Fri, 03 Nov 2017 15:31:13 GMT):
it doesn't have a common issuer...

rahulhegde (Fri, 03 Nov 2017 15:38:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=rDrQnJHybEvEhdKWQ) @yacovm So if the CRL is present in the local MSP - this would be used during certificate validation process during Install and Join operation - is my understanding correct?

rahulhegde (Fri, 03 Nov 2017 15:38:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=rDrQnJHybEvEhdKWQ) @yacovm So if the CRL is present in the local MSP during Peer Boot-up, it would be used during certificate validation process during Install and Join operation - is my understanding correct?

yacovm (Fri, 03 Nov 2017 15:38:58 GMT):
yes

yacovm (Fri, 03 Nov 2017 15:39:06 GMT):
because these are local MSP type operations

rahulhegde (Fri, 03 Nov 2017 15:40:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=rnRHhJsuRYCMegiF6) @yacovm Is this going to be available in 1.0.X release, do we a JIRA for my tracking purpose.

yacovm (Fri, 03 Nov 2017 15:41:17 GMT):
No idea. @mastersingh24 , @adc hold the answers for that

yacovm (Fri, 03 Nov 2017 15:41:45 GMT):
the JIRA is FAB-6254

rahulhegde (Fri, 03 Nov 2017 15:50:02 GMT):
Is there a JIRA, to ask support for Peer CLI to send endorsing proposal request to multiple endorsers? (i could not find and can open one for it)

muralisr (Fri, 03 Nov 2017 16:15:51 GMT):
@rahulhegde ^^^ is on my radar but not sure if there's a JIRA

muralisr (Fri, 03 Nov 2017 16:16:40 GMT):
perhaps just open one and assign it to me... make sure its not a "bug" but an "enhancement"

aso (Fri, 03 Nov 2017 18:16:58 GMT):
second +2 pls on a one-file change... https://gerrit.hyperledger.org/r/#/c/14537/

agiledeveloper (Fri, 03 Nov 2017 19:31:06 GMT):
Has joined the channel.

srongzhe (Sat, 04 Nov 2017 13:24:27 GMT):
Has joined the channel.

snehas (Sun, 05 Nov 2017 10:35:13 GMT):
Has joined the channel.

snehas (Sun, 05 Nov 2017 10:56:13 GMT):
Hi All, I am not able to instantiate chaincode if TLS is enabled. Below are the chaincode container logs and client logs. Chaincode container logs:- 2017-11-03 11:14:20.437 UTC [bccsp] initBCCSP -> DEBU 001 Initialize BCCSP [SW] 2017-11-03 11:14:20.439 UTC [shim] userChaincodeStreamGetter -> ERRO 002 Error trying to connect to local peer: x509: cannot validate certificate for 172.27.0.18 because it doesn't contain any IP SANs 2017-11-03 11:14:20.439 UTC [Public/PublicCC] Errorf -> ERRO 003 Error starting chaincode: Error trying to connect to local peer: x509: cannot validate certificate for 172.27.0.18 because it doesn't contain any IP SANs Client logs:- 2017-11-03 17:37:17.832 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: 58AE6C653B084389522FAEFEE59A62B01AC4B00297D078D1E96D774DF0BC595D Error: Error endorsing chaincode: rpc error: code = Unknown desc = Timeout expired while starting chaincode public:1.0.0(networkid:dev,peerid:peer01,tx:6a85d46aaef47be9e18cfb65341c15842abe926d3900f681f44123b6402d24bc) Usage: peer chaincode instantiate [flags] Please provide some pointers.

yacovm (Sun, 05 Nov 2017 10:57:45 GMT):
@snehas the problem is that your configuration of the peer's address if an ip address

yacovm (Sun, 05 Nov 2017 10:57:47 GMT):
and not a host name

yacovm (Sun, 05 Nov 2017 10:58:01 GMT):
if you make the peer's address in the core.yaml or in the environment variables (in case of docker) to be its hostname

yacovm (Sun, 05 Nov 2017 10:58:09 GMT):
and if the hostname would match the certificate's SAN

yacovm (Sun, 05 Nov 2017 10:58:11 GMT):
it then would work

terryfernz (Mon, 06 Nov 2017 07:20:17 GMT):
Has joined the channel.

rahulhegde (Mon, 06 Nov 2017 13:07:14 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=yFuaN9DnREJHsrG9g) @muralisr https://jira.hyperledger.org/browse/FAB-6894

tim_zeng (Tue, 07 Nov 2017 02:35:38 GMT):
Has joined the channel.

asaningmaxchain (Tue, 07 Nov 2017 09:39:47 GMT):
@yacovm @mastersingh24 can you explain the the master branch source code the `protos/msp/msp_principal.proto` add the `CLIENT = 2; // Represents an MSP Client PEER = 3; // Represents an MSP Peer ORDERER = 4; // Represents an MSP Orderer` i don't understand can you provide more detail?

asaningmaxchain (Tue, 07 Nov 2017 09:39:47 GMT):
@yacovm @mastersingh24 can you explain the the master branch source code the `protos/msp/msp_principal.proto` add the `CLIENT = 2; // Represents an MSP Client PEER = 3; // Represents an MSP Peer ORDERER = 4; // Represents an MSP Orderer` i don't understand can you provide more detail?

asaningmaxchain (Tue, 07 Nov 2017 09:39:47 GMT):
@yacovm @mastersingh24 can you explain the the master branch source code the `protos/msp/msp_principal.proto` add the ```CLIENT = 2; // Represents an MSP Client PEER = 3; // Represents an MSP Peer ORDERER = 4; // Represents an MSP Orderer``` i don't understand can you provide more detail?

asaningmaxchain (Tue, 07 Nov 2017 09:39:47 GMT):
@yacovm @mastersingh24 i see the the master branch source code the `protos/msp/msp_principal.proto` add the ```CLIENT = 2; // Represents an MSP Client PEER = 3; // Represents an MSP Peer ORDERER = 4; // Represents an MSP Orderer``` i don't understand can you provide more detail?

yacovm (Tue, 07 Nov 2017 09:46:13 GMT):
Yeah

yacovm (Tue, 07 Nov 2017 09:46:51 GMT):
So now an identity can beclassified by whether it is a peer, orserer or client

asaningmaxchain (Tue, 07 Nov 2017 11:07:29 GMT):
it means the identity should meet the peerMSP/ordererMSP?

mastersingh24 (Tue, 07 Nov 2017 11:34:07 GMT):
@asaningmaxchain - there are basically two parts to this: 1) Policies can now be written which can use Org.CLIENT, Org.PEER, Org.ORDERER in addition to the Org.ADMIN and Org.MEMBER supported in v1.0.x 2) Within your MSP, you need to define how to identity a CLIENT,PEER or ORDERER. This can be done by using the NodeOUs section in the MSP config: https://github.com/hyperledger/fabric/blob/master/sampleconfig/msp/config.yaml#L10

mastersingh24 (Tue, 07 Nov 2017 11:34:07 GMT):
@asaningmaxchain - there are basically two parts to this: 1) Policies can now be written which can use Org.CLIENT, Org.PEER, Org.ORDERER in addition to the Org.ADMIN and Org.MEMBER supported in v1.0.x 2) Within your MSP, you need to define how to identity a CLIENT,PEER or ORDERER. This can be done by using the NodeOUs section in the MSP config: https://github.com/hyperledger/fabric/blob/master/sampleconfig/msp/config.yaml#L10. This works by specifying how to map an OU to each of the roles

snehas (Tue, 07 Nov 2017 13:03:02 GMT):
@yacovm I corrected the the configuration to match peer's host name and certificate SAN. But still not able to instantiate chaincode with TLS enabled. Below are the logs:- Chaincode container logs 2017-11-07 17:24:31.581 UTC [bccsp] initBCCSP -> DEBU 001 Initialize BCCSP [SW] 2017-11-07 17:24:34.582 UTC [shim] userChaincodeStreamGetter -> ERRO 002 Error trying to connect to local peer: context deadline exceeded 2017-11-07 17:24:34.582 UTC [Public/PublicCC] Errorf -> ERRO 003 Error starting chaincode: Error trying to connect to local peer: context deadline exceeded Client logs 2017-11-07 17:24:10.442 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-11-07 17:24:10.442 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2017-11-07 17:24:10.446 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2017-11-07 17:24:10.446 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc 2017-11-07 17:24:10.447 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0ADC050A6408031A0C08BAD887D00510...36300A000A04657363630A0476736363 2017-11-07 17:24:10.447 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: 4377270AC917AD0B2CB076E664DCA4702CA3684129970E6FEC057AD0F09814EC Error: Error endorsing chaincode: rpc error: code = Unknown desc = Timeout expired while starting chaincode public:1.0.0(networkid:dev,peerid:peer01.bgb65.cit.net,tx:e8329efce41d68677f017be1fb1d63115210cf6213c90df9b4d3ef74cbbfa089) Usage: peer chaincode instantiate [flags] Peer container logs 2017-11-07 17:29:31.568 UTC [dockercontroller] stopInternal -> DEBU 797 Removed container dev-peer01.bgb65.cit.net-public-1.0.0 2017-11-07 17:29:31.568 UTC [container] unlockContainer -> DEBU 798 container lock deleted(dev-peer01.bgb65.cit.net-public-1.0.0) 2017-11-07 17:29:31.568 UTC [chaincode] Launch -> ERRO 799 launchAndWaitForRegister failed Timeout expired while starting chaincode public:1.0.0(networkid:dev,peerid:peer01.gb65.cit.net,tx:e8329efce41d68677f017be1fb1d63115210cf6213c90df9b4d3ef74cbbfa089) 2017-11-07 17:29:31.568 UTC [endorser] callChaincode -> DEBU 79a Exit 2017-11-07 17:29:31.568 UTC [endorser] simulateProposal -> ERRO 79b failed to invoke chaincode name:"lscc" on transaction e8329efce41d68677f017be1fb1d63115210cf6213c90df9b4d3ef74cbbfa089, error: Timeout expired while starting chaincode public:1.0.0(networkid:dev,peerid:peer01.gb65.cit.net,tx:e8329efce41d68677f017be1fb1d63115210cf6213c90df9b4d3ef74cbbfa089) Orderer Logs 2017-11-07 17:23:13.721 UTC [cauthdsl] func2 -> DEBU cc7 0xc420126208 principal evaluation succeeds for identity 0 2017-11-07 17:23:13.721 UTC [cauthdsl] func1 -> DEBU cc8 0xc420126208 gate 1510075393719458339 evaluation succeeds 2017-11-07 17:23:13.721 UTC [orderer/common/sigfilter] Apply -> DEBU cc9 Forwarding validly signed message for policy &{%!s(*common.ImplicitMetaPolicy=&{Readers 0}) %!s(int=1) [%!s(*policies.implicitMetaPolicy=&{0xc420b95f40 1 [0xc42087aca8]}) %!s(*policies.implicitMetaPolicy=&{0xc420b34760 1 [0xc42087ad50 0xc42087adc0 0xc42087ae58 0xc42087aef0]})]} 2017-11-07 17:23:13.721 UTC [orderer/common/deliver] Handle -> DEBU cca [channel: public] Received seekInfo (0xc420abcf40) start: > stop: > 2017-11-07 17:24:10.446 UTC [orderer/main] Broadcast -> DEBU ccb Starting new Broadcast handler 2017-11-07 17:24:10.446 UTC [orderer/common/broadcast] Handle -> DEBU ccc Starting new broadcast loop 2017-11-07 17:29:31.570 UTC [orderer/common/broadcast] Handle -> WARN ccd Error reading from stream: rpc error: code = Canceled desc = context canceled 2017-11-07 17:29:31.570 UTC [orderer/main] func1 -> DEBU cce Closing Broadcast stream

lmars (Tue, 07 Nov 2017 14:24:59 GMT):
Has joined the channel.

yacovm (Tue, 07 Nov 2017 14:52:35 GMT):
@snehas you need to remove the chaincode images

yacovm (Tue, 07 Nov 2017 14:52:42 GMT):
and then re-instantiate/invoke

yacovm (Tue, 07 Nov 2017 14:52:52 GMT):
so that the chaincode container will be re-created

jmcnevin (Tue, 07 Nov 2017 15:54:04 GMT):
Has joined the channel.

jmcnevin (Tue, 07 Nov 2017 18:21:12 GMT):
would anyone have any thoughts on what might be going wrong here? I've enabled TLS on my peers, but now I get this when trying to install chaincode: `[shim] userChaincodeStreamGetter -> ERRO 002 Error trying to connect to local peer: x509: certificate signed by unknown authority`

yacovm (Tue, 07 Nov 2017 19:11:32 GMT):
Remove the chaincode image @jmcnevin and try again

yacovm (Tue, 07 Nov 2017 19:11:45 GMT):
Sigh... We really need some FAQ

yacovm (Tue, 07 Nov 2017 19:12:30 GMT):
@nickgaski @dave.enyeart is there any troubleshooting section in the docs?

jmcnevin (Tue, 07 Nov 2017 19:18:20 GMT):
hmm, what exactly is the underlying issue here? Is the ca cert from the peer not making it into the chaincode container, or is this a stale chaincode container with some other ca baked in?

nickgaski (Tue, 07 Nov 2017 19:33:07 GMT):
hey yacov. we have some sample-specific FAQs and troubleshooting (e.g. bottom of the BYFN doc). However, the consensus has been to simply post questions/answers on Stack Overflow

steveruckdashel (Tue, 07 Nov 2017 20:04:54 GMT):
Is there anything in the works for managing chaincode images? Is running `docker rm...` really the recommendation? It seams like I'm missing something.

snehas (Wed, 08 Nov 2017 09:42:36 GMT):
@yacovm : Removed the chaincode image, However now am getting Error trying to connect to local peer: x509: cannot validate certificate for 172.25.0.20 because it doesn't contain any IP SANs on instantiating chaincode with TLS enabled. Attaching logs with peer TLS certificate: @YashGanthe @rahulhegde

YashGanthe (Wed, 08 Nov 2017 09:42:36 GMT):
Has joined the channel.

snehas (Wed, 08 Nov 2017 09:43:14 GMT):

TLS_Error_Logs.txt

yacovm (Wed, 08 Nov 2017 09:43:22 GMT):
No no dont attach logs

yacovm (Wed, 08 Nov 2017 09:43:32 GMT):
No need

yacovm (Wed, 08 Nov 2017 09:43:54 GMT):
So, you can simply use hostnames

yacovm (Wed, 08 Nov 2017 09:44:00 GMT):
Instead of ip addresses

yacovm (Wed, 08 Nov 2017 09:44:14 GMT):
In the docker environment variables

yacovm (Wed, 08 Nov 2017 09:44:27 GMT):
Or if you dont use docker then in core.yaml

snehas (Wed, 08 Nov 2017 09:44:32 GMT):
yes am using hostname instead of IP Address

yacovm (Wed, 08 Nov 2017 09:44:53 GMT):
What's your core-peer-address?

yacovm (Wed, 08 Nov 2017 09:45:20 GMT):
And core-chaincode-listenaddress

snehas (Wed, 08 Nov 2017 09:45:35 GMT):
CORE_PEER_ADDRESS=peer01.lsbgb65.cit.lsnet:7051

yacovm (Wed, 08 Nov 2017 09:49:25 GMT):
And the other env vars?

yacovm (Wed, 08 Nov 2017 09:49:37 GMT):
Do you have any ip address there?

snehas (Wed, 08 Nov 2017 10:16:59 GMT):
I am not using core-chaincode-listenaddress var

snehas (Wed, 08 Nov 2017 10:18:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=rWXcT32K27zxvjnaY) @yacovm I am not using core-chaincode-listenaddress and also IP address is not used.

yacovm (Wed, 08 Nov 2017 10:31:00 GMT):
This is odd

yacovm (Wed, 08 Nov 2017 10:31:21 GMT):
Open a jira with attached docker compose file

yacovm (Wed, 08 Nov 2017 10:31:39 GMT):
@mastersingh24 @muralisr ^

muralisr (Wed, 08 Nov 2017 13:11:54 GMT):
@snehas best to open a JIRA so we can have all the details collected in one place (including the code level, master or release level) please

a.hyper (Wed, 08 Nov 2017 13:36:01 GMT):
Has joined the channel.

a.hyper (Wed, 08 Nov 2017 13:38:19 GMT):
Hi All - I have a 4 docker container setup running (ordered, CA, peer and couchDB) on 1 server. Everything works great and I opened up all the ports within my LAN. I am trying to connected a second peer to this network. I'm assuming I need to 2 containers to do this (peer and couchdb). Does anyone have instructions on how to do this? I've tried a million things with no success.

bretharrison (Wed, 08 Nov 2017 14:44:34 GMT):
Has left the channel.

swapnilpatil (Wed, 08 Nov 2017 16:07:49 GMT):
Has joined the channel.

rickr (Wed, 08 Nov 2017 16:22:29 GMT):
Anyone know or provide a link to that would show how to configure a peer docker-compose (https://github.com/hyperledger/fabric-sdk-java/blob/0b3e5aaa7b7f9440921f75f488da34b67f6dd606/src/test/fixture/sdkintegration/peer-base/peer-base.yaml#L1) instance so that for grpc it would handle a larger message ? Something that is equalivant to what is done on the java client side here : https://github.com/hyperledger/fabric-sdk-java/blob/0b3e5aaa7b7f9440921f75f488da34b67f6dd606/src/test/java/org/hyperledger/fabric/sdkintegration/End2endIT.java#L684

jeffgarratt (Wed, 08 Nov 2017 19:34:57 GMT):
@rickr is it not defaulted to 100MB?

rickr (Wed, 08 Nov 2017 20:02:36 GMT):
I don't know anything on the server side .. I didn't think it was that high which is way too much IMO . I know how to handle it on the client side but I want to know how to configure it on the server side .. We really need to know how to do that

rickr (Wed, 08 Nov 2017 20:03:04 GMT):
@mastersingh24 ^^ ?

asaningmaxchain (Thu, 09 Nov 2017 01:20:08 GMT):
@rickr @jeffgarratt i think the problem is the chaincode server

asaningmaxchain (Thu, 09 Nov 2017 01:20:08 GMT):
@rickr @jeffgarratt i think the problem is the chaincode server,the peer received the sdk request and then the peer to invoke the chaincode server to get the data,i think we should set the config for the chaincode grpc server/client

asaningmaxchain (Thu, 09 Nov 2017 01:40:16 GMT):
@rickr @jeffgarratt @mastersingh24 i see the core/comm the server.go and connection.go it indeed set the ```opts = append(opts, grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(MaxRecvMsgSize()), grpc.MaxCallSendMsgSize(MaxSendMsgSize())))```

asaningmaxchain (Thu, 09 Nov 2017 01:40:16 GMT):
@rickr @jeffgarratt @mastersingh24 i see the core/comm the connection.go it indeed set the ```opts = append(opts, grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(MaxRecvMsgSize()), grpc.MaxCallSendMsgSize(MaxSendMsgSize())))``` and sever.go ``` serverOpts = append(serverOpts, grpc.MaxSendMsgSize(MaxSendMsgSize())) serverOpts = append(serverOpts, grpc.MaxRecvMsgSize(MaxRecvMsgSize()))```

asaningmaxchain (Thu, 09 Nov 2017 01:40:16 GMT):
@rickr @jeffgarratt @mastersingh24 i see the core/comm the connection.go it indeed set the ```opts = append(opts, grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(MaxRecvMsgSize()), grpc.MaxCallSendMsgSize(MaxSendMsgSize())))``` and sever.go ```serverOpts = append(serverOpts, grpc.MaxSendMsgSize(MaxSendMsgSize())) serverOpts = append(serverOpts, grpc.MaxRecvMsgSize(MaxRecvMsgSize()))```

asaningmaxchain (Thu, 09 Nov 2017 01:43:25 GMT):
https://github.com/hyperledger/fabric/blob/a454d61767b27f57019711b8ab62a0ad344590cd/core/comm/connection.go#L217

asaningmaxchain (Thu, 09 Nov 2017 01:43:49 GMT):
https://github.com/hyperledger/fabric/blob/a454d61767b27f57019711b8ab62a0ad344590cd/core/comm/server.go#L192

asaningmaxchain (Thu, 09 Nov 2017 02:01:48 GMT):
@jyellick

rickr (Thu, 09 Nov 2017 02:49:24 GMT):
Java grpc by default has no limit on what it can send. Not usually an issue since its the receiving end that needs to protect itself from a DOS from the sender.

rickr (Thu, 09 Nov 2017 02:49:24 GMT):
Java grpc client by *default* has no limit on what it can send. Not usually an issue since its the receiving end that needs to protect itself from a DOS from the sender.

NakaoK (Thu, 09 Nov 2017 05:48:48 GMT):
Has joined the channel.

snehas (Thu, 09 Nov 2017 05:59:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8LrBRTupgAuaSgRge) @yacovm @yacovm @muralisr @YashGanthe @rahulhegde https://jira.hyperledger.org/browse/FAB-6937

snehas (Thu, 09 Nov 2017 05:59:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8LrBRTupgAuaSgRge) @yacovm @muralisr @YashGanthe @rahulhegde https://jira.hyperledger.org/browse/FAB-6937

yoheiueda (Thu, 09 Nov 2017 08:44:27 GMT):
I read https://jira.hyperledger.org/secure/attachment/10048/gossipArch.md and noticed that the following statement. >>>If a peer's ledger falls behind too much from the rest of its peers, it doesn't use the state transfer mechanism described in this document, but rather falls back to a different specific mechanism of state transfer which will be added in the future.

yoheiueda (Thu, 09 Nov 2017 08:44:27 GMT):
I read https://jira.hyperledger.org/secure/attachment/10048/gossipArch.md and noticed that the following statement. >>> If a peer's ledger falls behind too much from the rest of its peers, it doesn't use the state transfer mechanism described in this document, but rather falls back to a different specific mechanism of state transfer which will be added in the future.

yoheiueda (Thu, 09 Nov 2017 08:44:27 GMT):
I read https://jira.hyperledger.org/secure/attachment/10048/gossipArch.md and noticed that the following statement. > If a peer's ledger falls behind too much from the rest of its peers, it doesn't use the state transfer mechanism described in this document, but rather falls back to a different specific mechanism of state transfer which will be added in the future.

yoheiueda (Thu, 09 Nov 2017 08:44:27 GMT):
I read https://jira.hyperledger.org/secure/attachment/10048/gossipArch.md and noticed that the following statement.

yoheiueda (Thu, 09 Nov 2017 08:45:04 GMT):
> If a peer's ledger falls behind too much from the rest of its peers, it doesn't use the state transfer mechanism described in this document, but rather falls back to a different specific mechanism of state transfer which will be added in the future.

yoheiueda (Thu, 09 Nov 2017 08:45:52 GMT):
Is there any plan to implement the "different specific mechanism". If so, is there a related JIRA item?

C0rWin (Thu, 09 Nov 2017 09:07:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=53aMPXPPwFGXRkNqy) @yoheiueda by skimming quickly over the posted document it seems to me a bit outdated, there are three key components of the gossip presented right now: 1. Push or forwarding - whenever peer receives a new block it pick k peers at random and pushes block to them 2. Pulling - once in a while peer exchanges a digest of the blocks it has with neighbors peers and in case it misses something it will request it 3. State transfer - covers basically cases of the newly joined peer or peer healed from the network partitioning, it tries to find a peer with most up to date ledger to sync with it. (there is periodically distributed messages with metadata of current progress for each peer in membership) if you would like to continue the discussion about gossip protocol and more details, #fabric-gossip channel is more appropriate place of doing so and you are welcome to move current thread there

yoheiueda (Thu, 09 Nov 2017 09:33:49 GMT):
thank you very much!

UtkarshSingh (Thu, 09 Nov 2017 09:38:43 GMT):
Has joined the channel.

shiyj93 (Thu, 09 Nov 2017 12:12:02 GMT):
Has joined the channel.

UtkarshSingh (Thu, 09 Nov 2017 12:35:57 GMT):
How can I add a new peer(of some Organization) in the channel ? I have tried this : 1). spin up the 2-orgs setup (./byfn.sh -m up) 2). using cryptogen tool, made peer2.org1.example.com in a separate folder(say, crypto1) 3). Replaced some certs from the MSP of peer2.org1.example.com admincerts, cacerts, tlscacerts folder are replaced with the Org1(of actual one)'s MSP In tls folder, I have replaced the ca.crt with the Actual Org1's ca.crt 4). run that peer in the docker container 5). fetched the mychannel.block form the orderer 6). tried to join the channel, but getting error :

UtkarshSingh (Thu, 09 Nov 2017 12:37:28 GMT):
2017-11-09 12:37:53.577 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2017-11-09 12:37:53.577 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity Error: Error getting endorser client channel: PER:404 - Error trying to connect to local peer /opt/gopath/src/github.com/hyperledger/fabric/peer/common/common.go:116 github.com/hyperledger/fabric/peer/common.GetEndorserClient /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/channel.go:149 github.com/hyperledger/fabric/peer/channel.InitCmdFactory /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:138 github.com/hyperledger/fabric/peer/channel.join /opt/gopath/src/github.com/hyperledger/fabric/peer/channel/join.go:42 github.com/hyperledger/fabric/peer/channel.joinCmd.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:118 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Caused by: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "tlsca.org1.example.com")

UtkarshSingh (Thu, 09 Nov 2017 12:39:36 GMT):
I know, that, keystore-signcerts (pub/pri key-pair) is unique And, server.crt & server.key are also unique , for each peer But, couldn't find what's wrong am I doing here

Vadim (Thu, 09 Nov 2017 12:45:33 GMT):
@UtkarshSingh when you use cryptogen, it generates different root certs for each run

Vadim (Thu, 09 Nov 2017 12:46:06 GMT):
so all the crypto artifacts you generated for peer2 is not compatible with the rest of the network

UtkarshSingh (Thu, 09 Nov 2017 12:47:11 GMT):
Yes, I know, That is why, I am copying MSP of the Org1(actual one) to the MSP of new peer2.org1.example.com

Vadim (Thu, 09 Nov 2017 12:47:50 GMT):
2). using cryptogen tool, made peer2.org1.example.com in a separate folder(say, crypto1) <- and what is this for?

UtkarshSingh (Thu, 09 Nov 2017 12:48:54 GMT):
I have two folders: 1). crypto-config ---> Actual Org1 is present 2). crypto1 -> in which I will generate one more Org1(not the actual one used in the channel), this is having peer2.org1.example.com

Vadim (Thu, 09 Nov 2017 12:49:34 GMT):
you realise that Org1 from crypto-config and Org1 from crypto1 is not the same, right?

Vadim (Thu, 09 Nov 2017 12:49:55 GMT):
they have different root of trust

Vadim (Thu, 09 Nov 2017 12:50:26 GMT):
so peer's TLS certs will not be trusted from the main network, that what the error you get tells you

UtkarshSingh (Thu, 09 Nov 2017 12:51:47 GMT):
Then I am these things with peer2.org1.example.com : 1). copying MSP of ORG1(actual one) to MSP of peer2.org1.example.com(keeping keystore n signcerts) 2). copying tls folder too(not replacing server.crt & server.key) 3). Now, putting peer2.org1.example.com from Org1(not the actual one) to the Org1(actual one)

UtkarshSingh (Thu, 09 Nov 2017 12:52:13 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=uZa2M2GETGT9PZQXH) @Vadim I am also copying tls certs

Vadim (Thu, 09 Nov 2017 12:53:02 GMT):
@UtkarshSingh the signcert and server.crt are signed by a different CA

Vadim (Thu, 09 Nov 2017 12:53:39 GMT):
copying ca certs won't change this

UtkarshSingh (Thu, 09 Nov 2017 12:55:20 GMT):
inside any peer I have two Folders-> 1. msp ; 2. tls What's the use of tls folder ? How, ca.crt , server.crt & server.key are related ? How "tls" folder is different from "msp->tlscacerts" folder ?

Vadim (Thu, 09 Nov 2017 12:55:57 GMT):
TLS is for encrypting connections, ca.crt is the cert of the CA which signed the server.crt

Vadim (Thu, 09 Nov 2017 12:56:32 GMT):
msp is for identifying peers and orderers within the fabric network

Vadim (Thu, 09 Nov 2017 12:58:03 GMT):
what I would do to test dynamic peer adding is that I'd generated certs for 3 peers, then used the first two peers to start the network as usual and then used the remaining certs for peer3 to join it to the network when it's already running

UtkarshSingh (Thu, 09 Nov 2017 13:12:34 GMT):
That won't be dynamic, as there could be much more peers that want to join that channel

UtkarshSingh (Thu, 09 Nov 2017 13:12:45 GMT):
Does fabric-ca solve this ??

UtkarshSingh (Thu, 09 Nov 2017 13:18:09 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=vR2zn4vBaXJ6dWsku) @Vadim server.crt will be used for encrypting the msgs, right ? Then, server.key will be the key signed with the ca.crt ?? These two will be responsible for the end-to-end encryption ? Then, what's the role of Keystore-signcerts(I think, it is the pub/priv key-pair of the peer) ?

Vadim (Thu, 09 Nov 2017 13:19:02 GMT):
@UtkarshSingh server.crt is the certificate (pub key) which is signed by ca.crt, server.key is the private key

UtkarshSingh (Thu, 09 Nov 2017 13:22:32 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=v9kiw2qvGfLgK2uBe) Tell me about keystore-signcerts' role. server.crt - server.key will be responsible for the end-to-end communication's encryption, right ??

Vadim (Thu, 09 Nov 2017 13:25:45 GMT):
this is for identities, read http://hyperledger-fabric.readthedocs.io/en/latest/msp.html

UtkarshSingh (Thu, 09 Nov 2017 13:47:53 GMT):
and, server.crt - server.key will be responsible for the end-to-end communication's encryption, right ??

Vadim (Thu, 09 Nov 2017 13:48:49 GMT):
@UtkarshSingh yes

UtkarshSingh (Thu, 09 Nov 2017 14:00:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3SmEEBAJSPj8Z3jhS) @Vadim Is signcerts(pub key) signed by CA => server.crt keystore(private key) signed by CA => server.key ?

Vadim (Thu, 09 Nov 2017 14:01:30 GMT):
private key is not signed, it's a counterpart of a public key (which gets signed)

Vadim (Thu, 09 Nov 2017 14:01:52 GMT):
there is no sense to sign the private key as nobody sees it except its owner

Vadim (Thu, 09 Nov 2017 14:03:28 GMT):
@UtkarshSingh maybe read about PKI to get a better understanding: https://en.wikipedia.org/wiki/Public-key_cryptography

UtkarshSingh (Thu, 09 Nov 2017 14:07:25 GMT):
I know that concept. But, I wonder, then what's the use keystore-signcerts(pub/pri key-pair) ? They should be meant for some cryptographic stuffs..not just for the identities

Vadim (Thu, 09 Nov 2017 14:10:48 GMT):
it's used for signing the messages that peers/orderers/clients exchange

swetha (Fri, 10 Nov 2017 03:28:35 GMT):
Has joined the channel.

yoheiueda (Fri, 10 Nov 2017 08:07:18 GMT):
Hi. I have a question about `core.chaincode.serialSend` in https://github.com/hyperledger/fabric/blob/v1.1.0-preview/core/chaincode/handler.go#L137-L148

yoheiueda (Fri, 10 Nov 2017 08:07:29 GMT):
> //serialSend serializes msgs so gRPC will be happy

yoheiueda (Fri, 10 Nov 2017 08:08:49 GMT):
Why do we need to lock to use gRPC here? Does concurrent use of gRPC here cause some issue?

inatatsu (Fri, 10 Nov 2017 08:48:33 GMT):
Has joined the channel.

yacovm (Fri, 10 Nov 2017 11:22:52 GMT):
gRPC is not thread safe

yoheiueda (Fri, 10 Nov 2017 13:45:39 GMT):
Oh, I see. Thank you very much.

myin2000 (Mon, 13 Nov 2017 20:26:23 GMT):
Has joined the channel.

rajasekharpippalla (Tue, 14 Nov 2017 05:58:30 GMT):
Has joined the channel.

asaningmaxchain (Wed, 15 Nov 2017 07:21:47 GMT):
@manish-sethi @dave.enyeart @C0rWin @jyellick https://gist.github.com/asaningmaxchain/60dcbce2269e13baa35d91a25879098e can you take a look? when i want to test the stability about the peer

C0rWin (Wed, 15 Nov 2017 07:23:48 GMT):
@asaningmaxchain do you have logs from couchdb container?

asaningmaxchain (Wed, 15 Nov 2017 07:25:06 GMT):
https://gist.github.com/asaningmaxchain/8d489998e3a73accf5003f2547fc429e

guoger (Wed, 15 Nov 2017 07:49:28 GMT):
@asaningmaxchain how to reproduce?

asaningmaxchain (Wed, 15 Nov 2017 07:50:18 GMT):
you can send the tx to the peer by multi-thread way

guoger (Wed, 15 Nov 2017 07:57:36 GMT):
what's in erl_crash.dump? > Crash dump is being written to: erl_crash.dump...done

guoger (Wed, 15 Nov 2017 07:57:36 GMT):
@asaningmaxchain what's in erl_crash.dump? > Crash dump is being written to: erl_crash.dump...done

asaningmaxchain (Wed, 15 Nov 2017 07:59:16 GMT):
the couchdb container exits

guoger (Wed, 15 Nov 2017 08:00:07 GMT):
but I suppose it's not deleted?

asaningmaxchain (Wed, 15 Nov 2017 08:05:29 GMT):
yes

guoger (Wed, 15 Nov 2017 08:25:33 GMT):
then you could still access it and inspect dump file?

asaningmaxchain (Wed, 15 Nov 2017 08:33:09 GMT):
no,i can't attach it

dave.enyeart (Wed, 15 Nov 2017 11:59:37 GMT):
@asaningmaxchain Please don't spam the same question to multiple channels.

ArnabChatterjee (Thu, 16 Nov 2017 02:37:01 GMT):
Has joined the channel.

ArnabChatterjee (Thu, 16 Nov 2017 02:37:07 GMT):
Can you help me out with some Endorsement policy issues? Actually I am using hyperledger explorer and I dont see my endorsement signatures in the transaction payload? I see only one (one who invoked the transaction)

ArnabChatterjee (Thu, 16 Nov 2017 02:37:39 GMT):
@dave.enyeart any ideas?

ArnabChatterjee (Thu, 16 Nov 2017 02:37:42 GMT):
Thanks

dave.enyeart (Thu, 16 Nov 2017 02:38:49 GMT):
You are probably not looking in the correct place... as the invoker would be in a header rather than in an endorser section

dave.enyeart (Thu, 16 Nov 2017 02:39:12 GMT):
I'm not familiar with how explorer presents things however

ArnabChatterjee (Thu, 16 Nov 2017 02:52:43 GMT):
@dave.enyeart thanks. Would I see the transaction endorsers in the header? (FYI I am looking at the transaction json when I query the transaction by Id)

dave.enyeart (Thu, 16 Nov 2017 02:56:25 GMT):
The endorser will be in the transaction action not in the header

dave.enyeart (Thu, 16 Nov 2017 02:56:55 GMT):
Are you looking at node.js SDK json?

dave.enyeart (Thu, 16 Nov 2017 02:57:53 GMT):
If you are querying a single peer from SDK then there would only be one endorser (the peer)

ArnabChatterjee (Thu, 16 Nov 2017 02:59:43 GMT):
yes. the json returned by node sdk

ArnabChatterjee (Thu, 16 Nov 2017 03:02:02 GMT):
that means I have to query multiple peers to get the transaction by id and each one's payload would contain different endorsers?

ArnabChatterjee (Thu, 16 Nov 2017 03:02:20 GMT):
*btw - I mean the json response by payload

dave.enyeart (Thu, 16 Nov 2017 03:05:04 GMT):
I'm not understanding your intent... endorsers and endorsement policy is important if you are trying to submit a transaction that writes to the ledger. If you are simply querying for a transaction by id then you are not submitting a transaction that writes to the ledger.

ArnabChatterjee (Thu, 16 Nov 2017 03:07:49 GMT):
Sorry for that dave. I am trying to invoke a transaction (with 2 orgs having 2 peers each) with an endorsement policy that says that both orgs (member) must sign it. But when the transaction succeeds, I try to get the transaction json using (getTransactionById). When I see the json response, I want to see that both org has endorsed the transaction at the time of invocation.

ArnabChatterjee (Thu, 16 Nov 2017 03:08:55 GMT):
But I see only one endorsement in the JSON. This endorsement is of the organisation who invoked the transaction (example Org1MSP)

dave.enyeart (Thu, 16 Nov 2017 03:12:33 GMT):
can you upload the json

ArnabChatterjee (Thu, 16 Nov 2017 03:57:06 GMT):
okay. sure.

ArnabChatterjee (Thu, 16 Nov 2017 03:58:21 GMT):

response_json.txt

Vadim (Thu, 16 Nov 2017 08:13:30 GMT):
@ArnabChatterjee I see two endorsements at the end

ArnabChatterjee (Thu, 16 Nov 2017 08:13:36 GMT):
yes

ArnabChatterjee (Thu, 16 Nov 2017 08:13:51 GMT):
Both are from the same org

ArnabChatterjee (Thu, 16 Nov 2017 08:14:00 GMT):
however I had set the below policy

ArnabChatterjee (Thu, 16 Nov 2017 08:14:00 GMT):
however I had set the below policy

ArnabChatterjee (Thu, 16 Nov 2017 08:14:26 GMT):
'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }}, { role: { name: 'admin', mspId: 'Org2MSP' }}, { role: { name: 'admin', mspId: 'Org1MSP' }} ], policy: { '4-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }

ArnabChatterjee (Thu, 16 Nov 2017 08:15:25 GMT):
sorry, wrong policy. please find below the corrected one.

ArnabChatterjee (Thu, 16 Nov 2017 08:15:26 GMT):
'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '4-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }

ArnabChatterjee (Thu, 16 Nov 2017 08:15:26 GMT):
`'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '4-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }`

ArnabChatterjee (Thu, 16 Nov 2017 08:15:26 GMT):
`'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }`

Vadim (Thu, 16 Nov 2017 08:17:14 GMT):
are you sure the tx is valid?

ArnabChatterjee (Thu, 16 Nov 2017 08:17:57 GMT):
Yes. I got back a transaction id from the SDK. Can you let me know why you think this transaction is not valid?

Vadim (Thu, 16 Nov 2017 08:18:42 GMT):
did the tx have an effect on the ledger?

ArnabChatterjee (Thu, 16 Nov 2017 08:23:37 GMT):
yes

ArnabChatterjee (Thu, 16 Nov 2017 08:23:43 GMT):
it got committed

ArnabChatterjee (Thu, 16 Nov 2017 08:24:02 GMT):
I get the transaction json when I get the transaction by ID

ArnabChatterjee (Thu, 16 Nov 2017 08:24:14 GMT):
Is that you are asking for?

Vadim (Thu, 16 Nov 2017 08:24:17 GMT):
invalid tx are also committed

ArnabChatterjee (Thu, 16 Nov 2017 08:24:24 GMT):
oh

ArnabChatterjee (Thu, 16 Nov 2017 08:24:31 GMT):
how do I verify that

ArnabChatterjee (Thu, 16 Nov 2017 08:24:37 GMT):
can you let me know?

Vadim (Thu, 16 Nov 2017 08:24:44 GMT):
well if you move some asset, check if it was moved

ArnabChatterjee (Thu, 16 Nov 2017 08:25:12 GMT):
I did not move any asset. I added some key/values in the db

Vadim (Thu, 16 Nov 2017 08:25:26 GMT):
so the tx had no effect?

ArnabChatterjee (Thu, 16 Nov 2017 08:25:27 GMT):
should I go and check my couch db via the fauxton?

Vadim (Thu, 16 Nov 2017 08:26:00 GMT):
if the tx had no effect, then it is invalid, which is logical because your endorsement policy was not met

ArnabChatterjee (Thu, 16 Nov 2017 08:27:04 GMT):
No I mean, I got back the transaction id, and when I query it via the sdk using the id, get the json containing my keys and values

ArnabChatterjee (Thu, 16 Nov 2017 08:27:22 GMT):
is there any other way to verify if its valid or not?

Vadim (Thu, 16 Nov 2017 08:27:56 GMT):
that I don't know, I know that if you listen for committed transactions over event hub, the status is returned over callbacl

Vadim (Thu, 16 Nov 2017 08:27:56 GMT):
that I don't know, I know that if you listen for committed transactions over event hub, the status is returned over callback

ArnabChatterjee (Thu, 16 Nov 2017 08:28:07 GMT):
yes exactly

Vadim (Thu, 16 Nov 2017 08:28:07 GMT):
also, you can check the peer logs it writes it there

ArnabChatterjee (Thu, 16 Nov 2017 08:28:56 GMT):
I get VALID in all responses from events

ArnabChatterjee (Thu, 16 Nov 2017 08:29:05 GMT):
code = 'VALID'

Vadim (Thu, 16 Nov 2017 08:29:40 GMT):
then I don't know

ArnabChatterjee (Thu, 16 Nov 2017 08:29:45 GMT):
`eh.registerTxEvent(transactionID, (tx, code) => { clearTimeout(handle); eh.unregisterTxEvent(transactionID); eh.disconnect(); if (code !== 'VALID') { logger.error( 'The transaction was invalid, code = ' + code); reject(); } else { logger.info( 'The transaction has been committed on peer ' + eh._ep._endpoint.addr); resolve(); } });`

ArnabChatterjee (Thu, 16 Nov 2017 08:29:54 GMT):
you mean this one. Right?

Vadim (Thu, 16 Nov 2017 08:29:57 GMT):
yes

ArnabChatterjee (Thu, 16 Nov 2017 08:31:28 GMT):
Okay. Thanks @Vadim as always for your support. Can you confirm me one thing? How many peers should I send the transaction to if I want to get all endorsements?

ArnabChatterjee (Thu, 16 Nov 2017 08:32:01 GMT):
should I leave out the targets as empty or should I explicitly mentions all peers in all organizations ?

Vadim (Thu, 16 Nov 2017 08:32:08 GMT):
each peer generate one endorsement

Vadim (Thu, 16 Nov 2017 08:32:28 GMT):
if you set targets emtpy, it will use all peers that you initialized the Client with

Vadim (Thu, 16 Nov 2017 08:32:28 GMT):
if you set targets emtpy, it will use all peers that you initialized the Channel with

ArnabChatterjee (Thu, 16 Nov 2017 08:33:36 GMT):
so, for this particular case, if I set my endorsement policy to get response from both orgs members then I need to send it to atleast one peer from each organization

ArnabChatterjee (Thu, 16 Nov 2017 08:33:36 GMT):
so, for this particular case, if I set my endorsement policy to get signature from both orgs members then I need to send it to atleast one peer from each organization

ArnabChatterjee (Thu, 16 Nov 2017 08:33:41 GMT):
is it the case?

Vadim (Thu, 16 Nov 2017 08:34:59 GMT):
seems so

ArnabChatterjee (Thu, 16 Nov 2017 08:35:37 GMT):
:thumbsup:

ArnabChatterjee (Thu, 16 Nov 2017 08:36:06 GMT):
thanks @Vadim again. You cleared my doubt which was lingering for more than a week.

ArnabChatterjee (Thu, 16 Nov 2017 10:57:21 GMT):
Okay. I have one more question. Is there any upper restriction on setting an endorsement policy that I cannot require OK signatures of all the organizations in the network? For example if I have org 1 and org 2 then such kind of an endorsement policy is giving me an error : `'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }`

ArnabChatterjee (Thu, 16 Nov 2017 10:57:21 GMT):
Okay. I have one more question. Is there any upper restriction on setting an endorsement policy that I cannot require OK signatures of all the organizations in the network? For example if I have org 1 and org 2 then such kind of an endorsement policy is giving me an error 'ENDORSEMENT_POLICY_FAILURE' : `'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }`

ArnabChatterjee (Thu, 16 Nov 2017 10:57:21 GMT):
Okay. I have one more question. Is there any upper restriction on setting an endorsement policy that I cannot require OK signatures of all the organizations in the network? For example if I have org 1 and org 2 then such kind of an endorsement policy is giving me an error 'ENDORSEMENT_POLICY_FAILURE' : 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }

ArnabChatterjee (Thu, 16 Nov 2017 10:57:40 GMT):
whereas this is not : 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '1-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }

ArnabChatterjee (Thu, 16 Nov 2017 10:57:40 GMT):
whereas this is not : *'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '1-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }*

ArnabChatterjee (Thu, 16 Nov 2017 10:57:40 GMT):
whereas this is not : 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '1-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } }

ArnabChatterjee (Thu, 16 Nov 2017 23:37:22 GMT):
Any thoughts on this @dave.enyeart @Vadim . Thanks :)

ArnabChatterjee (Fri, 17 Nov 2017 05:17:20 GMT):
Okay after struggling for 3 days of understanding endorsement and stuff, this is what I understood. Kindly confirm/correct my understanding. Thanks. :)

ArnabChatterjee (Fri, 17 Nov 2017 05:17:20 GMT):
Okay after struggling for 3 days of understanding endorsement and stuff, this is what I understood. Kindly confirm/correct my understanding. Thanks. :) ``` To instantiate a transaction properly. The instantiation request must be sent to one or more endorsing peers in all the organizations of whom endorsement is required. During the time of invoke, it is the responsibility of the invoking application to send it to all concerned organization's peers for endorsements. For example, if we have 2 organizations with 2 endorsing peers in each organization (Org1EP0, Org1EP1, Org2EP0 and Org2EP1) and an endorsement policy as follows: 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } } which requires the signature of both organizations to pass endorsement. Then it is the responsibility of the application to instantiate the chaincode in all the endorsing peers (Org1EP0, Org1EP1, Org2EP0 and Org2EP1). During the time of invocation, it would be the responsibility of the application to send transactionProposal to atleast one peer of both organizations ( Org1EP0/Org1EP1 and Org2EP0/Org2EP1) to get an a valid transaction. After all the proposal responses has been accumulated in the application, it needs to send all the recieved proposal responses and the proposal itself to the orderer for ordering. The orderer shall verify the proposal and its responses and then send them to the committing peers for committing in the ledger. Side Note: 1. In case the transaction fails to be valid in terms of endorsement, it still gets committed in the ledger. 2. All endorsing peers sign the transaction after simulation, hence signature of each endorsing peer (TO WHOM TRANSACTION PROPOSAL WAS SENT) will be present in the transaction 3. Judgement whether transaction is valid is determined by the orderer. Orderer will compare the proposal responses and mark it valid as per the endorsement policy. This response will be captured by the peers who have subscribed to the events for the given transaction (as event hubs). Only peers belonging to the transaction invoking organization can listen for events. ```

ArnabChatterjee (Fri, 17 Nov 2017 05:17:38 GMT):
``` To instantiate a transaction properly. The instantiation request must be sent to one or more endorsing peers in all the organizations of whom endorsement is required. During the time of invoke, it is the responsibility of the invoking application to send it to all concerned organization's peers for endorsements. For example, if we have 2 organizations with 2 endorsing peers in each organization (Org1EP0, Org1EP1, Org2EP0 and Org2EP1) and an endorsement policy as follows: 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: 'Org2MSP' }}, { role: { name: 'member', mspId: 'Org1MSP' }} ], policy: { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1}] } } which requires the signature of both organizations to pass endorsement. Then it is the responsibility of the application to instantiate the chaincode in all the endorsing peers (Org1EP0, Org1EP1, Org2EP0 and Org2EP1). During the time of invocation, it would be the responsibility of the application to send transactionProposal to atleast one peer out of both organizations ( Org1EP0/Org1EP1 and Org2EP0/Org2EP1) to get an a valid transaction. After all the proposal responses has been accumulated in the application, it needs to send all the recieved proposal responses and the proposal itself to the orderer for ordering. The orderer shall verify the proposal and its responses and then send them to the committing peers for committing in the ledger. Side Note: 1. In case the transaction fails to be valid in terms of endorsement, it still gets committed in the ledger. 2. All endorsing peers sign the transaction after simulation, hence signature of each endorsing peer (TO WHOM TRANSACTION PROPOSAL WAS SENT) will be present in the transaction 3. Judgement whether transaction is valid is determined by the orderer. Orderer will compare the proposal responses and mark it valid as per the endorsement policy. This response will be captured by the peers who have subscribed to the events for the given transaction (as event hubs). Only peers belonging to the transaction invoking organization can listen for events. ```

Vadim (Fri, 17 Nov 2017 08:10:26 GMT):
@ArnabChatterjee 1) YOu need to instantiate only once on any peer, not on each peer. 2) You (or more precisely, an admin of eaach peer) need to install the cc on every peer manually 3) Orderer does not validate the transactions against the policy, each peer does it independently when committing the tx to the ledger 4) peers don't listen to events, an app sdk does.

Vadim (Fri, 17 Nov 2017 08:10:26 GMT):
@ArnabChatterjee 1) YOu need to instantiate only once on any peer, not on each peer. 2) You (or more precisely, an admin of eaach peer) need to install the cc on every peer 3) Orderer does not validate the transactions against the policy, each peer does it independently when committing the tx to the ledger 4) peers don't listen to events, an app sdk does.

ArnabChatterjee (Sat, 18 Nov 2017 07:16:45 GMT):
@Vadim - Thanks for your response. Say if I am using 2 orgs with 2 peers each, then if I dont instantiate it on atleast one peer of org1 and org2, then I get an endorsement policy failure (if custom endorsement policy is set). The initial values that were set for CC on peer of ORG1 and peer of ORG 2 are different and hence endorsement policy failure. But if I do init on both orgs then I get a success.

vdods (Sun, 19 Nov 2017 14:33:09 GMT):
In the fabric peer build (i.e. `make peer` from the fabric project root dir), how do I go about disabling javaenv? I have no intention of using it, and it's just slowing the build down and taking up space on my machine.

ArnabChatterjee (Mon, 20 Nov 2017 05:08:51 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ve4nAwK8iY5znJWPy) Any ideas @Vadim ?

bjwswang (Tue, 21 Nov 2017 05:47:07 GMT):
Has joined the channel.

vdods (Tue, 21 Nov 2017 19:39:33 GMT):
Hi all, what is the "path" of a ChaincodeID? I'm looking at fabric/protos/peer/chaincode.proto -- I'm apparently able to install differently-versioned or named chaincode to the same path. Does it define where the chaincode appears in the ccenv container filesystem? I.e. $GOPATH/src/chaincode-path ?

vdods (Tue, 21 Nov 2017 19:43:57 GMT):
I'm also getting `""` (the string `""`, not `nil` itself) for the `Input` attribute in ChaincodeInfo (from fabric/protos/peer/query.proto) when I query instantiated chaincodes. This claims it should be the instantiation function name and its args. For query installed chaincodes, this string is supposed to be "blank". So it seems like there's a bug here

jojialex2 (Thu, 23 Nov 2017 04:28:46 GMT):
Has joined the channel.

jojialex2 (Thu, 23 Nov 2017 04:37:22 GMT):
Hi, Please help on the following error : peer chaincode instantiate using kafka orderer giving following error, ←[34;1mpeer0.org1.example.com |←[0m ←[33m2017-11-22 10:47:31.505 UTC [gossip/comm] sendToEndpoint -> WARN 54d←[0m Failed obtaining connection for 172.18.0.15:7051, PKIid:[71 88 115 27 28 222 244 157 196 20 206 87 238 41 173 71 185 195 175 121 236 34 206 183 63 153 178 63 241 226 254 204] reason: x509: cannot validate certificate for 172.18.0.15 because it doesn't contain any IP SANs

jojialex2 (Thu, 23 Nov 2017 04:37:42 GMT):
I am using hostnames in configtx.yaml file. I am not getting any error for channel, join channel, update anchors, and chaincode install, but this getting while chaincode instantiate.

jackeyliliang (Fri, 24 Nov 2017 02:59:57 GMT):
Has joined the channel.

jon_s (Fri, 24 Nov 2017 16:01:16 GMT):
I have followed rest server deploy guide . But after deploying in docker logs i could see logs saying please input the business network name.. how do I pass the business network name. Is any thing missing in documents

rahulhegde (Fri, 24 Nov 2017 22:48:33 GMT):
Hello - is there way in chaincode that can get me channel/chain name, chaincode name?

rahulhegde (Fri, 24 Nov 2017 22:48:33 GMT):
@muralisr Hello - is there way in chaincode that can get me channel/chain name, chaincode name?

C0rWin (Fri, 24 Nov 2017 23:32:09 GMT):
@rahulhegde you can use `GetSignedProposal() (*pb.SignedProposal, error)` API to get signed proposal, then you can parse it and extract from there channel name, not sure about the chaincode name

yacovm (Sat, 25 Nov 2017 07:51:51 GMT):
@rahulhegde , the channel name is from the channelHeader in the header. While the chaincode name can be obtained from: https://github.com/hyperledger/fabric/blob/release/protos/utils/proputils.go#L38-L53

rahulhegde (Sat, 25 Nov 2017 15:24:00 GMT):
thanks @yacovm and @C0rWin - let me try it.

UtkarshSingh (Mon, 27 Nov 2017 06:39:34 GMT):
Can anyone tell me, what is the use/role of "Users" present in Organisation's folder ???

snehas (Mon, 27 Nov 2017 16:30:55 GMT):
Hi, For TLS enabled setup, any reason why we are not setting --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA on Join channel and install chaincode ?

yacovm (Mon, 27 Nov 2017 16:37:15 GMT):
@snehas of course

yacovm (Mon, 27 Nov 2017 16:37:24 GMT):
these 2 actions don't require you to send a transaction to the orderer ;)

rahulhegde (Tue, 28 Nov 2017 01:10:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ir2KomABCzgc39HQ5) @yacovm But a Peer CLI acting to request a chaincode source installation per peer and running on a different VM need to send this information securely.

rahulhegde (Tue, 28 Nov 2017 01:10:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ir2KomABCzgc39HQ5) @yacovm But a Peer CLI acting to request a chaincode source installation per peer node and running on a different VM needs to send this information securely.

snehas (Tue, 28 Nov 2017 13:55:12 GMT):
Thanks @yacovm : And if we set these two fields --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA for join and install, does it use it or it ignores?

yacovm (Tue, 28 Nov 2017 13:55:43 GMT):
yes

snehas (Tue, 28 Nov 2017 14:06:40 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=r6hodmGYTyGzQYQwp) @yacovm So does it ignores it?

yacovm (Tue, 28 Nov 2017 14:07:26 GMT):
I said yes

yacovm (Tue, 28 Nov 2017 14:07:35 GMT):
it ignores it

snehas (Tue, 28 Nov 2017 14:08:12 GMT):
ok.. Thanks @yacovm

rahulhegde (Tue, 28 Nov 2017 16:49:34 GMT):
@yacovm - this is regarding https://jira.hyperledger.org/browse/FAB-7137 I have copied you in the JIRA from the above message. I am not sure if Peer CLI uses separate port for non-TLS connectivity with Peer Node. However as per our test carried out, Peer CLI is able to connect to Peer Node w/o specifying those 2 parameters for Join/Install operation where Peer is running in TLS Mode. Does it mean it still use TLS w/o establishing root-of-trust or it does not use TLS yet all?

yacovm (Tue, 28 Nov 2017 16:50:35 GMT):
you're telling me that the peer runs with TLS, and you can connect to it without TLS?

yacovm (Tue, 28 Nov 2017 16:50:49 GMT):
that's not possible

yacovm (Tue, 28 Nov 2017 16:51:05 GMT):
it does not use separate ports, obviously.

rahulhegde (Tue, 28 Nov 2017 16:58:03 GMT):
I just looked at the script once again, may be there is confusion in understanding, So https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L36 ==> is the TLS root of trust for Peer Node and ` --cafile ` is the root of trust for orderer node.

rahulhegde (Tue, 28 Nov 2017 16:58:03 GMT):
I just looked at the script once again, may be there is confusion in our understanding, So https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L36 ==> is the TLS root of trust for Peer Node and ` --cafile ` is the root of trust for orderer node.

rahulhegde (Tue, 28 Nov 2017 16:59:59 GMT):
And Join and Install are operations explicitly on Peer where orderer is not involed and hence ` --cafile ` is not specified.

rahulhegde (Tue, 28 Nov 2017 16:59:59 GMT):
And Join and Install are operations explicitly on Peer where orderer is not involed and hence ` --cafile ` is not specified. https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L91

rahulhegde (Tue, 28 Nov 2017 17:07:48 GMT):
@yacovm once you confirm - I will updated the JIRA with above information to be marked as not a defect.

yacovm (Tue, 28 Nov 2017 17:27:59 GMT):
I am not in frony of a computer

yacovm (Tue, 28 Nov 2017 17:27:59 GMT):
I am not in front of a computer

yacovm (Tue, 28 Nov 2017 17:28:09 GMT):
But basically the peer connection is governed by

yacovm (Tue, 28 Nov 2017 17:28:30 GMT):
CORE_PEER_TLS_ENABLED

yacovm (Tue, 28 Nov 2017 17:29:11 GMT):
And the ca cert by something similar

yacovm (Tue, 28 Nov 2017 17:29:37 GMT):
@rahulhegde

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down during Commit Operation

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down at the of commit operation

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down at the time of commit operation.

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down at the time of commit operation. This is on the fabric-v1.0.4 release.

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down at the time of commit operation. This is on the fabric-v1.0.4 release.

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down at the time of commit operation. This is on the fabric-v1.0.4 release. I have the peer logs captured and would like to know if there is any additional information that may be required for analysis of this issue.

rahulhegde (Tue, 28 Nov 2017 19:57:55 GMT):
@dave.enyeart @mastersingh24 @muralisr we are seeing a mismatch in the JSON document count on couch db. Our test involved restarting couch-db container few times during which Peer Container too went down at the time of commit operation. This is on the fabric-v1.0.4 release. I have the peer logs captured and would like to know if there is any additional information that may be required for analysis of this issue.

rahulhegde (Tue, 28 Nov 2017 20:08:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=97Qe8ChaKJMasSsr6) @yacovm Please review my message once back.

yacovm (Tue, 28 Nov 2017 20:16:45 GMT):
What do you mean? I responded

rahulhegde (Tue, 28 Nov 2017 20:46:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WYEAxFSJxrRKcixAm) @yacovm I meant can you confirm our understanding 1. I just looked at the script once again, may be there is confusion in our understanding, So https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L36 ==> is the TLS root of trust for Peer CLI Node (for server authentication of Peer Node) and ` --cafile ` is the root of trust for orderer node (acting as a server). 2. And Join and Install are operations explicitly on Peer where orderer is not involed and hence ` --cafile ` is not specified. https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L91

rahulhegde (Tue, 28 Nov 2017 20:46:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WYEAxFSJxrRKcixAm) @yacovm I meant if you can confirm our understanding 1. I just looked at the script once again, may be there is confusion in our understanding, So https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L36 ==> is the TLS root of trust for Peer CLI Node (for server authentication of Peer Node) and ` --cafile ` is the root of trust for orderer node (acting as a server). 2. And Join and Install are operations explicitly on Peer where orderer is not involed and hence ` --cafile ` is not specified. https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/scripts/script.sh#L91

yacovm (Tue, 28 Nov 2017 20:52:56 GMT):
So (1) is correct

yacovm (Tue, 28 Nov 2017 20:53:12 GMT):
And (2) os also correct

toddinpal (Wed, 29 Nov 2017 23:32:00 GMT):
So I've been playing with Composer and ran into a problem that is crashing my peer. Not sure what I have configured incorrectly as I get an MSP mismatch, but I can't figure out where Org1MSP is coming from. Here is the log from the peer: 2017-11-29 22:48:32.242 UTC [nodeCmd] createChaincodeServer -> WARN 001 peer.chaincodeListenAddress is not set, use peer.listenAddress 0.0.0.0:7051 2017-11-29 22:48:32.248 UTC [gossip/gossip] NewGossipService -> WARN 002 External endpoint is empty, peer will not be accessible outside of its organization 2017-11-29 22:59:45.490 UTC [ledgermgmt] CreateLedger -> INFO 003 Creating ledger [composerchannel] with genesis block 2017-11-29 22:59:45.508 UTC [kvledger] Commit -> INFO 004 Channel [composerchannel]: Created block [0] with 1 transaction(s) 2017-11-29 22:59:45.511 UTC [ledgermgmt] CreateLedger -> INFO 005 Created ledger [composerchannel] with genesis block 2017-11-29 22:59:48.517 UTC [ConnProducer] NewConnection -> ERRO 006 Failed connecting to bcsdev:4004 , error: context deadline exceeded 2017-11-29 23:00:14.710 UTC [eventhub_producer] Chat -> ERRO 007 error during Chat, stopping handler: rpc error: code = Canceled desc = context canceled 2017-11-29 23:01:37.299 UTC [kvledger] Commit -> INFO 008 Channel [composerchannel]: Created block [1] with 1 transaction(s) 2017-11-29 23:01:37.346 UTC [eventhub_producer] Chat -> ERRO 009 error during Chat, stopping handler: rpc error: code = Canceled desc = context canceled 2017-11-29 23:16:55.738 UTC [eventhub_producer] Chat -> ERRO 00a Error handling message: event message must be properly signed by an identity from the same organization as the peer: [failed deserializing event creator: [Expected MSP ID OrangeGrowers, received Org1MSP]] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xb49700] goroutine 3186 [running]: github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal(0xc4202e1a70, 0x7f4907d58c90, 0xc421b01e60, 0xc421b01f50, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:381 +0x110 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler(0xd934c0, 0xc4202e1a70, 0x7f4907d58c90, 0xc421b01e60, 0xc421862140, 0x0, 0x0, 0x0, 0x8c700a, 0xc42187b8e0) /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 +0x28d github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc4200aa500, 0x147dfe0, 0xc421b74000, 0xc420136900, 0xc4201ec720, 0x1459160, 0xc421b01ef0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:797 +0xc41 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream(0xc4200aa500, 0x147dfe0, 0xc421b74000, 0xc420136900, 0xc421b01ef0) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:997 +0x15a6 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc4232add20, 0xc4200aa500, 0x147dfe0, 0xc421b74000, 0xc420136900) /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:561 +0xa9 created by github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:562 +0xa1

muralisr (Thu, 30 Nov 2017 00:47:16 GMT):
@toddinpal what does `peer version` say ?

muralisr (Thu, 30 Nov 2017 00:47:22 GMT):
want to match up line numbers

wininani (Thu, 30 Nov 2017 05:44:03 GMT):
Has joined the channel.

toddinpal (Thu, 30 Nov 2017 18:45:33 GMT):
@muralisr bash-4.2# peer version peer: Version: 1.0.2 Go version: go1.8.3 OS/Arch: linux/amd64 Chaincode: Base Image Version: 0.3.2 Base Docker Namespace: hyperledger Base Docker Label: org.hyperledger.fabric Docker Namespace: hyperledger

toddinpal (Thu, 30 Nov 2017 18:46:03 GMT):
By the way, I've been able to crash the peer in multiple ways. :-(

muralisr (Thu, 30 Nov 2017 18:49:58 GMT):
@toddinpal it would be easier to debug if this happens on master... would that be possible ?

muralisr (Thu, 30 Nov 2017 18:50:32 GMT):
or too much to ask ? :-)

vsadriano (Thu, 30 Nov 2017 18:56:35 GMT):
Has joined the channel.

muralisr (Thu, 30 Nov 2017 19:05:31 GMT):
@toddinpal as far as I could tell, `/opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:381 +0x110` does not eval to a line that could throw a `panic: runtime error: invalid memory address or nil pointer dereference` in 1.0.2

muralisr (Thu, 30 Nov 2017 19:06:24 GMT):
don;t know what to tell you....easiest if you can recreate on latest master ...if you can

toddinpal (Thu, 30 Nov 2017 19:23:55 GMT):
Let me see if I can recreate this on master

vsadriano (Thu, 30 Nov 2017 19:30:15 GMT):
Hi! I'm new on Hyperledger Fabric. Why Fabric Peer needs **docker.sock**? Is there any security risk in this approach?

manish-sethi (Thu, 30 Nov 2017 20:12:56 GMT):
@muralisr - here is the CR that I submitted for resource config tx (https://gerrit.hyperledger.org/r/15797). Below is the relevant details about this CR. 1) core/peer/configtx_util.go#26: This is the function that gets called upon receive of a resource-tree update tran and updates the resource bundle that you may want to use for acl stuff now. 2) peer/node/start.go#106: Here I register the new custom tx processor 3) core/peer/configtx_processor.go#90: this code adds entries in the ledger that rscc (system chaincode) puts so that acl stuff can keep working for now. Once, the acl stuff starts using the resource bundle (in point 1 above), the code pointed out in (3) needs to be removed.

manish-sethi (Thu, 30 Nov 2017 20:14:23 GMT):
Please have a look and see if you would want to take up the acl related changes? Including @dave.enyeart so he can track it from release planning point of view

Vadim (Fri, 01 Dec 2017 06:22:49 GMT):
@vsadriano peer needs docker.sock because it starts chaincodes in containers

vsadriano (Fri, 01 Dec 2017 10:58:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3w6mwPkEqBSMPxAMQ) @Vadim Hi! Is there other approach? Thanks for reply!

Vadim (Fri, 01 Dec 2017 11:39:15 GMT):
@vsadriano I guess you can access docker over http and then put some proxy in between to do some request filtering and api authentication

yacovm (Fri, 01 Dec 2017 11:48:18 GMT):
Yes you can

yacovm (Fri, 01 Dec 2017 11:48:26 GMT):
Look at the commentes out text

yacovm (Fri, 01 Dec 2017 11:48:26 GMT):
Look at the commented out text

vsadriano (Fri, 01 Dec 2017 11:48:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=pDkmYpMFBBK85Eq3i) @Vadim Ok! But peer implementation support traffic over http?

yacovm (Fri, 01 Dec 2017 11:48:38 GMT):
In core.yaml

yacovm (Fri, 01 Dec 2017 11:48:44 GMT):
It does

vsadriano (Fri, 01 Dec 2017 11:49:01 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qj2m86i2ngqKR7YfE) @yacovm Yes! I'll...

yacovm (Fri, 01 Dec 2017 11:49:13 GMT):
You'll what?

vsadriano (Fri, 01 Dec 2017 11:49:29 GMT):
"Look at the commented out text"

muralisr (Fri, 01 Dec 2017 12:57:44 GMT):
@manish-sethi will look at https://gerrit.hyperledger.org/r/15797 today... I'll be at the hackathon next week (and some preparation for that this week). Those are the constraints. But let me look and get back by EOB today please

ashablyg (Fri, 01 Dec 2017 15:07:34 GMT):
Has joined the channel.

ashablyg (Fri, 01 Dec 2017 15:09:00 GMT):
Hey guys, have anyone ran into this error? `Error: peer address is not in the format of host:port: address peer0.****.*****.com:7051:7051: too many colons in address.` I've double check the docker-compose yaml and everything seems to be in order

ashablyg (Fri, 01 Dec 2017 15:09:00 GMT):
~Hey guys, have anyone ran into this error? `Error: peer address is not in the format of host:port: address peer0.****.*****.com:7051:7051: too many colons in address.` ~ Fixed it. I've double check the docker-compose yaml and everything seems to be in order

ashablyg (Fri, 01 Dec 2017 15:09:00 GMT):
~Hey guys, have anyone ran into this error? `Error: peer address is not in the format of host:port: address peer0.****.*****.com:7051:7051: too many colons in address.` I've double check the docker-compose yaml and everything seems to be in order ~ Fixed

ashablyg (Fri, 01 Dec 2017 15:09:00 GMT):
~Hey guys, have anyone ran into this error? `Error: peer address is not in the format of host:port: address peer0.****.*****.com:7051:7051: too many colons in address.` ~ ~ I've double check the docker-compose yaml and everything seems to be in order ~ Fixed

rsherwood (Fri, 01 Dec 2017 15:38:08 GMT):
Hi does anyone known which MSP the command "peer chaincode invoke -C testchainid -n cscc -c '{"Args":["GetChannels"]} " will be authenticated against . I believe this is querying the system channel. Would if for example be being authenticated against the local MSP of the peer or would it be MSPs in the system channel ?

jeffgarratt (Fri, 01 Dec 2017 17:41:26 GMT):
@rsherwood It seems to be checking if Role of member of the local MSP org

jeffgarratt (Fri, 01 Dec 2017 17:41:41 GMT):
as I can invoke this using a user with a Cert signed by the MSP Org

jeffgarratt (Fri, 01 Dec 2017 17:43:48 GMT):
``` case GetChannels: // 2. check local MSP Members policy

jeffgarratt (Fri, 01 Dec 2017 17:44:11 GMT):
that currently seems to be the case... but this will alter once ACL work is completed

toddinpal (Fri, 01 Dec 2017 23:24:14 GMT):
How do I build the peer and other executables as static images, i.e., not linked to any dynamic libraries?

manish-sethi (Sat, 02 Dec 2017 20:57:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=Y2bquQFAfed6Twbgd) @muralisr Hi Murali, just to remind you so that it does not slip through your mind.

muralisr (Sat, 02 Dec 2017 20:58:51 GMT):
@manish-sethi no it hasn't, promise :-)

muralisr (Sat, 02 Dec 2017 20:58:59 GMT):
I looked a bit yesterday

muralisr (Sat, 02 Dec 2017 20:59:45 GMT):
your directions above were helpful

bizhenchao1201 (Sun, 03 Dec 2017 09:34:29 GMT):
Has joined the channel.

muralisr (Sun, 03 Dec 2017 13:16:06 GMT):
@manish-sethi I think I understand the CR now... have posted some comments in personal chat. Lets talk there and clarify my understanding please

muralisr (Sun, 03 Dec 2017 13:16:06 GMT):
@manish-sethi I think I understand the CR now... have posted some comments in personal chat. Lets talk there and clarify my understanding please ( @dave.enyeart )

toddinpal (Sun, 03 Dec 2017 14:29:15 GMT):
So I tried to build the peer as a static image without dynamic libraries using CGO_ENABLED=0 for CGO_FLAGS and I get an error trying to build the pkcs11 package: bccsp/pkcs11/impl.go:81:12: undefined: pkcs11.Ctx bccsp/pkcs11/impl.go:82:16: undefined: pkcs11.SessionHandle Any suggestions on how to build the peer linked statically?

rsherwood (Mon, 04 Dec 2017 08:13:36 GMT):
jeffgarratt [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=HKoXMgZNNTprrKLRa) @jeffgarratt Thanks for the reply . Very clear. Do you have a link that says what the ACL changes are intended to be?

rsherwood (Mon, 04 Dec 2017 08:22:06 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=HKoXMgZNNTprrKLRa) @jeffgarratt Do you know what other operations are checked against a peers local MSP ? So far I know of install chaincode AND join a peer to a channel (local MSP Admin roles), and now list a peers channels (local MSP member roles). Are there any other commands that I have unaware of. I am trying to work out if we have to update the CRL list on a peer as well a on the channels. I was hoping to get away without the update on the peer local MSP, however to do that I need to know what the peer local MSP is being used for.

jeffgarratt (Mon, 04 Dec 2017 14:29:00 GMT):
@rsherwood check for calls to https://github.com/hyperledger/fabric/blob/master/core/policy/policy.go#L47

jeffgarratt (Mon, 04 Dec 2017 14:29:30 GMT):
this indicates that it will generally refer to some local MSP role. This is to be refactored once the ACL work is ready.

steigensonne (Tue, 05 Dec 2017 06:11:58 GMT):
Does fabric consider the case of that the peer(s) can leave the channel where they joined?? I just wonder of they have any ideas on this issue??

snehas (Tue, 05 Dec 2017 06:20:34 GMT):
@yacovm For fabric TLS setup, Do we need to add CORE_PEER_TLS_KEY_FILE in docker-compose for CLI container? If I don't add this variable for CLI or set incorrect path of the Key file, it still works. Could you please confirm?

yacovm (Tue, 05 Dec 2017 06:21:56 GMT):
Of course it works, the CLI is a TLS client

yacovm (Tue, 05 Dec 2017 06:22:15 GMT):
You dont need a key as long as we dont enforce mutual TLS

rsherwood (Tue, 05 Dec 2017 09:33:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=gG53onqg727Q6grau) @jeffgarratt So I have looked and items have found are, in CSCC joinChain, GetChannels; in LSCC Install, GetChaincodes and GetInstalledChaincodes. Have I missed anything?

DarshanBc (Tue, 05 Dec 2017 10:42:15 GMT):
can the world state be shared between 2 channels

jeffgarratt (Tue, 05 Dec 2017 14:33:15 GMT):
@DarshanBc a chaincode can invoke another chaincode to get inforrmation, but this is the only 'sharing' that I am aware of

rsherwood (Tue, 05 Dec 2017 16:14:41 GMT):
In V1.0 for most fabric operations the peer will act as a TLS server. One case I can think of where it would be a client would be when gossiping with another peer. In this case I assume the root of trust for the TLS will be in the channel MSP. Are there any case when a peer acts as TLS client and uses the local MSP as the TLS root of trust ? For example is the peer to running chaincode communication protected by TLS in any way, and if its is what certificate is used and which end is the TLS server and which the client ?

C0rWin (Tue, 05 Dec 2017 16:15:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZiF3EroBvnjmPwe5H) @rsherwood connecting with ordering service to pull blocks for example

rsherwood (Tue, 05 Dec 2017 16:29:40 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fiTJB5r2aqMTEvBA9) @C0rWin Will connecting to the order use the localMSP or the orderer definitions in the channel MSP ? I guessed it was the channel as orderer could have a different root of trust than the peer.

dhirendrausa (Tue, 05 Dec 2017 20:29:07 GMT):
Has joined the channel.

dhirendrausa (Tue, 05 Dec 2017 20:45:36 GMT):
Not sure if I am posting my question on the right channel, *Anyone can help me to understand in blockchain how two different institutions communicate with each other and form P2P*?

jeffgarratt (Tue, 05 Dec 2017 21:18:36 GMT):
@dhirendrausa the fabric forms several P2P networks within a system. The orderers are working in concert to provide total ordering and crash fault tolerance. The peers are communicating with the orderers as well as each other (even across organizations if so configured)

ynamiki (Wed, 06 Dec 2017 05:23:47 GMT):
Has left the channel.

rickr (Wed, 06 Dec 2017 13:09:38 GMT):
Is there a means to query a Peer to find out what channels it has joined ?

yacovm (Wed, 06 Dec 2017 13:18:59 GMT):
yes

yacovm (Wed, 06 Dec 2017 13:19:12 GMT):
cscc - GetChannels

jworthington (Wed, 06 Dec 2017 14:38:37 GMT):
Version: 1.1.0-preview. Setting up gossip. 2 Orgs, each with 2 peers. I see how to declare external endpoints and bootstrap within the same org. Where do I say to gossip with the endpoints of a different org? My peers seem to be gossiping within an org, but not between orgs. In the bootstrap for a peer, do I need to include the local loopback for itself as well as the other peers in its org? 127.0.0.1:7051

jworthington (Wed, 06 Dec 2017 15:33:40 GMT):
I'm trying to understand the env vars on Peers. Which are valid and what do they over ride in core.yaml. Here's what I am using, but not sure which are valid and the setting they override.

jworthington (Wed, 06 Dec 2017 15:33:44 GMT):
CORE_PEER_LOCALMSPDIR set to path to crypto of peer. Is this valid? Needed? If so, what's different about it and CORE_PEER_MSPCONFIGPATH? CORE_PEER_GENERAL_LOCALMSPID set to MSPID in channel configtx. Overides localMspId in core.yaml? CORE_PEER_GENERAL_LOCALMSPDIR set to crypto of org (CA admin). CORE_PEER_MSPCONFIGPATH set to path to crypto of peer. Overrides mspConfigPath in core.yml?

jworthington (Wed, 06 Dec 2017 15:34:39 GMT):
Is there a list of valid env vars and what they over ride?

jeffgarratt (Wed, 06 Dec 2017 15:54:41 GMT):
@jworthington here is an example set from some of my runs

jeffgarratt (Wed, 06 Dec 2017 15:54:43 GMT):
```environment: CORE_LOGGING_GOSSIP: DEBUG CORE_LOGGING_LEVEL: DEBUG CORE_PEER_ADDRESSAUTODETECT: 'true' CORE_PEER_FILESYSTEMPATH: /var/hyperledger/bddtests/volumes/peer/d0975cb8da2d11e7863e02d158fa0198/peer1/filestore CORE_PEER_GOSSIP_BOOTSTRAP: peer0:7051 CORE_PEER_GOSSIP_ENDPOINT: peer1:7051 CORE_PEER_GOSSIP_ORGLEADER: 'false' CORE_PEER_GOSSIP_USELEADERELECTION: 'true' CORE_PEER_ID: vp1 CORE_PEER_LOCALMSPID: peerOrg0 CORE_PEER_MSPCONFIGPATH: /var/hyperledger/bddtests/volumes/peer/d0975cb8da2d11e7863e02d158fa0198/peer1/localMspConfig CORE_PEER_NETWORKID: d0975cb8da2d11e7863e02d158fa0198 CORE_PEER_TLS_CERT_FILE: /var/hyperledger/bddtests/volumes/peer/d0975cb8da2d11e7863e02d158fa0198/peer1/tls_config/peer1Signer-peer1-peerOrg0-tls.crt CORE_PEER_TLS_ENABLED: 'true' CORE_PEER_TLS_KEY_FILE: /var/hyperledger/bddtests/volumes/peer/d0975cb8da2d11e7863e02d158fa0198/peer1/tls_config/peer1Signer-peer1-peerOrg0-tls.key CORE_PEER_TLS_ROOTCERT_FILE: /var/hyperledger/bddtests/volumes/peer/d0975cb8da2d11e7863e02d158fa0198/peer1/localMspConfig/cacerts/peerOrg0.pem CORE_PEER_TLS_SERVERHOSTOVERRIDE: peer1 image: hyperledger/fabric-peer:x86_64-1.0.3

jworthington (Wed, 06 Dec 2017 15:54:56 GMT):
Thx!

jeffgarratt (Wed, 06 Dec 2017 15:55:28 GMT):
you of course do not need to set the gossip level to debug, though the core logging debug is useful

jeffgarratt (Wed, 06 Dec 2017 15:56:17 GMT):
@jworthington btw. your CORE_GENERAL.. seems to be a conflation of peer and orderer config prefixes

jworthington (Wed, 06 Dec 2017 15:58:05 GMT):
That's probably part of my confusion. Thx

jworthington (Wed, 06 Dec 2017 16:12:27 GMT):
So in your example, CORE_PEER_LOCALMSPID: peerOrg0 is the same ID as in the channel configtx. It seems to point to the crypto of the peer? But in the channel configtx it points to the crypto of the Org, no? So a peer channel create has to use the Org crypto? I guess that's kind of the difference between a, so to speak, peer server config and a peer client config? I could point CORE_PEER_MSPCONFIGPATH: to the Org crypto when using as a client and then point it back. Or I think I saw a flag I could use for each client command. Does that all sound about right?

jworthington (Wed, 06 Dec 2017 16:13:17 GMT):
And where do I tell a peer in one org to gossip with peers in other orgs?

jeffgarratt (Wed, 06 Dec 2017 16:44:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=DopoS8CjoZ5uhx6kk) @jworthington see anchor peers

jworthington (Wed, 06 Dec 2017 16:49:49 GMT):
Ah. thx. i had set them to the local Org peers and not foreign peers. Thx!

jeffgarratt (Wed, 06 Dec 2017 17:05:56 GMT):
@jworthington you do set them to the local orgs peers. The other peers from other orgs can then leverage this to gossip with other organizations.

jeffgarratt (Wed, 06 Dec 2017 17:06:31 GMT):
meaning... only the Owning org can set its own anchor peers

jeffgarratt (Wed, 06 Dec 2017 17:06:54 GMT):
this information goes into the channel which allows other orgs to have their peers connect to them if so desired

jworthington (Wed, 06 Dec 2017 17:10:48 GMT):
hmm. then a peer reads foreign org gossip definitions from the genesis/channel configtx and knows to use it? And each peer has to set its endpoint to match in core.yaml?

jworthington (Wed, 06 Dec 2017 17:24:20 GMT):
hmm. Well, channel creation succeeded on org1 peers 1 and it got the channel block. All 3 orderers show the new channel. But none of the other 3 peers got the channel block so they could join. Surely that means there's an issue with gossip, no? I assumed the other peers would get the channel block.

wanghhao (Thu, 07 Dec 2017 09:13:19 GMT):
Has joined the channel.

jrosmith (Thu, 07 Dec 2017 15:43:30 GMT):
hey all, is there a way to get visibility into the read write sets for a given block?

jeffgarratt (Thu, 07 Dec 2017 15:44:46 GMT):
@jrosmith that is available in the block information you receive from the peer, or from the orderer if you so choose

jeffgarratt (Thu, 07 Dec 2017 15:45:15 GMT):
ahhh... you mean the actual de-marshaling I presume?

jrosmith (Thu, 07 Dec 2017 15:45:49 GMT):
@jeffgarratt yeah i would like to specifically see what has exactly gone into the set. i don't suppose its as simple as setting a log level?

jeffgarratt (Thu, 07 Dec 2017 15:46:14 GMT):
I don't thin so as that would be possibly a privacy issue

jeffgarratt (Thu, 07 Dec 2017 15:46:52 GMT):
the SDKs may have some enhanced functionality perhaps to get visibility into the TXs

jeffgarratt (Thu, 07 Dec 2017 15:47:10 GMT):
perhaps pose your question to #fabric-sdk-node ?

jrosmith (Thu, 07 Dec 2017 15:47:23 GMT):
@jeffgarratt will do, thanks for your help

jeffgarratt (Thu, 07 Dec 2017 15:47:32 GMT):
your most welcome!! good luck!!

rahulhegde (Thu, 07 Dec 2017 21:59:52 GMT):
@dave.enyeart Reference https://hyperledger-fabric.readthedocs.io/en/release/chaincode4noah.html#creating-the-package. 1. Specifying option `-S`, the chaincode will be signed using the localMSP to create a binary format signed CDS. Is there a way to lint or view this signed CDS? Can someone retrieve a chaincode source from this CDS? 2. Will the Peer ensure the CDS is not tampered at the time of installation?

rahulhegde (Thu, 07 Dec 2017 21:59:52 GMT):
@dave.enyeart Reference https://hyperledger-fabric.readthedocs.io/en/release/chaincode4noah.html#creating-the-package. 1. Specifying option `-S`, the chaincode will be signed using the localMSP to create a binary format signed CDS. Is there a way to lint or view this signed CDS? Can someone retrieve a chaincode source from this CDS? 2. Will the Peer ensure the CDS is not tampered at the time of installation? 3. `-i` helps to specify the instantiation policy. However for test i changed to use AND(OrganizationMSP.member). Chaincode upgrade fails if an OrganizationMSP's member user is used however passes if OrganizationMSP's admin user. Am i doing something incorrect?

rahulhegde (Thu, 07 Dec 2017 21:59:52 GMT):
@dave.enyeart Reference https://hyperledger-fabric.readthedocs.io/en/release/chaincode4noah.html#creating-the-package. 1. Specifying option `-S`, the chaincode will be signed using the localMSP to create a binary format signed CDS. Is there a way to lint or view this signed CDS? Can someone retrieve a chaincode source from this CDS? 2. Will the Peer ensure the CDS is not tampered at the time of installation? 3. `-i` helps to specify the instantiation policy. However for test i changed to use AND(OrganizationMSP.member). Chaincode upgrade fails if an OrganizationMSP's member user is used however passes if OrganizationMSP's admin user. Am i doing something incorrect? Thanks.

rahulhegde (Thu, 07 Dec 2017 21:59:52 GMT):
@dave.enyeart Reference https://hyperledger-fabric.readthedocs.io/en/release/chaincode4noah.html#creating-the-package. 1. Specifying option `-S`, the chaincode will be signed using the localMSP to create a binary format signed CDS. Is there a way to lint or view this signed CDS? Can intruder retrieve a chaincode source from this CDS? 2. Will the Peer ensure the CDS is not tampered at the time of installation? 3. `-i` helps to specify the instantiation policy. However for test i changed to use AND(OrganizationMSP.member). Chaincode upgrade fails if an OrganizationMSP's member user is used however passes if OrganizationMSP's admin user. Am i doing something incorrect? Thanks.

dave.enyeart (Fri, 08 Dec 2017 00:10:45 GMT):
@rahulhegde Let's see what the expert in this area @muralisr thinks

alvaradojl (Sat, 09 Dec 2017 12:47:54 GMT):
Has joined the channel.

ajenie (Tue, 12 Dec 2017 03:43:04 GMT):
Has joined the channel.

guolidong (Tue, 12 Dec 2017 06:03:27 GMT):
Has joined the channel.

vsadriano (Tue, 12 Dec 2017 10:54:15 GMT):
@chill37 I use this command: ``` docker run --rm -w /etc/hyperledger/fabric -v `pwd`:/etc/hyperledger/fabric hyperledger/fabric-tools:x86_64-1.0.2 configtxgen -profile OneOrgChannel -outputAnchorPeersUpdate ./channel-artifacts/OrgMSPanchors.tx -channelID defaultchannel -asOrg OrgMSP ```

chill37 (Tue, 12 Dec 2017 10:54:16 GMT):
Has joined the channel.

chill37 (Tue, 12 Dec 2017 11:02:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=zfBvdRBeBL9p7pRnz) @vsadriano Thank you for the reply. but as far as I see/know, this is only setting 1) anchor peer, 2)channel. I still don't see where to set the endorsing peer.

Vadim (Tue, 12 Dec 2017 11:05:19 GMT):
@chill37 there was something in core.yaml related to endorsing peer, but some devs said it's not really working and the best approach is not to install chaincode on a peer if you don't want it to be endorsing

C0rWin (Tue, 12 Dec 2017 11:09:12 GMT):
@chill37, @Vadim is correct, if do not want peer to be an endorsing peer for specific chaincode, you can just avoid installing chaincode on it

chill37 (Tue, 12 Dec 2017 11:16:28 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ChFPRqvL5mYS2dMdR) @Vadim @C0rWin Thanks! so are you saying that for now, all peers that I am installing/instantiating chaincode is automatically an endorsing node?

Vadim (Tue, 12 Dec 2017 11:16:47 GMT):
yes

chill37 (Tue, 12 Dec 2017 11:19:22 GMT):
@Vadim Ah I see. Thanks again. just last Q: so this core.yaml that you were talking about, would u happen to know where it's located? I was searching but no clue yet. I appreciate your help a lot!

Vadim (Tue, 12 Dec 2017 11:19:46 GMT):
@chill37 I think that flag for endorser/not endorser no longer exists

Vadim (Tue, 12 Dec 2017 11:20:17 GMT):
core.yaml is here: https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml

chill37 (Tue, 12 Dec 2017 11:22:00 GMT):
@Vadim Oh wow. Thanks for everything! I'm new so this was really helpful.

jworthington (Tue, 12 Dec 2017 14:06:27 GMT):
So, I installed and instantiated a chaincode on 4 peers (2 each for 2 orgs). All is well with the default Endorsement Policy. Invokes write and read data. I installed and instantiated the same chaincode (different name, same channel) on all 4 peers, but with a Policy of 1 Org1.member AND 1 Org2.member. All good and I see the lscc and init record in CouchDB on all 4 peers. However invokes do not write. I get an Error - VSCC check failed, policy evaluation failed, err Failed to authenticate policy. There is also WARN 1df6 Block [78541] Transaction index [0] marked as invalid by committer. Reason code [10]. The peers logs do say Saved private data for block [78541], but I believe that to be local state and not world state. I think I understand that the client (in this case the CLI) is responsible for collecting endorsements. If that is true, then how do I get the CLI to get the endorsements? If that is not true, then the peers must need the MSP for the other peers? If so, then how do I tell the peers where the MSP is for the other peers? Or is there something else I am not understanding?

Vadim (Tue, 12 Dec 2017 15:23:33 GMT):
@jworthington cli does not collect endorsements and it only can work with one peer

jworthington (Tue, 12 Dec 2017 15:24:26 GMT):
That's what i was afraid of. Thx.

PetrVlasekCA (Tue, 12 Dec 2017 16:49:27 GMT):
Has joined the channel.

asaningmaxchain (Wed, 13 Dec 2017 02:43:20 GMT):
@jyellick the peer want to join the specified channel,the peer should send a proposal to the all peer and get the proposal response

asaningmaxchain (Wed, 13 Dec 2017 02:43:20 GMT):
@jyellick the peer want to join the specified channel,the peer should send a proposal to the all peer and get the proposal response

asaningmaxchain (Wed, 13 Dec 2017 02:43:20 GMT):
@jyellick the peer want to join the specified channel,the peer should send a proposal to the all peer and get the proposal response,the endorser service work on it

jyellick (Wed, 13 Dec 2017 03:01:27 GMT):
@asaningmaxchain I do not understand

asaningmaxchain (Wed, 13 Dec 2017 03:03:39 GMT):
@jyellick if the peer want to join the channel,it must send the proposal to the peer,however the peer use the endorser service deal with the proposal?

asaningmaxchain (Wed, 13 Dec 2017 03:03:39 GMT):
@jyellick if the peer want to join the channel,it must send the proposal to the peer,however the peer use the endorser service deal with the proposal?so can you tell me where the endorser service invoke the cscc

jyellick (Wed, 13 Dec 2017 03:05:18 GMT):
Are you asking: "Does the peer endorse the proposal it receives to join a channel?"? If so, the answer is yes, the the endorsement is only produced because it is the standard chaincode path. There is no requirement that the client do anything with the response, though it could of course retain the endorsement for non-repudication purposes.

jyellick (Wed, 13 Dec 2017 03:05:18 GMT):
Are you asking: "Does the peer endorse the proposal it receives to join a channel?"? If so, the answer is yes, the the endorsement is only produced because it is the standard chaincode path. There is no requirement that the client do anything with the response, though it could of course retain the endorsement for non-repudiation purposes.

jyellick (Wed, 13 Dec 2017 03:05:18 GMT):
Are you asking: "Does the peer endorse the proposal it receives to join a channel?"? If so, the answer is yes, the endorsement is produced because it is the standard chaincode path. There is no requirement that the client do anything with the response, though it could of course retain the endorsement for non-repudiation purposes.

asaningmaxchain (Wed, 13 Dec 2017 03:06:39 GMT):
so can you tell me where the endorser service invoke the cscc

asaningmaxchain (Wed, 13 Dec 2017 03:11:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=q6779o2H2XmJDmjZm) @jyellick yes

Lakshmipadmaja (Wed, 13 Dec 2017 08:50:24 GMT):
User User_1 added by Lakshmipadmaja.

Ashish (Wed, 13 Dec 2017 14:17:27 GMT):
Is there a case, where the chain code invoke works when the policy is like 2 of Role.MEMBER of Org1 *AND* Org2. if I keep it as 2 of Role.ADMIN of Org1 *AND* Org2

Ashish (Wed, 13 Dec 2017 14:17:27 GMT):
Is there a case, where the chain code invoke works when the policy is like 2 of Role.MEMBER of Org1 *AND* Org2. But fails if I keep it as 2 of Role.ADMIN of Org1 *AND* Org2

Ashish (Wed, 13 Dec 2017 14:17:27 GMT):
Is there a case, where the chain code invoke works when the policy is like 2 of Role.MEMBER of Org1 *AND* Org2. But fails if I keep it as 2 of Role.ADMIN of Org1 *AND* Org2?

Ashish (Wed, 13 Dec 2017 14:18:51 GMT):
Using Fabric 1.0.3 and testing using javaSDK

Vadim (Wed, 13 Dec 2017 14:42:48 GMT):
@Ashish I guess because it needs org admin, but gets a signature of org member... How to get endorsement from admin, I don't know.

asaningmaxchain (Wed, 13 Dec 2017 14:46:52 GMT):
@jyellick i use the java sdk to Instantiate chaincode,however i got the error `failed to init chaincode: handler not found for chaincode test:1.0, cause=null}`

asaningmaxchain (Wed, 13 Dec 2017 14:46:52 GMT):
@jyellick i use the java sdk to Instantiate chaincode,however i got the error `failed to init chaincode: handler not found for chaincode test:1.0, cause=null}`the cause is null,so i don't know how to resolve it

Vadim (Wed, 13 Dec 2017 14:48:17 GMT):
@asaningmaxchain have you checked the peer logs?

Vadim (Wed, 13 Dec 2017 14:48:45 GMT):
but seems like the chaincode is not installed

asaningmaxchain (Wed, 13 Dec 2017 14:49:14 GMT):
the chaincode installed successfully

Vadim (Wed, 13 Dec 2017 14:49:28 GMT):
how do you know that?

asaningmaxchain (Wed, 13 Dec 2017 14:50:14 GMT):
because i installed chaincode before the chaincode Instantiate

asaningmaxchain (Wed, 13 Dec 2017 14:50:14 GMT):
because i installed chaincode before the chaincode Instantiate and i see the chaincodes directory exists the chaincode

Ashish (Wed, 13 Dec 2017 14:50:34 GMT):
I guess u are saying because u got status 200

Ashish (Wed, 13 Dec 2017 14:50:39 GMT):
Rite?

Vadim (Wed, 13 Dec 2017 14:50:40 GMT):
have you checked the peer logs?

asaningmaxchain (Wed, 13 Dec 2017 14:50:48 GMT):
wait a moment

asaningmaxchain (Wed, 13 Dec 2017 14:50:57 GMT):
i send it to the pastebin or gist

Ashish (Wed, 13 Dec 2017 14:51:04 GMT):
Then like Vadim says, u should check peer logs

asaningmaxchain (Wed, 13 Dec 2017 14:51:18 GMT):
wait a moment

asaningmaxchain (Wed, 13 Dec 2017 14:53:51 GMT):
i am sorry,i am a chinese,my network is terriable

Ashish (Wed, 13 Dec 2017 14:54:42 GMT):
It's like that everywhere when u need it badly. :(

asaningmaxchain (Wed, 13 Dec 2017 14:55:05 GMT):
please wait a moment

asaningmaxchain (Wed, 13 Dec 2017 14:56:42 GMT):
the gist can't use any more?

asaningmaxchain (Wed, 13 Dec 2017 14:58:48 GMT):
https://pastebin.com/Wmd8tdYy

asaningmaxchain (Wed, 13 Dec 2017 14:59:45 GMT):
@jyellick @Vadim @Ashish can you take a look

Vadim (Wed, 13 Dec 2017 15:02:32 GMT):
@asaningmaxchain and what was in the log before that error came?

asaningmaxchain (Wed, 13 Dec 2017 15:03:02 GMT):
@Vadim i start the peer use the binary not by the docker

asaningmaxchain (Wed, 13 Dec 2017 15:03:02 GMT):
@Vadim i start the peer use the binary not by the docker,and i clear the log before the Instantiate operation

Vadim (Wed, 13 Dec 2017 15:03:13 GMT):
ah soooo

Vadim (Wed, 13 Dec 2017 15:03:20 GMT):
so this is devmode, right?

asaningmaxchain (Wed, 13 Dec 2017 15:03:32 GMT):
yes

asaningmaxchain (Wed, 13 Dec 2017 15:03:32 GMT):
yes

asaningmaxchain (Wed, 13 Dec 2017 15:04:00 GMT):
``` # There are 2 modes: "dev" and "net". # In dev mode, user runs the chaincode after starting peer from # command line on local machine. # In net mode, peer will run chaincode in a docker container. mode: dev```

asaningmaxchain (Wed, 13 Dec 2017 15:04:10 GMT):
i set the mode = dev

Vadim (Wed, 13 Dec 2017 15:04:30 GMT):
@asaningmaxchain I suppose you followed the tutorial? http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4ade.html

Vadim (Wed, 13 Dec 2017 15:05:20 GMT):
http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4ade.html?highlight=devmode#terminal-1-start-the-network to be precise

asaningmaxchain (Wed, 13 Dec 2017 15:10:29 GMT):
i think i should set the peer-chaincodedev parameter when peer starts

asaningmaxchain (Wed, 13 Dec 2017 15:12:18 GMT):
@Vadim @jyellick why the peer-chaincodedev option doesn't show in the sampleconfig/core.yaml?

asaningmaxchain (Wed, 13 Dec 2017 15:13:18 GMT):
@Vadim @jyellick viper.Set("chaincode.mode", chaincode.DevModeUserRunsChaincode)

asaningmaxchain (Wed, 13 Dec 2017 15:14:09 GMT):
i see the source code,it use just set the chaincode.mode option in the viper,so when i set the chaincode.mode = dev has the same effect

Ashish (Wed, 13 Dec 2017 15:39:38 GMT):
If it's dev mode, you should be able to build it successfully? With a go build command?

Ashish (Wed, 13 Dec 2017 15:39:38 GMT):
@asaningmaxchain If it's dev mode, you should be able to build it successfully? With a go build command?

Ashish (Wed, 13 Dec 2017 15:43:01 GMT):
And will it be possible to include some logger commands in the init function also?

asaningmaxchain (Wed, 13 Dec 2017 15:45:30 GMT):
the chaincode init function seems doesn't execute

asaningmaxchain (Wed, 13 Dec 2017 15:45:30 GMT):
the chaincode init function seems doesn't execute

asaningmaxchain (Wed, 13 Dec 2017 15:46:47 GMT):
@jyellick @Ashish https://pastebin.com/s8C540mu

asaningmaxchain (Wed, 13 Dec 2017 15:46:47 GMT):
@jyellick @Ashish https://pastebin.com/s8C540mu that's all the peer log

asaningmaxchain (Wed, 13 Dec 2017 15:46:47 GMT):
@jyellick @Ashish https://pastebin.com/s8C540mu that's all the peer info log

asaningmaxchain (Wed, 13 Dec 2017 15:53:16 GMT):
https://pastebin.com/5Sb8PKaQ it's debug log

Vadim (Wed, 13 Dec 2017 15:57:48 GMT):
@asaningmaxchain ```2017-12-13 23:41:18.454 CST [ConnProducer] NewConnection -> ERRO 039 Failed connecting to orderer.example.com:7050 , error: context deadline exceeded

Vadim (Wed, 13 Dec 2017 15:57:54 GMT):
is your orderer running?

asaningmaxchain (Wed, 13 Dec 2017 15:58:26 GMT):
yes

asaningmaxchain (Wed, 13 Dec 2017 15:58:39 GMT):
i set the orderer.example.com = localhost

asaningmaxchain (Wed, 13 Dec 2017 15:58:39 GMT):
i set the orderer.example.com = localhost,it still has the error,so i don't know why

Vadim (Wed, 13 Dec 2017 15:59:11 GMT):
did you see the logs? the peer cannot connect to the orderer

asaningmaxchain (Wed, 13 Dec 2017 15:59:33 GMT):
the orderer logs ?

Vadim (Wed, 13 Dec 2017 15:59:33 GMT):
where do you set that? [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ssmeuxvvGvGxsSbwP)

asaningmaxchain (Wed, 13 Dec 2017 15:59:47 GMT):
in the hosts file

asaningmaxchain (Wed, 13 Dec 2017 16:00:12 GMT):
i start the peer,orderer in binary mode not use docker

Vadim (Wed, 13 Dec 2017 16:00:40 GMT):
can you do `nc -zv orderer.example.com:7050`?

Vadim (Wed, 13 Dec 2017 16:00:40 GMT):
can you do `nc -zv orderer.example.com 7050`?

asaningmaxchain (Wed, 13 Dec 2017 16:01:00 GMT):
```root@chenxuan-ThinkPad-X240:/etc# more hosts 127.0.0.1 localhost 127.0.1.1 chenxuan-ThinkPad-X240 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.0.1 orderer.example.com 172.16.10.50 mctserver01 172.16.10.120 server root@chenxuan-ThinkPad-X240:/etc# lsof -i:7050 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ___ordere 28962 root 3u IPv4 3272990 0t0 TCP localhost:7050 (LISTEN)```

asaningmaxchain (Wed, 13 Dec 2017 16:01:20 GMT):
it's ok

asaningmaxchain (Wed, 13 Dec 2017 16:01:20 GMT):
it's ok, when i execute the `nc -zv orderer.example.com 7050`

Vadim (Wed, 13 Dec 2017 16:01:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8RoAi92THq7muwT7C)

asaningmaxchain (Wed, 13 Dec 2017 16:01:54 GMT):
root@chenxuan-ThinkPad-X240:/etc# nc -zv orderer.example.com 7050` > > > > > > > >

Vadim (Wed, 13 Dec 2017 16:02:07 GMT):
so no output?

asaningmaxchain (Wed, 13 Dec 2017 16:02:14 GMT):
no

asaningmaxchain (Wed, 13 Dec 2017 16:02:25 GMT):
no anything output

Vadim (Wed, 13 Dec 2017 16:03:03 GMT):
seems to be a problem, it should print "... is open"

asaningmaxchain (Wed, 13 Dec 2017 16:03:50 GMT):
but when i use the command `lsof -i:7050`

asaningmaxchain (Wed, 13 Dec 2017 16:03:50 GMT):
but when i use the command `lsof -i:7050` the orderer process is alive

Ashish (Wed, 13 Dec 2017 16:04:22 GMT):
:) Good. So we just have to get your peer to talk to orderer

asaningmaxchain (Wed, 13 Dec 2017 16:05:04 GMT):
so what's the problem? can you give me a clue ? @Ashish

Ashish (Wed, 13 Dec 2017 17:59:04 GMT):
How are u running Ur instantiation? U are referring to the Orderer in the command rite?

Ashish (Wed, 13 Dec 2017 18:23:59 GMT):
So if the hosts entry is working, then why is your peer still looking for orderer.example.com, I'm confused :(

asaningmaxchain (Thu, 14 Dec 2017 01:08:22 GMT):
@Ashish i don't understand,can you use simple english?

asaningmaxchain (Thu, 14 Dec 2017 01:49:18 GMT):
@Ashish @Vadim @jyellick i think it's a problem for the peer gossip service

asaningmaxchain (Thu, 14 Dec 2017 02:35:49 GMT):
@Ashish i use the java sdk to instantiate the chaincode

Ashish (Thu, 14 Dec 2017 02:38:08 GMT):
Ther you are adding Orderer to the channel object rite?

asaningmaxchain (Thu, 14 Dec 2017 02:38:18 GMT):
of course

Ashish (Thu, 14 Dec 2017 02:39:00 GMT):
And you are calling channel.initialize() also?

asaningmaxchain (Thu, 14 Dec 2017 02:39:17 GMT):
i paste my java source code

asaningmaxchain (Thu, 14 Dec 2017 02:39:17 GMT):
i paste my java source code,wait a moment

Ashish (Thu, 14 Dec 2017 02:39:23 GMT):
Okay

asaningmaxchain (Thu, 14 Dec 2017 02:40:25 GMT):
https://pastebin.com/XFUjgzbV

asaningmaxchain (Thu, 14 Dec 2017 06:44:11 GMT):
@Ashish @Vadim when the peer join the channel,the gossip should make connection with the orderer node,but it can't build the connection via the orderer node

asaningmaxchain (Thu, 14 Dec 2017 06:47:57 GMT):
@Ashish ```root@chenxuan-ThinkPad-X240:~# nc -zv orderer.example.com 7050 Connection to orderer.example.com 7050 port [tcp/*] succeeded!```

Vadim (Thu, 14 Dec 2017 08:03:02 GMT):
@asaningmaxchain found this, seems to be related to your problem: https://github.com/golang/go/issues/22846

asaningmaxchain (Thu, 14 Dec 2017 08:54:30 GMT):
@Vadim so i should start the go_dns container?

Vadim (Thu, 14 Dec 2017 08:55:18 GMT):
@asaningmaxchain as I understood, you should create /etc/nsswitch.conf with `hosts: files dns` in it

asaningmaxchain (Thu, 14 Dec 2017 09:02:15 GMT):
@Vadim i don't understand, can you give me more clue?

Vadim (Thu, 14 Dec 2017 09:03:12 GMT):
@asaningmaxchain create file: /etc/nsswitch.conf, open it, add there one line: `hosts: files dns`, save it, close it, try running your network again

asaningmaxchain (Thu, 14 Dec 2017 09:04:37 GMT):
should i restart the network?

Vadim (Thu, 14 Dec 2017 09:05:00 GMT):
which network? just restart your orderer and peer

asaningmaxchain (Thu, 14 Dec 2017 09:05:09 GMT):
ok, i try it

asaningmaxchain (Thu, 14 Dec 2017 09:07:46 GMT):
it still contain error

asaningmaxchain (Thu, 14 Dec 2017 09:07:48 GMT):
```2017-12-14 17:07:20.934 CST [chaincode] Launch -> ERRO 036 handler not found for chaincode test:1.0 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).sendReady```

Vadim (Thu, 14 Dec 2017 09:08:27 GMT):
@asaningmaxchain your error is different

Vadim (Thu, 14 Dec 2017 09:08:35 GMT):
this is a cause

Vadim (Thu, 14 Dec 2017 09:08:56 GMT):
maybe try to restart your computer... if that does not work, use localhost instead of orderer.example.com

asaningmaxchain (Thu, 14 Dec 2017 09:18:27 GMT):
i set the orderer.example.com to the localhost but it still has the error

Vadim (Thu, 14 Dec 2017 09:18:49 GMT):
in configtx.yaml too?

asaningmaxchain (Thu, 14 Dec 2017 09:19:22 GMT):
yes

Vadim (Thu, 14 Dec 2017 09:19:27 GMT):
by the way, why don't you use https://github.com/hyperledger/fabric-samples/tree/release/chaincode-docker-devmode?

asaningmaxchain (Thu, 14 Dec 2017 09:20:41 GMT):
i use the docker to start the peer/orderer but i want to debug

asaningmaxchain (Thu, 14 Dec 2017 09:20:41 GMT):
it use the docker to start the peer/orderer but i want to debug

asaningmaxchain (Thu, 14 Dec 2017 09:21:01 GMT):
so i start the peer/orderer in the dev tools

asaningmaxchain (Thu, 14 Dec 2017 09:24:10 GMT):
i have a simple question why the system chaincode doesn't start the docker container?

asaningmaxchain (Thu, 14 Dec 2017 09:24:24 GMT):
@Vadim @Ashish

Vadim (Thu, 14 Dec 2017 09:25:01 GMT):
@asaningmaxchain the simple answer is that it's caused by the fact that the peer cannot connect to the orderer

asaningmaxchain (Thu, 14 Dec 2017 09:28:50 GMT):
peer can get the block from the orderer,so i don't understand why the peer can't connect to the orderer?

Vadim (Thu, 14 Dec 2017 09:29:14 GMT):
@asaningmaxchain how does it get the block if it cannot connect?

asaningmaxchain (Thu, 14 Dec 2017 09:29:42 GMT):
you mean that when the peer startup,it doesn't need orderer,so when the scc

asaningmaxchain (Thu, 14 Dec 2017 09:29:42 GMT):
you mean that when the peer startup,it doesn't need orderer,so when the scc doesn't start the docker container,and when the peer wants to create the channel,it should be specified the orderer address

Vadim (Thu, 14 Dec 2017 09:31:07 GMT):
as I understand, when you instantiate a chaincode, it needs to receive the tx in a block, but there is no block so it fails to start the chaincode

Vadim (Thu, 14 Dec 2017 09:31:39 GMT):
I don't understand what you say

asaningmaxchain (Thu, 14 Dec 2017 09:31:56 GMT):
i got it

asaningmaxchain (Thu, 14 Dec 2017 09:31:56 GMT):
i got it,my english is bad,so wait a moment,i say it again,and i am trying https://github.com/hyperledger/fabric-samples/tree/release/chaincode-docker-devmode

asaningmaxchain (Thu, 14 Dec 2017 09:40:06 GMT):
https://pastebin.com/xvAuCY3d

asaningmaxchain (Thu, 14 Dec 2017 09:40:25 GMT):
i follow the step but i still meet the error

SergeySadon (Thu, 14 Dec 2017 11:28:17 GMT):
Has joined the channel.

asaningmaxchain (Thu, 14 Dec 2017 14:45:20 GMT):
@Vadim @Ashish i use the docker to start the orderer and peer,it's good

asaningmaxchain (Thu, 14 Dec 2017 15:54:50 GMT):
@Vadim @Ashish i use the java sdk to upgrade the chaincode,but i got the follow error

asaningmaxchain (Thu, 14 Dec 2017 15:55:56 GMT):
https://pastebin.com/xz2tyTX4

asaningmaxchain (Thu, 14 Dec 2017 15:56:10 GMT):
```root@a5c0f11fb319:/var/hyperledger/production/chaincodes# ll total 16 drwxr-xr-x 2 root root 4096 Dec 14 15:31 ./ drwxr-xr-x 5 root root 4096 Dec 14 15:26 ../ -rw-r--r-- 1 root root 1868 Dec 14 15:28 test.1.1 -rw-r--r-- 1 root root 1868 Dec 14 15:31 test.2.0```

Ashish (Thu, 14 Dec 2017 16:52:49 GMT):
The log you have shared talks about chain code 'test' but it doesn't not talk about version. I hope you have specified that too

Ashish (Thu, 14 Dec 2017 16:53:22 GMT):
I mean during the upgrade call.

Ashish (Thu, 14 Dec 2017 16:59:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EzmH5fgrctmAoGCnW) @Vadim Today I tested it with a 1of endorsement policy with only a Role.ADMIN peer in the network. You are rite. It's not able to get the signature from the peer with Admin affiliation. And endorsement failed at the peer while VSCC checked it.

Ashish (Thu, 14 Dec 2017 17:00:59 GMT):
Is this a bug? Is this still open in the 1.1.preview version too? Any idea?

jeffgarratt (Thu, 14 Dec 2017 17:47:03 GMT):
@Ashish you would need to change the signing cert for the peer to also be an ADMIN for the MSP in the channel which seems odd as a requirement

Ashish (Thu, 14 Dec 2017 19:04:39 GMT):
Would it be possible to tell me how please? as in, what to copy ,from where, and where to paste?

Ashish (Thu, 14 Dec 2017 19:04:39 GMT):
Thanks @jeffgarratt , but would it be possible to tell me how please? as in, what to copy ,from where, and where to paste?

jeffgarratt (Thu, 14 Dec 2017 20:18:18 GMT):
@Ashish this would need to be done in the channel config (via confixtgen config)

jeffgarratt (Thu, 14 Dec 2017 20:18:18 GMT):
@Ashish the channel admin cert would need to be copied to the peers $LOCAL_MSP_CONFIG_PATH/signcerts folder I believe

jeffgarratt (Thu, 14 Dec 2017 20:18:18 GMT):
@Ashish the channel admin cert would need to be copied to the peers $CORE_PEER_MSPCONFIGPATH/signcerts folder I believe

jeffgarratt (Thu, 14 Dec 2017 20:34:37 GMT):
as well as the private key would need to go to the peers $CORE_PEER_MSPCONFIGPATH/keystore folder

jeffgarratt (Thu, 14 Dec 2017 20:35:09 GMT):
this would effectively run your peer under the identity of your channel admin (which I would not recommend btw)

jeffgarratt (Thu, 14 Dec 2017 20:36:04 GMT):
or you could create a new cert for the private key you already have that is then placed into the channel ADMINS per the configtxgen mechanism

Ashish (Thu, 14 Dec 2017 20:57:07 GMT):
@jeffgarratt Thanks again Jeff, will give it a try

asaningmaxchain (Fri, 15 Dec 2017 00:30:45 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=A8869MuJMvy8D5Zj3) @Ashish but when i want to upgrade the chaincode,it tell me the error log

asaningmaxchain (Fri, 15 Dec 2017 00:30:45 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=A8869MuJMvy8D5Zj3) @Ashish but when i want to upgrade the chaincode,the chaincode name should be same,it tell me the error log

xmltiger (Fri, 15 Dec 2017 06:53:04 GMT):
Has joined the channel.

Ashish (Fri, 15 Dec 2017 13:26:35 GMT):
@asaningmaxchain correct. To be able to install you have to change the version and install. So if Ur first code is test.1 next version would be test.2.

Ashish (Fri, 15 Dec 2017 13:27:50 GMT):
Then after installing the new code you would upgrade.rite? While upgrading you have to mention the chaincode name as test and the version as 2 rite?

Ashish (Fri, 15 Dec 2017 13:27:59 GMT):
Have you done that too?

asaningmaxchain (Fri, 15 Dec 2017 14:39:53 GMT):
@Ashish i am certainty,i set the name which same as the previous and version is update

asaningmaxchain (Fri, 15 Dec 2017 14:47:06 GMT):
@jyellick @Ashish when the chaincode instantiate,i get the follow error

asaningmaxchain (Fri, 15 Dec 2017 14:47:09 GMT):
``` Failed to pull hyperledger/fabric-ccenv:x86_64-1.1.0-alpha-snapshot-2b428bf3: API error (404): {"message":"manifest for hyperledger/fabric-ccenv:x86_64-1.1.0-alpha-snapshot-2b428bf3 not found"}```

asaningmaxchain (Fri, 15 Dec 2017 14:48:31 GMT):
and then i use the docker images command get the following information

asaningmaxchain (Fri, 15 Dec 2017 14:48:31 GMT):
and then i use the docker images command get the following information,it doesn't has the ccenv images

Ashish (Fri, 15 Dec 2017 14:51:42 GMT):
Then u just have to make sure that you have internet connection. Then as the log indicate, docker would pull the x image

Vadim (Fri, 15 Dec 2017 14:51:42 GMT):
@asaningmaxchain `make docker` should build that image I believe

asaningmaxchain (Fri, 15 Dec 2017 14:51:58 GMT):
i remember i use the make docker

asaningmaxchain (Fri, 15 Dec 2017 14:51:58 GMT):
i remember i use the make docker,but i don't find the ccenv images

Vadim (Fri, 15 Dec 2017 14:52:17 GMT):
do it again

Ashish (Fri, 15 Dec 2017 14:53:46 GMT):
@Vadim for 1.1 preview we do have docker images rite? Not for this situation, this is for me to use

Vadim (Fri, 15 Dec 2017 14:54:07 GMT):
@Ashish yes, they are on dockerhub

asaningmaxchain (Fri, 15 Dec 2017 14:56:46 GMT):
@Vadim @Ashish i have a simple question,when the chaincode instantiate should set the chaincode endorser policy,but when one peer want to upgrade own chaincode,the other peer should sign the envelope ?

asaningmaxchain (Fri, 15 Dec 2017 14:56:46 GMT):
@Vadim @Ashish i have a simple question,when the chaincode instantiate should set the chaincode endorser policy,but when one peer want to upgrade own chaincode,the other peer should sign the envelope ?or what's the process of the upgrade

Vadim (Fri, 15 Dec 2017 14:58:02 GMT):
check http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html#creating-the-package

asaningmaxchain (Fri, 15 Dec 2017 15:22:52 GMT):
@Vadim @Ashish thx very much

vdods (Sat, 16 Dec 2017 01:02:10 GMT):
Question regarding waiting for chaincode instantiation to complete: I've been encountering errors when instantiating chaincode and then immediately querying it -- say I upgrade an instantiated chaincode. If I query instantiated chaincodes immediately, the recently and successfully instantiated chaincode doesn't yet appear in the response. If I wait 20 seconds to query, it does show up. Is there an event I can listen for to be notified when the instantiation actually goes through? This sort of nondeterministic guess-waiting is not acceptable.

asaningmaxchain (Sat, 16 Dec 2017 01:06:05 GMT):
@vdods it exists the chaincode event

asaningmaxchain (Sat, 16 Dec 2017 01:06:05 GMT):
@vdods it exists the chaincode event,you can do it,i am doing it,because the chaincode instantiate is too long

vdods (Sat, 16 Dec 2017 01:09:25 GMT):
Which chaincode event? Do you have to define a custom one that fires at the end of the chaincode Init function?

asaningmaxchain (Sat, 16 Dec 2017 05:28:40 GMT):
the ccenv images disappear without reason @Vadim @Ashish @jeffgarratt

Ashish (Sat, 16 Dec 2017 05:50:58 GMT):
@vdods How are you upgrading/querying? Using an SDK? Or CLI?

Ashish (Sat, 16 Dec 2017 05:53:17 GMT):
@asaningmaxchain That's weird. Are u running a make everytime? Fabric Docker images once built, need not be rebuilt everytime. Are you sure you don't have another make command or a docker rmi command getting executed by mistake?

asaningmaxchain (Sat, 16 Dec 2017 05:54:29 GMT):
i am sure,i just want to instantiate chaincode by the java sdk and it tell me the error ```Failed to pull hyperledger/fabric-ccenv:x86_64-1.1.0-alpha-snapshot-2b428bf3: API error (404): {"message":"manifest for hyperledger/fabric-ccenv:x86_64-1.1.0-alpha-snapshot-2b428bf3 not found"}```

asaningmaxchain (Sat, 16 Dec 2017 05:54:51 GMT):
and then i use the docker images to look for,the ccenv image doesn't exists

asaningmaxchain (Sat, 16 Dec 2017 05:54:51 GMT):
and then i use the docker images to look for,the ccenv image doesn't exist

vdods (Sat, 16 Dec 2017 07:11:12 GMT):
@Ashish I'm upgrading using an SDK -- in particular, github.com/CognitionFoundry/gohfc

Ashish (Sat, 16 Dec 2017 10:12:46 GMT):
That sounds like a go SDK?

asaningmaxchain (Sat, 16 Dec 2017 15:04:16 GMT):
@Ashish @Vadim @jyellick i think the ChaincodeInfo which locate at the peer/query.proto should return the instantiation policy and endorser policy

vdods (Sun, 17 Dec 2017 00:17:31 GMT):
So it looks like might be an event one can listen for to be notified of the instantiation happening -- I'm seeing an event from chaincode "lscc", but it has no event name or payload (it looks like the Extension field of the peer.ChaincodeAction message is empty, which it looks like means there will be no event name or event payload.

vdods (Sun, 17 Dec 2017 00:17:31 GMT):
So it looks like might be an event one can listen for to be notified of the instantiation happening -- I'm seeing an event from chaincode "lscc", but it has no event name or payload (it looks like the Extension field of the peer.ChaincodeAction message is empty, which it looks like means there will be no event name or event payload).

vdods (Sun, 17 Dec 2017 00:27:57 GMT):
Can anyone confirm that this event from chaincode "lscc" does indeed indicate a successful instantiation? It seems like a bug that there's no indication of what the event is, such as "instantiation of chaincode XYZ version 1.2.3 successful" or something

vdods (Sun, 17 Dec 2017 00:28:32 GMT):
The peer.ChaincodeAction i'm getting is: ```(*peer.ChaincodeAction)(0xc420018f80)(response:\237\212s\0077Jz\3407-U\351/\357\3773\n\303\303k\023: 6\032\005\330A\373\333\002\372\302\022-U\361\027\234G\262\312GM\321{(\016t\330znhO\371B\031\022\010\022\006\010\001\022\002\010\000\032\r\022\013\n\007org0MSP\020\001" > chaincode_id: )```

vdods (Sun, 17 Dec 2017 00:50:04 GMT):
Or -- is the payload within the response to be manually unmarshalled by the app?

vdods (Sun, 17 Dec 2017 00:50:23 GMT):
There's no clear documentation in the protos stating the format of the payload

muralisr (Sun, 17 Dec 2017 16:37:58 GMT):
@vdods the "lscc" RWSet is an internal one (part of the fabric chaincode metadata if you will) as opposed to user chaincode RWSet created as part of the instantiation. You shouldn't have to parse it...

vdods (Sun, 17 Dec 2017 19:18:16 GMT):
@muralisr The payload (in the ChaincodeAction) of the event is the RWSet?

vdods (Sun, 17 Dec 2017 19:18:50 GMT):
Regardless, does that event indicate that the instantiation has completed successfully?

muralisr (Sun, 17 Dec 2017 19:22:03 GMT):
actually its not the RWSet (meant to say the ChaincodeAction contains RWSet among other things). the "response" field contains the response to the instantiate from the LSCC

muralisr (Sun, 17 Dec 2017 19:22:03 GMT):
@vdods actually its not the RWSet (meant to say the ChaincodeAction contains RWSet among other things). the "response" field contains the response to the instantiate from the LSCC

muralisr (Sun, 17 Dec 2017 19:22:35 GMT):
and status: 200 implies the endorsemenf ot the instntiate proposal did complete successfully

wanghhao (Mon, 18 Dec 2017 10:06:26 GMT):
Has left the channel.

mzhk (Mon, 18 Dec 2017 13:09:15 GMT):
Has joined the channel.

asaningmaxchain (Mon, 18 Dec 2017 15:43:47 GMT):
@Ashish @Vadim i meet a problem,when i want to invoke a transaction,then i get the following error

asaningmaxchain (Mon, 18 Dec 2017 15:43:47 GMT):
@Ashish @Vadim i meet a problem,when i want to invoke a transaction,then i get the following error, can you take a look?

asaningmaxchain (Mon, 18 Dec 2017 15:45:51 GMT):
https://pastebin.com/VQ8hcGKC

asaningmaxchain (Mon, 18 Dec 2017 15:48:21 GMT):
@Ashish @Vadim another simple question is how can i get the lastest docker logs,i don't get the previous logs

rsherwood (Mon, 18 Dec 2017 17:19:55 GMT):
If a peer has been down and it starts up how will it determine that it is current ? Does it for example provide the order on startup with the last block number it has for each channel , or does the order send it the current channel block height, or does it wait for the next block to be delivered to know that it is missing blocks ?

vdods (Mon, 18 Dec 2017 19:40:33 GMT):
@muralisr Do you know what the type of the marshaled data in the response field is? Presumably it's something defined in a protobuf. I'd like to unmarshal it and examine the data, but there's no indication as to the type.

vdods (Mon, 18 Dec 2017 19:52:23 GMT):
Also, are chaincode and rejection events no longer a thing in v1.0.3? I'm calling stub.SetEvent in my successful invoke transactions, and getting nothing, and that's after registering interest in chaincode events with EventName: ".*" (also tried empty string)

vdods (Mon, 18 Dec 2017 19:53:24 GMT):
I'm also intentionally submitting a bad invoke transaction to test if transaction rejection events are being sent. I see no indication in the peer debug logs that those events are being sent, and no indication in my sdk logs that they're being received.

vdods (Mon, 18 Dec 2017 20:03:40 GMT):
Using EventName equal to the exact event name also doesn't work.

vdods (Mon, 18 Dec 2017 20:12:03 GMT):
I've heard that in Fabric 1.1, there will be only Block events... is this somehow already true for Fabric 1.0.x?

vdods (Mon, 18 Dec 2017 20:12:08 GMT):
I do receive block events.

jon_s (Tue, 19 Dec 2017 04:54:52 GMT):
Has left the channel.

Vadim (Tue, 19 Dec 2017 07:52:16 GMT):
@vdods technically, there are only block events in fabric v1.0 also, the SDKs parse blocks as they come, extract events and trigger listeners if any

Vadim (Tue, 19 Dec 2017 07:52:44 GMT):
for me, the events are working. How do you register your event listeners?

vdods (Tue, 19 Dec 2017 07:56:03 GMT):
Ok, that matches what the author of github.com/CognitionFoundry/gohfc has told me. I'm registering them via code like ``` creator, err := proto.Marshal(&msp.SerializedIdentity{ Mspid: mspId, IdBytes: pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: identity.Certificate.Raw})}) if err != nil { return err } interest := &peer.Event{ Event: &peer.Event_Register{ Register: &peer.Register{ Events: []*peer.Interest{ { EventType: peer.EventType_BLOCK, }, { EventType: peer.EventType_CHAINCODE, RegInfo: &peer.Interest_ChaincodeRegInfo{ ChaincodeRegInfo: &peer.ChaincodeReg{ ChaincodeId: "kvs", // TEMP HACK EventName: "put", // TEMP HACK }, }, }, { EventType: peer.EventType_REJECTION, }, Creator:creator, } evtBytes, err := proto.Marshal(interest) if err != nil { return err } sb, err := crypto.Sign(evtBytes, identity.PrivateKey) if err != nil { return err } sigEvent := peer.SignedEvent{EventBytes: evtBytes, Signature: sb} if err = e.client.Send(&sigEvent); err != nil { return err } return nil

Vadim (Tue, 19 Dec 2017 07:56:47 GMT):
@vdods ok, I'm not familiar with go sdk

vdods (Tue, 19 Dec 2017 07:57:35 GMT):
the gist is that I'm using the event interest registration API in github.com/hyperledger/fabric/protos/peer

vdods (Tue, 19 Dec 2017 07:59:18 GMT):
If block events are really the only thing, then I think that's fine for now. It sounds like the API is just not fully implemented (i.e. registering interest in types of events, possibly including a filter, in order to have minimal network comms regarding events)

vdods (Tue, 19 Dec 2017 07:59:33 GMT):
Thanks, @Vadim

Vadim (Tue, 19 Dec 2017 08:08:10 GMT):
@vdods that's a plan for future releases, there were some tasks in jira about it

zhishui (Tue, 19 Dec 2017 08:12:36 GMT):
Has joined the channel.

ankitkamra (Tue, 19 Dec 2017 11:05:01 GMT):
Has joined the channel.

asaningmaxchain (Tue, 19 Dec 2017 12:46:50 GMT):
@Ashish @Vadim i meet a problem,when i want to invoke a transaction,then i get the following error, can you take a look? https://pastebin.com/VQ8hcGKC @Ashish @Vadim another simple question is how can i get the lastest docker logs,i don't get the previous logs

ankitkamra (Tue, 19 Dec 2017 12:52:16 GMT):
@asaningmaxchain you can get docker logs using command:- docker logs

ankitkamra (Tue, 19 Dec 2017 12:52:16 GMT):
@asaningmaxchain you can get docker logs using command:- docker logs

mzhk (Wed, 20 Dec 2017 09:27:26 GMT):
Hi guys, we're experiencing the same issue as in https://jira.hyperledger.org/browse/FAB-3563 i.e. "This identity is not an admin" while trying to join the channel from fabric-cli container (it works from peers). Tried to use the admin identity as suggested in the ticket but still getting the same issue. Can someone suggest what else to check/verify?

mzhk (Wed, 20 Dec 2017 09:27:43 GMT):
(docker-compose part for fabric-cli)

mzhk (Wed, 20 Dec 2017 09:28:16 GMT):
``` cli: extends: file: base.yml service: peer-base image: "fabric-cli:${TAG}" container_name: sth-fabric-cli hostname: cli environment: - CORE_PEER_ID=cli - CORE_PEER_ADDRESS=peer0.dummy.example.com:7051 - CORE_PEER_LOCALMSPID=DummyMSP volumes: - /etc/sth/fabric-artifacts/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ - /etc/sth/fabric-artifacts/channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts - /etc/sth/fabric-artifacts/crypto-config/peerOrganizations/dummy.example.com/users/Admin@dummy.example.com/msp:/etc/hyperledger/fabric/msp - /etc/sth/fabric-artifacts/crypto-config/peerOrganizations/dummy.example.com/users/Admin@dummy.example.com/tls:/etc/hyperledger/fabric/tls ```

mzhk (Wed, 20 Dec 2017 09:28:47 GMT):
on fabric-cli env var `FABRIC_CFG_PATH=/etc/hyperledger/fabric`

mzhk (Wed, 20 Dec 2017 09:29:11 GMT):
( v1.0.5 )

Vadim (Wed, 20 Dec 2017 09:30:08 GMT):
@mzhk CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp

mzhk (Wed, 20 Dec 2017 09:39:36 GMT):
@Vadim thanks, but i'm afraid it did not help. I retested with above suggestion and we also had that in previous layout that was used: ``` environment: - CORE_PEER_ID=cli - CORE_PEER_ADDRESS=peer0.dummy.example.com:7051 - CORE_PEER_LOCALMSPID=DummyMSP - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/dummy.example.com/users/Admin@dummy.example.com/msp volumes: - /etc/sth/fabric-artifacts/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ - /etc/sth/fabric-artifacts/channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts ```

Vadim (Wed, 20 Dec 2017 09:40:04 GMT):
it says the identity is not an admin?

mzhk (Wed, 20 Dec 2017 09:41:09 GMT):
``` Error: proposal failed (err: rpc error: code = Unknown desc = chaincode error (status: 500, message: "JoinChain" request failed authorization check for channel [businesschannel]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [This identity is not an admin]])) ```

Vadim (Wed, 20 Dec 2017 09:42:06 GMT):
can you compare the cert in peer msp/admincerts directory with Admin@dummy.example.com cert?

mzhk (Wed, 20 Dec 2017 09:45:44 GMT):
``` root@cli:/go/src/github.com/hyperledger/fabric# md5sum peer/crypto/peerOrganizations/dummy.example.com/peers/peer0.dummy.example.com/msp/admincerts/Admin\@dummy.example.com-cert.pem 14242cf56f492dc8694f2445f76bf2a1 peer/crypto/peerOrganizations/dummy.example.com/peers/peer0.dummy.example.com/msp/admincerts/Admin@dummy.example.com-cert.pem root@cli:/go/src/github.com/hyperledger/fabric# md5sum peer/crypto/peerOrganizations/dummy.example.com/users/Admin\@dummy.example.com/msp/admincerts/Admin\@dummy.example.com-cert.pem 14242cf56f492dc8694f2445f76bf2a1 peer/crypto/peerOrganizations/dummy.example.com/users/Admin@dummy.example.com/msp/admincerts/Admin@dummy.example.com-cert.pem ```

mzhk (Wed, 20 Dec 2017 09:46:12 GMT):
(those you meant?)

Vadim (Wed, 20 Dec 2017 09:49:19 GMT):
and on the peer itself which says identity is not an admin?

mzhk (Wed, 20 Dec 2017 09:57:21 GMT):
Ok, confused you a bit, sorry. It doesn't work on the peer as well with the admin user, before i used the default setting which we had, that use the "normal" user and this worked for joining the channel.

mzhk (Wed, 20 Dec 2017 09:57:33 GMT):
``` root@peer0:/go/src/github.com/hyperledger/fabric# md5sum /etc/hyperledger/fabric/admin/msp/admincerts/Admin\@dummy.example.com-cert.pem 14242cf56f492dc8694f2445f76bf2a1 /etc/hyperledger/fabric/admin/msp/admincerts/Admin@dummy.example.com-cert.pem root@peer0:/go/src/github.com/hyperledger/fabric# md5sum /etc/hyperledger/fabric/msp/admincerts/User1\@dummy.example.com-cert.pem 3e5406bf65fdd943442197b616bec861 /etc/hyperledger/fabric/msp/admincerts/User1@dummy.example.com-cert.pem ```

mzhk (Wed, 20 Dec 2017 09:57:37 GMT):
(on the peer)

Vadim (Wed, 20 Dec 2017 09:58:18 GMT):
is there anything in /etc/hyperledger/fabric/admin/msp/admincerts?

Vadim (Wed, 20 Dec 2017 09:58:32 GMT):
ah, I see the number

Vadim (Wed, 20 Dec 2017 09:59:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=FsppxCA7mKwiWmEuM) btw the error message is from the peer, not from the cli

Vadim (Wed, 20 Dec 2017 09:59:18 GMT):
so you say it works with user1?

mzhk (Wed, 20 Dec 2017 09:59:28 GMT):
Yes.

Vadim (Wed, 20 Dec 2017 09:59:42 GMT):
ah so you have several users in msp/admincerts?

mzhk (Wed, 20 Dec 2017 10:01:17 GMT):
Hm, not really

mzhk (Wed, 20 Dec 2017 10:01:27 GMT):
``` oot@peer0:/go/src/github.com/hyperledger/fabric# ls -l /etc/hyperledger/fabric/admin/msp/admincerts/ total 4 -rw-r--r-x. 1 root root 794 Dec 20 09:36 Admin@dummy.example.com-cert.pem root@peer0:/go/src/github.com/hyperledger/fabric# ls -l /etc/hyperledger/fabric/msp/admincerts/ total 4 -rw-r--r-x. 1 root root 790 Dec 20 09:36 User1@dummy.example.com-cert.pem ```

Vadim (Wed, 20 Dec 2017 10:03:13 GMT):
@mzhk I see your problem, in peer msp the cert User1@dummy.example.com-cert.pem is considered to be an admin cert

Vadim (Wed, 20 Dec 2017 10:04:20 GMT):
this "/etc/hyperledger/fabric/admin/msp/admincerts/" - I don't know what for, peer does not check that folder afaik

mzhk (Wed, 20 Dec 2017 10:06:58 GMT):
Yes, this is our custom, we map a "user certs" to `/etc/hyperledger/fabric/msp` and admin user certs to `/etc/hyperledger/fabric/admin/msp`, and switch the env var `FABRIC_CFG_PATH` if we need some "admin actions" in setup.

Vadim (Wed, 20 Dec 2017 10:07:40 GMT):
@mzhk peer treats admin user from msp/admincerts, and there you have User1

mzhk (Wed, 20 Dec 2017 10:08:32 GMT):
@Vadim ok, and msp/admincerts is relative to `FABRIC_CFG_PATH` right ?

Vadim (Wed, 20 Dec 2017 10:09:21 GMT):
for peer msp, the CORE_PEER_MSPCONFIGPATH is responsible

Vadim (Wed, 20 Dec 2017 10:09:40 GMT):
the local admin cert is in peer msp/admincerts

Vadim (Wed, 20 Dec 2017 10:09:54 GMT):
soo, FABRIC_CFG_PATH does not play a role in this

mzhk (Wed, 20 Dec 2017 10:10:19 GMT):
is it the same for fabric-cli ?

Vadim (Wed, 20 Dec 2017 10:11:19 GMT):
peer config has nothing to do with cli config...

mzhk (Wed, 20 Dec 2017 10:27:12 GMT):
@Vadim Hm, it's getting clearer now, i guess. The naming we have made it confusing.. can you please advise me here for a second still? So if we create 2 users Name1 and Name2, then if we set one of those user's 'msp' dir in `CORE_PEER_MSPCONFIGPATH` then this user is only allowed to make actions on a peer? Is there a way or even a case that we have 2 users configured simultaneously on a peer? Are the 'actions' on a peer somehow being distinguished? That some can be done by admin and other by "normal" user? Or generally, whichever user's certs are configured in `CORE_PEER_MSPCONFIGPATH`, then that particular user is allowed to do all channel/chaincode actions on the peer?

Vadim (Wed, 20 Dec 2017 10:27:43 GMT):
you want to have 2 admin users on peer?

Vadim (Wed, 20 Dec 2017 10:28:01 GMT):
admins are needed to join/install chaincodes

Vadim (Wed, 20 Dec 2017 10:28:01 GMT):
admins are needed to join channels/install chaincodes

iamdm (Wed, 20 Dec 2017 10:29:13 GMT):
Has joined the channel.

Vadim (Wed, 20 Dec 2017 10:29:14 GMT):
CORE_PEER_MSPCONFIGPATH specifies path to local peer msp, from there peer will get its identity and identity of users which can do admin tasks

mzhk (Wed, 20 Dec 2017 10:30:33 GMT):
I want to have one admin and one normal user.

Vadim (Wed, 20 Dec 2017 10:32:05 GMT):
you just need admin, normal users are checked against the root org certs, they don't need to be added explicitly

mzhk (Wed, 20 Dec 2017 10:36:43 GMT):
So just to confirm, the users additional to admin (i.e. User1) generated with cryptogen, their certs don't need to end up on the peer at all ? Just the admin cert needs to be added so that it's defined who's the admin of that peer?

Vadim (Wed, 20 Dec 2017 10:46:26 GMT):
@mzhk that's right

iamdm (Wed, 20 Dec 2017 10:53:08 GMT):
Hi guys, have a question. When we add new org to channel, shall we change policy of instantiated cc in channel to get access new org to invoke it?

mzhk (Wed, 20 Dec 2017 10:54:11 GMT):
@Vadim thanks! That was very helpful!

mzhk (Wed, 20 Dec 2017 10:57:12 GMT):
@Vadim one last thing, is there somewhere some reference doc, where one can see what are the actions allowed only for admin user ?

Vadim (Wed, 20 Dec 2017 10:57:27 GMT):
not sure

Vadim (Wed, 20 Dec 2017 10:57:59 GMT):
thoughout the docs they mention when you need admin, but where it's summarized, I don't know

mzhk (Wed, 20 Dec 2017 11:07:32 GMT):
Ok, thanks!

navdevl (Wed, 20 Dec 2017 13:23:38 GMT):
Has joined the channel.

asaningmaxchain (Wed, 20 Dec 2017 14:55:39 GMT):
@Vadim @jyellick @C0rWin can you tell where the source code invoke the ```func (vscc *ValidatorOneValidSignature) Invoke(stub shim.ChaincodeStubInterface) pb.Response {``` method,becaus i got the follow error

asaningmaxchain (Wed, 20 Dec 2017 14:56:41 GMT):
```2017-12-20 14:24:39.546 UTC [vscc] Invoke -> ERRO 5c1 VSCC error: pProvider.NewPolicy failed, err Error unmarshaling to SignaturePolicy: proto: can't skip unknown wire type 6 for common.SignaturePolicyEnvelope ```

asaningmaxchain (Wed, 20 Dec 2017 14:58:51 GMT):
when i instantiate chaincode,i speified endorser policy

asaningmaxchain (Wed, 20 Dec 2017 14:58:51 GMT):
when i instantiate chaincode,i speified endorser policy,so who can tell me the how the args[2] pass

Vadim (Wed, 20 Dec 2017 15:01:48 GMT):
@asaningmaxchain https://github.com/hyperledger/fabric/blob/master/core/committer/txvalidator/validator.go#L843 [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=LaWXiNbhkjDoJGGbW)

asaningmaxchain (Wed, 20 Dec 2017 15:05:43 GMT):
@Vadim thx

rahulhegde (Wed, 20 Dec 2017 15:49:24 GMT):
Reposting - @muralisr Release: Fabric -1.0.4 Reference https://hyperledger-fabric.readthedocs.io/en/release/chaincode4noah.html#creating-the-package. 1. Specifying option `-S`, the chaincode will be signed using the localMSP to create a binary format signed CDS. Is there a way to lint or view this signed CDS? Can intruder retrieve a chaincode source from this CDS? 2. Will the Peer ensure the CDS is not tampered at the time of installation? 3. `-i` helps to specify the instantiation policy. However for test I changed to use ` "AND ('OrganizationMSP.member') "`. Chaincode instantiation fails if an OrganizationMSP's member user is used however passes if OrganizationMSP's admin user. Am I doing something incorrect? It looks now, it is using the Default Instantiation policy i.e. any authorized Organization's Admin user can perform Instantiation. 4: How do I change the instantiation policy set during chancode instantiation (the default policy)? Thanks.

asaningmaxchain (Thu, 21 Dec 2017 06:12:45 GMT):
@Vadim @jyellick @Ashish when i use the java sdk to get the instantiated chaincode information,it should return the following data structure,however,i don't get the input args ```message ChaincodeInfo { string name = 1; string version = 2; // the path as specified by the install/instantiate transaction string path = 3; // the chaincode function upon instantiation and its arguments. This will be // blank if the query is returning information about installed chaincodes. string input = 4; // the name of the ESCC for this chaincode. This will be // blank if the query is returning information about installed chaincodes. string escc = 5; // the name of the VSCC for this chaincode. This will be // blank if the query is returning information about installed chaincodes. string vscc = 6; // the chaincode unique id. // computed as: H( // H(name || version) || // H(CodePackage) // ) bytes id = 7; }```

asaningmaxchain (Thu, 21 Dec 2017 06:21:28 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ucsMxySTcvH6EqPZu) @Vadim i find the method ```txcc, vscc, policy, err := v.GetInfoForValidate(chdr.TxId, chdr.ChannelId, ns)``` which will get the policy about the application chaincode

varun-raj (Thu, 21 Dec 2017 10:29:21 GMT):
Has joined the channel.

prasadguru.r (Thu, 21 Dec 2017 13:46:43 GMT):
Has joined the channel.

prasadguru.r (Thu, 21 Dec 2017 13:46:57 GMT):
Hi

prasadguru.r (Thu, 21 Dec 2017 13:47:17 GMT):
Im trying to establish peer to peer connection from the private network

prasadguru.r (Thu, 21 Dec 2017 13:49:29 GMT):
I have established network in a mac machine and when im trying to establish peer to peer connection with another machine then i could not able to establish it. Handshake is not happening. is there any link or tutorial to fix

yacovm (Thu, 21 Dec 2017 13:49:52 GMT):
what do you mean "the handshake is not happening"

yacovm (Thu, 21 Dec 2017 13:49:58 GMT):
give more details

yacovm (Thu, 21 Dec 2017 13:50:02 GMT):
are you using TLS?

yacovm (Thu, 21 Dec 2017 13:50:13 GMT):
are you running in docker?

yacovm (Thu, 21 Dec 2017 13:50:33 GMT):
so the peers in 1 machine are running in docker, and on another machine are also running in docker?

prasadguru.r (Thu, 21 Dec 2017 13:53:00 GMT):
I mean,

prasadguru.r (Thu, 21 Dec 2017 13:54:58 GMT):
In Docker Container, If I add another peer for extend service, will someone from other machine who has composer-playground in it and valid participant card, Will they become participant in my business network??

yacovm (Thu, 21 Dec 2017 13:56:24 GMT):
hold on, before the peers

yacovm (Thu, 21 Dec 2017 13:56:29 GMT):
who runs the ordering service? Both machines?

yacovm (Thu, 21 Dec 2017 13:56:31 GMT):
or just 1?

prasadguru.r (Thu, 21 Dec 2017 13:56:43 GMT):
1 machine

prasadguru.r (Thu, 21 Dec 2017 13:58:21 GMT):
we are not using TLS and docker is running on both machine

prasadguru.r (Thu, 21 Dec 2017 13:58:57 GMT):
orderer service is available in business network admin machine

yacovm (Thu, 21 Dec 2017 13:59:23 GMT):
so you have 1 machine with an orderer and some peers and another machine with only peers?

prasadguru.r (Thu, 21 Dec 2017 13:59:58 GMT):
yes...

yacovm (Thu, 21 Dec 2017 14:00:24 GMT):
oh... hm, so you basically need 2 ordering endpoints then

yacovm (Thu, 21 Dec 2017 14:00:36 GMT):
1 the internal endpoint (docker ip address)

yacovm (Thu, 21 Dec 2017 14:00:46 GMT):
1 the external ip of the machine, with port forwarding to the docker instance

yacovm (Thu, 21 Dec 2017 14:00:57 GMT):
these 2 endpoints - you put in the channel creation

yacovm (Thu, 21 Dec 2017 14:01:10 GMT):
and then when peers will try to connect to the orderer, they will try both and 1 of them would succeed ;)

prasadguru.r (Thu, 21 Dec 2017 14:02:09 GMT):
2 endpoints how to configure

prasadguru.r (Thu, 21 Dec 2017 14:02:16 GMT):
??

yacovm (Thu, 21 Dec 2017 14:02:40 GMT):
in the configtx.yaml

yacovm (Thu, 21 Dec 2017 14:04:29 GMT):

Clipboard - December 21, 2017 4:04 PM

yacovm (Thu, 21 Dec 2017 14:04:35 GMT):
see example ^

prasadguru.r (Thu, 21 Dec 2017 14:06:54 GMT):
Thanks,... I'm configuring

prasadguru.r (Thu, 21 Dec 2017 14:07:12 GMT):
can we talk in the call??

yacovm (Thu, 21 Dec 2017 14:07:35 GMT):
I'm not in the call

yacovm (Thu, 21 Dec 2017 14:07:54 GMT):
post here or in stack overflow

yacovm (Thu, 21 Dec 2017 14:07:59 GMT):
this way others can learn too

prasadguru.r (Thu, 21 Dec 2017 14:08:21 GMT):
Before to that, If I want to introduce one another machine in to the network I have to reconfigure this again??

prasadguru.r (Thu, 21 Dec 2017 14:08:29 GMT):
yea sure... Thanks

yacovm (Thu, 21 Dec 2017 14:08:31 GMT):
yes, every time

prasadguru.r (Thu, 21 Dec 2017 14:08:37 GMT):
Ok

prasadguru.r (Thu, 21 Dec 2017 14:12:53 GMT):
In my machine, on docker-compose.yml I have only one peer, and I name that peer1. Is that enough or I need to configure one another peer to respond when connect from other device with participant card

prasadguru.r (Thu, 21 Dec 2017 14:13:39 GMT):
vp1: extends: service: peer1 environment: - CORE_PEER_ID=vp1 - CORE_PEER_DISCOVERY_ROOTNODE=peer1:30303 links: - peer1

yacovm (Thu, 21 Dec 2017 14:13:46 GMT):
vp1???

yacovm (Thu, 21 Dec 2017 14:13:54 GMT):
discovery root node?

yacovm (Thu, 21 Dec 2017 14:13:57 GMT):
you're using... v0.6?

prasadguru.r (Thu, 21 Dec 2017 14:14:19 GMT):
just declaring another peer name as vp1

prasadguru.r (Thu, 21 Dec 2017 14:14:23 GMT):
it can be anything

yacovm (Thu, 21 Dec 2017 14:14:31 GMT):
but these environment variables are of version 0.6

yacovm (Thu, 21 Dec 2017 14:14:36 GMT):
not of v1.0

asaningmaxchain (Thu, 21 Dec 2017 14:14:42 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=LaWXiNbhkjDoJGGbW) @yacovm

asaningmaxchain (Thu, 21 Dec 2017 14:15:06 GMT):
```2017-12-20 14:24:39.546 UTC [vscc] Invoke -> ERRO 5c1 VSCC error: pProvider.NewPolicy failed, err Error unmarshaling to SignaturePolicy: proto: can't skip unknown wire type 6 for common.SignaturePolicyEnvelope ```

prasadguru.r (Thu, 21 Dec 2017 14:18:16 GMT):
@yacovm , ok I will check and reply you... Thank you

prasadguru.r (Thu, 21 Dec 2017 14:19:17 GMT):
I am trying the steps side by side..please give me some seconds

yacovm (Thu, 21 Dec 2017 14:20:48 GMT):
no no wait

prasadguru.r (Thu, 21 Dec 2017 14:21:03 GMT):
yes

yacovm (Thu, 21 Dec 2017 14:21:04 GMT):
if you're using v0.6 then these don't apply because you don't have an ordering service in v0.6

yacovm (Thu, 21 Dec 2017 14:21:21 GMT):
if you're using v0.6 then forget what I said and then install v1.0

prasadguru.r (Thu, 21 Dec 2017 14:21:38 GMT):
it's not version number VP1 is peer name

prasadguru.r (Thu, 21 Dec 2017 14:22:00 GMT):
which i set the name like VP1

yacovm (Thu, 21 Dec 2017 14:22:07 GMT):
> CORE_PEER_DISCOVERY_ROOTNODE Who told you to use this string?

yacovm (Thu, 21 Dec 2017 14:22:11 GMT):
where did you see it

yacovm (Thu, 21 Dec 2017 14:22:15 GMT):
we don't have this in v1.0

prasadguru.r (Thu, 21 Dec 2017 14:23:47 GMT):
we referred this site - https://openblockchain.readthedocs.io/en/latest/Setup/Network-setup/

yacovm (Thu, 21 Dec 2017 14:24:09 GMT):
this is v0.6

yacovm (Thu, 21 Dec 2017 14:24:25 GMT):
read this https://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html

prasadguru.r (Thu, 21 Dec 2017 14:25:40 GMT):
is this the latest version?

prasadguru.r (Thu, 21 Dec 2017 14:25:49 GMT):
so we are using old version?

prasadguru.r (Thu, 21 Dec 2017 14:29:07 GMT):
we have deployed a private chain in one machine. we want another machine to connect to private chain. this is our requirement

prasadguru.r (Thu, 21 Dec 2017 14:31:53 GMT):
Hi @yacovm

yacovm (Thu, 21 Dec 2017 14:32:01 GMT):
hi

prasadguru.r (Thu, 21 Dec 2017 14:34:23 GMT):
any working samples or configuration on the above would be helpful?

yacovm (Thu, 21 Dec 2017 14:35:11 GMT):
I haven't used v0.6 in more than a year and a half or so. I can't help you, sorry.

prasadguru.r (Thu, 21 Dec 2017 14:35:45 GMT):
ok . thanks

prasadguru.r (Thu, 21 Dec 2017 14:36:36 GMT):
can you suggest someone who can help?

yacovm (Thu, 21 Dec 2017 14:39:15 GMT):
unless you have a time machine, no.

yacovm (Thu, 21 Dec 2017 14:39:33 GMT):
look, I really recommend to just use 1.0

yacovm (Thu, 21 Dec 2017 14:39:36 GMT):
and drop 0.6

prasadguru.r (Thu, 21 Dec 2017 14:39:39 GMT):
we are using hyperledger composer(v0.16.2) to build with docker (v 17.09.1)

prasadguru.r (Thu, 21 Dec 2017 14:40:00 GMT):
what does v0.6 point to ?

yacovm (Thu, 21 Dec 2017 14:40:06 GMT):
a fabric version

prasadguru.r (Thu, 21 Dec 2017 14:41:36 GMT):
the tutorial points to v0.6, but we are using fabric v1.x

yacovm (Thu, 21 Dec 2017 14:42:24 GMT):
are you sure?

prasadguru.r (Thu, 21 Dec 2017 14:42:32 GMT):
our version v1.0.5

prasadguru.r (Thu, 21 Dec 2017 14:42:39 GMT):
to be precise

prasadguru.r (Thu, 21 Dec 2017 14:42:51 GMT):
yeah

yacovm (Thu, 21 Dec 2017 14:43:00 GMT):
how did you set an environment of v1.0.5 while using v0.6 documentation?

prasadguru.r (Thu, 21 Dec 2017 14:43:54 GMT):
we haven't set it yet. thats were we needed help

prasadguru.r (Thu, 21 Dec 2017 14:44:20 GMT):
:-)

yacovm (Thu, 21 Dec 2017 14:44:35 GMT):
oh ok then please start with reading https://hyperledger-fabric.readthedocs.io/en/release/

prasadguru.r (Thu, 21 Dec 2017 14:45:30 GMT):
thanks @yacovm :-)

asaningmaxchain (Thu, 21 Dec 2017 15:58:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=BMDZ3JAzytAXDjMKS) @guoger

guoger (Thu, 21 Dec 2017 16:02:49 GMT):
so the question is _where is vscc invoked_?

asaningmaxchain (Thu, 21 Dec 2017 16:04:31 GMT):
@guoger no the question is the when i invoke i got the error

asaningmaxchain (Thu, 21 Dec 2017 16:04:35 GMT):
```2017-12-20 14:24:39.546 UTC [vscc] Invoke -> ERRO 5c1 VSCC error: pProvider.NewPolicy failed, err Error unmarshaling to SignaturePolicy: proto: can't skip unknown wire type 6 for common.SignaturePolicyEnvelope```

guoger (Thu, 21 Dec 2017 16:14:57 GMT):
how did you hit this error exactly? pls remember to ask [smart questions](http://www.catb.org/esr/faqs/smart-questions.html).

asaningmaxchain (Fri, 22 Dec 2017 03:04:34 GMT):
@yacovm @Ashish @Vadim @C0rWin https://jira.hyperledger.org/browse/FAB-7545

guoger (Fri, 22 Dec 2017 03:05:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=n52pAHd24KGHqWoeS) @asaningmaxchain is it more appropriate to share this in #fabric-sdk-java ?

asaningmaxchain (Fri, 22 Dec 2017 03:06:22 GMT):
@guoger i did it

asaningmaxchain (Fri, 22 Dec 2017 03:06:22 GMT):
@guoger i did it,it's very easy to operate it,the peer also has the error log

guoger (Fri, 22 Dec 2017 03:12:40 GMT):
quickly skimmed your attachment in jira, does you orderer listen on localhost?

asaningmaxchain (Fri, 22 Dec 2017 03:13:10 GMT):
orderer listen?

asaningmaxchain (Fri, 22 Dec 2017 03:13:22 GMT):
the orderer node provide the event?

guoger (Fri, 22 Dec 2017 03:20:08 GMT):
I mean your components are running in docker, and you need to expose listening ports on local host, right?

asaningmaxchain (Fri, 22 Dec 2017 03:23:42 GMT):
yes

asaningmaxchain (Fri, 22 Dec 2017 03:35:17 GMT):
other operation is ok except chaincode invoke

prasadguru.r (Fri, 22 Dec 2017 06:46:22 GMT):
Hi

prasadguru.r (Fri, 22 Dec 2017 06:46:23 GMT):
We have established business network using hyperledger composer and created participant card by creating peers. When we try to connect the peer in different machine in the local after importing participant card then I'm getting the following error Error: Error trying login and get user Context. Error: Error trying to enroll user or load channel configuration. Error: Enrollment failed with errors [[{"code":400,"message":"Authorization failure"}]] Business network is created in the mac machine and both machine are connected in the same wi-fi. Please help us to establish connection.

asaningmaxchain (Fri, 22 Dec 2017 06:53:00 GMT):
@prasadguru.r you can ask in #composer

prasadguru.r (Fri, 22 Dec 2017 06:56:41 GMT):
thanks

prasadguru.r (Fri, 22 Dec 2017 06:56:56 GMT):
im using fabic framework through composer

asaningmaxchain (Sat, 23 Dec 2017 05:19:44 GMT):
@yacovm @jyellick @Ashish @Vadim the chaincode install support the ```SignedChaincodeDeploymentSpec```

asaningmaxchain (Sat, 23 Dec 2017 05:19:44 GMT):
@yacovm @jyellick @Ashish @Vadim the chaincode install support the `SignedChaincodeDeploymentSpec`

asaningmaxchain (Sat, 23 Dec 2017 05:19:44 GMT):
@yacovm @jyellick @Ashish @Vadim the chaincode install support the `SignedChaincodeDeploymentSpec`?

asaningmaxchain (Sat, 23 Dec 2017 05:19:44 GMT):
@yacovm @jyellick @Ashish @Vadim the chaincode install support the `SignedChaincodeDeploymentSpec`? i want to upgrade the chaincode,the old chaincode container exists?

asaningmaxchain (Sun, 24 Dec 2017 02:07:19 GMT):
?

muralisr (Tue, 26 Dec 2017 01:25:53 GMT):
@asaningmaxchain hard to give any help with limited data... any logs from container, peer, debug information, how was the original instantiated before doing the upgrade ?

asaningmaxchain (Tue, 26 Dec 2017 06:47:28 GMT):
@muralisr i have resolve it

vsadriano (Tue, 26 Dec 2017 20:15:39 GMT):
Hi! How can I set log writer on hyperledger/fabric-couchdb? Can I use environments variables for this?

vsadriano (Tue, 26 Dec 2017 20:16:34 GMT):
I need to set this to see messages on my Graylog.

erdiD (Sun, 31 Dec 2017 12:04:31 GMT):
Has joined the channel.

sykesm (Tue, 02 Jan 2018 20:59:01 GMT):
Has joined the channel.

gen_el (Wed, 03 Jan 2018 16:32:50 GMT):
Has joined the channel.

gen_el (Wed, 03 Jan 2018 16:33:01 GMT):
Hello

gen_el (Wed, 03 Jan 2018 16:34:01 GMT):
How do i specify an endorsement policy such that only 1 peer of 1 org endorses a trxn. Currently all 4 peers (2 peers per org) in my network seem to endorsing transactions. That is not what i want.

tkuhrt (Wed, 03 Jan 2018 17:28:27 GMT):
@gen_el : http://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html -- the last example shows the endorsement policy you are most likely looking for.

gen_el (Wed, 03 Jan 2018 17:40:50 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=gha6jBosHDFcvxAtB) @tkuhrt Thank you for the reference.

gen_el (Wed, 03 Jan 2018 17:51:40 GMT):
@tkuhrt Is their a schema for the endorsement-policy file?

gen_el (Wed, 03 Jan 2018 17:51:40 GMT):
@tkuhrt Is there a documented schema for the endorsement-policy file?

gen_el (Wed, 03 Jan 2018 17:52:14 GMT):
@tkuhrt I need to understand the legit format of the rules in a .json policy file

gen_el (Wed, 03 Jan 2018 17:52:14 GMT):
@tkuhrt I need to understand the legit format of the rules, for a .json policy file

tkuhrt (Wed, 03 Jan 2018 18:53:39 GMT):
@gen_el : Looks like https://fabric-sdk-node.github.io/global.html#ChaincodeInstantiateUpgradeRequest__anchor example shows the JSON for what you are looking for. Also this might help: https://fabric-sdk-node.github.io/global.html#Policy__anchor

gen_el (Wed, 03 Jan 2018 22:09:31 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8Ya5ZjtLvpPHqdpC3) @tkuhrt Thanks

jsrhome (Thu, 04 Jan 2018 03:22:19 GMT):
Has joined the channel.

tennenjl (Thu, 04 Jan 2018 04:06:27 GMT):
Has joined the channel.

pb (Thu, 04 Jan 2018 09:38:43 GMT):
Has joined the channel.

pb (Thu, 04 Jan 2018 09:39:21 GMT):
Found from a tutorial that endorsement policy is deployed along with chaincode. Can you please help to find out where the conditions to be satisfied for endorsement could be listed?

allonblocks21 (Thu, 04 Jan 2018 11:08:45 GMT):
Has joined the channel.

vdods (Fri, 05 Jan 2018 08:04:17 GMT):
Hi all, I'm getting an error while trying to enable TLS for peer-to-orderer communication for channel creation: ```+ peer channel create --orderer localhost:7050 --tls true --logging-level debug --channelID simple-channel --file channel-creation.tx 2018-01-04 23:56:11.382 PST [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2018-01-04 23:56:11.382 PST [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity Error: grpc: no transport security set (use grpc.WithInsecure() explicitly or set credentials) ```

vdods (Fri, 05 Jan 2018 08:05:13 GMT):
I've tried a number of things, including explicitly exporting CORE_PEER_TLS_ROOTCERT_FILE to the file in tlscacerts obtained via enrollment with enrollment.profile tls

vdods (Fri, 05 Jan 2018 08:05:56 GMT):
I'm setting FABRIC_CFG_PATH and some other relevant env vars, and the channel creation works fine without the `--tls true` option.

vdods (Fri, 05 Jan 2018 08:21:38 GMT):
Is it necessary to have a core.yaml file when running the peer as a "client" for e.g. channel creation (i.e. not as a peer in a network)

vdods (Fri, 05 Jan 2018 08:21:38 GMT):
Is it necessary to have a core.yaml file when running the peer as a "client" for e.g. channel creation (i.e. not as a peer in a network)?

vdods (Fri, 05 Jan 2018 08:22:02 GMT):
I've been getting away with no core.yaml file and only setting a few env vars.

yacovm (Fri, 05 Jan 2018 08:24:40 GMT):
@vdods you forgot 1 flag...

yacovm (Fri, 05 Jan 2018 08:24:51 GMT):
--ca or something like that

yacovm (Fri, 05 Jan 2018 08:25:03 GMT):
do `peer channel --help` it will show

vdods (Fri, 05 Jan 2018 08:25:05 GMT):
`--work-perfectly true` ?

yacovm (Fri, 05 Jan 2018 08:25:16 GMT):
there is no such flag in fabric

vdods (Fri, 05 Jan 2018 08:25:26 GMT):
:)

yacovm (Fri, 05 Jan 2018 08:25:28 GMT):
that I know of

vdods (Fri, 05 Jan 2018 08:25:49 GMT):
ah --cafile

vdods (Fri, 05 Jan 2018 08:25:57 GMT):
Wow, I'm not sure how it worked without that before

vdods (Fri, 05 Jan 2018 08:26:23 GMT):
Is that supposed to specify the TLS CA cert?

yacovm (Fri, 05 Jan 2018 08:26:27 GMT):
yes

yacovm (Fri, 05 Jan 2018 08:26:33 GMT):
and now we have mutual TLS too in v1.1

vdods (Fri, 05 Jan 2018 08:26:39 GMT):
Ah ok, that was super unclear in the --help message

yacovm (Fri, 05 Jan 2018 08:26:41 GMT):
so we have more flags that you can forget and be confused

vdods (Fri, 05 Jan 2018 08:26:45 GMT):
haha

vdods (Fri, 05 Jan 2018 08:27:16 GMT):
I'm hoping the proposed split of the peer binary into peer-client and peer-server (or whatever they'll be called) will fix this all up

vdods (Fri, 05 Jan 2018 08:27:25 GMT):
Thanks @yacovm

vdods (Fri, 05 Jan 2018 08:44:47 GMT):
@yacovm I'm now getting `transport: authentication handshake failed: x509: certificate signed by unknown authority` -- I think it may have to do with the fact that I have an intermediate CA below the root CA. Is it possible to specify a cert chain as the argument to --cafile, or otherwise specify intermediate CAs?

vdods (Fri, 05 Jan 2018 08:45:18 GMT):
I guess the help message does say "certificate(s)"

vdods (Fri, 05 Jan 2018 08:50:35 GMT):
Though that should only be trusted root CA certs, not intermediates. The connecting client shouldn't have to provide the cert chain to verify the server's cert.

yacovm (Fri, 05 Jan 2018 08:54:00 GMT):
Try to put a concatenated PEM

yacovm (Fri, 05 Jan 2018 08:54:39 GMT):
Or just the intermediate cert

vdods (Fri, 05 Jan 2018 08:56:22 GMT):
Is that right though? The connecting peer shouldn't need to know the intermediate CA details?

vdods (Fri, 05 Jan 2018 08:56:22 GMT):
Is that right though? The connecting peer shouldn't need to know the intermediate CA details.

vdods (Fri, 05 Jan 2018 08:57:14 GMT):
Like say the orderer org restructures their intermediate CAs, but keeps the same root CA. The peer would then need to have updated intermediate CA certs

vdods (Fri, 05 Jan 2018 09:03:39 GMT):
Oh, perhaps the orderer itself should use a cert chain for its cert?

yacovm (Fri, 05 Jan 2018 09:47:18 GMT):
You are validatong the orderer

yacovm (Fri, 05 Jan 2018 09:47:24 GMT):
*validating

yacovm (Fri, 05 Jan 2018 09:47:38 GMT):
It sends the entire chain i think

yacovm (Fri, 05 Jan 2018 09:48:01 GMT):
Thouh not sure

vdods (Sat, 06 Jan 2018 00:33:47 GMT):
@yacovm Hmm.. I think it probably doesn't. I added another --cafile flag with the intermediate CA cert, and that worked. But, I noticed that in my orderer.yaml, there's no specification of the cert chain like there is in fabric-ca-server-config.yaml (via ca.chainfile)

vdods (Sat, 06 Jan 2018 00:34:04 GMT):
Is there actually an option in orderer.yaml (perhaps not having a default value) for specifying the chain?

vdods (Sat, 06 Jan 2018 02:02:49 GMT):
Setting the orderer cert to the chain (in orderer cert, intermediate CA cert, root CA cert order) works for the channel creation.

vdods (Sat, 06 Jan 2018 02:04:33 GMT):
However, I'm having trouble with `peer channel join` in an odd way where neither the orderer nor the peer seem to be connected to (again, the TLS-disabled versions of these commands have been working fine) ```+ peer channel join --blockpath generated-artifacts/channel-creation/simple-channel/simple-channel.block --logging-level debug --orderer localhost:7050 --tls true --cafile generated-artifacts/orgs/org0/fabric-ca-clients/peer0-admin/tls/tlscacerts/localhost-7054.pem 2018-01-05 18:03:37.025 PST [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2018-01-05 18:03:37.025 PST [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2018-01-05 18:03:37.025 PST [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-01-05 18:03:37.025 PST [grpc] Printf -> DEBU 004 transport: http2Client.notifyError got notified that the client transport was broken unexpected EOF. 2018-01-05 18:03:37.025 PST [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0AB7080A5B08011A0B08F9DCC0D20510...6BA97659E4A61A080A000A000A000A00 2018-01-05 18:03:37.025 PST [msp/identity] Sign -> DEBU 006 Sign: digest: FA4288A49E6DE48130D1F3C06819E5D2ABCCD0744F0A1521249A7F67701E6B22 2018-01-05 18:03:37.025 PST [grpc] Printf -> DEBU 007 transport: http2Client.notifyError got notified that the client transport was broken read tcp 127.0.0.1:41572->127.0.0.1:7051: read: connection reset by peer. Error: proposal failed (err: rpc error: code = Internal desc = transport: write tcp 127.0.0.1:41572->127.0.0.1:7051: write: broken pipe) 2018-01-05 18:03:37.025 PST [grpc] Printf -> DEBU 008 transport: http2Client.notifyError got notified that the client transport was broken read tcp 127.0.0.1:41574->127.0.0.1:7051: read: connection reset by peer. 2018-01-05 18:03:37.026 PST [grpc] Printf -> DEBU 009 transport: http2Client.notifyError got notified that the client transport was broken unexpected EOF. ```

vdods (Sat, 06 Jan 2018 05:57:31 GMT):
Ok, I did some log analysis and code diving, and `peer channel join` doesn't even attempt to use TLS in its GRPC connection, even though the --tls and --cafile options are ostensibly applicable to all commands under `peer channel`. This is clearly wrong, as a TLS-enabled peer will only accept TLS-enabled connections. I think this may be an issue of no one actually ever testing the CLI `peer channel join` with TLS enabled.

vdods (Sat, 06 Jan 2018 06:14:51 GMT):
My guess is that everyone running with TLS enabled uses an SDK to make peers join or list channels.

vdods (Sat, 06 Jan 2018 06:48:05 GMT):
Ok -- using `CORE_PEER_TLS_ENABLED=true` and `CORE_PEER_TLS_ROOTCERT_FILE=path/to/cert` works

vdods (Sat, 06 Jan 2018 06:48:22 GMT):
I've filed a bug https://jira.hyperledger.org/browse/FAB-7630 -- @yacovm Who would be appropriate to assign this to?

yacovm (Sat, 06 Jan 2018 08:19:46 GMT):
@vo

yacovm (Sat, 06 Jan 2018 08:20:49 GMT):
@vdods if peer channel join doesn't use TLS then our integration tests won't pass as the peers use TLS there...

vdods (Sat, 06 Jan 2018 08:23:02 GMT):
Right, they must be using the env vars CORE_PEER_TLS_ENABLED and CORE_PEER_TLS_ROOTCERT_FILE to make that happen, and not the --tls and --cafile commandline options

yacovm (Sat, 06 Jan 2018 08:23:42 GMT):
oh.. hehehe I see the confusion

yacovm (Sat, 06 Jan 2018 08:23:53 GMT):
so the CLI flags --tls, --cafile

yacovm (Sat, 06 Jan 2018 08:24:00 GMT):
they control the orderer's TLS config

yacovm (Sat, 06 Jan 2018 08:24:11 GMT):
the CORE_PEER_* environment variables control the peer

vdods (Sat, 06 Jan 2018 08:24:16 GMT):
Yep

yacovm (Sat, 06 Jan 2018 08:24:25 GMT):
so... that's not a bug

vdods (Sat, 06 Jan 2018 08:24:43 GMT):
Well, if it's not a bug, then the --help message is super misleading

vdods (Sat, 06 Jan 2018 08:25:11 GMT):
I guess it does mention orderer in the help message

yacovm (Sat, 06 Jan 2018 08:25:12 GMT):
it could be. what does it say?

vdods (Sat, 06 Jan 2018 08:26:11 GMT):
Perhaps what's misleading is that the --tls and --cafile options are available for all `peer channel` subcommands, and not just `peer channel create` and `peer channel update`

vdods (Sat, 06 Jan 2018 08:26:39 GMT):
If an option has no effect on a particular subcommand, it shouldn't be available to that subcommand.

yacovm (Sat, 06 Jan 2018 08:28:56 GMT):
oh I see

yacovm (Sat, 06 Jan 2018 08:28:58 GMT):
you're right

vdods (Sat, 06 Jan 2018 08:29:41 GMT):
I think this confusion also stems from the overall confusion over the peer binary acting as a server and a client, and the configuration thereof being correspondingly confusing and entangled.

yacovm (Sat, 06 Jan 2018 08:30:34 GMT):
I don't know where it stems from

yacovm (Sat, 06 Jan 2018 08:31:15 GMT):
I guess you can file an `improvement` (not a bug) JIRA to have these commands now shown in the help of all but `channel create / update`

vdods (Sat, 06 Jan 2018 08:53:26 GMT):
Hmm.. ok

vdods (Sat, 06 Jan 2018 20:57:26 GMT):
I've managed to set everything up, and in one of my orgs I've got 2 peers -- the non-anchor peer has the anchor peer's address as its peer.gossip.bootstrap address. Both peers max out their CPU usage, with the logs repeating messages like the following: ```2018-01-06 12:50:36.219 PST [policies] GetPolicy -> DEBU 40f Returning policy Application/Readers for evaluation 2018-01-06 12:50:36.219 PST [cauthdsl] func1 -> DEBU 410 0xc42241e0a0 gate 1515271836219355929 evaluation starts 2018-01-06 12:50:36.219 PST [cauthdsl] func2 -> DEBU 411 0xc42241e0a0 signed by 0 principal evaluation starts (used [false]) 2018-01-06 12:50:36.219 PST [cauthdsl] func2 -> DEBU 412 0xc42241e0a0 processing identity 0 with bytes of 0a076f7267304d535012a2072d2d2d2d2d424547494e202d2d2d2d2d0a4d4949436b7a4343416657674177494241674955566c345a30737a3649526b3970484d6468625972482b2b2f5a377377436759494b6f5a497a6a3045417751770a6654454c4d416b474131554542684d4356564d78437a414a42674e564241674d416b4e424d524977454159445651514b44416c58623256695a576476626d55780a4854416242674e564241734d464739795a7a4167535735305a584a745a5752705958526c49454e424d524977454159445651514444416c7362324e68624768760a63335178476a415942676b71686b6947397730424351455743324e68514739795a7a4175593239744d423458445445344d4445774e6a49774e4455774d466f580a445445354d4445774e6a49774e4455774d466f775854454c4d416b474131554542684d4356564d78467a415642674e5642416754446b3576636e526f49454e680a636d3973615735684d525177456759445651514b457774496558426c636d786c5a47646c636a45504d4130474131554543784d47526d4669636d6c6a4d5134770a4441594456515144457756775a5756794d54425a4d424d4742797147534d34394167454743437147534d343941774548413049414241777469536742694551480a4f664a476b476e5470434a574c43327a684a527161655a37626876637a466161385331356a526e734f3266707948654f4b5669367077593532745a4c504643670a53494330796b4e72474c4f6a637a42784d41344741315564447745422f775145417749486744414d42674e5648524d4241663845416a41414d423047413155640a4467515742425358644c4831652b536d627a7557304535456e6243336e35386a4d44416642674e5648534d45474441576742517a4e704f596e2b617a532f39490a6e497673513934524243497a5454415242674e5648524545436a414967675a7a6257467a61486b77436759494b6f5a497a6a304541775144675973414d4947480a416b456850626374523757364b7662357536496852514d596145436e6d476c6d7a614c6872356a526a3237766a702f4b425342427577687a384b2f68377a784c0a59304d646436776a6a69626e597642687041782b4e71526b61674a43414a6b763955354d714b345873645859382f70485970484b527945355a536e524465554c0a79475151774b7856417a694a38476a4745625a5168506b63343677456c7a4e5a6d367859626c6c7153746c32387557356c6e2b4c0a2d2d2d2d2d454e44202d2d2d2d2d0a 2018-01-06 12:50:36.285 PST [cauthdsl] func2 -> DEBU 413 0xc42241e0a0 principal matched by identity 0 2018-01-06 12:50:36.285 PST [cauthdsl] func2 -> DEBU 414 0xc42241e0a0 principal evaluation succeeds for identity 0 2018-01-06 12:50:36.285 PST [cauthdsl] func1 -> DEBU 415 0xc42241e0a0 gate 1515271836219355929 evaluation succeeds ```

vdods (Sat, 06 Jan 2018 20:58:23 GMT):
Note that zero transactions have been made on the channel -- this is just after having the peers join the channel

vdods (Sat, 06 Jan 2018 21:00:09 GMT):
If I change the peer.gossip.bootstrap address for each peer to point to itself, then the CPU usage is more reasonable (2-4%, though this still seems excessive for a process that is ostensibly doing nothing), but presumably the peers will not gossip blocks back and forth.

yacovm (Sat, 06 Jan 2018 21:21:53 GMT):
@vdods turn of the gossip logging too

yacovm (Sat, 06 Jan 2018 21:22:01 GMT):
For debug

yacovm (Sat, 06 Jan 2018 21:22:12 GMT):
How many CPUs do you have?

vdods (Sat, 06 Jan 2018 21:22:13 GMT):
I tried that, but the CPU usage is still really high

vdods (Sat, 06 Jan 2018 21:22:18 GMT):
8 logical cores

yacovm (Sat, 06 Jan 2018 21:22:34 GMT):
What, how ia that possible that they are maxed

vdods (Sat, 06 Jan 2018 21:22:51 GMT):
Not pinned exactly at 100%, but it varies from 60% - 90%+

yacovm (Sat, 06 Jan 2018 21:22:59 GMT):
:dizzy_face:

vdods (Sat, 06 Jan 2018 21:23:15 GMT):
considering that the peers are handling no transactions or new blocks to gossip, that seems rather high

yacovm (Sat, 06 Jan 2018 21:23:18 GMT):
Gossip logs at debug please

vdods (Sat, 06 Jan 2018 21:23:49 GMT):
Let's see.. I'll need to attach a file, since it's really log

vdods (Sat, 06 Jan 2018 21:23:51 GMT):
*long

yacovm (Sat, 06 Jan 2018 21:24:04 GMT):
What is the frequency of these lines you posted?

vdods (Sat, 06 Jan 2018 21:26:38 GMT):

log

vdods (Sat, 06 Jan 2018 21:27:30 GMT):
the cauthdsl debug messages appear about every 2 seconds

vdods (Sat, 06 Jan 2018 21:27:59 GMT):
BTW, I'm running on v1.0.5

yacovm (Sat, 06 Jan 2018 21:28:10 GMT):
Can you upload to pastebin? Cant open from the phone

vdods (Sat, 06 Jan 2018 21:28:16 GMT):
Ah, ok

vdods (Sat, 06 Jan 2018 21:31:40 GMT):
https://pastebin.com/hWnFRaf0

vdods (Sat, 06 Jan 2018 21:32:16 GMT):
I pasted only about 550 lines of it, due to storage limitations on pastebin.

vdods (Sat, 06 Jan 2018 21:32:48 GMT):
Deleted the 3MB log I uploaded to RocketChat.

yacovm (Sat, 06 Jan 2018 21:33:43 GMT):
Lets do an experiment, ok?

vdods (Sat, 06 Jan 2018 21:33:48 GMT):
Sure

yacovm (Sat, 06 Jan 2018 21:33:57 GMT):
Go to core.yaml and to the gossip section

vdods (Sat, 06 Jan 2018 21:34:03 GMT):
Thanks in advance for your help, btw!

yacovm (Sat, 06 Jan 2018 21:34:09 GMT):
You will see there several times

yacovm (Sat, 06 Jan 2018 21:34:21 GMT):
Something like aliveInterval

vdods (Sat, 06 Jan 2018 21:34:26 GMT):
ok

yacovm (Sat, 06 Jan 2018 21:34:30 GMT):
And pull interval

vdods (Sat, 06 Jan 2018 21:34:38 GMT):
aliveTimeInterval: 5s

vdods (Sat, 06 Jan 2018 21:34:52 GMT):
pullInterval: 4s

yacovm (Sat, 06 Jan 2018 21:34:53 GMT):
What else? What other times are there?

vdods (Sat, 06 Jan 2018 21:36:00 GMT):
maxPropagationBurstLatency: 10ms, requestStateInfoInterval: 4s, publishStateInfoInterval: 4s, publishCertPeriod: 10s, digestWaitTime: 1s, requestWaitTime: 1s, responseWaitTime: 2s, reconnectInterval: 25s

vdods (Sat, 06 Jan 2018 21:36:14 GMT):
There are a few others, but they seemed less relevant to the gossip process than this problem suggests

yacovm (Sat, 06 Jan 2018 21:38:18 GMT):
Try to raise requestStateInfoInterval to 10s . Are you using docker?

vdods (Sat, 06 Jan 2018 21:39:19 GMT):
No, I'm running each service as a daemon process with a monitoring service

yacovm (Sat, 06 Jan 2018 21:39:36 GMT):
Oh ok

yacovm (Sat, 06 Jan 2018 21:39:44 GMT):
So change just in core.yaml

yacovm (Sat, 06 Jan 2018 21:39:49 GMT):
And resfart

yacovm (Sat, 06 Jan 2018 21:39:49 GMT):
And restart

vdods (Sat, 06 Jan 2018 21:39:50 GMT):
Ok

yacovm (Sat, 06 Jan 2018 21:39:53 GMT):
Restart

vdods (Sat, 06 Jan 2018 21:43:35 GMT):
That didn't seem to appreciably change the CPU usage

yacovm (Sat, 06 Jan 2018 21:43:54 GMT):
Thats great

vdods (Sat, 06 Jan 2018 21:44:20 GMT):
What was the expected result?

yacovm (Sat, 06 Jan 2018 21:44:28 GMT):
Now try for the aliveMessageInterval - turn it twice as big

vdods (Sat, 06 Jan 2018 21:44:33 GMT):
ok

yacovm (Sat, 06 Jan 2018 21:46:05 GMT):
Wait, is one of the peers perhaps behind?

yacovm (Sat, 06 Jan 2018 21:46:09 GMT):
In ledger height

yacovm (Sat, 06 Jan 2018 21:46:20 GMT):
Do they have the same height?

vdods (Sat, 06 Jan 2018 21:47:48 GMT):
Hmm.. is there an easy way, say with a peer CLI command, to check that? Or does it show up in the logs

vdods (Sat, 06 Jan 2018 21:48:12 GMT):
Btw -- changing aliveTimeInterval from 5s to 10s slightly reduced the CPU usage.. to about a range of 40-80%

yacovm (Sat, 06 Jan 2018 21:48:41 GMT):
It shows im the logs

yacovm (Sat, 06 Jan 2018 21:49:02 GMT):
Grep for StateInfo or stateInfo

vdods (Sat, 06 Jan 2018 21:50:16 GMT):
`2018-01-06 13:17:00.418 PST [gossip/gossip] handleMessage -> DEBU 27d2 Entering, 127.0.0.1:55946 [213 186 80 212 212 11 160 87 223 32 129 26 216 126 206 170 206 6 80 138 61 138 224 126 45 32 149 34 19 131 199 214] sent us GossipMessage: Channel: simple-channel, nonce: 0, tag: CHAN_OR_ORG StateInfoSnapshot with 2 items, Envelope: 387 bytes, Signature: 0 bytes `

vdods (Sat, 06 Jan 2018 21:50:16 GMT):
`2018-01-06 13:17:00.418 PST [gossip/gossip] handleMessage -> DEBU 27d2 Entering, 127.0.0.1:55946 [213 186 80 212 212 11 160 87 223 32 129 26 216 126 206 170 206 6 80 138 61 138 224 126 45 32 149 34 19 131 199 214] sent us GossipMessage: Channel: simple-channel, nonce: 0, tag: CHAN_OR_ORG StateInfoSnapshot with 2 items, Envelope: 387 bytes, Signature: 0 bytes`

yacovm (Sat, 06 Jan 2018 21:50:41 GMT):
No, i need stateInfo

yacovm (Sat, 06 Jan 2018 21:50:50 GMT):
Without stapshot

yacovm (Sat, 06 Jan 2018 21:51:00 GMT):
Nothing like that?

vdods (Sat, 06 Jan 2018 21:51:34 GMT):
Nope, that's the only occurrence of StateInfo (case insensitive grep)

yacovm (Sat, 06 Jan 2018 21:52:29 GMT):
Thats impossible :confused: but you can see of they send each other blocks

yacovm (Sat, 06 Jan 2018 21:52:35 GMT):
*if

yacovm (Sat, 06 Jan 2018 21:53:09 GMT):
Can you upload the full log file? i'll take a look

vdods (Sat, 06 Jan 2018 21:53:10 GMT):
All the debug log levels are at debug, except msp, which is at warning

vdods (Sat, 06 Jan 2018 21:53:24 GMT):
Upload here? Or elsewhere?

yacovm (Sat, 06 Jan 2018 21:53:28 GMT):
Here

vdods (Sat, 06 Jan 2018 21:53:37 GMT):
Ok

vdods (Sat, 06 Jan 2018 21:54:18 GMT):
I'm going to truncate it, since most of it will be redundant looping messages

vdods (Sat, 06 Jan 2018 21:56:51 GMT):

log.txt

vdods (Sat, 06 Jan 2018 21:56:51 GMT):

log.txt

yacovm (Sat, 06 Jan 2018 21:59:23 GMT):
`2018-01-06 13:46:48.133 PST [gossip/comm] sendToEndpoint -> DEBU 582 Entering, Sending to localhost:7151 , msg: GossipMessage: channel:"simple-channel" tag:CHAN_AND_ORG hello: , Envelope: 33 bytes, Signature: 0 bytes`

yacovm (Sat, 06 Jan 2018 21:59:40 GMT):
they are sending blocks to each other...

yacovm (Sat, 06 Jan 2018 22:00:36 GMT):
oh wait

yacovm (Sat, 06 Jan 2018 22:00:42 GMT):
sorry, that's not a block

vdods (Sat, 06 Jan 2018 22:01:06 GMT):
That's no moon.. that's a space station!

yacovm (Sat, 06 Jan 2018 22:04:35 GMT):
wait a second

yacovm (Sat, 06 Jan 2018 22:04:44 GMT):
`[gossip/gossip] handleMessage -> DEBU 39a Entering, 127.0.0.1:56962`

yacovm (Sat, 06 Jan 2018 22:04:52 GMT):
what's this? why is the remote ip localhost?

yacovm (Sat, 06 Jan 2018 22:05:31 GMT):
`authenticateRemotePeer -> DEBU 35f Authenticated 127.0.0.1:56960`

vdods (Sat, 06 Jan 2018 22:05:34 GMT):
I'm hosting all the peers on my own machine for now.. I need to make sure all the TLS config, peer behavior (especially regarding CPU usage), etc is good before I deploy to the real servers

yacovm (Sat, 06 Jan 2018 22:05:44 GMT):
oh

yacovm (Sat, 06 Jan 2018 22:05:54 GMT):
so you have 2 peers in 1 machine, right?

vdods (Sat, 06 Jan 2018 22:05:58 GMT):
Yep

vdods (Sat, 06 Jan 2018 22:06:33 GMT):
2 peers in 1 org, 1 peer in a second org. But the second org is separate and doesn't interact with the first org except through the orderer, so that one's ok.

yacovm (Sat, 06 Jan 2018 22:08:21 GMT):
1 more question

yacovm (Sat, 06 Jan 2018 22:08:30 GMT):
are you running an orderer inside that machine too?

vdods (Sat, 06 Jan 2018 22:08:34 GMT):
Yeah

yacovm (Sat, 06 Jan 2018 22:08:59 GMT):
and you're sure the peer processes are what's taking the CPU?

yacovm (Sat, 06 Jan 2018 22:09:03 GMT):
not kafka, for instance?

vdods (Sat, 06 Jan 2018 22:10:46 GMT):
Yeah: ```11685 minion0 20 0 747336 65344 14508 S 65.4 0.2 0:21.36 peer-v1.0.5 11664 minion0 20 0 888172 67328 14576 S 57.5 0.2 0:23.20 peer-v1.0.5 10075 minion1 20 0 752132 54864 14212 S 4.0 0.2 0:54.17 peer-v1.0.5```

vdods (Sat, 06 Jan 2018 22:11:21 GMT):
This is the output from top -- minion0 is the org0 user, minion1 is the org1 user. The figures 65.4, 57.5, and 4.0 are the CPU usage percentages

yacovm (Sat, 06 Jan 2018 22:11:32 GMT):
ouch

yacovm (Sat, 06 Jan 2018 22:11:39 GMT):
when I run the e2e_cli I get:

yacovm (Sat, 06 Jan 2018 22:11:47 GMT):

Clipboard - January 7, 2018 12:11 AM

yacovm (Sat, 06 Jan 2018 22:12:08 GMT):
and the vm has 4 cores

vdods (Sat, 06 Jan 2018 22:12:18 GMT):
Hmm.. Maybe I should compare config files

vdods (Sat, 06 Jan 2018 22:12:47 GMT):
I'm using my own hand-rolled network orchestration, and it's been a pretty difficult process getting everything right

yacovm (Sat, 06 Jan 2018 22:13:05 GMT):
nah it's not that hard

vdods (Sat, 06 Jan 2018 22:14:03 GMT):
I imagine if you've designed and written the fabric modules that's true, but I can tell you as an outsider, it's pretty difficult ;)

yacovm (Sat, 06 Jan 2018 22:14:29 GMT):
anyway when the peers are resting they are even less busy on my machine:

yacovm (Sat, 06 Jan 2018 22:14:33 GMT):

Clipboard - January 7, 2018 12:14 AM

vdods (Sat, 06 Jan 2018 22:14:52 GMT):
To be fair, the docs are getting better, and as the tools get better, things will be easier and easier :)

vdods (Sat, 06 Jan 2018 22:15:35 GMT):
Hmm, ok, that's heartening to see that peers should behave well like that. I think I'll need to put my due diligence in and compare with e2e_cli.

vdods (Sat, 06 Jan 2018 22:15:42 GMT):
I really appreciate your time and help!

yacovm (Sat, 06 Jan 2018 22:15:54 GMT):

Clipboard - January 7, 2018 12:15 AM

yacovm (Sat, 06 Jan 2018 22:16:06 GMT):
that's a good idea - if you have docker installed

yacovm (Sat, 06 Jan 2018 22:16:15 GMT):
can you perhaps try to run e2e_cli ?

vdods (Sat, 06 Jan 2018 22:16:24 GMT):
yeah, that sounds like a good plan

vdods (Sat, 06 Jan 2018 22:17:33 GMT):
I've gotta take lunch. I'll let you know how my experiment goes! Ttyl

vdods (Sat, 06 Jan 2018 22:17:37 GMT):
Thanks again!

tfuanig (Tue, 09 Jan 2018 14:56:15 GMT):
Has joined the channel.

tfuanig (Tue, 09 Jan 2018 14:58:40 GMT):
hi, i keep seeing a warning message in peer log `2018-01-09 13:43:37.496 UTC [blocksProvider] DeliverBlocks -> WARN e001 [piichannel] Got error &{SERVICE_UNAVAILABLE}` it happens to others channels as well is this something need to be taken care of? thanks!

asaningmaxchain (Tue, 09 Jan 2018 15:00:55 GMT):
@tfuanig can you tell me whether the orderer node is running?

tfuanig (Tue, 09 Jan 2018 15:01:59 GMT):
@asaningmaxchain yes, it is running

asaningmaxchain (Tue, 09 Jan 2018 15:02:34 GMT):
please use `docker ps -a` tell me

tfuanig (Tue, 09 Jan 2018 15:04:15 GMT):
it's not running locally... ``` 2018-01-09 13:43:37.496 UTC [blocksProvider] DeliverBlocks -> WARN e001 [piichannel] Got error &{SERVICE_UNAVAILABLE} ```

tfuanig (Tue, 09 Jan 2018 15:04:36 GMT):
``` [33m2018-01-09 14:27:17.276 UTC [blocksProvider] DeliverBlocks -> WARN e051 [piichannel] Got error &{SERVICE_UNAVAILABLE} 2018-01-09 14:27:27.276 UTC [deliveryClient] Disconnect -> DEBU e052 Entering 2018-01-09 14:27:27.277 UTC [deliveryClient] Disconnect -> DEBU e053 Exiting 2018-01-09 14:27:27.282 UTC [deliveryClient] connect -> DEBU e054 Connected to orderer2.orderer.service.consul:7050 2018-01-09 14:27:27.282 UTC [deliveryClient] connect -> DEBU e055 Establishing gRPC stream with orderer2.orderer.service.consul:7050 ... 2018-01-09 14:27:27.282 UTC [deliveryClient] afterConnect -> DEBU e056 Entering ```

asaningmaxchain (Tue, 09 Jan 2018 15:04:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=pXqi4ekkmhZqfFZnj) @tfuanig how do you know is running

tfuanig (Tue, 09 Jan 2018 15:08:10 GMT):
@asaningmaxchain i am seeing log streaming to orderer

asaningmaxchain (Tue, 09 Jan 2018 15:08:47 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=kjq63TeH9BuKJaiPb) @tfuanig so how you know the orderer is running?

tfuanig (Tue, 09 Jan 2018 15:12:41 GMT):
@asaningmaxchain ``` 1ef69f010c12 b17741e7b036 "orderer" 21 hours ago Up 21 hours 10.114.140.235:7050->7050/tcp, 10.114.140.235:7050->7050/udp orderer-dd99feb8-9e91-9e9e-8df9-c2e9e01804e5 ``` here the is line for `docker ps`

asaningmaxchain (Tue, 09 Jan 2018 15:13:15 GMT):
can you tell me the peer host can ping the orderer host?

tfuanig (Tue, 09 Jan 2018 15:16:25 GMT):
@asaningmaxchain i docker exec into the peer container and telnet to orderer ``` root@hc-worker-1:~# docker exec -ti 9ccc2a34c765 bash root@peer0:/# telnet orderer2.orderer.service.consul Trying 10.114.140.203... telnet: Unable to connect to remote host: Connection refused root@peer0:/# telnet orderer2.orderer.service.consul 7050 Trying 10.114.140.203... Connected to orderer2.orderer.service.consul. Escape character is '^]'. ```

vdods (Tue, 09 Jan 2018 22:20:36 GMT):
The peer creates a pid file peer.pid in the peer's fileSystemPath, but doesn't delete it when the peer goes down. This seems like a bug -- say you're trying to control the peer with some monitoring service, and you go to stop the peer by issuing a SIGTERM to that pid, only to discover that the peer had already quit, and you just terminated some innocent bystander process that happened to get that address.

vdods (Tue, 09 Jan 2018 22:22:14 GMT):
Can anyone comment on that? Is there some other means to clean up the pid file when the peer goes down? It seems like it may need to be an OS-level thing, since the peer program itself may not be able to catch a signal that kills it in order to clean up its pid file, such as SIGQUIT

vdods (Tue, 09 Jan 2018 22:22:38 GMT):
Or, say the machine hard-reboots, and even the OS has no chance to clean it up.

mogamboizer (Thu, 11 Jan 2018 01:46:41 GMT):
What are the setup/configuration differences between endorsers and committers? My understanding is endorsers have chaincode and are passed a endorsement policy by the client on a particular channel. A peer that is an endorser for channel X can be a committer only for channel Y. Would it be correct to say that the peer role (committer or endorser) depends if the chaincode is present and the endorsement policy is applicable.

sasiedu (Thu, 11 Jan 2018 08:10:01 GMT):
Has joined the channel.

jeffgarratt (Thu, 11 Jan 2018 14:08:20 GMT):
@mogamboizer The role of endorser as well as committer are both within the context of a channel, and requires not just the presence (i.e. installation) but the instantiation of the chaincode on a particular channel. All peers are committers for the channels they have joined. Peers that have the chaincode installed and instantiated can also act as endorsers.

asaningmaxchain (Thu, 11 Jan 2018 14:33:33 GMT):
so the client should send the request to the all peer for endorser?

asaningmaxchain (Thu, 11 Jan 2018 14:33:35 GMT):
@jeffgarratt

asaningmaxchain (Thu, 11 Jan 2018 14:34:10 GMT):
and the peer use the gossip to exchange data each other?

novusopt (Thu, 11 Jan 2018 14:53:02 GMT):
Has joined the channel.

mogamboizer (Thu, 11 Jan 2018 14:58:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=6zWWRZGJCy5rX5fbM) @jeffgarratt Thank you that makes it clear.

asaningmaxchain (Thu, 11 Jan 2018 16:51:59 GMT):
@vdods @yacovm i got the error `2018-01-11 16:50:41.672 UTC [gossip/state] queueNewMessage -> WARN 1d7 Failed adding payload: Ledger height is at 294, cannot enqueue block with sequence of 531 2018-01-11 16:50:41.966 UTC [gossip/state] queueNewMessage -> WARN 1d8 Failed adding payload: Ledger height is at 295, cannot enqueue block with sequence of 532` thought it's warning,but can you give me more detail about this?

asaningmaxchain (Thu, 11 Jan 2018 16:51:59 GMT):
@vdods @yacovm i got the error ```2018-01-11 16:50:41.672 UTC [gossip/state] queueNewMessage -> WARN 1d7 Failed adding payload: Ledger height is at 294, cannot enqueue block with sequence of 531 2018-01-11 16:50:41.966 UTC [gossip/state] queueNewMessage -> WARN 1d8 Failed adding payload: Ledger height is at 295, cannot enqueue block with sequence of 532``` thought it's warning,but can you give me more detail about this?

yacovm (Thu, 11 Jan 2018 17:03:20 GMT):
Yes

yacovm (Thu, 11 Jan 2018 17:03:35 GMT):
The peer is behind

asaningmaxchain (Thu, 11 Jan 2018 17:26:01 GMT):
@yacovm can you give more detail

yacovm (Thu, 11 Jan 2018 17:32:44 GMT):
Yeah.. i'm not in the office anymore so a bit hard :smirk: . So, if the peer receives blocks that are to far in the future for its ledger, it doesnt keep that in memory so its memory will not blow up, so it juat drops them instead

rahulhegde (Thu, 11 Jan 2018 18:50:57 GMT):
hello - we are seeing a endorsement failure (500) in peer logs due to `Block not found : Index not found`. Is this benign error?

rahulhegde (Thu, 11 Jan 2018 18:50:57 GMT):
hello - we are seeing a endorsement failure (500) in peer logs due to `Block not found : Entry not found in Index`. Is this benign error?

rahulhegde (Thu, 11 Jan 2018 18:50:57 GMT):
hello - we saw a endorsement failure (500) in peer logs due to `Block not found : Entry not found in Index`. Is this benign error?

rahulhegde (Thu, 11 Jan 2018 18:50:57 GMT):
hello - we saw a endorsement failure (500) in peer log due to `Block not found : Entry not found in Index`. Is this benign error?

rahulhegde (Thu, 11 Jan 2018 20:05:15 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=yBxD6C9kbk9GJpaDc) Please ignore this as we found the reason, GetBlockByNumber API was called for a different peer (which could be running late).

rickr (Thu, 11 Jan 2018 20:52:35 GMT):
When we send a proposal for a peer to join a channel is it on return ready to instantiate new chaincode/ invoke existing ? Let say there were millions of blocks already on the ledger for this channel. Can we send those endorsements ? If not, is there something that should be waited on to know it ready ?

jeffgarratt (Thu, 11 Jan 2018 21:23:29 GMT):
@rickr you could possibly do a quick deliver from the peer and the orderer and verify equivalence

jeffgarratt (Thu, 11 Jan 2018 21:23:44 GMT):
or at least close :)

AbhijeetPal (Fri, 12 Jan 2018 12:04:39 GMT):
Has joined the channel.

AbhijeetPal (Fri, 12 Jan 2018 13:57:32 GMT):
Hi All Getting following error in TLS enabled orderer and peers while firing an invoke chaincode command. `[grpc] Printf -> DEBU 00a transport: http2Client.notifyError got notified that the client transport was broken read tcp $IP1:55078->$IP2:7051: read: connection reset by peer.` `Error: Error endorsing invoke: rpc error: code = Internal desc = transport is closing - ` Does somebody know about this error?

AbhijeetPal (Fri, 12 Jan 2018 13:57:32 GMT):
Hi All Getting following error in TLS enabled orderer and peers while firing an invoke chaincode command. `[grpc] Printf -> DEBU 00a transport: http2Client.notifyError got notified that the client transport was broken read tcp $IP1:55078->$IP2:7051: read: connection reset by peer.` `Error: Error endorsing invoke: rpc error: code = Internal desc = transport is closing - ` Does somebody know about this error?

bretharrison (Fri, 12 Jan 2018 16:55:27 GMT):
Has joined the channel.

fusanke_roman (Sat, 13 Jan 2018 06:08:25 GMT):
Has joined the channel.

NiketYende (Mon, 15 Jan 2018 05:43:22 GMT):
Hi, i would like to have a deeper understanding of transaction.proto. My aim is to extract a json formatted data from the input field. The channel.queryBlock(block_num) from the fabric-sdk-node returns a unencoded block apart from input section of the "chaincode_proposal_payload.input". Temporary solution for this is to use "chaincode_proposal_payload.input.toString('utf8')" to covert input into a more readable string, but this string contains some additional characters which restricts it from being converted to a json object. Is there any other way to parse chaincode_proposal_payload.input into a json?

NiketYende (Mon, 15 Jan 2018 05:43:22 GMT):
Hi, i would like to have a deeper understanding of transaction.proto. My aim is to extract a json formatted data from the input field. The channel.queryBlock(block_num) from the fabric-sdk-node returns an unencoded block apart from input section of the "chaincode_proposal_payload.input". Temporary solution for this is to use "chaincode_proposal_payload.input.toString('utf8')" to covert input into a more readable string, but this string contains some additional characters which restricts it from being converted to a json object. Is there any other way to parse chaincode_proposal_payload.input into a json?

muralisr (Mon, 15 Jan 2018 17:12:30 GMT):
@NiketYende let me copy this to fabric-sdk-node (don't see it there...)

NiketYende (Tue, 16 Jan 2018 04:49:20 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=G9FRJkxjvvv6pHYCF) @muralisr I was redirected here from fabric-sdk-node channel by @bretharrison

NiketYende (Tue, 16 Jan 2018 09:34:26 GMT):
https://chat.hyperledger.org/channel/fabric-sdk-node?msg=SFHkMozr4wWgaDFut This was the conversation from the other channel.

AbhijeetPal (Tue, 16 Jan 2018 12:33:38 GMT):
Hi All, I have following setup on 2 VMS Setup on VM1: orderers,kafkas,zookeepers, 2 peers,their couchdbs and cli(fabric-tools) on VM1 in a single docker-compose file --> docker-compose-vm1.yaml. Setup on VM2: one peer,couchdb and cli in another docker-compose file --> docker-compose-vm2.yaml Peer on VM2 connects with orderer on VM1 via entry in /etc/hosts of Peer on VM2. Getting following error while firing invoke command on channel from Peer on VM2. `[dockercontroller] stopInternal -> DEBU 3493 Kill container dev-peer01.org.example.com-channel-${chaincode-version} ` `(API error (500): {"message":"Cannot kill container dev-peer01.org.example.com-channel-${chaincode-version}: Container ${ContainerID} is not running"}` `[dockercontroller] Start -> ERRO 3498 start-could not start container: API error (500): {"message":"invalid cluster node while attaching to network"}` `[chaincode] Launch -> ERRO 349b launchAndWaitForRegister failed Error starting container: API error (500): {"message":"invalid cluster node while attaching to network"}` `[chaincode] ExecuteChaincode -> ERRO 349c Error executing chaincode: Error starting container: API error (500): {"message":"invalid cluster node while attaching to network"}` `[endorser] simulateProposal -> ERRO 349e failed to invoke chaincode name:"channel" on transaction ${transactionid}, ` `error: Error executing chaincode: Error starting container: API error (500): {"message":"invalid cluster node while attaching to network"}` The container dev-peer01.org.example.com-channel-${chaincode-version} gets created, but stays in created state in `docker ps -a`. PS-Same command when fired over same channel from Peer on VM1 gets successfully executed and reflects in the couchdb of Peer on VM2.

Ratnakar (Tue, 16 Jan 2018 18:51:51 GMT):
Unable to instantiate a chaincode on fabric network (Used Network launcher script from `fabric-test` repo) This is what is the error I see in chaincode container logs ``` 2018-01-16 17:31:38.600 UTC [shim] userChaincodeStreamGetter -> ERRO 001 context deadline exceeded error trying to connect to local peer github.com/hyperledger/fabric/core/chaincode/shim.userChaincodeStreamGetter /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:109 github.com/hyperledger/fabric/core/chaincode/shim.Start /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:148 main.main /chaincode/input/src/github.com/example_cc/go/example_cc.go:199 runtime.main /opt/go/src/runtime/proc.go:185 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337 2018-01-16 17:31:38.600 UTC [example_cc0] Errorf -> ERRO 002 Error starting Simple chaincode: error trying to connect to local peer: context deadline exceeded ```

Ratnakar (Tue, 16 Jan 2018 18:52:07 GMT):
any thoughts @yacovm @muralisr ?

Ratnakar (Tue, 16 Jan 2018 18:53:09 GMT):
I made sure I included these lines aswell , but no luck ``` - CORE_PEER_CHAINCODEADDRESS=<>:7052 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 ```

yacovm (Tue, 16 Jan 2018 18:56:03 GMT):
Anything new you're doing?

yacovm (Tue, 16 Jan 2018 18:56:12 GMT):
Tls is on or off?

muralisr (Tue, 16 Jan 2018 18:56:40 GMT):
I was going to ask "what has changed" but lets go wit yours @yacovm :-)

yacovm (Tue, 16 Jan 2018 18:59:12 GMT):
Nah murali frel free to take over the interrogation. I'm not at home or at the office... @Ratnakar if you can provide a docker-compose with scripts i'll hladly look when i get home

yacovm (Tue, 16 Jan 2018 18:59:24 GMT):
*feel

Ratnakar (Tue, 16 Jan 2018 18:59:25 GMT):
TLS is ON

yacovm (Tue, 16 Jan 2018 18:59:34 GMT):
*provide

Ratnakar (Tue, 16 Jan 2018 19:01:17 GMT):

docker-compose.txt

muralisr (Tue, 16 Jan 2018 19:01:31 GMT):
sure @yacovm .. @Ratnakar so anything new ?

Ratnakar (Tue, 16 Jan 2018 19:02:34 GMT):
It is just that Network Launcher tool I have used to launch the network and driving the call through SDK

Ratnakar (Tue, 16 Jan 2018 19:02:34 GMT):
@Murali , It is just that Network Launcher tool I have used to launch the network and driving the call through SDK

Ratnakar (Tue, 16 Jan 2018 19:02:34 GMT):
@muralisr urali , It is just that Network Launcher tool I have used to launch the network and driving the call through SDK

Ratnakar (Tue, 16 Jan 2018 19:02:34 GMT):
@muralisr , It is just that Network Launcher tool I have used to launch the network and driving the call through SDK

muralisr (Tue, 16 Jan 2018 19:02:54 GMT):
ok

Ratnakar (Tue, 16 Jan 2018 19:04:34 GMT):
``` 2018-01-16 17:35:20.847 UTC [chaincode] func1 -> DEBU 411 [a8d29f52] getting state for chaincode lscc, key mycc, channel testorgschannel1 2018-01-16 17:35:20.848 UTC [statecouchdb] GetState -> DEBU 412 GetState(). ns=lscc, key=mycc 2018-01-16 17:35:20.848 UTC [couchdb] ReadDoc -> DEBU 413 Entering ReadDoc() id=[lsccmycc] 2018-01-16 17:35:20.848 UTC [couchdb] encodePathElement -> DEBU 414 Entering encodePathElement() string=lsccmycc 2018-01-16 17:35:20.848 UTC [couchdb] encodePathElement -> DEBU 415 Exiting encodePathElement() encodedStr=lscc%00mycc 2018-01-16 17:35:20.848 UTC [couchdb] handleRequest -> DEBU 416 Entering handleRequest() method=GET url=http://couchdb0:5984/testorgschannel1/lscc%00mycc?attachments=true 2018-01-16 17:35:20.849 UTC [couchdb] handleRequest -> DEBU 417 HTTP Request: GET /testorgschannel1/lscc%00mycc?attachments=true HTTP/1.1 | Host: couchdb0:5984 | User-Agent: Go-http-client/1.1 | Accept: multipart/related | Accept-Encoding: gzip | | 2018-01-16 17:35:20.854 UTC [couchdb] handleRequest -> DEBU 418 Couch DB Error:not_found, Status Code:404, Reason:missing 2018-01-16 17:35:20.855 UTC [couchdb] ReadDoc -> DEBU 419 Document not found (404), returning nil value instead of 404 error 2018-01-16 17:35:20.855 UTC [chaincode] func1 -> DEBU 41a [a8d29f52]No state associated with key: mycc. Sending RESPONSE with an empty payload ```

muralisr (Tue, 16 Jan 2018 19:04:59 GMT):
so `CORE_PEER_CHAINCODEADDRESS=<>:7052` ... I'd get into the container and see if you can `ping <>`

muralisr (Tue, 16 Jan 2018 19:06:30 GMT):
this is right at the beginning of chaincode launch... we have to do some basic network level debugging

muralisr (Tue, 16 Jan 2018 19:06:49 GMT):
first make sure peer is listening on 7052 correctly

muralisr (Tue, 16 Jan 2018 19:07:10 GMT):
and next ping from container and check...

muralisr (Tue, 16 Jan 2018 19:07:40 GMT):
Id also try turning TLS off to keep it simple and go frtom ther

Ratnakar (Tue, 16 Jan 2018 19:08:02 GMT):
ok .. I am still figuring out installing ping on peer :)

muralisr (Tue, 16 Jan 2018 19:08:12 GMT):
ah ok :-)

Ratnakar (Tue, 16 Jan 2018 19:08:15 GMT):
Thanks @muralisr for the debug steps

muralisr (Tue, 16 Jan 2018 19:09:03 GMT):
sure thing... let me know (will check back later)

yacovm (Tue, 16 Jan 2018 19:09:38 GMT):
apt-get install iputils-ping

yacovm (Tue, 16 Jan 2018 19:09:44 GMT):
I think

Ratnakar (Tue, 16 Jan 2018 19:09:50 GMT):
yes , I could ping that IP from peer container

yacovm (Tue, 16 Jan 2018 19:17:03 GMT):
What does core peer address say @Ratnakar ?

Ratnakar (Tue, 16 Jan 2018 19:18:04 GMT):
@yacovm `CORE_PEER_ADDRESS=<>:7051` for example peer1 of org1 `CORE_PEER_ADDRESS=peer1.org2.example.com:7051`

Ratnakar (Tue, 16 Jan 2018 19:18:48 GMT):
My bad I didn;t noticed, but looks like the port 7052 is not exposed for any of the peers

Ratnakar (Tue, 16 Jan 2018 19:18:59 GMT):
I would need to change in the tool and need to retry

yacovm (Tue, 16 Jan 2018 19:24:39 GMT):
Can you telnet to port 7052 from the cc container?

Ratnakar (Tue, 16 Jan 2018 19:33:13 GMT):
cc container exits with the error I pasted on my first message

yacovm (Tue, 16 Jan 2018 19:49:54 GMT):
But you checked ping no?

yacovm (Tue, 16 Jan 2018 19:50:04 GMT):
So can you also check telnet?

Ratnakar (Tue, 16 Jan 2018 20:07:36 GMT):
@yacovm I pinged from peer itself , sorry that sounds silly :(

Ratnakar (Tue, 16 Jan 2018 20:07:54 GMT):
container doesn't comeup it exits immediately

yacovm (Tue, 16 Jan 2018 20:08:05 GMT):
put a sleep in the container

yacovm (Tue, 16 Jan 2018 20:08:22 GMT):
I mean, run it again with a sleep

yacovm (Tue, 16 Jan 2018 20:08:26 GMT):
I think you can do it somehow

Ratnakar (Tue, 16 Jan 2018 20:10:59 GMT):
Are you suggesting to make changes in fabric code to introduce the sleep ? or is there a way to introduce that sleep from docker-compose ?

muralisr (Tue, 16 Jan 2018 20:59:50 GMT):
`command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'`

muralisr (Tue, 16 Jan 2018 21:00:52 GMT):
thats a sample from your cli @Ratnakar :-)

yacovm (Tue, 16 Jan 2018 21:08:25 GMT):
no, I am suggesting you do `docker exec`

yacovm (Tue, 16 Jan 2018 21:08:29 GMT):
and lift the container

Ratnakar (Tue, 16 Jan 2018 21:24:59 GMT):
@muralisr @yacovm the chaincode container dies immediately. and the container status *Exited* So I can't do `docker exec` or introduce the delay with any of such commands as I don't have control on the cc container

yacovm (Tue, 16 Jan 2018 21:25:26 GMT):
try docker run?

yacovm (Tue, 16 Jan 2018 21:25:43 GMT):
docker run with sleep

qylixin (Wed, 17 Jan 2018 06:08:13 GMT):
Has joined the channel.

NiketYende (Wed, 17 Jan 2018 11:46:52 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=knqzGrZqnyfLr95sf) Could any one help me with this? I need to know the type of encoding done over the input ("chaincode_proposal_payload.input"). Any help will be appreciated.

NiketYende (Wed, 17 Jan 2018 11:46:52 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=knqzGrZqnyfLr95sf) Could any one help me with this? I need to know the type of encoding done over the input ("chaincode_proposal_payload.input"). Basically the input object should be able to parsed as json. Any help will be appreciated.

muralisr (Wed, 17 Jan 2018 14:34:15 GMT):
@NiketYende suggest follow the `CreateSignedTx` method in fabric/protos/utils/txutils.go and fabric/peer/chaincode/instantiate.go .. the payload comes from the chaincode (in ProposalResponse) so once you unmarshall all the fabric/protos specific specifc stuff, the bytes you'll be left with is output from chaincode

muralisr (Wed, 17 Jan 2018 14:37:26 GMT):
@Ratnakar another approach - start peer in --peer-chaincodedev mode and manually start the chaincode container as "bash" ... then issue the same chainciode command from command line

muralisr (Wed, 17 Jan 2018 14:37:26 GMT):
@Ratnakar another approach - start peer in --peer-chaincodedev mode and manually `docker run ..` the chaincode container as "bash" ... then issue the same chainciode command from command line

muralisr (Wed, 17 Jan 2018 14:37:26 GMT):
@Ratnakar another approach - start peer in --peer-chaincodedev mode and `docker run ..` the chaincode container as "bash" ... then issue the same chainciode command from command line

muralisr (Wed, 17 Jan 2018 14:38:25 GMT):
then you shoud be able to debug to hearts content

Ratnakar (Wed, 17 Jan 2018 14:41:29 GMT):
@muralisr Thanks murali, will check on that now

udaykhambadkone (Wed, 17 Jan 2018 14:46:32 GMT):
Has joined the channel.

alexliu (Thu, 18 Jan 2018 03:21:53 GMT):
Has joined the channel.

Devender_Singh (Thu, 18 Jan 2018 05:16:16 GMT):
Has joined the channel.

daygee (Thu, 18 Jan 2018 09:31:18 GMT):
Has joined the channel.

javrevasandeep (Thu, 18 Jan 2018 11:02:15 GMT):
Has joined the channel.

javrevasandeep (Thu, 18 Jan 2018 11:02:39 GMT):
i am getting the error Failed to invoke chaincode. cause:Error: Problem setting up the event hub :Error: EventHub has been shutdown after storing around 3000 records in blockchain. This error is going away automatically after few minutes and the same error appearing again after storing few more records. I am using balance transfer example more information below [2018-01-18 10:55:14.310] [ERROR] invoke-chaincode - REQUEST_TIMEOUT:localhost:7053 [2018-01-18 10:55:14.314] [ERROR] invoke-chaincode - Problem setting up the event hub :Error: EventHub has been shutdown [2018-01-18 10:55:14.322] [ERROR] invoke-chaincode - Error: Problem setting up the event hub :Error: EventHub has been shutdown at eh.registerTxEvent (/home/bteam/go/src/github.com/hyperledger/fabric-samples/smartProperty24Nov/app/invoke-transaction.js:115:14) at closer (/home/bteam/go/src/github.com/hyperledger/fabric-samples/smartProperty24Nov/node_modules/fabric-client/lib/EventHub.js:433:5) at EventHub._closeAllCallbacks (/home/bteam/go/src/github.com/hyperledger/fabric-samples/smartProperty24Nov/node_modules/fabric-client/lib/EventHub.js:443:3) at EventHub._disconnect (/home/bteam/go/src/github.com/hyperledger/fabric-samples/smartProperty24Nov/node_modules/fabric-client/lib/EventHub.js:384:8) at EventHub.disconnect (/home/bteam/go/src/github.com/hyperledger/fabric-samples/smartProperty24Nov/node_modules/fabric-client/lib/EventHub.js:373:8) at Timeout.setTimeout (/home/bteam/go/src/github.com/hyperledger/fabric-samples/smartProperty24Nov/app/invoke-transaction.js:93:10) at ontimeout (timers.js:469:11) at tryOnTimeout (timers.js:304:5) at Timer.listOnTimeout (timers.js:264:5)

mffrench (Thu, 18 Jan 2018 11:02:46 GMT):
Hi, I raised an issue on hlf peer restart which is not able to load the correct config block from the ledger (https://jira.hyperledger.org/browse/FAB-7801). I'm looking for some advice to see how I can restore this configuration (if possible). Can somebody help ? Thank you !

NiketYende (Thu, 18 Jan 2018 11:13:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WYs6Peu5ZoKbWiiPj) @muralisr Hi, thank you for the reply. The payload data is already unmarshalled by the node-sdk. Also the fabric-sdk-node internally uses the same technique to unmarshall this block payload . We are facing problem only with the input field (chaincode_proposal_payload.input). The input comes as a bytecode. Any way to convert this input into json ?

muralisr (Thu, 18 Jan 2018 14:06:15 GMT):
@NiketYende if I understand you correctly, you are asking about ```message ChaincodeProposalPayload { // Input contains the arguments for this invocation. If this invocation // deploys a new chaincode, ESCC/VSCC are part of this field. // This is usually a marshaled ChaincodeInvocationSpec bytes input = 1; // TransientMap contains data (e.g. cryptographic material) that might be used // to implement some form of application-level confidentiality. The contents // of this field are supposed to always be omitted from the transaction and // excluded from the ledger. map TransientMap = 2; }```

muralisr (Thu, 18 Jan 2018 14:07:36 GMT):
if that;s correct, `input` is either ChaincodeInvocationSpec or ChaincodeDeploymentSpec

muralisr (Thu, 18 Jan 2018 14:07:36 GMT):
if that;s correct, `input` is either marshalled ChaincodeInvocationSpec or ChaincodeDeploymentSpec

muralisr (Thu, 18 Jan 2018 14:08:19 GMT):
the SDK should have code that goes thru this marshalling at the time of sending the proposal

jeffgarratt (Thu, 18 Jan 2018 15:09:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aqkS69F5NKPyYijkf) @mffrench replied in Jira item

mffrench (Thu, 18 Jan 2018 15:10:25 GMT):
@jeffgarratt : thank you !

jeffgarratt (Thu, 18 Jan 2018 15:14:58 GMT):
@mffrench can you also pull that block and verify it's contents?

mffrench (Thu, 18 Jan 2018 15:15:21 GMT):
I also was reading following doc : https://www.ibm.com/developerworks/cloud/library/cl-add-an-organization-to-your-hyperledger-fabric-blockchain/index.html

mffrench (Thu, 18 Jan 2018 15:15:39 GMT):
this is a new feature to update the configuration

mffrench (Thu, 18 Jan 2018 15:16:21 GMT):
does it mean starting 1.1.1 I will be able to reset a configuration block on top of a ledger is such case ?

mffrench (Thu, 18 Jan 2018 15:16:48 GMT):
or I'm asking too much (because all block should be sync together etc)

mffrench (Thu, 18 Jan 2018 15:17:21 GMT):
@jeffgarratt : yeah I began to do that work yesterday by recompilign the peer

mffrench (Thu, 18 Jan 2018 15:17:43 GMT):
currently I saw that the block was in fact a msg block type not a configuration type.

jeffgarratt (Thu, 18 Jan 2018 15:18:00 GMT):
hmmm, that is strange

mffrench (Thu, 18 Jan 2018 15:18:09 GMT):
yeah

mffrench (Thu, 18 Jan 2018 15:18:28 GMT):
I will add a line in the code to print the block in the logs

jeffgarratt (Thu, 18 Jan 2018 15:18:47 GMT):
can you do the following...

jeffgarratt (Thu, 18 Jan 2018 15:18:58 GMT):
```peer channel fetch --help

jeffgarratt (Thu, 18 Jan 2018 15:19:05 GMT):
fetch the config block for the channel

jeffgarratt (Thu, 18 Jan 2018 15:19:08 GMT):
then inspect it

mffrench (Thu, 18 Jan 2018 15:19:12 GMT):
ok

zhoui13 (Fri, 19 Jan 2018 02:04:57 GMT):
Has joined the channel.

NiketYende (Fri, 19 Jan 2018 06:05:25 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7RDisku2iHFwL7Yj9) @muralisr Yes that is right.

NiketYende (Fri, 19 Jan 2018 06:46:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=AwiYywBeyo77NyQR7) @muralisr As per the code present under "fabric-client/lib/Channel.js". /** * Queries the ledger on the target peer for Block by block number. * * @param {number} blockNumber - The number of the Block in question. * @param {Peer} target - Optional. The peer to send this query to. If no target is passed, * the query is sent to the first peer that was added to the channel object. * @returns {Promise} A Promise for a {@link Block} at the blockNumber slot in the ledger, fully decoded into an object. */ queryBlock(blockNumber, target) { This should return a fully decoded block, and it does give a decoded block apart from the input field in question.

wanliangbing (Fri, 19 Jan 2018 06:49:15 GMT):
Has joined the channel.

vdods (Fri, 19 Jan 2018 21:14:20 GMT):
I'm having trouble instantiating chaincode on a TLS-enabled peer. When the chaincode container attempts to connect to the peer on port 7051, it (the chaincode container) fails with "Error trying to connect to local peer: x509: certificate signed by unknown authority". However, I've verified that the CORE_PEER_TLS_ROOTCERT_FILE env var is set to the correct path in the docker image (it points to the root CA cert), and I've verified that the peer's cert is correctly set up by successfully connecting to the peer via `openssl s_client -connect :7051 -CAfile path/to/root/cert.pem` (an amazingly useful debugging tool, btw). Am I missing something? Like is mutual TLS implicitly required by a chaincode-to-peer connection?

vdods (Fri, 19 Jan 2018 21:16:27 GMT):
All the certs shown by `openssl s_client ...` are as expected, and the connection is established successfully. One other thing I should mention is that I've made my peer cert a cert chain starting with the peer's cert, then the intermediate CA cert, then the root CA cert. Otherwise I found that other TLS connections (e.g. having the peer join the channel) doesn't work because the connecting client doesn't have enough information to verify that the peer's cert is trusted.

yacovm (Fri, 19 Jan 2018 21:16:51 GMT):
why port 7051?

yacovm (Fri, 19 Jan 2018 21:16:53 GMT):
it's 7052

yacovm (Fri, 19 Jan 2018 21:17:12 GMT):
what version are you using?

yacovm (Fri, 19 Jan 2018 21:17:15 GMT):
in v1.1 it's 7052

vdods (Fri, 19 Jan 2018 21:17:17 GMT):
v1.0.5

yacovm (Fri, 19 Jan 2018 21:17:23 GMT):
oh

yacovm (Fri, 19 Jan 2018 21:17:29 GMT):
so it's 7051

yacovm (Fri, 19 Jan 2018 21:17:51 GMT):
and no, no mutual TLS in v1.0.x

yacovm (Fri, 19 Jan 2018 21:18:14 GMT):
and if you had mutual TLS you'd get a different error IMO

vdods (Fri, 19 Jan 2018 21:18:20 GMT):
One more note -- the `openssl s_client ...` connection indicates that the server communicates "acceptable client certificate CA names", which are the root CA, and the intermediate CAs for org0 and org1 (the two orgs in my network)

vdods (Fri, 19 Jan 2018 21:18:26 GMT):
hmm

yacovm (Fri, 19 Jan 2018 21:18:42 GMT):
my guess

yacovm (Fri, 19 Jan 2018 21:18:54 GMT):
if you would delete the chaincode image

yacovm (Fri, 19 Jan 2018 21:18:56 GMT):
that would solve it

vdods (Fri, 19 Jan 2018 21:19:05 GMT):
interesting.. thanks, I'll try that

vdods (Fri, 19 Jan 2018 21:20:41 GMT):
hah.. that totally worked

vdods (Fri, 19 Jan 2018 21:20:54 GMT):
god damn it.. it's like the bad old days of "make clean && make all"

vdods (Fri, 19 Jan 2018 21:21:03 GMT):
to fix an inexplicable error

vdods (Fri, 19 Jan 2018 21:21:19 GMT):
docker is keeping up the tradition

yacovm (Fri, 19 Jan 2018 21:25:28 GMT):
no, it's not docker

yacovm (Fri, 19 Jan 2018 21:25:49 GMT):
it's because in v1.0.x, when the chaincode is built in the first time

yacovm (Fri, 19 Jan 2018 21:26:04 GMT):
it copies some stuff from the peer's file system to the chaincode

yacovm (Fri, 19 Jan 2018 21:26:13 GMT):
and if TLS isn't used I think it doesn't copy some stuff

yacovm (Fri, 19 Jan 2018 21:26:16 GMT):
so when you turn on TLS

yacovm (Fri, 19 Jan 2018 21:26:23 GMT):
you sometimes need to delete the chaincode image

yacovm (Fri, 19 Jan 2018 21:26:51 GMT):
but, worry not - in v1.1 everything works smooth as butter, regardless of what you do ;)

vdods (Fri, 19 Jan 2018 21:28:03 GMT):
Awesome, I'm looking forward to upgrading :)

vdods (Fri, 19 Jan 2018 21:28:26 GMT):
Thanks for your help again.

gauthampamu (Fri, 19 Jan 2018 21:36:04 GMT):
If we have five members in the network. Lets say all five members joined the single channel and we have an endorsement policy where member 2 and member 3 needs to endorse the transactions. So lets say the client of member 1, submits the transaction, does this client need to send the transaction directly to peer of member 2 and 3 or does it need to send the transaction to member 1 peer and it will get forwarded to member 2 peer and 3 peer by gossip protocol ?

silliman (Fri, 19 Jan 2018 21:44:23 GMT):
@gauthampamu My understanding is that the client will need to send the transaction proposals to a peer of member 2 and to a peer of member 3 in your scenario. Gossip is used for peers to send already committed blocks to each other, e.g. those peers connected directly to an orderer via Deliver() use gossip to communicate to those peers that aren't connected directly to an orderer.

gauthampamu (Fri, 19 Jan 2018 21:45:39 GMT):
Even thought you have to sent the transaction to member 2 and 3. I had heard recently from someone that you will send to your peer and it will get forwarded to other peers. So I wanted to confirm it.

vdods (Fri, 19 Jan 2018 21:45:48 GMT):
Yeah, I think the idea is that if one relied on a transaction being gossipped to the other endorsing peers via a single peer, then that peer could probably alter the transaction proposal in some way to its advantage. So it's in the interest of the transacting client to communicate the transaction proposal directly to all peers

gauthampamu (Fri, 19 Jan 2018 21:46:12 GMT):
Thanks @vdods

vdods (Fri, 19 Jan 2018 21:46:19 GMT):
@gauthampamu That's true once the transactions have been ordered and committed to blocks.

vdods (Sat, 20 Jan 2018 01:17:46 GMT):
Hi all, is there a means to query a peer to discover all peers connected to a particular channel? In particular, because a fabric network can change over time, with peers being added or leaving a channel, it doesn't seem practical to have to discover the network architecture via side channel.

vdods (Sat, 20 Jan 2018 01:17:46 GMT):
Hi all, is there a means to query a peer to discover all peers connected to a particular channel? In particular, because a fabric network can change over time, with peers being added or leaving a channel, it doesn't seem practical to have to discover the network architecture via out-of-band communication.

Brucepark (Sat, 20 Jan 2018 06:15:30 GMT):
Has joined the channel.

yacovm (Sat, 20 Jan 2018 07:02:20 GMT):
@vdods wait for v1.2 it might be there

toddinpal (Sun, 21 Jan 2018 14:44:45 GMT):
@yacovm Might? This seems like a significant issue and the gossip protocols know this information, right?

yacovm (Sun, 21 Jan 2018 14:52:58 GMT):
@toddinpal might because I cannot predict the future. This is a significant issue, correct. Also - the mechanism is indeed going to leverage gossip. The JIRA item is FAB-5451 If you think this is important to have and want this to be included in 1.2 you are free to comment in the JIRA + vote on the JIRA :)

NiketYende (Mon, 22 Jan 2018 10:18:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=mQJ5bL4rXPmzcLQAH) Hi @muralisr, we encounter all these characters. �customs-network� submitTransaction �

NiketYende (Mon, 22 Jan 2018 10:19:45 GMT):
How do we parse these characters? We are getting it from "chaincode_proposal_payload.input.toString('utf8');".

vijay5378 (Mon, 22 Jan 2018 15:43:04 GMT):
Has joined the channel.

vijay5378 (Mon, 22 Jan 2018 15:43:48 GMT):
I have instantiated a chaincode with -P "AND ('Org1MSP.member','Org2MSp.member')". I am trying to add a key, value to the ledger using the chaincode. Now even when the transaction is endorsed by just one MSP, it still writes to the ledger...am I missing something?

vijay5378 (Mon, 22 Jan 2018 16:18:06 GMT):
Guess I found the mistake. I had upgraded the chaincode. However, the upgrade transaction did not have any policy defined. Will the endorsement policy need to be specified during the upgrade also?

vijay5378 (Mon, 22 Jan 2018 16:25:25 GMT):
In a related question.... When I submit a transaction for endorsement...can I put a rule at the peer level for endorsement? In another scenario.....if I have orgA and orgB....an application connects to peer0 of orgA and proposes a write transaction. The second org should wait for user to look into this transaction to endorse it. Is it possible to design it this way?

krisava (Mon, 22 Jan 2018 22:05:29 GMT):
Has joined the channel.

krisava (Mon, 22 Jan 2018 22:06:26 GMT):
Hi. I am getting the below error while trying to post the transaction from PeerOrg2. Can you please help? 2018-01-22 14:26:51.614 UTC [kvledger] Commit -> INFO 033 Channel [channel]: Created block [27] with 1 transaction(s) 2018-01-22 14:26:51.616 UTC [eventhub_producer] SendProducerBlockEvent -> INFO 034 Channel [channel]: Sending event for block number [27] 2018-01-22 15:35:47.203 UTC [vscc] Invoke -> WARN 035 Endorsement policy failure for transaction txid=, err: Failed to authenticate policy 2018-01-22 15:35:47.203 UTC [txvalidator] VSCCValidateTxForCC -> ERRO 036 VSCC check failed for transaction txid=, error VSCC error: policy evaluation failed, err Failed to authenticate policy 2018-01-22 15:35:47.203 UTC [txvalidator] Validate -> ERRO 037 VSCCValidateTx for transaction txId = returned error VSCC error: policy evaluation failed, err Failed to authenticate policy 2018-01-22 15:35:47.203 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 038 Block [28] Transaction index [0] marked as invalid by committer. Reason code [10]

jojialex2 (Tue, 23 Jan 2018 05:50:29 GMT):
can you remove all chain code images related to this and place a fresh chain code deployment

chill37 (Tue, 23 Jan 2018 06:25:59 GMT):
Hi. Could anyone point out a documentation about "ANCHOR PEER"? I'm trying to see how it works code-flow-wise, but I found so little about it in the main hyperledger.io document. if anyone could point out a link or so, that would help a lot. thanks!

jojialex2 (Tue, 23 Jan 2018 06:41:28 GMT):
krisava : I had the same issue, because once we deploy a chain code , fabric will create image and copy the certificate from the peer. again If I deploy the chain code with different certificate the image will not recreate and refer the same image .... So I have remove the image and deploy it again and it worked for me.

jojialex2 (Tue, 23 Jan 2018 06:41:28 GMT):
krisava : I had the same issue, because once we deploy a chain code , fabric will create image and copy the certificate from the peer. again If we deploy the chain code with different certificate the image will not recreate and refer the same image .... So I have remove the image and deploy it again and it worked for me.

chill37 (Tue, 23 Jan 2018 10:44:08 GMT):
Anyone have some ideas about ANCHOR PEER workflow? I'm also curious if 'anchor peer' and 'anchor' in the PROPOSE message (`PROPOSE` message is `) is the same thing or not.

yacovm (Tue, 23 Jan 2018 11:00:38 GMT):
it is not

chill37 (Tue, 23 Jan 2018 11:11:45 GMT):
@yacovm I see. I was mistaken there. thanks!

zhmz1326 (Tue, 23 Jan 2018 11:39:38 GMT):
Has joined the channel.

NiketYende (Tue, 23 Jan 2018 11:58:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=tSHcwCPerMteffs6k) Some more debugging landed me to this piece of code. Here is the invocation sequence:

NiketYende (Tue, 23 Jan 2018 11:58:26 GMT):
'channel.queryBlock(block_num)' calls the 'BlockDecoder.decode(response.response.payload)' method. This method internally invokes 'decodeBlockData(proto_block.data, true)'.

NiketYende (Tue, 23 Jan 2018 12:07:35 GMT):
Could you tell me why 'decodeChaincodeActionPayload(payload_bytes)' returns an encoded bytearray instead of a string?

Vadim (Tue, 23 Jan 2018 12:12:29 GMT):
@NiketYende because it's encded as a sequence of bytes: https://github.com/hyperledger/fabric/blob/d9c320297bd2a4eff2eb253ce84dc431ef860972/protos/peer/transaction.proto#L86

Vadim (Tue, 23 Jan 2018 12:12:42 GMT):
I guess then you need to continue further decode it

NiketYende (Tue, 23 Jan 2018 12:13:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=eFwgvSKSQBvgfzu2i) @Vadim Which proto is used to decode the "chaincode_proposal_payload.input" further?

Vadim (Tue, 23 Jan 2018 12:21:29 GMT):
@NiketYende I guess it should be https://github.com/hyperledger/fabric/blob/d9c320297bd2a4eff2eb253ce84dc431ef860972/protos/peer/chaincode.proto#L94

krisava (Tue, 23 Jan 2018 15:53:56 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=irsDhXE55hyZQdW6Y) @jojialex2 Thanks @jojialex2. Images you mean peers and re-create them new?

jojialex2 (Wed, 24 Jan 2018 04:21:40 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=BoYfcu67tfJPi5MNf) @krisava

jojialex2 (Wed, 24 Jan 2018 04:22:45 GMT):
krisava : Will you able to deploy chaincode. when are you getting this error..

RobertDiebels (Thu, 25 Jan 2018 11:46:33 GMT):
Has joined the channel.

RobertDiebels (Thu, 25 Jan 2018 11:47:48 GMT):
Hey guys, question about the fabric-peer container. Would I be correct in assuming that if I install and instantiate chain code for a peer that it will create a docker container *inside* the fabric-peer container?

RobertDiebels (Thu, 25 Jan 2018 11:48:33 GMT):
In other words, that would mean that the `fabric-peer` container comes with a docker deamon?

asaningmaxchain123 (Thu, 25 Jan 2018 13:24:35 GMT):
Has joined the channel.

novusopt (Thu, 25 Jan 2018 14:39:44 GMT):
Hi, I have one organization setup with 5 peers, is it possible to define an endorsment policy which says I need 3 out 5 signatures?

novusopt (Thu, 25 Jan 2018 14:39:44 GMT):
Hi, I have one organization setup with 5 peers, is it possible to define an endorsment policy which says I need 3 out of 5 signatures?

jeffgarratt (Thu, 25 Jan 2018 23:09:50 GMT):
@RobertDiebels not necessarily. Most of the sandbox environments actually use the daemon from the containers host environment. But this can be configured as you see fit.

chill37 (Fri, 26 Jan 2018 07:08:30 GMT):
sorry for the repeating questions, but anybody know when the anchor peer's authority is executed? Invoke/Query doesn't need anchor peer to update their block. why do we need anchor peer? (i read the doc but doesn't really come up with scenarios)

mastersingh24 (Fri, 26 Jan 2018 10:21:18 GMT):
@chill37 - anchor peers are only relevant if you want to use cross organization gossip

mastersingh24 (Fri, 26 Jan 2018 10:23:32 GMT):
In Fabric, there is no "central" registry of the peers on the network. So rather than requiring orgs to send their peer addresses to other orgs out of band, you can use the anchor peer setting in the channel config to allow other orgs to know about your peers

chill37 (Fri, 26 Jan 2018 10:23:47 GMT):
@mastersingh24 could you give me an example of the case? I've been testing, and even if I kill the anchor peer of both org and then update the ledger from one peer, the other peer ledger gets updated from the orderer (naturally). so I'm not really sure what cases need anchor peers to work. thanks!

chill37 (Fri, 26 Jan 2018 10:27:11 GMT):
@mastersingh24 I see. but what msgs do they send each other? when I check the logs(from docker logs), it's always the orderer broadcasting and delivering the blocks

chill37 (Fri, 26 Jan 2018 10:27:56 GMT):
@mastersingh24 is it these gossipmessages?

chill37 (Fri, 26 Jan 2018 10:27:59 GMT):
// *GossipMessage_AliveMsg // *GossipMessage_MemReq // *GossipMessage_MemRes // *GossipMessage_DataMsg // *GossipMessage_Hello // *GossipMessage_DataDig // *GossipMessage_DataReq // *GossipMessage_DataUpdate // *GossipMessage_Empty // *GossipMessage_Conn // *GossipMessage_StateInfo

mastersingh24 (Fri, 26 Jan 2018 10:32:07 GMT):
Currently, we don't archive / prune the ledger on the orderer so it has the entire history of all blocks. And if the orderer is up and running, peers will simply get blocks from the orderer. In the future, we will start pruning / archiving the orderer ledger and in that case if a peer was behind or joins a channel late, it might not be able to get the missing blocks from the orderer and will need to get them from another peer in the network - possibly from another org's peer. In that case, gossip would be used to get the missing blocks. Today, inter org gossip is mostly a discovery mechanism

chill37 (Fri, 26 Jan 2018 10:41:39 GMT):
@mastersingh24 ooooooh I see. since orderer is just an ORDER-er, you guys plan to make it so that it will only broadcast the recent blocks. Therefore the rest of the ledger will be on peers only and that's when anchor peer comes up-- when by any chance there's not enough peer or ledger within their org, they will hook up with other org anchor peer and get the data.

chill37 (Fri, 26 Jan 2018 10:42:41 GMT):
And Currently, Gossip is used to find out if peer is dead or alive, get channel list and etc., but in the future it will be used to get the missing blocks from other org as well

mastersingh24 (Fri, 26 Jan 2018 10:42:46 GMT):
correct. it's possible today that peer *might* try get missing blocks from a peer in another org, but not very likely and there is really no way to force this

mastersingh24 (Fri, 26 Jan 2018 10:43:05 GMT):
Gossip can get missing blocks from other peers in your org today

mastersingh24 (Fri, 26 Jan 2018 10:43:34 GMT):
And gossip can be used to only connect one peer in your org to the orderer and then gossip will send to the other peers in the org as well

mastersingh24 (Fri, 26 Jan 2018 10:44:05 GMT):
But as you said, using cross org gossip for blocks is really a future thing

chill37 (Fri, 26 Jan 2018 10:45:09 GMT):
yes. I saw the code from anchor_test.go and was trying to somehow try it in actual code but not possible through chaincode (maybe stop orderer during the process but ....)

chill37 (Fri, 26 Jan 2018 10:45:23 GMT):
I guess mechanism is there but doesn't really appear upfront

mastersingh24 (Fri, 26 Jan 2018 10:45:44 GMT):
@yacovm or @C0rWin can add additional details as well if I missed anything or misspoke here

chill37 (Fri, 26 Jan 2018 10:47:39 GMT):
yes thanks a lot! @mastersingh24 any/all help is appreciated :grin:

C0rWin (Fri, 26 Jan 2018 10:53:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=gz3xeF8aris4ZPh3P) @chill37 so to makenit a bit clear, each organization has it’s own “leader” peer which responsible to get connected to the ordering service and pull out the blocks to distribute across peers in org network

C0rWin (Fri, 26 Jan 2018 10:55:11 GMT):
The anchor peers as @mastersingh24 already explained used to advertise membership across different orgs and then used to facilitate state transfer and sync of the peers which are lagging behind due to network misbehavior or simply because joined late

chill37 (Fri, 26 Jan 2018 10:58:55 GMT):
@C0rWin I did see the "leader" peer mechanism (via election and IsLeader) but when I see log from orderer, it seems as though they are delivering blocks to all peers.

chill37 (Fri, 26 Jan 2018 10:59:51 GMT):
This is from Tuna-App example. I've modified a bit by : 2 org, 2 peers each org, 1 anchor peer each org, etc

chill37 (Fri, 26 Jan 2018 10:59:54 GMT):
2018-01-26 10:55:57.072 UTC [orderer/common/deliver] deliverBlocks -> DEBU 8d2 [channel: mychannel] Delivering block for (0xc42036ee20) for 172.18.0.12:58404

chill37 (Fri, 26 Jan 2018 11:00:17 GMT):
I saw 4 of this Log in the orderer side, so i got confused

yacovm (Fri, 26 Jan 2018 11:12:19 GMT):
That's because the tuna app docker-compose.yaml doesn't use leader election

yacovm (Fri, 26 Jan 2018 11:12:24 GMT):
and by default in v1.0 it's false https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml#L123

yacovm (Fri, 26 Jan 2018 11:12:45 GMT):
https://github.com/hyperledger/education/blob/master/LFS171x/fabric-material/basic-network/docker-compose.yml

yacovm (Fri, 26 Jan 2018 11:13:16 GMT):
So, there is another configuration that bypasses leader election and manually defines a peer to be a leader or not

yacovm (Fri, 26 Jan 2018 11:13:31 GMT):
and in v1.0 by default it's set to be a leader manually

chill37 (Fri, 26 Jan 2018 11:15:54 GMT):
@yacovm I see. I didn't pay too much attention to the settings. my bad. Thanks!! I've understood more from this chat-log than last 2 days!

chill37 (Fri, 26 Jan 2018 11:16:51 GMT):
Thanks for all the help @yacovm @C0rWin @mastersingh24

yacovm (Fri, 26 Jan 2018 11:17:11 GMT):
just to complete the picture

yacovm (Fri, 26 Jan 2018 11:17:19 GMT):
look at the fabric e2e_cli docker compose example

yacovm (Fri, 26 Jan 2018 11:17:42 GMT):
https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/base/peer-base.yaml#L19-L20

chill37 (Fri, 26 Jan 2018 11:27:28 GMT):
ok~ will look at those leader election settings

RobertDiebels (Fri, 26 Jan 2018 20:25:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bHrzGkq22DivsmZ26) @jeffgarratt Thanks for the answer. Can use this :D

DusanKovacevic (Fri, 26 Jan 2018 20:46:07 GMT):
Has joined the channel.

DennisNewel (Fri, 26 Jan 2018 21:01:11 GMT):
Has joined the channel.

DennisNewel (Fri, 26 Jan 2018 21:28:24 GMT):
hey, trying to learn more about how a private, permissioned chain works, and was directed here from #general. I've looked at the documentation but want to make sure i've understood the various type of nodes. How i currently see it, clients would be what users interact with, e.g. on a webpage or a mobile app; peers are the ones who maintain the ledger and there should be at least two, owned by different parties in the network; orderers are more of a service node, that is part of ensuring everything runs as it should, and there could just be one of those in a really small network. Is this a correct understanding?

jeffgarratt (Fri, 26 Jan 2018 21:52:46 GMT):
@DennisNewel Orderer(s) are the only required component in the system, and serve as the bootstrap mechanism for the network.

DennisNewel (Fri, 26 Jan 2018 21:57:20 GMT):
@jeffgarratt hmm...don't you need the peers to actually store the transaction on the ledger?

jeffgarratt (Fri, 26 Jan 2018 21:58:01 GMT):
the creation of a chain does NOT require a peer

jeffgarratt (Fri, 26 Jan 2018 21:59:15 GMT):
the orderer also stores the transaction

jeffgarratt (Fri, 26 Jan 2018 21:59:33 GMT):
the peer adds the additional context of TX result wrt to Validation

jeffgarratt (Fri, 26 Jan 2018 22:00:22 GMT):
I was trying to convey that the orderer actually represents the single most important component

jeffgarratt (Fri, 26 Jan 2018 22:00:31 GMT):
vs the language of a service node :)

DennisNewel (Fri, 26 Jan 2018 22:00:53 GMT):
ah, ok :) not the right phrasing i see

DennisNewel (Fri, 26 Jan 2018 22:01:49 GMT):
my main question right now is, how do i practically add a 3rd party to my (theoretical) network? will they need to setup their own orderer and peers, or just one of them?

jeffgarratt (Fri, 26 Jan 2018 22:01:57 GMT):
peers can come and go, but the chain is completely dependent on orderer(s)

jeffgarratt (Fri, 26 Jan 2018 22:02:10 GMT):
wrt to perpetuation/growth

jeffgarratt (Fri, 26 Jan 2018 22:03:13 GMT):
the concept of adding an org must first be contextualized, i.e. do you mean to an existing channel?

jeffgarratt (Fri, 26 Jan 2018 22:03:27 GMT):
or.. to the consortium from which a channel is to be created?

jeffgarratt (Fri, 26 Jan 2018 22:03:56 GMT):
This is where the term network may be ambiguous

jeffgarratt (Fri, 26 Jan 2018 22:04:33 GMT):
I will presume you mean channel (which is synonymous with chain)

DennisNewel (Fri, 26 Jan 2018 22:04:40 GMT):
ok, i'm probably thinking channel

jeffgarratt (Fri, 26 Jan 2018 22:05:17 GMT):
then orderer(s) are externalized, and the org would generally setup their own peers

DennisNewel (Fri, 26 Jan 2018 22:05:40 GMT):
i'm envisioning a system where X vendors can hand out tokens as proof of a person having completed a task; only vendors can hand out the tokens, but the end users can claim a benefit with the tokens later on

DennisNewel (Fri, 26 Jan 2018 22:07:14 GMT):
by "externalized" you mean reachable by other parties? or that the orderer(s) are managed by different parties?

jeffgarratt (Fri, 26 Jan 2018 22:07:20 GMT):
the latter

DennisNewel (Fri, 26 Jan 2018 22:08:09 GMT):
so in my example, each vendor would setup their own orderer, and perhaps a couple of peers, while the end users would use clients to connect to one of the orderers in order to view their tokens?

DennisNewel (Fri, 26 Jan 2018 22:10:20 GMT):
...and the peers would mainly be endorsing peers?

jeffgarratt (Fri, 26 Jan 2018 22:10:23 GMT):
@DennisNewel you may find #composer and its asset/participant model applicable to your problem

DennisNewel (Fri, 26 Jan 2018 22:11:23 GMT):
yeah, i played with an online sandbox version of that - seemed to be exactly what i was looking for. I'm assuming that still "runs on top of" fabric?

DennisNewel (Fri, 26 Jan 2018 22:14:01 GMT):
i can see i have a lot more to read up on with composer - i'll start with that but might return with more questions :)

DennisNewel (Fri, 26 Jan 2018 22:14:17 GMT):
thank you for you help!

SjirNijssen (Sun, 28 Jan 2018 09:41:32 GMT):
Has joined the channel.

asaningmaxchain123 (Sun, 28 Jan 2018 17:30:43 GMT):
@jeffgarratt @mastersingh24 i use the mac to execute the e2e_cli ,i got the following error,can you take a look?

asaningmaxchain123 (Sun, 28 Jan 2018 17:32:36 GMT):
```Error: Error endorsing chaincode: rpc error: code = Unknown desc = error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "chaincode/input/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02/chaincode_example02.go:23:2: cannot find package "github.com/hyperledger/fabric/core/chaincode/shim" in any of: /opt/go/src/github.com/hyperledger/fabric/core/chaincode/shim (from $GOROOT) /chaincode/input/src/github.com/hyperledger/fabric/core/chaincode/shim (from $GOPATH) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim chaincode/input/src/github.com/hyperledger/fabric/e```

asaningmaxchain123 (Sun, 28 Jan 2018 17:33:37 GMT):
i set the GOPATH=GOPATH=/Users/chenxuan/go

asaningmaxchain123 (Sun, 28 Jan 2018 17:33:37 GMT):
i set the GOPATH=/Users/chenxuan/go

asaningmaxchain123 (Sun, 28 Jan 2018 17:34:22 GMT):
it seems the peer instantiate chaincode,it use the GOPATH=/opt/gopath

asaningmaxchain123 (Sun, 28 Jan 2018 17:34:22 GMT):
it seems the peer instantiate chaincode,it use the GOPATH=/opt/go

asaningmaxchain123 (Mon, 29 Jan 2018 01:37:48 GMT):
the above is the cli log

asaningmaxchain123 (Mon, 29 Jan 2018 01:38:01 GMT):
the below is the peer logs

asaningmaxchain123 (Mon, 29 Jan 2018 01:38:14 GMT):
```2018-01-28 17:38:51.729 UTC [endorser] simulateProposal -> ERRO 5f7 [mychannel][11ab928d] failed to invoke chaincode name:"lscc" , error: Failed to generate platform-specific docker build: Error returned from build: 1 "chaincode/input/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02/chaincode_example02.go:23:2: cannot find package "github.com/hyperledger/fabric/core/chaincode/shim" in any of: /opt/go/src/github.com/hyperledger/fabric/core/chaincode/shim (from $GOROOT) /chaincode/input/src/github.com/hyperledger/fabric/core/chaincode/shim (from $GOPATH) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim chaincode/input/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02/chaincode_example02.go:24:2: cannot find package "github.com/hyperledger/fabric/protos/peer" in any of: /opt/go/src/github.com/hyperledger/fabric/protos/peer (from $GOROOT) /chaincode/input/src/github.com/hyperledger/fabric/protos/peer (from $GOPATH) /opt/gopath/src/github.com/hyperledger/fabric/protos/peer " error starting container ```

AshishMishra 1 (Mon, 29 Jan 2018 09:12:17 GMT):
Has joined the channel.

AshishMishra 1 (Mon, 29 Jan 2018 09:40:25 GMT):
Hi guys, can someone give me an idea what the following arguments do w.r.t to a peer. - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051 - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true 1. For the gossip external endpoint, will be always the identity of that peer itself? If that's the case why do we need an argument at all. 2. What identity to use in the gossipbootstrap ? For eg. I 've a multi-org, multipeer setup. Will it be same across all the peers in the same org? 3. CORE_PEER_GOSSIP_USELEADERELECTION - What's the implication of setting it true or false? and when should I set it to false. Should it be same on all the peers in an Org. 4. CORE_PEER_GOSSIP_ORGLEADER=false and CORE_PEER_PROFILE_ENABLED=true. No idea what they are. I feel there is a lack of documentation for such arguments.

yacovm (Mon, 29 Jan 2018 11:12:29 GMT):
@AshishMishra 1 https://github.com/hyperledger/fabric/blob/release/sampleconfig/core.yaml#L104-L190

yacovm (Mon, 29 Jan 2018 11:12:35 GMT):
it's all in that file

AshishMishra 1 (Mon, 29 Jan 2018 11:47:30 GMT):
@yacovm , thanks will have a look.

rockleelx (Tue, 30 Jan 2018 04:13:19 GMT):
Has joined the channel.

rake66 (Tue, 30 Jan 2018 14:00:16 GMT):
Has joined the channel.

AshishMishra 1 (Tue, 30 Jan 2018 15:20:30 GMT):
Hi team,

AshishMishra 1 (Tue, 30 Jan 2018 15:22:58 GMT):
Can I have a endorsement policy specific for peers? Say I have a 1 org only n/w and it has 4-5 peers, out of which I want 2 peers to endorse always out of the total 5. Where my peer-id 1 needs to mandatory endorse the transaction. The examples and doc says org.member, so can I be specific here like org.member1 ? Thanks

jeffgarratt (Tue, 30 Jan 2018 15:53:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=SRcd8fiszgwsbq6NW) @AshishMishra 1 you can require 2 signatures from the same ORG, in which they must be different

jeffgarratt (Tue, 30 Jan 2018 15:54:03 GMT):
if you wish to require specific peers, then you could add their specific cert to the endorsement policy

AshishMishra 1 (Tue, 30 Jan 2018 16:03:55 GMT):
@jeffgarratt and If I want to mandate a particular peer to endorse it, can I do it?

jeffgarratt (Tue, 30 Jan 2018 16:04:11 GMT):
yes, you need to use a Identity principal vs a Role

jeffgarratt (Tue, 30 Jan 2018 16:04:27 GMT):
and choose the peer's identity cert

jeffgarratt (Tue, 30 Jan 2018 16:04:33 GMT):
in signcerts I believe

AshishMishra 1 (Tue, 30 Jan 2018 16:05:12 GMT):
Sounds interesting.. is there documentation for reference for this?

jeffgarratt (Tue, 30 Jan 2018 16:05:22 GMT):
checking...

jeffgarratt (Tue, 30 Jan 2018 16:05:40 GMT):
http://hyperledger-fabric.readthedocs.io/en/latest/policies.html?highlight=Principal%20Role

jeffgarratt (Tue, 30 Jan 2018 16:07:18 GMT):
specifically -> http://hyperledger-fabric.readthedocs.io/en/latest/policies.html?highlight=Principal%20Role#msp-principals

AshishMishra 1 (Tue, 30 Jan 2018 16:08:57 GMT):
Thanks @jeffgarratt, will have a look. :)

rickr (Tue, 30 Jan 2018 21:19:44 GMT):
Only the peer admin can install cc on peer peers in their own organization. Can they do an instantiate proposal on a peer that's from another org ? Not sure, the need to do that given instantiate needs to be only done once and I assume they could do it on their own peer. But I think I'm seeing it work on a peer (in the channel) but from another organization

rickr (Tue, 30 Jan 2018 21:19:44 GMT):
Only the peer admin can install cc on peers in their own organization. Can they do an instantiate proposal on a peer that's from another org ? Not sure, the need to do that given instantiate needs to be only done once and I assume they could do it on their own peer. But I think I'm seeing it work on a peer (in the channel) but from another organization

jeffgarratt (Tue, 30 Jan 2018 21:59:40 GMT):
@rickr a config admin can endorse the instantiate on other organization's peer(s)

aceyin (Wed, 31 Jan 2018 06:37:54 GMT):
Has joined the channel.

asaningmaxchain123 (Wed, 31 Jan 2018 11:24:25 GMT):
hello everyone,i got the following error when i use java-sdk to test the .new version fabric

asaningmaxchain123 (Wed, 31 Jan 2018 11:24:30 GMT):
``` gRPC failure=Status{code=UNIMPLEMENTED, description=unknown service protos.Endorser, cause=null}```

asaningmaxchain123 (Wed, 31 Jan 2018 16:08:29 GMT):
@jeffgarratt @yacovm in the v1.1 the fabric support the event,

asaningmaxchain123 (Wed, 31 Jan 2018 16:08:29 GMT):
@jeffgarratt @yacovm in the v1.1 the fabric support the event for the peer,it doesn't use the EventHub

asaningmaxchain123 (Wed, 31 Jan 2018 16:08:29 GMT):
@jeffgarratt @yacovm in the v1.1 the fabric support the event for the peer,it doesn't use the EventHub @wlahti

frankz (Thu, 01 Feb 2018 01:18:04 GMT):
Has joined the channel.

vchengsong (Thu, 01 Feb 2018 03:50:54 GMT):
Has joined the channel.

vchengsong (Thu, 01 Feb 2018 03:52:54 GMT):
Is it possible to take a relational database as the statedb, such as postgresql or mysql

rake66 (Thu, 01 Feb 2018 10:39:12 GMT):
no

sghost (Thu, 01 Feb 2018 18:58:25 GMT):
Has joined the channel.

sghost (Thu, 01 Feb 2018 19:07:32 GMT):
Hello Guys, I want to know one thing regarding the server configuration for different peers and organisation in fabric blockchain? Is it always localhost by default?

sghost (Thu, 01 Feb 2018 19:07:58 GMT):
And if this is the case, where exactly we configure it?

rickr (Fri, 02 Feb 2018 02:59:45 GMT):
@wlahti @C0rWin For the new peer eventing service should a peer admin from one organization be able to register to get events from a peer in another organization?

Glen (Fri, 02 Feb 2018 03:15:11 GMT):
Hi @mastersingh24 If I have mutiple endorser peers in my blockchain network, will the chaincode execute the Init function on all peers, or in other words, only need to instantiate it on one peer, the others can't be instantiated repeatedly?

wlahti (Fri, 02 Feb 2018 03:47:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=knJnjwqm64RDE5DDH) @rickr Yes, I haven't tried that in my own scenarios but I'd expect that to work.

wlahti (Fri, 02 Feb 2018 03:47:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=knJnjwqm64RDE5DDH) @rickr Yes, I haven't tried that in my own scenarios but I'd expect that to work with the default block and filtered block policies (which both default to the channel readers).

rickr (Fri, 02 Feb 2018 04:05:21 GMT):
Thanks Will . I was experiencing an issue and I initially started attributing it to possibly that After deeper exploration I found the real reason and I was able to register a peer from another org.

rickr (Fri, 02 Feb 2018 04:05:21 GMT):
Thanks @wlahti . I was experiencing an issue and I initially started attributing it to possibly that After deeper exploration I found the real reason and I was able to register a peer from another org.

rickr (Fri, 02 Feb 2018 04:21:47 GMT):
BTW the real issue was that I could not register to get events on that peer (for the other org) till it too had joined the channel.

hushun (Fri, 02 Feb 2018 05:27:29 GMT):
Has joined the channel.

C0rWin (Fri, 02 Feb 2018 19:13:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8B3NjAW88Hc6dj8QB) @rickr which is obviously expected behavior, for peer to be able to publish events it has to join the channel.

rickr (Fri, 02 Feb 2018 19:19:21 GMT):
But painful for any user know which organization have joined in

C0rWin (Fri, 02 Feb 2018 19:26:02 GMT):
while this is being true, you cannot expect peer which was not joined the channel to deliver blocks or event on behalf of something he is not part of... once we will have service discovery users life will be easier

rickr (Fri, 02 Feb 2018 19:28:20 GMT):
... and I think many of us working closely with Fabric will understand that .. My gut feel is this will catch many users off guard ...

yacovm (Fri, 02 Feb 2018 19:39:29 GMT):
We have 2 types of access control in fabric - per channel and "per node". The former is what you use authenticate access to business logic data, and the latter is what you use to authorize administrative operations, like joining a peer to a channel, etc.

yacovm (Fri, 02 Feb 2018 19:39:29 GMT):
We have 2 types of access control in fabric - per channel (which is backed by the blockchain) and "per node" (local configuration). The former is what you use authenticate access to business logic data, and the latter is what you use to authorize administrative operations, like joining a peer to a channel, etc.

yacovm (Fri, 02 Feb 2018 19:40:17 GMT):
It only makes sense that a user that wants to get data in a channel context, would need to be authenticated by the channel, which means - it needs to be a channel member

yacovm (Fri, 02 Feb 2018 19:43:00 GMT):
> But painful for any user know which organization have joined in It only needs to know it is inside, no need to know the rest

yacovm (Fri, 02 Feb 2018 19:46:06 GMT):
> BTW the real issue was that I could not register to get events on that peer (for the other org) till it too had joined the channel. Wait, @rickr are you saying you were not able to register for events for a channel until the peer itself had joined the channel ?

krisava (Sun, 04 Feb 2018 17:24:36 GMT):
Hi, This is regarding the "Blockchain Instance on Bluemix", in the "Blockchain-GUI". What is the purpose of the "Certificates tab under Members"? As I could able to post a transaction or read a transaction from the client connecting to the "Peer" without even uploading the "Client side certificate" on to the "Certificates tab under Members". So, I am not sure what is the purpose of "Certificates tab under Members". And how is it secure to control the client to Post or Read transactions from Blockchain? Thanks.

mastersingh24 (Mon, 05 Feb 2018 12:01:10 GMT):
@krisava - RocketChat is for questions on the open source project only. If you have questions on particular vendor implementations, you'll need to use their communities. For IBM Blockchain, you can post here: https://www.ibm.com/developerworks/community/forums/html/category?id=21b0dce5-e391-4030-bc60-16c17173ea32

rickr (Mon, 05 Feb 2018 13:32:17 GMT):
https://chat.hyperledger.org/channel/fabric-sdk-java?msg=f4Juz8RnZKwd7xoRM And please don't cross post the very same question in numerous channels

krisava (Mon, 05 Feb 2018 14:25:33 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=DRfxdgGRYPwwWXqdn) @mastersingh24 Thanks, @mastersingh24

awattez (Mon, 05 Feb 2018 15:44:32 GMT):
Has joined the channel.

rickr (Wed, 07 Feb 2018 16:01:23 GMT):
For the new peer eventing service what credentials by default are needed ? Only peer admin can register this on all peers that have joined the channel, or can any Fabric CA enrolled user member do this? If member can't, is that just default ACL setting that can be changed?

rickr (Wed, 07 Feb 2018 16:01:23 GMT):
For the new peer eventing service what credentials by default are needed for registration? Only peer admin can register this on all peers that have joined the channel, or can any Fabric CA enrolled user member do this? If member can't, is that just default ACL setting that can be changed?

yacovm (Wed, 07 Feb 2018 16:07:17 GMT):
channel reader by default

yacovm (Wed, 07 Feb 2018 16:07:26 GMT):
unless configured otherwise via acl , from what I know

wlahti (Wed, 07 Feb 2018 17:33:52 GMT):
To expand on what @yacovm wrote, the new peer event services use the BLOCKEVENT and FILTEREDBLOCKEVENT resource policies, which both default to the Channel Readers policy. Those policies can be updated for the channel to allow access for any desired users. I believe the documentation for the new mechanism of setting / updating resource policies is still a work in progress, so I haven't been able to try it out in a real network.

wlahti (Wed, 07 Feb 2018 17:33:52 GMT):
@rickr To expand on what @yacovm wrote, the new peer event services use the BLOCKEVENT and FILTEREDBLOCKEVENT resource policies, which both default to the Channel Readers policy. Those policies can be updated for the channel to allow access for any desired users. I believe the documentation for the new mechanism of setting / updating resource policies is still a work in progress, so I haven't been able to try it out in a real network.

wlahti (Wed, 07 Feb 2018 17:33:52 GMT):
@rickr - To expand on what @yacovm wrote, the new peer event services use the BLOCKEVENT and FILTEREDBLOCKEVENT resource policies, which both default to the Channel Readers policy. Those policies can be updated for the channel to allow access for any desired users. I believe the documentation for the new mechanism of setting / updating resource policies is still a work in progress, so I haven't been able to try it out in a real network.

inatatsu (Thu, 08 Feb 2018 02:40:44 GMT):
Has left the channel.

ohmeraka (Sun, 11 Feb 2018 08:48:57 GMT):
Has joined the channel.

Bchainer (Mon, 12 Feb 2018 05:09:35 GMT):
Has joined the channel.

AshishMishra 1 (Mon, 12 Feb 2018 12:58:00 GMT):
Hi team, today I noticed.. few errors in my peer logs.. 2018-02-12 12:18:54.009 UTC [gossip/state] queueNewMessage -> WARN 2b3 Failed adding payload: Ledger height is at 492, cannot enqueue block with sequence of 600 AND 2018-02-12 12:19:02.509 UTC [gossip/state] handleStateResponse -> WARN 2c8 Payload with sequence number 621 wasn't added to payload buffer: Payload with sequence number = 621 has been already processed What do they imply and should I be worried ? as it's just warning. I have set the log level to error, then also why I 'm seeing this.

wlahti (Mon, 12 Feb 2018 19:09:49 GMT):
@AshishMishra 1 I can't speak to what the messages imply but in regards to your question about why you see this warning-level error message in the logs, it's due to the override level for CORE_LOGGING_GOSSIP in core.yaml, which defaults to `warning`.

DarshanBc (Tue, 13 Feb 2018 06:01:23 GMT):
each of my transaction is taking around 3 sec any idea why is it?

AshishMishra 1 (Tue, 13 Feb 2018 07:04:56 GMT):
@DarshanBc because of the block time of 2 sec by default. The orderer service will wait for 2 secs or 10 transactions to commit into the peers.

DarshanBc (Tue, 13 Feb 2018 07:07:19 GMT):
blocktime is fine trasaction should be commited ryt block formation is a different process

AshishMishra 1 (Tue, 13 Feb 2018 07:57:16 GMT):
until a block is commited, how can you form a block?

Lucifer (Wed, 14 Feb 2018 05:14:47 GMT):
Has joined the channel.

shalinigpt (Wed, 14 Feb 2018 09:08:58 GMT):
Has joined the channel.

eclairamb (Sat, 17 Feb 2018 18:01:39 GMT):
Has joined the channel.

iamdm (Mon, 19 Feb 2018 11:40:02 GMT):
Hi all! i have some issue about peer. I have next steps: 1. Instantiating chaincode with sdk 2. Invoking chaincode 3. Querying chaincode Steps 1,2 -ok, but on step 3 i have next error: failed to get my identity: SendTransactionProposal failed: Transaction processor (peer:7051) returned error for txID \'4d488fe0b0958b77ac33c37f729eb46f43105212306c8e63f5c824b633db4a69\': gRPC Transport Status Code: (2) Unknown. Description: error executing chaincode: error chaincode is already launching: network:0.1

iamdm (Mon, 19 Feb 2018 11:40:32 GMT):
I don't understand how I could to invoke chaincode when it's not started?

yacovm (Mon, 19 Feb 2018 11:40:54 GMT):
wait a second

yacovm (Mon, 19 Feb 2018 11:41:03 GMT):
you're saying you invoked the chaincode and then you can't query it?

yacovm (Mon, 19 Feb 2018 11:41:06 GMT):
that doesn't make sense

iamdm (Mon, 19 Feb 2018 11:41:20 GMT):
yes

yacovm (Mon, 19 Feb 2018 11:41:28 GMT):
what do the peer logs say?

iamdm (Mon, 19 Feb 2018 11:41:41 GMT):
i invoked chaincode, i saw that state was changed in logs

iamdm (Mon, 19 Feb 2018 11:41:43 GMT):
ok, sec

vitiko (Mon, 19 Feb 2018 11:45:18 GMT):
Has joined the channel.

iamdm (Mon, 19 Feb 2018 11:57:32 GMT):
This is first successful invoke: https://pastebin.com/5XYnKmBW

iamdm (Mon, 19 Feb 2018 11:57:51 GMT):
And this is unsuccessful query: https://pastebin.com/wZ691Hqj

iamdm (Mon, 19 Feb 2018 12:02:54 GMT):
Maybe, problem in version: 1.1.0-preview? It looks like chaincode restaring after invoke

iamdm (Mon, 19 Feb 2018 12:02:54 GMT):
Maybe, problem in version: 1.1.0-preview? It looks like chaincode restarting after invoke

iamdm (Mon, 19 Feb 2018 13:19:35 GMT):
I changed to 1.1.0-alpha and got next error in instantiation: `peer_1 | 2018-02-19 13:14:09.240 UTC [chaincode] isValidTxSim -> ERRO f33 [[4bc56fab PUT_STATE ERROR]]No ledger context for %!!(MISSING)s(MISSING). Sending %!!(MISSING)s(MISSING)`

iamdm (Mon, 19 Feb 2018 13:19:43 GMT):
Any ideas?

GaneshSharma (Mon, 19 Feb 2018 16:32:00 GMT):
Has joined the channel.

RobertDiebels (Mon, 19 Feb 2018 17:26:46 GMT):
Has left the channel.

MoulaliMvg (Wed, 21 Feb 2018 12:48:52 GMT):
Has joined the channel.

novusopt (Wed, 21 Feb 2018 16:19:02 GMT):
Hi guys, I am facing TxValidationCode_PHANTOM_READ_CONFLICT. Can someone explain what this validation code mean. Thx

novusopt (Wed, 21 Feb 2018 16:19:02 GMT):
Hi guys, I am facing TxValidationCode_PHANTOM_READ_CONFLICT. Can someone explain what this validation code mean. Thx

silliman (Wed, 21 Feb 2018 16:28:44 GMT):
@novusopt Here is my guess- if you do a rich query in your chaincode a hash of the query's results is put in the R/W set placed in the endorsement response. As the transaction goes through the flow, at validation time the rich query is run again. If the hash of the result at this time doesn't match the hash in the R/W set, you'll get that error.

daanporon (Wed, 21 Feb 2018 16:29:58 GMT):
Has joined the channel.

daanporon (Wed, 21 Feb 2018 16:31:01 GMT):
i'm having issues with an invoke that doesn't want to be accepted, i always get the error 'ENDORSEMENT_POLICY_FAILED' while i don't have a policy set for that chaincode

daanporon (Wed, 21 Feb 2018 16:31:07 GMT):
``` ```

daanporon (Wed, 21 Feb 2018 16:31:55 GMT):

log

daanporon (Wed, 21 Feb 2018 16:32:29 GMT):
it says ```2018-02-21 16:28:16.121 UTC [cauthdsl] func1 -> DEBU 2b54 0xc42000fb78 gate 1519230496120153177 evaluation fails``` but i'm not sure why, any idea?

minollo (Wed, 21 Feb 2018 16:34:19 GMT):
Not quite; rich queries are not re-executed at validation time (in the current Fabric code); the error is about validation of *range* queries: // validateRangeQuery performs a phatom read check i.e., it // checks whether the results of the range query are still the same when executed on the // statedb (latest state as of last committed block) + updates (prepared by the writes of preceding valid transactions // in the current block and yet to be committed as part of group commit at the end of the validation of the block) [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=pdbufZcPsmAXBojeX) @silliman

silliman (Wed, 21 Feb 2018 16:38:07 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=mpoxgxdB6fXkMNQ7R) @minollo My apologies- you are correct- I used the wrong term- I should have said *range* queries and not *rich* queries. I misquoted from section 4.4 of the recently released paper available from https://arxiv.org/abs/1801.10228v1

novusopt (Wed, 21 Feb 2018 16:47:33 GMT):
@minollo @silliman thx, correct me if I am wrong, as far as I understand it, that means every time I have range query the hash of the query result will be added to the r/w set. In case of a tx which is changing the "range" and immedialtey afterwards a new tx with the same hash will face this issue. Because the hash of the range has changed. is this right?

novusopt (Wed, 21 Feb 2018 16:47:33 GMT):
@minollo @silliman thx, correct me if I am wrong, as far as I understand it, that means every time I query a range the hash of the query result will be added to the r/w set. In case of a tx which is changing the "range" and immedialtey afterwards a new tx with the same hash will face this issue. Because the hash of the range has changed. is this right?

silliman (Wed, 21 Feb 2018 16:56:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=G5TLG6gSwJbPJjmLn) @novusopt I won't correct you because I don't think you are wrong. But if I'm wrong about you not being wrong then somebody can correct me at the same time they correct you.

novusopt (Wed, 21 Feb 2018 16:57:22 GMT):
@silliman ok thanks a lot :)

jrosmith (Thu, 22 Feb 2018 17:13:25 GMT):
hey all, is there a built in health check function for a peer or should i just be pinging its request port to check?

jeffgarratt (Thu, 22 Feb 2018 18:13:27 GMT):
@jrosmith there is a getStatus call on the Admin interface for the peer

jeffgarratt (Thu, 22 Feb 2018 18:14:05 GMT):
and the command 'peer node status' will hit that interface

jrosmith (Thu, 22 Feb 2018 21:17:41 GMT):
@jeffgarratt thank you!

jeffgarratt (Thu, 22 Feb 2018 21:18:00 GMT):
your welcome!

mujji89 (Fri, 23 Feb 2018 18:29:32 GMT):
Has joined the channel.

mujji89 (Fri, 23 Feb 2018 18:31:04 GMT):
Hi guys, I am running java sdk on windows and trying to run End2End test

mujji89 (Fri, 23 Feb 2018 18:31:12 GMT):
I am getting this error any idea what it could be?

mujji89 (Fri, 23 Feb 2018 18:31:14 GMT):
main ERROR Channel:2412 - Sending proposal to peer0.org1.example.com failed because of: gRPC failure=Status{code=UNKNOWN, description=failed to execute transaction: timeout expired while executing transaction

mujji89 (Fri, 23 Feb 2018 18:31:35 GMT):
ORG_HYPERLEDGER_FABRIC_SDK_PROPOSAL_WAIT_TIME=80000 already increased this

jrosmith (Fri, 23 Feb 2018 21:02:46 GMT):
question, after a block gets ordered it gets blasted to all of the committing peers to be appended to the ledger, yes? the peers then alert an sdk about the successful commitment. does this alert happen after being appended to the ledger or after it has been updated in the stateDB?

jrosmith (Fri, 23 Feb 2018 21:02:46 GMT):
question, after a block gets ordered it gets blasted to all of the committing peers to be appended to the ledger, yes? the peers then alert an sdk about the successful commitment. does this alert happen after being appended to the ledger or after the transaction has been inserted into the stateDB?

Brucepark (Sat, 24 Feb 2018 12:30:37 GMT):
When the endorsement policy is `AND (Org1.member, Org2.member)`, My cli can only connect to peers in Org1. In this situation, how can my cli obtain the endorsement of Org2?

Brucepark (Sat, 24 Feb 2018 12:30:37 GMT):
The endorsement policy is `AND (Org1.member, Org2.member)` and my cli can only connect to peers in Org1. In this situation, how can my cli obtain the endorsement of Org2?

jeffgarratt (Sat, 24 Feb 2018 13:57:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=mi5tTAj9RWuofsmZk) @Brucepark this is technically feasible, but seems counter to the standard usage of endorsements (i.e. a client should be able to collect the proper endorsements). However, it may be technically feasible to create a SignedProposal and have the other org get an endorsement and return the ProposalResponse back to you which you could package into a Tx if you so choose. But this would cumbersome comparatively even if technically doable.

jeffgarratt (Sat, 24 Feb 2018 13:59:37 GMT):
@Brucepark not having access to an endorsing peer would represent one way in which a party could reasonably halt activity in a channel. If you don't have access, I assume either a misconfigured system or the other party does not want you to

Brucepark (Mon, 26 Feb 2018 02:12:19 GMT):
Thank you for your reply. I asked the question because I need to configure the ACL on the network. There are internal server zone and external server zone. I thought the client should be inside and peer should be in both zone. If the client must be connected to another org's peer, it must be in external server zone. You said that it is technically feasible, but I wonder if it is supported by v1.1.[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=zaXcHwYaCzeRcw3wc) @jeffgarratt

Brucepark (Mon, 26 Feb 2018 02:15:52 GMT):
If the client is in external zone, I need to be concerned about security. Because it would be a kind of server. So I want to have a client inside but I wonder if it is possible in current version.

Brucepark (Mon, 26 Feb 2018 02:15:52 GMT):
@jeffgarratt If the client is in external zone, I need to be concerned about security. Because it would be a kind of server. So I want to have a client inside but I wonder if it is possible in current version.

Brucepark (Mon, 26 Feb 2018 02:15:52 GMT):
@jeffgarratt If the client is in external zone, I need to be concerned about security. Because it would be a kind of server. So I want to locate a client inside but I wonder if it is possible in current version.

Brucepark (Mon, 26 Feb 2018 02:15:52 GMT):
@jeffgarratt If the client is in external zone, I need to be concerned about security because it would be a kind of server. So I want to locate a client inside but I wonder if it is possible in current version.

ganeshraut (Mon, 26 Feb 2018 06:19:37 GMT):
Has joined the channel.

ganeshraut (Mon, 26 Feb 2018 06:20:29 GMT):
Hi Folks, can any one guide me how to join new machine in block chain environment. to add peer

ganeshraut (Mon, 26 Feb 2018 06:20:35 GMT):
?

ganeshraut (Mon, 26 Feb 2018 06:20:45 GMT):
thanks in advance

novusopt (Mon, 26 Feb 2018 07:41:59 GMT):
Hi guys, is there a way to check if a peer is still running?

novusopt (Mon, 26 Feb 2018 07:41:59 GMT):
Hi guys, is there a standard way to check if a peer is still running?

novusopt (Mon, 26 Feb 2018 07:42:57 GMT):
(e.g. curl or the like)

wlahti (Mon, 26 Feb 2018 13:29:53 GMT):
@novusopt From CLI, you can use the `peer node status` command (setting CORE_PEER_ADDRESS to point to the peer you're interested in) to check if a peer is still running. Not sure if there's a mechanism to do this from SDKs.

chaitanya (Mon, 26 Feb 2018 15:42:34 GMT):
Has joined the channel.

chaitanya (Mon, 26 Feb 2018 15:43:46 GMT):
I'm getting the following error on using Fabric v1.0.3 images : ``` gRPC failure=Status{code=UNKNOWN, description=Error executing chaincode: premature execution - chaincode is being launched, cause=null}. Was verified:false ``` This shows up when the network is left idle for a bit, and then invokes are sent via SDK. The peer tries to kill the chaincode containers and once they come up again, the invokes start going through again. Any idea as to whats happening here?

chaitanya (Mon, 26 Feb 2018 15:43:46 GMT):
Hi, I'm getting the following error on using Fabric v1.0.3 images : ``` gRPC failure=Status{code=UNKNOWN, description=Error executing chaincode: premature execution - chaincode is being launched, cause=null}. Was verified:false ``` This shows up when the network is left idle for a bit, and then invokes are sent via SDK. The peer tries to kill the chaincode containers and once they come up again, the invokes start going through again. Any idea as to whats happening here?

Brucepark (Tue, 27 Feb 2018 04:52:12 GMT):
In an environment with two Orgs and four peers (each org has 2 peers), During the test, four peers died at the same time. The error messages are all the same. Is it a bug? ` 2018-02-27 02:37:35.590 UTC [gossip/state] commitBlock -> ERRO f8a4bf Got error while committing(Invoke VSCC failed for transaction txid=72d936d31215731f58bf0b71b85cb9b7db544eceaa51246d1df1483c39833697, error error executing chaincode: failed to execute transaction: timeout expired while executing transaction Validation failed github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:778 github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:561 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337) 2018-02-27 02:37:35.631 UTC [gossip/state] deliverPayloads -> CRIT f8a55e Cannot commit block to the ledger due to Invoke VSCC failed for transaction txid=72d936d31215731f58bf0b71b85cb9b7db544eceaa51246d1df1483c39833697, error error executing chaincode: failed to execute transaction: timeout expired while executing transaction Validation failed github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:562 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337 panic: Cannot commit block to the ledger due to Invoke VSCC failed for transaction txid=72d936d31215731f58bf0b71b85cb9b7db544eceaa51246d1df1483c39833697, error error executing chaincode: failed to execute transaction: timeout expired while executing transaction Validation failed github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:562 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337 goroutine 220 [running]: github.com/hyperledger/fabric/vendor/github.com/op/go-logging.(*Logger).Panicf(0xc4201bbc50, 0xebf885, 0x2c, 0xc4228be1a0, 0x1, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/logger.go:194 +0x134 github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads(0xc4200d1d00) /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:562 +0x4c7 created by github.com/hyperledger/fabric/gossip/state.NewGossipStateProvider /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:252 +0x6d3 `

Brucepark (Tue, 27 Feb 2018 04:52:12 GMT):
In an environment with two Orgs and four peers (each org has 2 peers), During the test, four peers died at the same time. The error messages are all the same. Is it a bug? ``` 2018-02-27 02:37:35.590 UTC [gossip/state] commitBlock -> ERRO f8a4bf Got error while committing(Invoke VSCC failed for transaction txid=72d936d31215731f58bf0b71b85cb9b7db544eceaa51246d1df1483c39833697, error error executing chaincode: failed to execute transaction: timeout expired while executing transaction Validation failed github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:778 github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:561 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337) 2018-02-27 02:37:35.631 UTC [gossip/state] deliverPayloads -> CRIT f8a55e Cannot commit block to the ledger due to Invoke VSCC failed for transaction txid=72d936d31215731f58bf0b71b85cb9b7db544eceaa51246d1df1483c39833697, error error executing chaincode: failed to execute transaction: timeout expired while executing transaction Validation failed github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:562 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337 panic: Cannot commit block to the ledger due to Invoke VSCC failed for transaction txid=72d936d31215731f58bf0b71b85cb9b7db544eceaa51246d1df1483c39833697, error error executing chaincode: failed to execute transaction: timeout expired while executing transaction Validation failed github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:562 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2337 goroutine 220 [running]: github.com/hyperledger/fabric/vendor/github.com/op/go-logging.(*Logger).Panicf(0xc4201bbc50, 0xebf885, 0x2c, 0xc4228be1a0, 0x1, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/logger.go:194 +0x134 github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads(0xc4200d1d00) /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:562 +0x4c7 created by github.com/hyperledger/fabric/gossip/state.NewGossipStateProvider /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:252 +0x6d3 ```

Brucepark (Tue, 27 Feb 2018 04:58:29 GMT):
Can somebody tell me what is the reason?

Brucepark (Tue, 27 Feb 2018 05:52:27 GMT):
Not only peer but also all dev-peers were dead. All nodes seem to have died at similar times, The last log of the dev-peer is:

Brucepark (Tue, 27 Feb 2018 05:52:45 GMT):
```2018-02-27 02:37:35.863 UTC [shim] func1 -> ERRO 003 Received error from server, ending chaincode stream: rpc error: code = Unavailable desc = transport is closing Error starting Simple chaincode: rpc error: code = Unavailable desc = transport is closing```

Brucepark (Tue, 27 Feb 2018 05:52:45 GMT):
```======== Invoke 1 mspid: Org1MSP =========== ex02 Invoke version2 ======== Invoke 1 mspid: Org1MSP =========== ex02 Invoke version2 2018-02-27 02:37:35.863 UTC [shim] func1 -> ERRO 003 Received error from server, ending chaincode stream: rpc error: code = Unavailable desc = transport is closing Error starting Simple chaincode: rpc error: code = Unavailable desc = transport is closing```

yacovm (Tue, 27 Feb 2018 06:44:31 GMT):
@Brucepark what version of fabric are you using?

Brucepark (Tue, 27 Feb 2018 06:45:55 GMT):
v1.1

yacovm (Tue, 27 Feb 2018 06:46:30 GMT):
Oh no

yacovm (Tue, 27 Feb 2018 06:47:44 GMT):
Ok can you please open a JIRA with details what you did, etc. And tag me in the JIRA, i'll take a look in an hour once i get to the office

Brucepark (Tue, 27 Feb 2018 06:48:03 GMT):
Ok thank you

Brucepark (Tue, 27 Feb 2018 06:56:43 GMT):
@yacovm Oh the version is 1.1.0-preview not v1.1.

yacovm (Tue, 27 Feb 2018 07:08:23 GMT):
Still open the jira

yacovm (Tue, 27 Feb 2018 07:08:28 GMT):
@Brucepark

Brucepark (Tue, 27 Feb 2018 07:08:34 GMT):
Ok

AshishMishra 1 (Tue, 27 Feb 2018 07:22:12 GMT):
Hi Guys, how can I migrate a blockchain/channel from one n/w to another n/w? Eg. I 've 3 peers in network A and 3 peers in network B. In network A, I 've 3 channels 1,2 and 3 and on network B I 've channels 4 and 5. Now I want my channel 3 to be in my network B. Is it possible at all?

yacovm (Tue, 27 Feb 2018 08:16:13 GMT):
@Brucepark can you please attach the peer logs to the JIRA ?

Brucepark (Tue, 27 Feb 2018 08:19:29 GMT):
@yacovm I deleted them already. I will upload it if it is reproduced again.

yacovm (Tue, 27 Feb 2018 08:19:42 GMT):
thanks

yacovm (Tue, 27 Feb 2018 08:19:49 GMT):
please try to reproduce

yacovm (Tue, 27 Feb 2018 08:19:58 GMT):
I think you found something interesting

Brucepark (Tue, 27 Feb 2018 08:20:10 GMT):
Ok :grin:

kostas (Tue, 27 Feb 2018 13:23:06 GMT):
@AshishMishra 1: Unless I'm missing something, this is not something that's feasible.

jrosmith (Tue, 27 Feb 2018 21:16:38 GMT):
hey all, is there an example for what a proposal for a QSCC call would look like? the node sdk does not have a way of creating one to my knowledge, so i want to manually construct a GetChainInfo call and execute it directly against the peer. In the end I'm trying to find a way to set up a heartbeat for the peer using an sdk

kostas (Tue, 27 Feb 2018 21:17:58 GMT):
I'm interested in _documentation_ for this one as well.

jeffgarratt (Wed, 28 Feb 2018 01:10:52 GMT):
@jrosmith -> getChaincodeSpec(cc_type="GOLANG", path="", name=self.system_chaincode_name, args=args)

yacovm (Wed, 28 Feb 2018 09:41:29 GMT):
@Brucepark

yacovm (Wed, 28 Feb 2018 09:41:39 GMT):
what the logs I asked you?

TsuiSauChi (Wed, 28 Feb 2018 12:12:49 GMT):
Has joined the channel.

Brucepark (Wed, 28 Feb 2018 12:54:45 GMT):
Whenever I try stress test, Docker hang is up before reproducing the bug. so I have failed to get logs. I do not know how hyperledger fabric makes docker hang.[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=2uaS45BeMaLDpkEL2) @yacovm

yacovm (Wed, 28 Feb 2018 12:55:10 GMT):
:(

jrosmith (Wed, 28 Feb 2018 14:31:50 GMT):
@jeffgarratt thank you so much!

dampuero (Wed, 28 Feb 2018 15:06:29 GMT):
Has joined the channel.

jrosmith (Wed, 28 Feb 2018 15:20:22 GMT):
so lets say i have a situation where a peer has gone down and come back up, is there a way for me to force the peer to start up a chaincode container without sending a transaction through it? maybe an lscc command?

yacovm (Wed, 28 Feb 2018 15:22:11 GMT):
you can make a query

yacovm (Wed, 28 Feb 2018 15:22:13 GMT):
@jrosmith

jrosmith (Wed, 28 Feb 2018 15:25:23 GMT):
@yacovm makes sense. as a follow up, is there a command to get currently running chaincode docker containers? or is that the getChaincodeSpec function jeffgarratt recommended?

yacovm (Wed, 28 Feb 2018 15:25:48 GMT):
`docker ps`?

yacovm (Wed, 28 Feb 2018 15:25:53 GMT):
with grep

jrosmith (Wed, 28 Feb 2018 15:26:03 GMT):
ah im trying to execute it via the sdk

jrosmith (Wed, 28 Feb 2018 15:26:09 GMT):
the node_sdk

yacovm (Wed, 28 Feb 2018 15:26:23 GMT):
you want to know which chaincode containers are running in the peer? why?

jrosmith (Wed, 28 Feb 2018 15:31:34 GMT):
so im trying to implement a health check for the peer to know if it is ready to serve requests. while testing i've found that if the peer has come back up and transactions are running against it, the first transaction will start the launching of the chaincode but other transactions will fail with a premature execution error. i want the health check to only report the peer as healthy if both the peer is up and the chaincode container is running, and if the chaincode container is not running i can launch it. really i'm trying to find a way to avoid the premature execution error so that i can direct traffic to a healthy peer that already has the chaincode running

jrosmith (Wed, 28 Feb 2018 15:31:34 GMT):
so im trying to implement a health check for the peer to know if it is ready to serve requests. while testing i've found that if the peer has come back up and transactions are running against it, the first transaction will start the launching of the chaincode but other transactions will fail with a premature execution error. i want the health check to only report the peer as healthy if both the peer is up and the chaincode container is running, and if the chaincode container is not running i want to launch it before directing traffic to it. really i'm trying to find a way to avoid the premature execution error so that i can direct traffic to a healthy peer that already has the chaincode running

yacovm (Wed, 28 Feb 2018 15:36:38 GMT):
i see. but why can't you just have the health check query the chaincode anyway?

yacovm (Wed, 28 Feb 2018 15:36:43 GMT):
it will bring it up

yacovm (Wed, 28 Feb 2018 15:36:45 GMT):
in case it's down

jrosmith (Wed, 28 Feb 2018 15:42:33 GMT):
that definitely solves my problem and is way easier than what i was trying to implement haha

jrosmith (Wed, 28 Feb 2018 15:42:37 GMT):
thank you @yacovm

yacovm (Wed, 28 Feb 2018 15:42:55 GMT):
np. I like easy and lazy solutions

jrosmith (Wed, 28 Feb 2018 17:28:17 GMT):
@yacovm quick and easy to implement and can confirm it does exactly what i wanted, thanks again

TsuiSauChi (Wed, 28 Feb 2018 21:11:20 GMT):
not really understanding the endorsement process Is the endorsement done automatically? I created an endorsement policy whereby 2 endorser peer need to endorse the transaction to be consider valid But whenever I execute a transaction on 1 peer, a block is added to the ledger Am i doing something wrong?

muralisr (Thu, 01 Mar 2018 00:03:50 GMT):
@TsuiSauChi if you specify an endorsement policy of `orgA and orgB need to sign` but if you send the proposal to only 1 peer (say of OrgA) and submit the response as a TX, then I'd expect the TX to fail

silliman (Thu, 01 Mar 2018 00:21:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=9Bmn7yFc6bdbKWCxb) @muralisr this was posted by @TsuiSauChi in #composer and based on that and the screenshot provided I answered thusly: [ ](https://chat.hyperledger.org/channel/composer?msg=7rS8yvj4yJmMktAED) @TsuiSauChi Composer will send the transaction for endorsement to each peer defined in the connection profile that your business network card uses. So you've probably got both peers defined and so Composer is getting the necessary endorsements for you

muralisr (Thu, 01 Mar 2018 01:12:12 GMT):
thanks, @silliman

yoheiueda (Thu, 01 Mar 2018 06:57:25 GMT):
Hi. Is there any (practical or theoretical) limit to the number of events that can be registered in EventHub at the same time? https://fabric-sdk-node.github.io/EventHub.html#registerTxEvent

wlahti (Thu, 01 Mar 2018 13:02:24 GMT):
@yoheiueda As you're referring to the Node SDK documentation, the #fabric-sdk-node channel may be the better source of information given registering for the event for a single transaction ID is implemented by the SDK and not the peer. I definitely wouldn't expect any practical limits

wlahti (Thu, 01 Mar 2018 13:02:24 GMT):
@yoheiueda As you're referring to the Node SDK documentation, the #fabric-sdk-node channel may be the better source of information given registering for the event for a single transaction ID is implemented by the SDK and not the peer. I definitely wouldn't expect any practical limits. Also, which version of Fabric/SDK are you using? In v1.1 (including alpha), there is a new channel event service which uses a different underlying implementation which is much more reliable than the old event hub. If you're using/planning to use v1.1, I'd highly recommend switching to: https://fabric-sdk-node.github.io/ChannelEventHub.html

zhaochy (Fri, 02 Mar 2018 06:54:06 GMT):
Has joined the channel.

zhaochy (Fri, 02 Mar 2018 07:05:05 GMT):
hello, anyone can have a look at this https://jira.hyperledger.org/browse/FAB-8634

toddinpal (Fri, 02 Mar 2018 19:19:37 GMT):
Is there a reason Fabric doesn't distinguish between and invoke and a query?

toddinpal (Fri, 02 Mar 2018 19:19:37 GMT):
Is there a reason Fabric doesn't distinguish between invoke and query in the shim interface?

toddinpal (Fri, 02 Mar 2018 23:39:23 GMT):
@mastersingh24 Any comment on why we're not distinguishing between invoke and query? Seems like query could avoid the generation of the RWset

toddinpal (Fri, 02 Mar 2018 23:41:28 GMT):
As well it would be possible then to impose read-only limits on the world state for queries

AndrewRy 1 (Sat, 03 Mar 2018 05:01:50 GMT):
Has joined the channel.

AndrewRy 1 (Sat, 03 Mar 2018 05:04:09 GMT):
Dear, How couchdb data folder recovered after it's deleted and restart the peer?

AndrewRy 1 (Sat, 03 Mar 2018 05:04:09 GMT):
Dear, How couchdb data folder recovered after it's deleted and restart the peer? which mechanism make it happens

Ryan2 (Mon, 05 Mar 2018 03:04:41 GMT):
Has joined the channel.

Ryan2 (Mon, 05 Mar 2018 03:05:16 GMT):
I have this endorsement policy "AND ('Org0MSP.member')" is this mean that it require any member of Org0 signs this proposal is OK (just only one member signing is considered valid proposal) or require all member of Org0 signs this proposal?

ganeshraut (Mon, 05 Mar 2018 06:08:29 GMT):
please guide me how could I connect new peer in existing blockchain using hyper ledger fabric network can any one share link for right direction for adding new peer in existing network

akshay.sood (Mon, 05 Mar 2018 15:19:23 GMT):
Has joined the channel.

akshay.sood (Mon, 05 Mar 2018 15:19:29 GMT):
What is the meaning of endorsement in Hyperledger fabric?

wlahti (Mon, 05 Mar 2018 16:28:50 GMT):
@ganeshraut Take a look at this tutorial, which adds a peer (and a new organization) to an existing Fabric network: https://hyperledger-fabric.readthedocs.io/en/master/channel_update_tutorial.html

AndrewRy 1 (Mon, 05 Mar 2018 17:40:17 GMT):
if Peer is endorser peer, I want to this peer become committing peer (not endorser peer anymore) what should I do?

jeffgarratt (Mon, 05 Mar 2018 20:39:27 GMT):
@akshay.sood the simulation and creation of a signed proposal response for a given endorsement request (Signed Proposal)

jeffgarratt (Mon, 05 Mar 2018 20:43:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=of7u3j7zsZFouAdBc) @AndrewRy 1 I believe you can simply remove the installed chaincode package from /chaincodes/

jeffgarratt (Mon, 05 Mar 2018 20:43:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=of7u3j7zsZFouAdBc) @AndrewRy 1 I believe you can simply remove the installed chaincode package from /chaincodes/ and restart your peer

AndrewRy 1 (Tue, 06 Mar 2018 02:45:05 GMT):
how to check endorser peer simulate transaction log in running docker

AndrewRy 1 (Tue, 06 Mar 2018 02:45:05 GMT):
I have a question that is how to check endorser peer simulate transaction log in running docker?, can someone tell me

sanchezl (Tue, 06 Mar 2018 15:46:51 GMT):
When invoking the peer cli, is there an equivalent to using the `--ordererTLSHostnameOverride` , but for the peer?

sanchezl (Tue, 06 Mar 2018 15:46:51 GMT):
When invoking the peer cli, is there an equivalent to using the `--ordererTLSHostnameOverride` option , but for the peer?

jeffgarratt (Tue, 06 Mar 2018 16:55:04 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fmy65fZYxiz9SMdqC) @sanchezl CORE_PEER_TLS_SERVERHOSTOVERRIDE

rjones (Tue, 06 Mar 2018 18:15:45 GMT):
dave.enyeart

dave.enyeart (Tue, 06 Mar 2018 20:08:05 GMT):
sykesm

dave.enyeart (Tue, 06 Mar 2018 20:08:13 GMT):
muralisr

dave.enyeart (Tue, 06 Mar 2018 20:09:15 GMT):
wlahti

wlahti (Tue, 06 Mar 2018 20:27:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=sTRCyL7xrn23Qdgwq) @AndrewRy 1 You can view the logs for a docker container by using `docker logs ` (or `docker logs -f ` to view the logs and contain to follow them as new messages are logged).

wlahti (Tue, 06 Mar 2018 20:28:25 GMT):
Once you have some logs in front of you, you can look for a similar message to the following, which signals the beginning of the proposal simulation: ```2018-03-06 20:23:57.758 UTC [endorser] simulateProposal -> DEBU 605 [mychannel][2e094b59] Entry chaincode: name:"mycc" ```

wlahti (Tue, 06 Mar 2018 20:28:25 GMT):
Once you have some logs in front of you, you can look for a similar set of messages to the following, which signals the beginning of the proposal simulation: ```2018-03-06 20:23:57.758 UTC [lockbasedtxmgr] newLockBasedTxSimulator -> DEBU 604 constructing new tx simulator txid = [2e094b5946f2985d156d0fc5873edbbec2c50ae1c9ce9def78181475890e795d] 2018-03-06 20:23:57.758 UTC [endorser] simulateProposal -> DEBU 605 [mychannel][2e094b59] Entry chaincode: name:"mycc" ```

wlahti (Tue, 06 Mar 2018 20:28:25 GMT):
Once you have the peer log in front of you, you can look for a similar set of messages to the following, which signals the beginning of the proposal simulation: ```2018-03-06 20:23:57.758 UTC [lockbasedtxmgr] newLockBasedTxSimulator -> DEBU 604 constructing new tx simulator txid = [2e094b5946f2985d156d0fc5873edbbec2c50ae1c9ce9def78181475890e795d] 2018-03-06 20:23:57.758 UTC [endorser] simulateProposal -> DEBU 605 [mychannel][2e094b59] Entry chaincode: name:"mycc" ```

wlahti (Tue, 06 Mar 2018 20:28:25 GMT):
Once you have the peer log in front of you (and assuming you have CORE_LOGGING_LEVEL=debug for the peer), you can look for a similar set of messages to the following, which signals the beginning of the proposal simulation: ```2018-03-06 20:23:57.758 UTC [lockbasedtxmgr] newLockBasedTxSimulator -> DEBU 604 constructing new tx simulator txid = [2e094b5946f2985d156d0fc5873edbbec2c50ae1c9ce9def78181475890e795d] 2018-03-06 20:23:57.758 UTC [endorser] simulateProposal -> DEBU 605 [mychannel][2e094b59] Entry chaincode: name:"mycc" ```

wlahti (Tue, 06 Mar 2018 20:31:23 GMT):
From there, you can follow the logs down to see the different steps, ending with: ```2018-03-06 20:24:07.870 UTC [lockbasedtxmgr] GetTxSimulationResults -> DEBU 69e Simulation completed, getting simulation results 2018-03-06 20:24:07.870 UTC [lockbasedtxmgr] Done -> DEBU 69f Done with transaction simulation / query execution [2e094b5946f2985d156d0fc5873edbbec2c50ae1c9ce9def78181475890e795d] 2018-03-06 20:24:07.870 UTC [endorser] simulateProposal -> DEBU 6a0 [mychannel][2e094b59] Exit```

wlahti (Tue, 06 Mar 2018 22:28:52 GMT):
eyfn

Ryan2 (Wed, 07 Mar 2018 08:28:18 GMT):
thank you very much @wlahti

AndrewRy 1 (Wed, 07 Mar 2018 15:18:24 GMT):
hi, when I update channel, I got the error " 0xc42002cc00 identity 0 does not satisfy principal: The identity is a member of a different MSP (expected OrdererOrg0MSP, got Org0MSP)" ... "[orderer/common/broadcast] Handle -> WARN 30f6 Rejecting CONFIG_UPDATE because: Error authorizing update: Error validating DeltaSet: Policy for [Values] /Channel/Orderer/BatchTimeout not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining" Do you guy know how to resolve this one, thank you

AndrewRy 1 (Wed, 07 Mar 2018 16:09:42 GMT):
peer: Version: 1.0.2 do not have "peer channel signconfigtx ..." command, which version support peer channel signconfigtx?

wlahti (Wed, 07 Mar 2018 16:32:31 GMT):
@AndrewRy 1 Are you following a specific tutorial? If not, this one walks through one scenario (adding an org to a channel) which involves updating the channel: http://hyperledger-fabric.readthedocs.io/en/master/channel_update_tutorial.html?

wlahti (Wed, 07 Mar 2018 16:34:59 GMT):
from your error message, it looks like you need to set the ORDERER_CA environment variable

wlahti (Wed, 07 Mar 2018 16:40:19 GMT):
`signconfigtx` was added in v1.1. I'd recommend updating your code to v1.1.0-rc1

AdnanC (Wed, 07 Mar 2018 21:55:03 GMT):
Has joined the channel.

guoger (Thu, 08 Mar 2018 08:44:24 GMT):
is https://jira.hyperledger.org/browse/FAB-5665 targeting v1.1 or v1.2? thx

raphaelbenoit (Thu, 08 Mar 2018 11:03:41 GMT):
Has joined the channel.

raphaelbenoit (Thu, 08 Mar 2018 11:16:15 GMT):
Hi everyone! I am new to Hyperledger Fabric and struggle to understand how multiple transactions happening in the same channel can be valid inside a block given that the first transaction in the block woud change the current state of the ledger which means that the second transaction in the block would have a READ value which is not equivalent to the 'new' current state of the ledger.

raphaelbenoit (Thu, 08 Mar 2018 11:17:48 GMT):
World state: (k1,1,v1), (k2,1,v2), (k3,1,v3), (k4,1,v4), (k5,1,v5) T1 -> Write(k1, v1'), Write(k2, v2') T2 -> Read(k1), Write(k3, v3') T3 -> Write(k2, v2'') T4 -> Write(k2, v2'''), read(k2) T5 -> Write(k6, v6'), read(k5) World state: (k1,1,v1), (k2,1,v2), (k3,1,v3), (k4,1,v4), (k5,1,v5) T1 -> Write(k1, v1'), Write(k2, v2') T2 -> Read(k1), Write(k3, v3') T3 -> Write(k2, v2'') T4 -> Write(k2, v2'''), read(k2) T5 -> Write(k6, v6'), read(k5) World state: (k1,1,v1), (k2,1,v2), (k3,1,v3), (k4,1,v4), (k5,1,v5) T1 -> Write(k1, v1'), Write(k2, v2') T2 -> Read(k1), Write(k3, v3') T3 -> Write(k2, v2'') T4 -> Write(k2, v2'''), read(k2) T5 -> Write(k6, v6'), read(k5) This is the example in the documentation. How can T3 pass even though T1 has already updated the value of k2?

raphaelbenoit (Thu, 08 Mar 2018 11:17:48 GMT):
World state: (k1,1,v1), (k2,1,v2), (k3,1,v3), (k4,1,v4), (k5,1,v5) T1 -> Write(k1, v1'), Write(k2, v2') T2 -> Read(k1), Write(k3, v3') T3 -> Write(k2, v2'') T4 -> Write(k2, v2'''), read(k2) T5 -> Write(k6, v6'), read(k5) This is the example in the documentation. How can T3 pass even though T1 has already updated the value of k2?

raphaelbenoit (Thu, 08 Mar 2018 11:18:19 GMT):
(sorry for the tripple paste!)

wlahti (Thu, 08 Mar 2018 16:03:39 GMT):
@raphaelbenoit Given the transaction ordering you listed (which would be determined by the orderer), T1 will be marked as a valid transaction and T3 will marked as an invalid transaction by the peers in the network.

wlahti (Thu, 08 Mar 2018 16:03:39 GMT):
@raphaelbenoit ~Given the transaction ordering you listed (which would be determined by the orderer), T1 will be marked as a valid transaction and T3 will marked as an invalid transaction by the peers in the network.~

wlahti (Thu, 08 Mar 2018 16:05:12 GMT):
The application should check for the validity of its transactions and resubmit T3 for processing against the updated world state.

wlahti (Thu, 08 Mar 2018 16:05:12 GMT):
~The application should check for the validity of its transactions and resubmit T3 for processing against the updated world state.~ I was incorrect. See messages below.

wlahti (Thu, 08 Mar 2018 16:05:12 GMT):
~The application should check for the validity of its transactions and resubmit T3 for processing against the updated world state.~ I was incorrect. See message below.

raphaelbenoit (Thu, 08 Mar 2018 16:09:07 GMT):
@wlahti thanks for the reply. That is also how I understood it, but in the documentation is says: 1. T1 passes validation because it does not perform any read. Further, the tuple of keys k1 and k2 in the world state are updated to (k1,2,v1'), (k2,2,v2') 2. T2 fails validation because it reads a key, k1, which was modified by a preceding transaction - T1 3. T3 passes the validation because it does not perform a read. Further the tuple of the key, k2, in the world state is updated to (k2,3,v2'') 4. T4 fails the validation because it reads a key, k2, which was modified by a preceding transaction T1 5. T5 passes validation because it reads a key, k5, which was not modified by any of the preceding transactions

wlahti (Thu, 08 Mar 2018 16:10:06 GMT):
which document are you referring to?

raphaelbenoit (Thu, 08 Mar 2018 16:11:17 GMT):
http://hyperledger-fabric.readthedocs.io/en/latest/readwrite.html

raphaelbenoit (Thu, 08 Mar 2018 16:12:38 GMT):
I think it has something to do with the anchors but I am not sure how the ordering service handles this

wlahti (Thu, 08 Mar 2018 16:27:11 GMT):
I reached out to someone more familiar with the ledger. It turns out this situation is referred to as a "blind write". Often, a chaincode's logic will call `GetState` (aka a read) and then perform a `PutState` (aka a write). However, in a "blind write", the chaincode simply performs a `PutState` to write a new value without reading the current value. In this case, no consistency validation is performed and the last transaction "wins" and has the final say in the value. Obviously, not all applications will/should use blind writing but for certain situations I guess this is a desired behavior.

wlahti (Thu, 08 Mar 2018 16:27:11 GMT):
I reached out to someone more familiar with the ledger. It turns out this situation is referred to as a "blind write". Often, a chaincode's logic will call `GetState` (aka a read) to check the value of a certain key and then perform a `PutState` (aka a write) to modify the value of that key. However, in a "blind write", the chaincode simply performs a `PutState` to write a new value without reading the current value. In this case, no consistency validation is performed and the last transaction "wins" and has the final say in the value. Obviously, not all applications will/should use blind writing but for certain situations I guess this is a desired behavior.

wlahti (Thu, 08 Mar 2018 16:27:11 GMT):
@raphaelbenoit I reached out to someone more familiar with the ledger. It turns out this situation is referred to as a "blind write". Often, a chaincode's logic will call `GetState` (aka a read) to check the value of a certain key and then perform a `PutState` (aka a write) to modify the value of that key. However, in a "blind write", the chaincode simply performs a `PutState` to write a new value without reading the current value. In this case, no consistency validation is performed and the last transaction "wins" and has the final say in the value. Obviously, not all applications will/should use blind writing but for certain situations I guess this is a desired behavior.

wlahti (Thu, 08 Mar 2018 16:27:11 GMT):
@raphaelbenoit I reached out to someone more familiar with the ledger and transaction validation than I am. It turns out this situation is referred to as a "blind write". Often, a chaincode's logic will call `GetState` (aka a read) to check the value of a certain key and then perform a `PutState` (aka a write) to modify the value of that key. However, in a "blind write", the chaincode simply performs a `PutState` to write a new value without reading the current value. In this case, no consistency validation is performed and the last transaction "wins" and has the final say in the value. Obviously, not all applications will/should use blind writing but for certain situations I guess this is a desired behavior.

tkueda (Fri, 09 Mar 2018 05:03:44 GMT):
Has joined the channel.

raphaelbenoit (Fri, 09 Mar 2018 09:31:56 GMT):
@wlahti Thank you for the detailed answer! So in other words, I cannot have two transactions that modify the same key/value-pair in the same block tagged as VALID. The first one would get tagged as INVALID and included in the peer ledger but not in the validated ledger. This is somehow against my understading of the validation porcess. I thought that committing peers would always check the readset of a transaction before calling `PutState` and updating the state with the writeset and thereby updating the version of the key (since, how I understood it, transactions within a block are still committed even if not all transactions of the block are committed yet). The documentation says: _In the validation phase, a transaction is considered valid if the version of each key present in the read set of the transaction matches the version for the same key in the world state - assuming all the preceding valid transactions (including the preceding transactions in the same block) are committed (committed-state). _ And another question: What are read-transactions good for? Can't I just use the Hyperledger Explorer if I want to query the ledger?

DarshanBc (Fri, 09 Mar 2018 11:27:22 GMT):
I am trying to invoke a chaincode from another chaincode 2 cc are in 2 different channels I am getting this error ```r: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [channel2] ```

muralisr (Fri, 09 Mar 2018 16:04:01 GMT):
@DarshanBc has the peer joined channel2 ?

DarshanBc (Fri, 09 Mar 2018 17:08:40 GMT):
Yes I can execute transactions on both the channels separately

DarshanBc (Fri, 09 Mar 2018 17:16:03 GMT):
But the peer from which I am calling is not the part of channel 2

jeffgarratt (Fri, 09 Mar 2018 17:51:31 GMT):
@DarshanBc you can only invoke the other chaincode if it is installed locally, which requires the executing peer be a member of both channels I believe.

NeerajKumar (Sat, 10 Mar 2018 10:57:11 GMT):
Has joined the channel.

NeerajKumar (Sat, 10 Mar 2018 10:57:36 GMT):
Can somebody help me to find out a documentation which list out all possible configurations for "hyperledger/fabric-peer" docker image, i really want to/ have to tweak some parts of the functionality of the peer through configurations.

liuhaifeng (Sat, 10 Mar 2018 11:58:27 GMT):
Has joined the channel.

rsherwood (Mon, 12 Mar 2018 12:07:26 GMT):
Given https://jira.hyperledger.org/browse/FAB-5288 can you roll over the orderers intermediate endorsement certificates and still successfully join a new peer to an existing channel using Fabric 1.0? I know you can’t roll over TLS intermediate certificates, but given that the peer is given the channel genesis block and the blocks are then are replayed in order I would assume that this would be OK? Am I correct?

akshay.sood (Mon, 12 Mar 2018 15:31:30 GMT):
byfn always shows ```ERROR: for peer1.debutinfotech.com Cannot start service peer1.debutinfotech.com: driver failed programming external connectivity on endpoint DebutInfotechPeer1 (f808c3c48dfebbe508c66b81aeaceb137656520998d5089d895b698822910149): Bind for 0.0.0.0:1051 failed: port is already allocated``` even if the ports are changed

baohua (Tue, 13 Mar 2018 02:05:14 GMT):
Has left the channel.

AshishMishra 1 (Wed, 14 Mar 2018 09:36:46 GMT):
Hi experts, can someone tell me what does PHANTOM_READ_CONFLICT means? I 'm getting this while using the SDK on a Fabric network to query the chaincode. I deleted few tx records intentionally from the couchdb. But no error is seen on the peer logs also from fabric CLI container I can invoke the same query and I 'm getting results, which is different on different peers (as I said I intentionally deleted tx data). What is different with SDK here that it knew about some conflict.

novusopt (Wed, 14 Mar 2018 14:57:45 GMT):
Hi, is it possible to set the cpu of the underlying docker container of a chaincode. What I have found is that the set up of memory is possible but not cpu..

RahulSonanis (Fri, 16 Mar 2018 14:42:12 GMT):
Has joined the channel.

Ryan2 (Mon, 19 Mar 2018 02:58:59 GMT):
Hi, I got an issue on the fabric network, that is: In the NodeJS APP, network-config is configured to send transaction to peer0 and peer1 as follow: "peers": { "peer0": { "requests": "...", "events": "...", "server-hostname": "peer0", "tls_cacerts": "..." }, "peer1": { "requests": "...", "events": "...", "server-hostname": "peer1", "tls_cacerts": "..." } } and All peer0 and peer1 I instantiated chaincode with Endorsement policy is " -P "AND ('Org0MSP.member')" "

Ryan2 (Mon, 19 Mar 2018 02:58:59 GMT):
Hi, I got an issue on the fabric network, that is: In the NodeJS APP, network-config is configured to send transaction to peer0 and peer1 as follow: "peers": { "peer0": { "requests": "...", "events": "...", "server-hostname": "peer0", "tls_cacerts": "..." }, "peer1": { "requests": "...", "events": "...", "server-hostname": "peer1", "tls_cacerts": "..." } } and All peer0 and peer1 I instantiated chaincode with Endorsement policy is " -P "AND ('Org0MSP.member')" " peer0 and peer1 are belong to Org0MSP When I stop Peer1 then do the transactions from NodeJS App, transaction was failed with exception was "Connection failed to Peer1". Since the Endorsement policy requires any member of Org0MSP endorsing transaction. and peers was configured into NodeJS, I want Application has high availability when peer stopped. How I can do in this case, could you guys help?

RahulSonanis (Mon, 19 Mar 2018 04:49:05 GMT):
Hi all, I am getting an error ENDORSEMENT_POLICY_FAILURE at the time of validation even when I have successful endorsements. Please refer this question `https://stackoverflow.com/questions/49302463/endorsement-policy-failure-for-invoke-chaincode-request-even-when-sufficient-end` for the detailed issue.

Unni_1994 (Mon, 19 Mar 2018 11:34:15 GMT):
Has joined the channel.

wjzheng (Tue, 20 Mar 2018 19:08:08 GMT):
Has joined the channel.

ShikarSharma (Tue, 20 Mar 2018 22:44:02 GMT):
Has joined the channel.

crissi (Wed, 21 Mar 2018 16:57:13 GMT):
Has joined the channel.

pb (Thu, 22 Mar 2018 09:06:42 GMT):
Hi If we have 2 peers A and B, in endorsement policy, we can say either one or both should endorse. But where in code, the criteria for the peer to decide whether to endorse or not is specified?

jeffgarratt (Thu, 22 Mar 2018 15:24:43 GMT):
@pb you can request any peer to endorse a proposal. If it has the chaincode installed and instantiated in the channel, it will respond if you have the appropriate role as the requestor. The validation phase is where each peer determines whether to accept the Tx per the endorsement policy and other criteria.

bourbonkidQ (Thu, 22 Mar 2018 16:03:07 GMT):
Has joined the channel.

bourbonkidQ (Thu, 22 Mar 2018 16:05:52 GMT):
Hi I use docker-compose and i have a probleme for the connection of the peer with the couchdb. When i use peer node start i have this error : 2018-03-22 15:52:35.220 UTC [couchdb] handleRequest -> WARN 015 Retrying couchdb request in 125ms. Attempt:1 Error:Get http://127.0.0.1:5984/: dial tcp 127.0.0.1:5984: getsockopt: connection refused. You can find my docker-compose file here : https://pastebin.com/c8KbgS3U

bourbonkidQ (Thu, 22 Mar 2018 16:05:52 GMT):
Hi I use docker-compose and i have a probleme for the connection of the peer with the couchdb. When i use "peer node start" i have this error : 2018-03-22 15:52:35.220 UTC [couchdb] handleRequest -> WARN 015 Retrying couchdb request in 125ms. Attempt:1 Error:Get http://127.0.0.1:5984/: dial tcp 127.0.0.1:5984: getsockopt: connection refused. You can find my docker-compose file here : https://pastebin.com/c8KbgS3U

pb (Fri, 23 Mar 2018 03:18:06 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8PG5MpkPtCEKcQfdp) @jeffgarratt Ok Thanks.Could you please tell me whether the logic for endorsement is written in js files like policy.js within nodemodules?

DRSK (Fri, 23 Mar 2018 06:10:24 GMT):
Has joined the channel.

krisava (Fri, 23 Mar 2018 13:57:09 GMT):
Hi, Is it possible to trigger multiple events from the chaincode? stub.SetEvent("EVENT-1", eventdata-1) stub.SetEvent("EVENT-2", eventdata-2) Looks like the last event (EVENT-2) alone is getting triggered but not both (EVENT-1 and EVENT-2). Is there any alternative to trigger one or more events at the same time?

jeffgarratt (Fri, 23 Mar 2018 15:10:53 GMT):
@pb endorsement occurs within the peer (golang). see https://github.com/hyperledger/fabric/blob/master/core/endorser/endorser.go#L450

mogamboizer (Fri, 23 Mar 2018 17:42:14 GMT):
Has left the channel.

patelan (Fri, 23 Mar 2018 19:38:23 GMT):
Has joined the channel.

tennenjl (Sun, 25 Mar 2018 22:34:47 GMT):
dynamic

tennenjl (Sun, 25 Mar 2018 22:41:47 GMT):
Dummy question, lets say that for transaction1, I need endorsement by OrgA & Org B, but for transaction2 (using the same chain code), I need endorsement by OrgA & Org C. For both cases, I need at least two peers from each org sending endorsement. Would the client simply use some sort of mechanism to send the request to the appropriate Org/Peers for each request, or is there another best practice which is used to change the endorsing peers for each transaction instance for the same chain code? Thanks!

tennenjl (Sun, 25 Mar 2018 22:41:47 GMT):
Dummy question, lets say that for transaction1, I need endorsement by OrgA & Org B, but for transaction2 (using the same chain code), I need endorsement by OrgA & Org C. For both cases, I need at least two peers from each org sending endorsement. Would the client simply use some sort of mechanism to send the request to the appropriate Org/Peers for each request (OrgA & OrgB for tran1 and OrgA & OrgC for tran2), or is there another best practice which is used to change the endorsing peers for each transaction instance for the same chain code? Thanks!

chenjun-bj (Mon, 26 Mar 2018 01:54:09 GMT):
Has joined the channel.

Brucepark (Mon, 26 Mar 2018 06:04:40 GMT):
When the Fabric endorsement policy is "OR (org1.member org2.member org3.member ... org9.member)" and org1 is hacked and the chain code is changed by hacker, it will create an invalid Tx. This incorrect Tx is likely to be made into blocks and propagated to other org and reflected in other org’s ledger. So it seems very dangerous to use OR Policy solely, Am I right?

Gerard9494 (Tue, 27 Mar 2018 08:39:14 GMT):
Has joined the channel.

Gerard9494 (Tue, 27 Mar 2018 08:42:43 GMT):
Hello everyone, I am trying to define my network endorsement-policy, but I do not understand what I am specificating at this document: { "identities": [ { "role": { "name": "member", "mspId": "Org1MSP" } }, { "role": { "name": "member", "mspId": "Org2MSP" } } ], "policy": { "2-of": [ { "signed-by": 0 }, { "signed-by": 1 } ] } } Somebody know where I can find the information about this document, please? So I can understand it and add a new identity Thanks! :)

vsadriano (Tue, 27 Mar 2018 17:46:00 GMT):
There's two entities: Or1 member and Org2 member. Both must validate all proposal transaction.

vsadriano (Tue, 27 Mar 2018 18:36:31 GMT):
Hi! I'm trying to instantiate a chaincode and I'm getting the error bellow: ```shell ... 2018-03-27 18:01:45.918 UTC [chaincode-platform] func1 -> ERRO 3da Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package chaincode/chaincode_example02: cannot find package "chaincode/chaincode_example02" in any of: /opt/go/src/chaincode/chaincode_example02 (from $GOROOT) /chaincode/input/src/chaincode/chaincode_example02 (from $GOPATH) /opt/gopath/src/chaincode/chaincode_example02 " ... ```

vsadriano (Tue, 27 Mar 2018 18:37:54 GMT):
As you can see, I get install the chaincode: ```shell $ peer chaincode install -o orderer:7050 -n mycc -v 1.0 -p chaincode/chaincode_example02 2018-03-27 17:57:44.998 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2018-03-27 17:57:44.999 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2018-03-27 17:57:44.999 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2018-03-27 17:57:44.999 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc 2018-03-27 17:57:45.171 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS chaincode/chaincode_example02 2018-03-27 17:57:45.566 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package fmt 2018-03-27 17:57:45.567 UTC [golang-platform] func1 -> DEBU 007 Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim 2018-03-27 17:57:45.567 UTC [golang-platform] func1 -> DEBU 008 Discarding provided package github.com/hyperledger/fabric/protos/peer 2018-03-27 17:57:45.567 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package strconv 2018-03-27 17:57:45.567 UTC [golang-platform] GetDeploymentPayload -> DEBU 00a done 2018-03-27 17:57:45.581 UTC [msp/identity] Sign -> DEBU 00b Sign: plaintext: 0A85070A5C08031A0C08998CEAD50510...8C5800080000FFFF2EAFB5EF00040000 2018-03-27 17:57:45.581 UTC [msp/identity] Sign -> DEBU 00c Sign: digest: B9D22DCB00BA6654A543B1F321029A8565129A6B95A05E2364D8C0E6FA59EA50 2018-03-27 17:57:45.606 UTC [chaincodeCmd] install -> DEBU 00d Installed remotely response: 2018-03-27 17:57:45.606 UTC [main] main -> INFO 00e Exiting..... ```

vsadriano (Tue, 27 Mar 2018 18:38:48 GMT):
When I try to instantiate chaincode I get: ```shell $ peer chaincode instantiate -o orderer:7050 --tls --cafile $ORDERER_TLS_CAFILE -C defaultchannel -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' 2018-03-27 18:01:44.948 UTC [dockercontroller] createContainer -> DEBU 3d6 Create container: peer0-mycc-1.0 2018-03-27 18:01:44.956 UTC [dockercontroller] Start -> DEBU 3d7 start-could not find image (container id ), because of ...attempt to recreate image 2018-03-27 18:01:44.956 UTC [chaincode-platform] generateDockerfile -> DEBU 3d8 FROM hyperledger/fabric-baseos:x86_64-0.3.2 ADD binpackage.tar /usr/local/bin LABEL org.hyperledger.fabric.chaincode.id.name="mycc" \ org.hyperledger.fabric.chaincode.id.version="1.0" \ org.hyperledger.fabric.chaincode.type="GOLANG" \ org.hyperledger.fabric.version="1.0.6" \ org.hyperledger.fabric.base.version="0.3.2" ENV CORE_CHAINCODE_BUILDLEVEL=1.0.6 ENV CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/peer.crt COPY peer.crt /etc/hyperledger/fabric/peer.crt 2018-03-27 18:01:44.960 UTC [util] DockerBuild -> DEBU 3d9 Attempting build with image hyperledger/fabric-ccenv:x86_64-1.0.6 2018-03-27 18:01:45.918 UTC [chaincode-platform] func1 -> ERRO 3da Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package chaincode/chaincode_example02: cannot find package "chaincode/chaincode_example02" in any of: /opt/go/src/chaincode/chaincode_example02 (from $GOROOT) /chaincode/input/src/chaincode/chaincode_example02 (from $GOPATH) /opt/gopath/src/chaincode/chaincode_example02 " 2018-03-27 18:01:45.919 UTC [dockercontroller] deployImage -> ERRO 3db Error building images: Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package chaincode/chaincode_example02: cannot find package "chaincode/chaincode_example02" in any of: /opt/go/src/chaincode/chaincode_example02 (from $GOROOT) /chaincode/input/src/chaincode/chaincode_example02 (from $GOPATH) /opt/gopath/src/chaincode/chaincode_example02 " 2018-03-27 18:01:45.919 UTC [dockercontroller] deployImage -> ERRO 3dc Image Output: ******************** ******************** 2018-03-27 18:01:45.919 UTC [container] unlockContainer -> DEBU 3dd container lock deleted(peer0-mycc-1.0) 2018-03-27 18:01:45.919 UTC [chaincode] func1 -> DEBU 3de chaincode mycc:1.0 launch seq completed 2018-03-27 18:01:45.919 UTC [chaincode] Launch -> ERRO 3df launchAndWaitForRegister failed Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package chaincode/chaincode_example02: cannot find package "chaincode/chaincode_example02" in any of: /opt/go/src/chaincode/chaincode_example02 (from $GOROOT) /chaincode/input/src/chaincode/chaincode_example02 (from $GOPATH) /opt/gopath/src/chaincode/chaincode_example02 " 2018-03-27 18:01:45.919 UTC [endorser] callChaincode -> DEBU 3e0 Exit 2018-03-27 18:01:45.919 UTC [endorser] simulateProposal -> ERRO 3e1 failed to invoke chaincode name:"lscc" on transaction f9d3872e6045d61b051828d20fa7111a44d4b8af0cd3305df151f1a65d83d51e, error: Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package chaincode/chaincode_example02: cannot find package "chaincode/chaincode_example02" in any of: /opt/go/src/chaincode/chaincode_example02 (from $GOROOT) /chaincode/input/src/chaincode/chaincode_example02 (from $GOPATH) /opt/gopath/src/chaincode/chaincode_example02 " ```

BilalAhmad (Tue, 27 Mar 2018 20:16:53 GMT):
Has joined the channel.

BilalAhmad (Tue, 27 Mar 2018 20:37:49 GMT):
How can we define that a certain peer can only endorse but it should not be able to maintain the state of ledger ?

bjwswang (Wed, 28 Mar 2018 13:01:38 GMT):
I think we can’t...

asaningmaxchain123 (Wed, 28 Mar 2018 14:59:23 GMT):
@jyellick @wlahti @yacovm why the scc doesn't start the docker container?

asaningmaxchain123 (Wed, 28 Mar 2018 14:59:23 GMT):
@jyellick @wlahti @yacovm why the scc doesn't start the docker container? the application chaincode can do it too?

asaningmaxchain123 (Wed, 28 Mar 2018 14:59:23 GMT):
@jyellick @wlahti @yacovm why the scc doesn't start the docker container? the application chaincode can do it too? if it doesn't please tell me the location of the source code

asaningmaxchain123 (Wed, 28 Mar 2018 14:59:23 GMT):
@jyellick @wlahti @yacovm why the scc doesn't start the docker container? the application chaincode can do it too? if it doesn't please tell me the location of the source code?thx

asaningmaxchain123 (Wed, 28 Mar 2018 15:24:06 GMT):
@manish-sethi

asaningmaxchain123 (Wed, 28 Mar 2018 15:24:06 GMT):
@manish-sethi can you take a look the above question?

manish-sethi (Wed, 28 Mar 2018 15:26:29 GMT):
@massiveashok2014 - a system chaincode by definition runs in the peer process. Most of the system chaincodes are peer code only albeit organized in the form of a chaincode.

manish-sethi (Wed, 28 Mar 2018 15:26:29 GMT):
@asaningmaxchain123 - a system chaincode by definition runs in the peer process. Most of the system chaincodes are peer code only albeit organized in the form of a chaincode.

massiveashok2014 (Wed, 28 Mar 2018 15:26:29 GMT):
Has joined the channel.

asaningmaxchain123 (Wed, 28 Mar 2018 15:29:54 GMT):
the application chaincode can't like the scc?

manish-sethi (Wed, 28 Mar 2018 15:46:18 GMT):
You can. But that would require you to make changes in the peer code and recompile.

asaningmaxchain123 (Wed, 28 Mar 2018 16:11:08 GMT):
@manish-sethi how can i do it? please give me more detail

manish-sethi (Wed, 28 Mar 2018 16:15:50 GMT):
In fact, in 1.1 you should be able to register a system chaincode via go-plugin. You can give this a try http://hyperledger-fabric.readthedocs.io/en/release-1.1/systemchaincode.html

asaningmaxchain123 (Wed, 28 Mar 2018 16:16:41 GMT):
@manish-sethi i know,but so ?

asaningmaxchain123 (Wed, 28 Mar 2018 16:16:41 GMT):
@manish-sethi i know,i still the system chaincode,but doesn't work run

asaningmaxchain123 (Wed, 28 Mar 2018 16:16:41 GMT):
@manish-sethi i know,i still the system chaincode,but doesn't work run,i want the user chaincode can run in process way

joaquimpedrooliveira (Wed, 28 Mar 2018 17:58:04 GMT):
Has joined the channel.

troyronda (Thu, 29 Mar 2018 00:29:03 GMT):
@manish-sethi @asaningmaxchain123 you need to build the peer including the Go Tag pluginsenabled to load system chaincode plugins

troyronda (Thu, 29 Mar 2018 00:29:03 GMT):
@manish-sethi @asaningmaxchain123 to enable loading of system chaincode plugins, you need to build the peer including the Go Tag pluginsenabled

troyronda (Thu, 29 Mar 2018 00:29:03 GMT):
@manish-sethi @asaningmaxchain123 to enable loading of system chaincode plugins, you need to build the peer including the go tag "pluginsenabled"

troyronda (Thu, 29 Mar 2018 00:32:28 GMT):
(note: system chaincode plugins is an advanced thing to do -- you really need a good understanding to do it)

ChrisMcQueenDevelopment (Thu, 29 Mar 2018 16:26:00 GMT):
Has joined the channel.

ChrisMcQueenDevelopment (Thu, 29 Mar 2018 16:26:06 GMT):
If anyone can answer my stackoverfllow question, that would be dream: https://stackoverflow.com/questions/49560791/hyperledger-fabric-endorsement-based-on-specific-parties-involved-in-the-trans

massiveashok2014 (Fri, 30 Mar 2018 07:19:57 GMT):
hyperledger fabric

Ashish (Fri, 30 Mar 2018 15:58:25 GMT):
Reg the Chaincode instantiation, in my understanding/experience with JavaSDK, it would allow us to instantiate only once in a channel and only in one of the peers. Is this understanding correct ? At the end of instantiation, I am able to see one chaincode container up, and the rest do not come up till I actually do a query or invoke..

Ashish (Fri, 30 Mar 2018 15:58:25 GMT):
Hi All, Reg the Chaincode instantiation, in my understanding/experience with JavaSDK, it would allow us to instantiate only once in a channel and only in one of the peers. At the end of instantiation, I am able to see one chaincode container up, and the any other container associated to the same chaincode - but on another Org in the same channel, do not come up till I actually do a query or invoke on that Org's Node. Is this understanding correct ?

Ashish (Fri, 30 Mar 2018 16:01:37 GMT):
As per my understanding, the only endorsement which i can specify during the instantiation is the endorsement policy for the Chaincode Invoke & Query

Ashish (Fri, 30 Mar 2018 16:03:35 GMT):
Is there a way to say on which all node, the Chaincode should be instantiated simultaneously in a channel at the time of instantiation ?

mastersingh24 (Sat, 31 Mar 2018 10:09:22 GMT):
@Ashish pinged me directly, but pasting the response here as well:

mastersingh24 (Sat, 31 Mar 2018 10:09:22 GMT):
@Ashish pinged me directly, but pasting the response here as well: When you instantiate chaincode, it will only be launched on the peer on which you run the instantiate transaction. It is then launched on other peers in the channel only when you invoke and/or query as you stated above. The only way to launch on multiple peers is to send the instantiate request to multiple peers initially. I believe that the sendInstantiationProposal API in the Java SDK allows you to send the request to a collection of peers

muralisr (Sun, 01 Apr 2018 12:35:00 GMT):
@Ashish you can instantiate the same chaincode on multiple channels. However only one container will be created per peer (as you saw, multiple containers come up, one for each peer). The channel context is part of the request (proposal/proposal response) and not part of the running chaincode.

Ashish (Sun, 01 Apr 2018 13:01:08 GMT):
@muralisr Okay. I understand. And I had that concept clear. The question was only in the context of a single channel.

Ashish (Sun, 01 Apr 2018 13:01:13 GMT):
And when I tried out the java SDK first time in November, I had got the chaincode installed in all the peers of all the organisations in a channel. And I had sent the instantiation request to all of them, simultaneously using the sendInstantiationRequest API. But I remember that always only one of them used to come back as successful. Then I went through the documentation and it clearly stated it would be instantiated only once in a channel. And it made sense. And the chaincode containers would come up linked to other peers if I connected to them and tried to query or invoke.

Ashish (Sun, 01 Apr 2018 13:02:39 GMT):
So it would take that 10 sec time for that container to come up but it would and it would have the updated data.

Ashish (Sun, 01 Apr 2018 13:04:11 GMT):
But recently someone mentioned that it's possible to instantiate simultaneously on multiple peers. So I thought it's good to cut down on time. Because I have all the time when I'm installing and instantiating. So why to wait for the first invoke. So I thought of approaching you folks to check.

Ashish (Sun, 01 Apr 2018 13:04:27 GMT):
All the while staying in one single channel

muralisr (Sun, 01 Apr 2018 13:04:58 GMT):
so first of all, I didn't see @mastersingh24 response (for some reason my RC had not refreshed...) and missed some of that context

Ashish (Sun, 01 Apr 2018 13:05:36 GMT):
Thank you for your response anyway Srini. Much appreciated.

muralisr (Sun, 01 Apr 2018 13:06:09 GMT):
`But recently someone mentioned that it's possible to instantiate simultaneously on multiple peers.` - you can send a instantiate proposal to multiple peers just like you can an invoke proposal but in the end the instantiation woukld be done only once per channel

Ashish (Sun, 01 Apr 2018 13:06:27 GMT):
Agreed

muralisr (Sun, 01 Apr 2018 13:06:43 GMT):
the delay in the container coming up - is it a one time thing due to the image getting created ?

Ashish (Sun, 01 Apr 2018 13:06:52 GMT):
Yes.

Ashish (Sun, 01 Apr 2018 13:06:59 GMT):
Only that

muralisr (Sun, 01 Apr 2018 13:07:26 GMT):
that may not be too bad is it ? hopefully you are not going to be doing that all the time ?

Ashish (Sun, 01 Apr 2018 13:09:24 GMT):
It's not, so I didn't give it much of a thought. But someone just asked me , if we can get them up and running not waiting for the first invoke, the business API won't have to..

Ashish (Sun, 01 Apr 2018 13:09:40 GMT):
Hence the whole thing..

muralisr (Sun, 01 Apr 2018 13:12:12 GMT):
right. its just that "bring it up transparently on demand" makes it a tad transparent and lessens user involvement. A trade off that shouldn't cause inconvenience most of the time

muralisr (Sun, 01 Apr 2018 13:12:12 GMT):
right. its just that "bring it up transparently on demand" lessens user involvement. A trade off that shouldn't cause inconvenience most of the time

Ashish (Sun, 01 Apr 2018 13:12:55 GMT):
Agreed to that too. 😊

muralisr (Sun, 01 Apr 2018 13:13:04 GMT):
but I understand the context now, thanks much

Ashish (Sun, 01 Apr 2018 13:13:19 GMT):
One more question. Can I ask?

muralisr (Sun, 01 Apr 2018 13:13:25 GMT):
surely

Ashish (Sun, 01 Apr 2018 13:14:37 GMT):
Is fabric ever planning to give a feature of logs as extractable files in a mapped volume ever ? Like the application volume of a java application? Here instead of the whole application, just that of the chaincode I'm interested in?

Ashish (Sun, 01 Apr 2018 13:14:59 GMT):
Like the application log of a java application. Typo

Ashish (Sun, 01 Apr 2018 13:15:31 GMT):
Docker logs have all. But its a streaming log..

Ashish (Sun, 01 Apr 2018 13:15:53 GMT):
Looking in that is like looking for needlle in haystack

Ashish (Sun, 01 Apr 2018 13:16:39 GMT):
Hence the thought. In production for offline analysis, we have to have something like this

Ashish (Sun, 01 Apr 2018 13:17:22 GMT):
Cos these financial institutions don't give docker user access etc..

muralisr (Sun, 01 Apr 2018 13:18:33 GMT):
agree. there was some mention of providing more options to users for logging. I don't recall what the context was...let me check something.

Ashish (Sun, 01 Apr 2018 13:19:01 GMT):
Okay. Anyway thank you very much for your time. Happy Easter..

muralisr (Sun, 01 Apr 2018 13:21:46 GMT):
I thought there was a JIRA on this but can't find it... let me refer us to @wlahti (perhaps you can open a JIRA and contribute with Will @Ashish ?)

muralisr (Sun, 01 Apr 2018 13:22:07 GMT):
happy Easter!

Ashish (Sun, 01 Apr 2018 13:22:07 GMT):
Sure sure

Ashish (Sun, 01 Apr 2018 13:22:12 GMT):
:)

ganeshraut (Mon, 02 Apr 2018 09:51:36 GMT):
How to integrate kafka + Hyper ledger fabric please guide me if any one have knowledge about HA environment I want to set up multiple Orderer with multiple node

patelan (Mon, 02 Apr 2018 21:47:27 GMT):
How to configure grpc.keepalive_time_ms for the peer in fabric#1.0.3 ?

patelan (Mon, 02 Apr 2018 21:48:01 GMT):
We are blocked because of the stability issue. After 15 mins calls are timing out

iamdm (Tue, 03 Apr 2018 12:08:48 GMT):
How to modify channel writers policy to add ability to members to write?

iamdm (Tue, 03 Apr 2018 12:09:14 GMT):
I added member role to MSP policy but it doesn't work

muralisr (Tue, 03 Apr 2018 14:23:11 GMT):
@iamdm can you check in #fabric-orderer please ?

wlahti (Tue, 03 Apr 2018 15:45:35 GMT):
@Ashish @muralisr Sorry for taking a while to get back on this. There is an old item that captures this feature request, FAB-2804. Take a look and feel free to chime in with your thoughts!

wlahti (Tue, 03 Apr 2018 15:45:35 GMT):
@Ashish @muralisr Sorry for taking a while to get back on this. There is an old item that captures this feature request, https://jira.hyperledger.org/browse/FAB-2804. Take a look and feel free to chime in with your thoughts!

Ashish (Tue, 03 Apr 2018 15:47:23 GMT):
@wlahti Sure Will. I will take a look and get back to you.

muralisr (Tue, 03 Apr 2018 15:57:13 GMT):
Thanks @wlahti ... I _knew_ there was a JIRA out there :-)

Ashish (Tue, 03 Apr 2018 16:03:46 GMT):
:wink:

Ryan2 (Wed, 04 Apr 2018 04:39:21 GMT):
hi, I got an issue is that, when transaction was invalid but block was commited "2018-04-04 04:37:31.334 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 05d Block [7] Transaction index [0] marked as invalid by committer. Reason code [10] 2018-04-04 04:37:31.337 UTC [kvledger] Commit -> INFO 05e Channel [smschannel4]: Created block [7] with 1 transaction(s) 2018-04-04 04:37:31.344 UTC [eventhub_producer] SendProducerBlockEvent -> INFO 05f Channel [smschannel4]: Sending event for block number [7] " it should be not commited, why is that happend?

Ryan2 (Wed, 04 Apr 2018 04:39:21 GMT):
hi, I got an issue is that, when transaction was invalid but block was commited "2018-04-04 04:37:31.334 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 05d Block [7] Transaction index [0] marked as invalid by committer. Reason code [10] 2018-04-04 04:37:31.337 UTC [kvledger] Commit -> INFO 05e Channel [smschannel4]: Created block [7] with 1 transaction(s) 2018-04-04 04:37:31.344 UTC [eventhub_producer] SendProducerBlockEvent -> INFO 05f Channel [mychannel]: Sending event for block number [7] " it should be not commited, why is that happend?

Ryan2 (Wed, 04 Apr 2018 04:39:21 GMT):
hi, I got an issue is that, when transaction was invalid but block was commited "2018-04-04 04:37:31.334 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 05d Block [7] Transaction index [0] marked as invalid by committer. Reason code [10] 2018-04-04 04:37:31.337 UTC [kvledger] Commit -> INFO 05e Channel [mychannel]: Created block [7] with 1 transaction(s) 2018-04-04 04:37:31.344 UTC [eventhub_producer] SendProducerBlockEvent -> INFO 05f Channel [mychannel]: Sending event for block number [7] " it should be not commited, why is that happend?

Ryan2 (Wed, 04 Apr 2018 04:39:21 GMT):
hi, I got an issue is that, when transaction was invalid but block was commited "2018-04-04 04:37:31.334 UTC [statevalidator] ValidateAndPrepareBatch -> WARN 05d Block [7] Transaction index [0] marked as invalid by committer. Reason code [10] 2018-04-04 04:37:31.337 UTC [kvledger] Commit -> INFO 05e Channel [mychannel]: Created block [7] with 1 transaction(s) 2018-04-04 04:37:31.344 UTC [eventhub_producer] SendProducerBlockEvent -> INFO 05f Channel [mychannel]: Sending event for block number [7] " "2018-04-04 04:37:31.338 UTC [committer/txvalidator] validateTx -> ERRO 14c VSCCValidateTx for transaction txId = 39796987a0b64fa6511e1f39a4afa0c3d70e7d617372454b024c288cc983f72c returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy 2018-04-04 04:37:31.339 UTC [valimpl] preprocessProtoBlock -> WARN 14d Channel [mychannel]: Block [7] Transaction index [0] TxId [39796987a0b64fa6511e1f39a4afa0c3d70e7d617372454b024c288cc983f72c] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE] 2018-04-04 04:37:31.347 UTC [kvledger] CommitWithPvtData -> INFO 14e Channel [mychannel]: Committed block [7] with 1 transaction(s) " it should be not commited, why is that happend?

muralisr (Wed, 04 Apr 2018 13:47:24 GMT):
@Ryan2 the key is this `marked as invalid by committer.`. The block contains many transactions. Those that failed are marked as invalid. Users can retrieve blocks and see if their TX succeeded or not

richzhao (Wed, 04 Apr 2018 15:56:35 GMT):
Has joined the channel.

Ryan2 (Wed, 04 Apr 2018 21:15:57 GMT):
Hi @muralisr , as the log show, Block7 marked as invaid by committer but Block7 was Created (the log I got from 2 peers separately,) What is Reason code [10] mean?

muralisr (Wed, 04 Apr 2018 21:17:02 GMT):
couple of things @Ryan2

muralisr (Wed, 04 Apr 2018 21:17:21 GMT):
1) see very similar error below `Block [7] Transaction index [0] TxId [39796987a0b64fa6511e1f39a4afa0c3d70e7d617372454b024c288cc983f72c] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE]`

muralisr (Wed, 04 Apr 2018 21:17:37 GMT):
so guessing 10 means ENDORSEMENT_POLICY_FAILURE

muralisr (Wed, 04 Apr 2018 21:18:14 GMT):
2) `Block7 marked as invaid by committer` - not quite. ` Block [7] Transaction index [0] marked as invalid by committer`

Ryan2 (Wed, 04 Apr 2018 21:21:40 GMT):
thank you, I quite clear, However,` Why peer not rejecting commit the block which contain the Invalid Transaction`?

Ryan2 (Wed, 04 Apr 2018 21:21:40 GMT):
thank you, I quite clear, However,*` Why peer not rejecting commit the block which contain the Invalid Transaction`*?

Ryan2 (Wed, 04 Apr 2018 21:21:40 GMT):
thank you, I quite clear, However,*` Why peer not reject commitng the block which contain the Invalid Transaction`*?

Ryan2 (Wed, 04 Apr 2018 21:21:40 GMT):
thank you, I quite clear, However,*` Why peer not reject committing the block which contain the Invalid Transaction`*?

qizhang (Fri, 06 Apr 2018 02:05:25 GMT):
Hi guys, I have two questions regarding to the endorsing process: 1. If an endorsing peer tries the endorse a transaction T, which updates in the Worldstate to . However, the endorsing peer's current Worldstate only has , what will this endorsing peer do with this transaction? 2. For a client to ensure a transaction has been successfully endorsed, the following two requirements need to be satisfied (1) enough number of endorsements are received (2) the simulation results in the endorsements match with each other. Say, a malicious peer receives enough number of endorsements, which are NOT matched. However, this peer still packed these endorsements into a proposal and sent it to the order, will the order be able to detect this transaction is not valid? If not, where and how such invalid transaction will be detected?

qizhang (Fri, 06 Apr 2018 02:05:25 GMT):
Hi guys, I have two questions regarding to the endorsing process: 1. If an endorsing peer tries the endorse a transaction T, which updates in the Worldstate to . However, the endorsing peer's current Worldstate only has , what will this endorsing peer do with this transaction? 2. For a client to ensure a transaction has been successfully endorsed, the following two requirements need to be satisfied (1) enough number of endorsements are received (2) the simulation results in the endorsements match with each other. Say, a malicious peer receives enough number of endorsements, which are NOT matched. However, this peer still packed these endorsements into a proposal and sent it to the order, will the order be able to detect this transaction is not valid? If not, where and how such invalid transaction will be detected?

qizhang (Fri, 06 Apr 2018 02:05:25 GMT):
Hi guys, I have two questions regarding to the endorsing process: 1. If an endorsing peer tries the endorse a transaction T, which updates in the Worldstate to . However, the endorsing peer's current Worldstate only has , what will this endorsing peer do with this transaction? 2. For a client to ensure a transaction has been successfully endorsed, the following two requirements need to be satisfied (1) enough number of endorsements are received (2) the simulation results in the endorsements match with each other. Say, a malicious peer receives enough number of endorsements, which are NOT matched. However, this peer still packed these endorsements into a proposal and sent it to the order, will the order be able to detect this transaction is not valid? If not, where and how such invalid transaction will be detected?

qizhang (Fri, 06 Apr 2018 02:05:25 GMT):
Hi guys, I have two questions regarding to the endorsing process: 1. If an endorsing peer tries the endorse a transaction T, which read in the Worldstate. However, the endorsing peer's current Worldstate only has , what will this endorsing peer do with this transaction? 2. For a client to ensure a transaction has been successfully endorsed, the following two requirements need to be satisfied (1) enough number of endorsements are received (2) the simulation results in the endorsements match with each other. Say, a malicious peer receives enough number of endorsements, which are NOT matched. However, this peer still packed these endorsements into a proposal and sent it to the order, will the order be able to detect this transaction is not valid? If not, where and how such invalid transaction will be detected?

qizhang (Fri, 06 Apr 2018 02:05:25 GMT):
Hi guys, I have two questions regarding to the endorsing process: 1. If an endorsing peer tries the endorse a transaction T, which needs to read in the Worldstate. However, the endorsing peer's current Worldstate only has , what will this endorsing peer do with this transaction? Will T be simulated on and then the result will be invalid, or the endorsing peer will hold T until its Worldstate has ? 2. For a client to ensure a transaction has been successfully endorsed, the following two requirements need to be satisfied (1) enough number of endorsements are received (2) the simulation results in the endorsements match with each other. Say, a malicious peer receives enough number of endorsements, which are NOT matched. However, this peer still packed these endorsements into a proposal and sent it to the order, will the order be able to detect this transaction is not valid? If not, where and how such invalid transaction will be detected?

kkado (Sat, 07 Apr 2018 04:17:58 GMT):
Has joined the channel.

pankajcheema (Mon, 09 Apr 2018 14:02:22 GMT):
Has joined the channel.

Levilk (Mon, 09 Apr 2018 14:15:53 GMT):
Has joined the channel.

Levilk (Mon, 09 Apr 2018 14:16:27 GMT):
Hello! I am curious is there any solution for this problem right now: I've a working network with 1 org, 1 orderer , and 2 peer. I've installed and instantinated succesfully a chaincode on the peers (CC was working perfectly). I decided to add a new peer to the network. Started a new peer image and joined it to the channel. After i installed the same chaincode without any problem i could not instantinate it (CC is already exist). So i removed the cc's containers and deleted the cc's images and the CCs from the peers (/var/hyperledger/production/chaincodes/:). There was no problem installing them again on all peer on the other hand they've still existed in the channel. I was able to list them on the channel besides the system CCs. Is there any way to instantinate this cc again without a network restart? Must i restart the network if i would like to add this cc to a new peer? Thanks for answers!

C0rWin (Mon, 09 Apr 2018 14:38:42 GMT):
@Levilk `After i installed the same chaincode without any problem i could not instantinate it (CC is already exist)` --> no need to instantiate chaincode twice, once you get it instantiated on first peer the instantiation transaction recorded to the ledger, hence once second peer will get in sync it will catch up with update

asaningmaxchain123 (Mon, 09 Apr 2018 15:19:19 GMT):
@C0rWin @mastersingh24 @manish-sethi the doesn't support the validatation of the tx concurrence

asaningmaxchain123 (Mon, 09 Apr 2018 15:19:19 GMT):
@C0rWin @mastersingh24 @manish-sethi the doesn't support the validatation of the tx concurrence? if one peer ledger deleted by manual,What's going to happen?

C0rWin (Mon, 09 Apr 2018 16:05:08 GMT):
@asaningmaxchain123 can you expand on your question? what doesn't support the validation of the tx concurrence?

asaningmaxchain123 (Tue, 10 Apr 2018 03:31:05 GMT):
@jyellick currently,the committer support the high concurrency

jyellick (Tue, 10 Apr 2018 04:10:21 GMT):
@asaningmaxchain123 If you are referring to parallel transaction validation, this was merged into v1.1.0 and you should see that in a multi-core environment, all CPUs are utilized for transaction validation (rather than just 1 in v1.0.x)

asaningmaxchain123 (Tue, 10 Apr 2018 04:25:06 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qG6vXyHZtCNGX9SpG) @jyellick can you tell me the location of the source code for `parallel transaction validation` ,is it in the `VSCC`?

DRSK (Tue, 10 Apr 2018 04:55:48 GMT):
Hi,

asaningmaxchain123 (Tue, 10 Apr 2018 05:09:00 GMT):
@jyellick @mastersingh24 @manish-sethi can you tell me the docker file about the `couchdb zookeeper kafka` from the url https://hub.docker.com/r/hyperledger/fabric-kafka/ i don't see it

DRSK (Tue, 10 Apr 2018 05:18:04 GMT):
Hi, I am working on fabric and found the endorsement policy is mentioned in the starting script as "-P "OR ('Org1MSP.member','Org2MSP.member')" and understood that either of the members of ORG1 or ORG2must endorse the transaction. But I couldn't locate exactly 1) Where and how in code, the members of Org1 or Org2 decide whether it should endorse or not? 2) How can we customize endorsement criteria differently for different endorsers? ( Not who all to endorse, but how it decides whether the proposal could be successfully endorsed or not) Can anyone please help me out? @muralisr @C0rWin @asaningmaxchain123

DRSK (Tue, 10 Apr 2018 05:18:04 GMT):
Hi, I am working on fabric and found the endorsement policy is mentioned in the starting script as "-P "OR ('Org1MSP.member','Org2MSP.member')" and understood that either of the members of ORG1 or ORG2must endorse the transaction. But I couldn't locate exactly 1) Where and how in code, the members of Org1 or Org2 decide whether it should endorse or not? 2) How can we customize endorsement criteria differently for different endorsers? ( Not who all to endorse, but how it decides whether the proposal could be successfully endorsed or not) Can anyone please help me out? @muralisr @C0rWin @asaningmaxchain123 @wlahti

tennenjl (Tue, 10 Apr 2018 12:42:41 GMT):
Dummy question, lets say I have an asset (say a health record) which is associated with two orgs (OrgA and Org B), I need endorsement by OrgA & Org B for a transaction associated with this record, but for transaction2 (using the same chain code), I have a health record which is tied to two different Orgs where I need endorsement by Org C & Org D. For both cases, I need at least two peers from each org sending endorsement. Would the client simply choose and send the request to the appropriate Org/Peers for each request (where the specific Orgs are not part of the endorsement policy) (OrgA & OrgB for tran1 and Org C & Org D for tran2), or is there any way to dynamically specify the endorsing peer signatures required for each transaction instance for the same chain code ? Either way, the client would need to know which endorsing peers they need to send the request to, but I don't think you could specify which peers have to sign it, only the number of peers.

jyellick (Tue, 10 Apr 2018 14:00:53 GMT):
> @jyellick can you tell me the location of the source code for `parallel transaction validation` ,is it in the `VSCC`? @asaningmaxchain123 https://github.com/hyperledger/fabric/blob/release-1.1/core/committer/txvalidator/validator.go#L169

asaningmaxchain123 (Tue, 10 Apr 2018 14:44:23 GMT):
@jyellick thx very much

naganjaneyulu (Tue, 10 Apr 2018 16:35:03 GMT):
Has joined the channel.

naganjaneyulu (Tue, 10 Apr 2018 16:35:09 GMT):
Hello

naganjaneyulu (Tue, 10 Apr 2018 16:35:50 GMT):
have question on engrossing of transaction received from client applications

naganjaneyulu (Tue, 10 Apr 2018 16:36:16 GMT):
what does meant engrossing and why do we need to do endorsing of transactions.?

naganjaneyulu (Tue, 10 Apr 2018 16:42:04 GMT):
what is job of endorsing peers.?

eabiodun (Tue, 10 Apr 2018 20:45:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=PAEQ2pEeZ5hDSNtSC) @naganjaneyulu Highly recommended you read this link.

eabiodun (Tue, 10 Apr 2018 20:45:24 GMT):
http://hyperledger-fabric.readthedocs.io/en/release-1.1/arch-deep-dive.html

naganjaneyulu (Tue, 10 Apr 2018 22:05:26 GMT):
it would be great if someone explains with some simple example

DRSK (Wed, 11 Apr 2018 03:09:50 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wKvZT9YfuWDqPTJGz) @muralisr When we read transaction from the ledger directly by using transaction id, how can we differentiate if it is a valid or invalid one?

DRSK (Wed, 11 Apr 2018 03:10:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=okEmKukiGTn8AiMTH) @muralisr When we read transaction from the ledger directly by using transaction id, how can we differentiate if it is a valid or invalid one?

dsl (Wed, 11 Apr 2018 04:57:18 GMT):
Has joined the channel.

asaningmaxchain123 (Wed, 11 Apr 2018 06:47:29 GMT):
@jyellick what's the different between `ResourceConfig` and `ChannelConfig` for peer

C0rWin (Wed, 11 Apr 2018 11:28:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wrTMEpgPjKSd9SAA3) @DRSK You need to lookup transactions statuses from block metadata and check tx status

jyellick (Wed, 11 Apr 2018 14:08:00 GMT):
@asaningmaxchain123 Resource config was an experimental feature in v1.1, it will likely be removed in v1.2

asaningmaxchain123 (Wed, 11 Apr 2018 14:08:40 GMT):
@jyellick i agree

asaningmaxchain123 (Wed, 11 Apr 2018 14:08:40 GMT):
@jyellick i agree,can you take a look #fabric-peer-endorser-committer

dsl (Thu, 12 Apr 2018 05:39:27 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ivjqagdn7sCyLCWvh) @C0rWin Ok Got it. Thanks

markthedark (Thu, 12 Apr 2018 13:41:51 GMT):
Has joined the channel.

davidgsmits (Thu, 12 Apr 2018 13:49:55 GMT):
Has joined the channel.

SmartContract2018 (Thu, 12 Apr 2018 21:17:47 GMT):
Has joined the channel.

SmartContract2018 (Thu, 12 Apr 2018 21:24:17 GMT):
Where is the physical ledger file located on my Ubuntu peer node? I am looking for the exact file location. Thanks also, has anyone tried to deploy a network using Fabric, with a very large number of private ledgers (1000s)? Did you face any issues?

pankajcheema (Mon, 16 Apr 2018 10:39:40 GMT):
Anyone knows this error ```akshay@akshay:~/fabric-material$ peer channel create -o hr.debut.com:7050 -c channel1 -f ./channel-artifacts/channel.tx --tls --cafile '/home/akshay/fabric-material/crypto-config/ordererOrganizations/debut.com/msp/tlscacerts/tlsca.debut.com-cert.pem' 2018-04-16 16:08:27.627 IST [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating ReadSet: readset expected key [Group] /Channel/Application at version 0, but got version 1 ```

markthedark (Mon, 16 Apr 2018 11:26:57 GMT):
hello. I'm trying to update the configtx.taml configuration file in basic-network sample, but my ca container crashes with: Error: Failed to find private key for certificate in '/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem': Could not find matching private key for SKI: Failed getting key for SKI I ran the generate.sh script after updating the configuration, do i need to update something else too?

DarshanBc (Tue, 17 Apr 2018 08:54:39 GMT):
what is the criteria in production environment to which peer a transaction request has to submitted to

acombeau (Tue, 17 Apr 2018 10:32:31 GMT):
Has joined the channel.

acombeau (Tue, 17 Apr 2018 10:37:41 GMT):
root@ad5ce3265ff9:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel create -o orderer.mydomain.com:7050 -c twochannel -f ./channel-artifacts/twochannel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/mydomain.com/orderers/orderer.mydomain.com/msp/tlscacerts/tlsca.mydomain.com-cert.pem 2018-04-17 10:37:27.617 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2018-04-17 10:37:27.617 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity Error: failed to create deliver client: orderer client failed to connect to orderer.mydomain.com:7050: failed to create new connection: tls: first record does not look like a TLS handshake

acombeau (Tue, 17 Apr 2018 10:38:09 GMT):
Is this error talk to someone ?

jrosmith (Tue, 17 Apr 2018 15:27:43 GMT):
hey all, i've upgrade my system to 1.1 and am trying to install and instantiate my chaincode. i'm able to install but when i go to instantiate i get `premature execution - chaincode (treds:3.3.1) launched and waiting for registration` i never saw this error in 1.0 before, is there something else i need to before instantiating?

jrosmith (Tue, 17 Apr 2018 15:27:43 GMT):
hey all, i've upgrade my system to 1.1 and am trying to install and instantiate my chaincode. i'm able to install but when i go to instantiate i get `premature execution - chaincode (mycc:3.3.1) launched and waiting for registration` i never saw this error in 1.0 before, is there something else i need to before instantiating?

jrosmith (Tue, 17 Apr 2018 15:27:43 GMT):
hey all, i've upgrade my system to 1.1 and am trying to install and instantiate my chaincode. i'm able to install but when i go to instantiate i get `premature execution - chaincode (mycc:1.0.0) launched and waiting for registration` i never saw this error in 1.0 before, is there something else i need to before instantiating?

jrosmith (Tue, 17 Apr 2018 15:28:34 GMT):
hey all, i've upgrade my system to 1.1 and am trying to install and instantiate my chaincode. i'm able to install but when i go to instantiate i get `premature execution - chaincode (mycc:1.0.0) launched and waiting for registration` i never saw this error in 1.0 before, is there something else i need to before instantiating?

jrosmith (Tue, 17 Apr 2018 15:28:34 GMT):
hey all, i've upgrade my system to 1.1 and am trying to install and instantiate my chaincode. i'm able to install but when i go to instantiate i get `premature execution - chaincode (mycc:1.0.0) launched and waiting for registration` i never saw this error in 1.0 before, is there something else i need to before instantiating? as an update, i've tried running instantiate again ~10 minutes later and keep receiving the same error message. what exactly is the registration process doing under the hood?

jrosmith (Tue, 17 Apr 2018 15:59:40 GMT):
figured it out the peer logs gave me the following: `Error starting mycc chaincode: Error trying to connect to local peer: remote error: tls: bad certificate` which stems from https://jira.hyperledger.org/browse/FAB-8091 [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=nm4kyfuxddvy27tXA)

jrosmith (Tue, 17 Apr 2018 15:59:40 GMT):
figured it out. the peer logs gave me the following: `Error starting mycc chaincode: Error trying to connect to local peer: remote error: tls: bad certificate` which stems from https://jira.hyperledger.org/browse/FAB-8091 [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=nm4kyfuxddvy27tXA)

pjjp (Wed, 18 Apr 2018 12:50:14 GMT):
Has joined the channel.

asaningmaxchain123 (Wed, 18 Apr 2018 15:03:14 GMT):
@jyellick what's the relationship between org and msp?

asaningmaxchain123 (Wed, 18 Apr 2018 15:03:14 GMT):
@jyellick @smithbk @wlahti what's the relationship between org and msp?

jyellick (Wed, 18 Apr 2018 15:19:44 GMT):
The relationship is 1-1

asaningmaxchain123 (Wed, 18 Apr 2018 15:30:23 GMT):
@jyellick however in the doc,http://hyperledger-fabric.readthedocs.io/en/release-1.1/msp.html?highlight=msp

asaningmaxchain123 (Wed, 18 Apr 2018 15:30:41 GMT):
in the `Best Practices` section

jyellick (Wed, 18 Apr 2018 15:50:29 GMT):
@asaningmaxchain123 This section is referring to organization more conceptually. Let me replace the word 'organization' with company where it makes sense: > One organization employing various MSPs This would become "One company employing various Organizations/MSPs" > Multiple organizations using a single MSP This would become "One company using a single Organization/MSP"

jyellick (Wed, 18 Apr 2018 15:51:55 GMT):
In Fabric, the definition of "Organization" is 1-1 with MSP. If you need multiple MSPs for the same entity/organization/company you will need to create multiple Fabric MSPs.

jyellick (Wed, 18 Apr 2018 15:51:55 GMT):
In Fabric, the definition of "Organization" is 1-1 with MSP. If you need multiple MSPs for the same entity/organization/company you will need to create multiple Fabric MSPs (which means creating multiple organizations).

asaningmaxchain123 (Wed, 18 Apr 2018 15:55:42 GMT):
@jyellick can you tell me how to set the multiple Fabric MSPs for One company?

asaningmaxchain123 (Wed, 18 Apr 2018 15:56:20 GMT):
in the examples/e2e it just contains the one Msp for each Org

asaningmaxchain123 (Wed, 18 Apr 2018 15:56:20 GMT):
in the ·examples/e2e· it just contains the one Msp for each Org

asaningmaxchain123 (Wed, 18 Apr 2018 15:56:20 GMT):
in the `examples/e2e` it just contains the one Msp for each Org

jyellick (Wed, 18 Apr 2018 17:42:06 GMT):
@asaningmaxchain123 You would need to create multiple orgs. Like... Org1Sales, Org1Research, etc.

jyellick (Wed, 18 Apr 2018 17:42:28 GMT):
They would look like multiple organizations to Fabric, but they would all represent a single organization

jrosmith (Wed, 18 Apr 2018 20:45:48 GMT):
in 1.0 i was able to use `GetQueryResult` with a rich query string containing `\"use_index\": \"_design/myIndex\"`, but when I use the same rich query string in 1.1 I get `Couch DB Error:no_usable_index, Status Code:400, Reason:The index specified with "use_index" is not usable for the query.` during transactions endorsement. But `_design/myIndex` definitely exists when I look in Project Fauxton for the database. Was there a change to the way rich queries are executed in the peer?

jrosmith (Wed, 18 Apr 2018 20:45:48 GMT):
in 1.0 i was able to use `GetQueryResult` with a rich query string containing `\"use_index\": \"_design/myIndex\"`, but when I use the same rich query string in 1.1 I get: ```Couch DB Error:no_usable_index, Status Code:400, Reason:The index specified with "use_index" is not usable for the query.``` during transactions endorsement. But `_design/myIndex` definitely exists when I look in Project Fauxton for the database. Was there a change to the way rich queries are executed in the peer?

jrosmith (Wed, 18 Apr 2018 20:45:48 GMT):
in 1.0 i was able to use `GetQueryResult` with a rich query string containing `\"use_index\": \"_design/myIndex\"`, but when I use the same rich query string in 1.1 I get ```Couch DB Error:no_usable_index, Status Code:400, Reason:The index specified with "use_index" is not usable for the query.``` during transactions endorsement. But `_design/myIndex` definitely exists when I look in Project Fauxton for the database. Was there a change to the way rich queries are executed in the peer?

jrosmith (Wed, 18 Apr 2018 20:45:48 GMT):
in 1.0 i was able to use `GetQueryResult` with a rich query string containing `\"use_index\": \"_design/myIndex\"`, but when I use the same rich query string in 1.1 I get ```Couch DB Error:no_usable_index, Status Code:400, Reason:The index specified with "use_index" is not usable for the query.``` during transactions endorsement. But `_design/myIndex` definitely exists when I look in Project Fauxton. Was there a change to the way rich queries are executed in the peer?

asaningmaxchain123 (Wed, 18 Apr 2018 23:14:45 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=uoMbi2cyNYqiCJgwN) @jyellick it uses the same `Msp`?

asaningmaxchain123 (Wed, 18 Apr 2018 23:14:45 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=uoMbi2cyNYqiCJgwN) @jyellick it uses the same `Msp`? so it refers `"One company using a single Organization/MSP"`

jyellick (Thu, 19 Apr 2018 04:46:21 GMT):
@asaningmaxchain123 I do not understand your intent. Please describe concretely your goal

jyellick (Thu, 19 Apr 2018 04:46:21 GMT):
@asaningmaxchain123 I do not understand your intent. Please describe concretely your goal (ideally with an example)

Mihai.A (Thu, 19 Apr 2018 06:31:02 GMT):
Has joined the channel.

rahulhegde (Thu, 19 Apr 2018 12:52:43 GMT):
@jyellick @dave.enyeart We are getting https://github.com/hyperledger/fabric/blob/v1.0.6/core/chaincode/chaincode_support.go#L598 - is the reason that the HFC client is set a timeout (endorsing request) which is not enough for peer to compile-launch the chaincode image?

rahulhegde (Thu, 19 Apr 2018 12:52:43 GMT):
@jyellick @dave.enyeart We are getting https://github.com/hyperledger/fabric/blob/v1.0.6/core/chaincode/chaincode_support.go#L598 - is the reason that the HFC client is set a timeout for endorsing request which is not enough for peer to compile-launch the chaincode image? Any other reasons.

rahulhegde (Thu, 19 Apr 2018 12:52:43 GMT):
Hello @jyellick @dave.enyeart - can you help on below query We sometime get following error @ https://github.com/hyperledger/fabric/blob/v1.0.6/core/chaincode/chaincode_support.go#L598 - is the reason that the HFC client is setting a timeout for an endorsing request that is not enough for peer to compile & launch the chaincode container? Any other reasons.

jyellick (Thu, 19 Apr 2018 17:09:47 GMT):
@rahulhegde The first time a chaincode is queried/invoked, if it is not running already, it will be launched. This acquires a lock which causes all further queries/invokes of that chaincode to be rejected until the launch sequence finishes. I expect what has happened is that your chaincode container has stopped (maybe you restarted the peer? upgraded the chaincoded?), and you have multiple clients which are trying to get endorsements or query it at the same time. I'd love to see this limitation removed in the future, but that is the behavior today.

rahulhegde (Thu, 19 Apr 2018 17:13:47 GMT):
@jyellick the first part is correct - this is specifically in case of new chaincode instantiate/upgrade, never got for the case where peer was restarted and chaincode was in process to launch (may be timing related). I will check the 2nd part - if multiple clients is related to our case.

rahulhegde (Thu, 19 Apr 2018 18:05:37 GMT):
@jyellick - I have confirmed the 2nd part too which occurred in our case. Do you know if there is a hyperledger jira for it - if no, i will open.

jyellick (Thu, 19 Apr 2018 18:06:21 GMT):
I am unaware of any JIRA for it, please do open

rahulhegde (Thu, 19 Apr 2018 18:08:21 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=MHcxFngPqv54Gst4o) @jyellick I will open a JIRA. Thank You.

bourbonkidQ (Mon, 23 Apr 2018 12:29:01 GMT):
Hello could you explain me what the flag `` --peer-defaultchain=false is it used `` for ?

bourbonkidQ (Mon, 23 Apr 2018 12:29:01 GMT):
Hello could you explain me what the flag ` --peer-defaultchain=false is it used` for ?

bourbonkidQ (Mon, 23 Apr 2018 12:29:01 GMT):
Hello could you explain me what the flag ` --peer-defaultchain=false` is it used for ?

bltaylor (Mon, 23 Apr 2018 14:56:12 GMT):
Has joined the channel.

bltaylor (Mon, 23 Apr 2018 14:58:07 GMT):
Does anyone know if the hash of a getQueryResult is included in the read set for VSCC validation in 1.1?

bltaylor (Mon, 23 Apr 2018 17:20:33 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=KLLrLrMvt4Lk7xRY3) As far as I can tell is does not yet; type nsRWs struct { readMap map[string]*kvrwset.KVRead //for mvcc validation writeMap map[string]*kvrwset.KVWrite rangeQueriesMap map[rangeQueryKey]*kvrwset.RangeQueryInfo //for phantom read validation rangeQueriesKeys []rangeQueryKey }

Ryan2 (Tue, 24 Apr 2018 02:41:12 GMT):
hi, when I start peer, peer logged as ` Started peer with ID=[name:"jdoe" ], network ID=[dev], address=[0.0.0.0:7051]` However I scripted `CORE_PEER_ID=org1-peer1 \`, how to avoid this one, and peer start with ID defined

CodeReaper (Wed, 25 Apr 2018 10:10:45 GMT):
Has joined the channel.

CodeReaper (Wed, 25 Apr 2018 10:10:53 GMT):
Hi, I tried to do a chaincode query, the query's code is taking it in an infinite loop. Meanwhile I tried doing an invoke(invoke was valid function). What I found was that even the invoke didn't work. It gave the following error-

CodeReaper (Wed, 25 Apr 2018 10:11:18 GMT):

Clipboard - April 25, 2018 3:41 PM

CodeReaper (Wed, 25 Apr 2018 10:11:21 GMT):
Did query close down the eventhub of the invoke?? If so, will loads of invoke a thing to worry about then, one closing the eventhub of another? Point to note is that 15 second is timeout for any request, invoke timeout much faster than the query itself. Query timed out after 15 seconds only

kerokhin (Wed, 25 Apr 2018 11:00:39 GMT):
Has joined the channel.

Ryan2 (Thu, 26 Apr 2018 01:19:13 GMT):
hi, my network has 2 Orgs A and B, OrgA has 2 peer and OrgB has 2 peers. what is endorsement policy syntax for the case is "2 signatures from org A" and "1 signature from org B" Thanks

SmartContract2018 (Thu, 26 Apr 2018 15:41:51 GMT):
I am working on a fabric based design that can potentially have 1000's of private transactions (as many chaincodes). From data privacy perspective, I am looking to have the optimum design. I can have individual channels for each private communication thus ensuring that only relevant transactions are stored physically on any node. However it means creating 1000s of individual channels. It creates operations/maintenance challenges and network stability. Any feedback would be appreciated.

pankajcheema (Thu, 26 Apr 2018 18:03:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=dX2zoXzSWsjFWBCzQ) I also have same situation

pankajcheema (Thu, 26 Apr 2018 18:03:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=dX2zoXzSWsjFWBCzQ) I also have same situation. Any suggestion appreciated

Unni_1994 (Fri, 27 Apr 2018 11:30:11 GMT):
Hi Al

Unni_1994 (Fri, 27 Apr 2018 11:30:11 GMT):
Hi All

Unni_1994 (Fri, 27 Apr 2018 11:30:58 GMT):
Is there is any transaction pool concept in hyperledger

yacovm (Fri, 27 Apr 2018 12:14:42 GMT):
@Unni_1994 no, because fabric claims to have a pluggable ordering service

yacovm (Fri, 27 Apr 2018 12:15:24 GMT):
therefore the only guarantees are the API that the service provides.

Unni_1994 (Fri, 27 Apr 2018 13:13:48 GMT):
Thanks @yacovm

chainsaw (Fri, 27 Apr 2018 15:53:20 GMT):
Has joined the channel.

kostas (Fri, 27 Apr 2018 21:58:17 GMT):
Has left the channel.

jastisriradheshyam (Mon, 30 Apr 2018 07:23:04 GMT):
Has joined the channel.

Ed.Curran (Mon, 30 Apr 2018 14:52:17 GMT):
Has joined the channel.

HandsomeRoger (Wed, 02 May 2018 01:36:15 GMT):
Has joined the channel.

HandsomeRoger (Wed, 02 May 2018 01:39:06 GMT):
HI~ Are there some documents about fabric state db and index db? I want to understand restrictions and size about index, view and db. Thanks.

Ryan2 (Wed, 02 May 2018 01:55:02 GMT):
hi @yacovm can you help on my question: [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=dX2zoXzSWsjFWBCzQ)

Unni_1994 (Wed, 02 May 2018 05:04:39 GMT):
Hi All , Maximum number of transactions in a block?

Unni_1994 (Wed, 02 May 2018 05:04:58 GMT):
I am getting only one transactions per block.

yacovm (Wed, 02 May 2018 11:43:50 GMT):
@Ryan2 - something like: `AND(AND(OrgA.member, OrgA.member), OrgB.member)`

Ryan2 (Wed, 02 May 2018 12:01:04 GMT):
Thank you @yacovm , like I suppected originally, but not sure

pvrbharg (Wed, 02 May 2018 23:13:21 GMT):
Dear team - I am seeing this error in first-network tutorial and want to know where I can look for understanding and debugging this issue?

pvrbharg (Wed, 02 May 2018 23:13:32 GMT):

Clipboard - May 2, 2018 4:13 PM

pvrbharg (Wed, 02 May 2018 23:14:10 GMT):
This is happening in byfn.sh when peer0 of org1 is trying to do an invoke transaction of moving 10 dollars from A to B. The script reports success oddly when the underlying issue fails.

pvrbharg (Wed, 02 May 2018 23:14:26 GMT):

Clipboard - May 2, 2018 4:14 PM

pvrbharg (Wed, 02 May 2018 23:16:04 GMT):
I am using V1.1.0 release on RHEL platform. Please let me know if it helps to send channel-artifacts. Again this is first-network sample running from fabric-samples repo.

pvrbharg (Thu, 03 May 2018 02:02:28 GMT):
I meant to indicate that the failure peer console log is here - https://pastebin.com/88CseNxk

kevin-s-wang (Thu, 03 May 2018 02:37:15 GMT):
Has joined the channel.

binhn (Thu, 03 May 2018 13:13:12 GMT):
Has left the channel.

latitiah (Thu, 03 May 2018 22:26:08 GMT):
I am seeing an error where the chaincode container is not starting for one of my peers - or to be more exact - the container does not always consistently come up for my peers. When performing an instantiation (using CLI commands for say peer1), I notice that I see a process for what I've labeled peer2 'root 18950 0.4 0.3 70440 15940 ? Ssl 22:09 0:00 chaincode -peer.address=10.0.2.15:8052'

latitiah (Thu, 03 May 2018 22:26:08 GMT):
I am seeing an error where the chaincode container is not starting for one of my peers - or to be more exact - the container does not always consistently come up for my peers. When performing an instantiation (using CLI commands for say peer1), I notice that I see a process for what I've labeled peer2 `root 18950 0.4 0.3 70440 15940 ? Ssl 22:09 0:00 chaincode -peer.address=10.0.2.15:8052`

latitiah (Thu, 03 May 2018 22:26:08 GMT):
I am seeing an error where the chaincode container is not starting for one of my peers - or to be more exact - the container does not always consistently come up for my peers. When performing an instantiation (using CLI commands for say peer1), I notice that I see a process for what I've labeled peer2 ```root 18950 0.4 0.3 70440 15940 ? Ssl 22:09 0:00 chaincode -peer.address=10.0.2.15:8052```

latitiah (Thu, 03 May 2018 22:27:27 GMT):
I then see the following error in the log for peer1: ```[e][peer] 2018-05-03 22:09:36.475 UTC [golang-platform] GenerateDockerBuild -> INFO 032 building chaincode with ldflagsOpt: '-ldflags "-linkmode external -extldflags '-static'"' [e][peer] 2018-05-03 22:09:36.475 UTC [golang-platform] GenerateDockerBuild -> INFO 033 building chaincode with tags: experimental [e][peer] 2018-05-03 22:09:46.659 UTC [chaincode-platform] func1 -> ERRO 034 Failed to generate platform-specific docker build: Error returned from build: 137 "" [e][peer] 2018-05-03 22:09:46.659 UTC [dockercontroller] deployImage -> ERRO 035 Error building images: Failed to generate platform-specific docker build: Error returned from build: 137 "" [e][peer] 2018-05-03 22:09:46.659 UTC [dockercontroller] deployImage -> ERRO 036 Image Output: [e][peer] ******************** [e][peer] [e][peer] ******************** [e][peer] 2018-05-03 22:09:46.684 UTC [chaincode] Launch -> ERRO 037 startAndWiatForReady failed: Failed to generate platform-specific docker build: Error returned from build: 137 "" [e][peer] error starting container [e][peer] error starting container [e][peer] 2018-05-03 22:09:46.684 UTC [chaincode] ExecuteChaincode -> ERRO 038 Failed to generate platform-specific docker build: Error returned from build: 137 "" [e][peer] error starting container [e][peer] error starting container [e][peer] error invoking chaincode [e][peer] 2018-05-03 22:09:46.684 UTC [endorser] simulateProposal -> ERRO 039 [testchannel][267195f8] failed to invoke chaincode name:"mycc" , error: Failed to generate platform-specific docker build: Error returned from build: 137 "" [e][peer] error starting container [e][peer] error starting container [e][peer] error invoking chaincode```

latitiah (Thu, 03 May 2018 22:28:22 GMT):
This issue is not consistent, but what is consistent is if I see both chaincode processes from the single instantiation, everything works as expected.

latitiah (Thu, 03 May 2018 22:29:29 GMT):
That is, if I see: ```root 29888 0.3 0.3 151312 14616 ? Ssl 20:24 0:00 chaincode -peer.address=10.0.2.15:8052 root 30026 0.8 0.3 69384 14800 ? Ssl 20:25 0:00 chaincode -peer.address=10.0.2.15:7052```

latitiah (Thu, 03 May 2018 22:29:56 GMT):
Thoughts? Ideas?

latitiah (Thu, 03 May 2018 22:33:08 GMT):
BTW: I'm running off of master; commit: 3f782c9740708df3b1ff74efe9c3f4a654721c34

latitiah (Thu, 03 May 2018 22:49:59 GMT):
@muralisr :^^

muralisr (Fri, 04 May 2018 00:15:58 GMT):
@latitiah the `ps` listing are from within the container ?

muralisr (Fri, 04 May 2018 00:18:07 GMT):
I'd need more context

latitiah (Fri, 04 May 2018 01:19:21 GMT):
Ah no, I'm running the peers and orderer locally. The process listing is from my machine

acombeau (Fri, 04 May 2018 10:27:50 GMT):
Anyone now ow is it possible to modify the READ/WRITE access to a peer ? I saw that there are two possibility one on the Chaincode, the other one on the config file. can anyone help me to find the right file? Is there a link with this ? : `You can also see that the endorsement policy has been modified to -P "OR ('Org1MSP.peer','Org2MSP.peer','Org3MSP.peer')". `

zhaochy (Mon, 07 May 2018 04:54:02 GMT):
hello, does anyone knows how to enable private data for fabric-peer? even if I build with `EXPERIMENTAL=true`, it seems lscc also think the private channel data feature is not enabled

ShrutiSinha (Mon, 07 May 2018 08:27:27 GMT):
Has joined the channel.

Starseven (Tue, 08 May 2018 11:55:58 GMT):
Has joined the channel.

Amjadnz (Tue, 08 May 2018 15:09:21 GMT):
hi - question being redirected from the node-sdk-forum Hi! Question on the sendProposal for NODE-SDK (still on Fabric 1.0.5) My users are doing the following transactions fairly quickly Transaction 1 - Do an entry in the LEDGER (uisng the chaincodeInvoke at node_js) Transaction 2 - Do another entry in the LEDGER (using the same chaincodeInvoke at node_js) The transaction 2 - gets a timeout (of 120 Secs - that is what I set) - then retries again to move forward and succeeds. the end user have to wait for 2 to 3 minutes to get a successful transactions. My network is TLS Enabled and has 4 Orgs with 2 peers each. ```error: [E2E testing]: transaction proposal was bad error: [E2E testing]: transaction proposal was bad error: [E2E testing]: transaction proposal was bad error: [E2E testing]: transaction proposal was bad error: [E2E testing]: Failed to send Proposal or receive valid response. Response null or status is not 200. exiting... error: [E2E testing]: Error: Failed to send Proposal or receive valid response. Response null or status is not 200. exiting... at promise.then.then.then.then.then (/tts/blockchain/fabric-sdk-node/test/integration/e2e/e2eUtils.js:1212:19) at ``` can anyone help? My thinking process points out to the CONCENSUS mechanism to wait till all the endorsers on 4 ORGS have done the work and provide me a transaction confirmation before moving on any new transaction - Is this understanding correct? And if so how can we ensure that we have a fire and forget - and in the the node-js listeners - I would do the reversal part if something indeed fails.

wenjian (Tue, 08 May 2018 18:55:56 GMT):
Has joined the channel.

patelan (Tue, 08 May 2018 20:49:48 GMT):
Hi, Quick question : I am removing peer containers and launching it again and running peer channel list inside peer. It is showing the old channels. How Can I clear the complete cache ? Thanks in advance

Amjadnz (Wed, 09 May 2018 09:03:28 GMT):
Hi guys! ```{"log":"2018-05-09 07:46:02.107 UTC [kvledger] Commit -\u003e INFO 117\u001b[0m Channel [agmchannel]: Created block [75] with 1 transaction(s)\n","stream":"stderr","time":"2018-05-09T07:46:02.112324253Z"} {"log":"2018-05-09 07:46:42.372 UTC [eventhub_producer] SendProducerBlockEvent -\u003e INFO 118\u001b[0m Channel [agmchannel]: Sending event for block number [75]\n","stream":"stderr","time":"2018-05-09T07:46:42.373476132Z"}``` Why my endorser is taking 44 seconds to send a event for block commit?

Amjadnz (Wed, 09 May 2018 09:03:39 GMT):
Any ideas appreciated

Amjadnz (Wed, 09 May 2018 09:05:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3CBCCf57JPLg23F6s) @patelan - I use the below script to clean off all the working parts and start afresh. ```sudo rm -fR /var/folders/2f rm -fR /tmp/hfc rm -fR /var/hyperledger rm -fR /home/bchadmin/.hfc-key-store/ docker volume rm $(docker volume ls -f 'dangling=true') docker kill $(docker ps -q) docker rm $(docker ps -a -q) docker rmi $(docker images |grep 'dev')```

Amjadnz (Wed, 09 May 2018 09:08:57 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=vy5m7Moku9EdcxM2x) - On the same note - I'm using the couch DB as my state db and I guess that is one part of the slowness. Unfortunately could not see any logs on the couch db side to know any issues.

Amjadnz (Wed, 09 May 2018 09:32:54 GMT):
Another question - my chaincode has multiple PUTSTATEs - can I defer them and commit them together or the changes are gone the momemt put state is called?

Amjadnz (Wed, 09 May 2018 09:33:31 GMT):
I have a feeling that the multiple putstates (actual 5 for transaction records and 5 for index) - is causing the delay in endorsing the transactions.

yacovm (Wed, 09 May 2018 09:34:18 GMT):
no, you can't

yacovm (Wed, 09 May 2018 09:34:27 GMT):
and it's a shame because the ledger has an API for multiple putStates

yacovm (Wed, 09 May 2018 09:34:30 GMT):
but the chaincode doesn't

Amjadnz (Wed, 09 May 2018 09:36:58 GMT):
Hi yacovm - So I should not use the multiple putstates and instruct the app to call each transaction seperately. The issue I merged them that each transaction was taking time and clubbing them improved the initial testing. But now at load testing level - we are observing that the endorsers are very slow in cofirming blocks back.

yacovm (Wed, 09 May 2018 09:37:26 GMT):
confirming blocks?

yacovm (Wed, 09 May 2018 09:37:31 GMT):
what does that mean

Amjadnz (Wed, 09 May 2018 09:37:34 GMT):
confirming transactions

yacovm (Wed, 09 May 2018 09:37:41 GMT):
you mean endorsing?

Amjadnz (Wed, 09 May 2018 09:37:52 GMT):
yes

yacovm (Wed, 09 May 2018 09:38:05 GMT):
well if you have many GetStates or PutStates

yacovm (Wed, 09 May 2018 09:38:19 GMT):
then the chaincode shim plays ping-pong with the peer

yacovm (Wed, 09 May 2018 09:38:32 GMT):
instead of batching everything together :(

yacovm (Wed, 09 May 2018 09:38:34 GMT):
and it is very slow

Amjadnz (Wed, 09 May 2018 09:39:35 GMT):
I c

Amjadnz (Wed, 09 May 2018 09:43:30 GMT):
Phew - atleast something new I learnt - thanks mate. Probably - that explains that out of 3 transactions ( 2 were single put-states and 1 was multiple putstates)

Amjadnz (Wed, 09 May 2018 09:43:40 GMT):
the last one was taking way too much time

pd93 (Wed, 09 May 2018 10:05:32 GMT):
@yacovm I have a bulk import function in one of my chaincodes. This takes 1000 records at a time, encoded as a string, decodes them and puts each of them into CouchDB with a PutState. This takes around 5 seconds for each bulk. It was my impression that this would be quicker than sending 1000 individual invocations. However, from what you've just said, this sounds like a bad idea? Could you clarify for me what exactly is bad about multiple PutStates()? Or is it only bad when used in conjunction with multiple GetStates() as per your ping-pong analogy?

yacovm (Wed, 09 May 2018 10:06:06 GMT):
I feel like i'm hosting an "Ask-Me-Anything" :rolling_eyes:

yacovm (Wed, 09 May 2018 10:06:30 GMT):
Can you use a rich query or a range query @pd93 ?

yacovm (Wed, 09 May 2018 10:06:52 GMT):
oh, you *put* data in?

yacovm (Wed, 09 May 2018 10:06:56 GMT):
not *extract* data?

yacovm (Wed, 09 May 2018 10:09:01 GMT):
it's always faster to send 1 invocation with multiple PutStates than many chaincode invocations...

yacovm (Wed, 09 May 2018 10:09:21 GMT):
in each chaincode invocation there are signature checks, etc. for security

yacovm (Wed, 09 May 2018 10:10:38 GMT):
So yeah - 1000 put-states would mean that the shim sends 1000 messages and wait for responses to/from the peer. It's not that slow since they run in the same computer, but it's still much slower than just passing these 1000 messages in the end of the chaincode invocation...

yacovm (Wed, 09 May 2018 10:10:44 GMT):
@muralisr we should fix this

pd93 (Wed, 09 May 2018 10:12:38 GMT):
Okay, that's really helpful, thanks

pd93 (Wed, 09 May 2018 10:44:43 GMT):
@yacovm If you end up discussing the above as a feature for a future version, would you be so kind as to post a JIRA link? I'd be really interested in tracking that CR as I think it could greatly increase the speed of our imports. Happy to help create the CR if one does not already exist

yacovm (Wed, 09 May 2018 10:50:41 GMT):
please create a CR anyway

yacovm (Wed, 09 May 2018 10:50:41 GMT):
please create a JIRA anyway

Amjadnz (Wed, 09 May 2018 10:59:34 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=Qg6JNQN59H6iDxZNe) @pd93 - Looks like we are staring the same barrell :relaxed:

pd93 (Wed, 09 May 2018 11:23:42 GMT):
@yacovm @Amjadnz See JIRA item: FAB-9970 Please feel free to add any thoughts. Wasn't sure which component this belonged under, so it's in `fabric-peer` for now

Amjadnz (Wed, 09 May 2018 12:25:14 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=Nhi4Pb7knpB8E6oeW) @pd93 Thanks mate - would update it with my comments as well

acombeau (Wed, 09 May 2018 13:13:07 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=o6sFnSWgb5NggrKQo) any idea ?

patelan (Wed, 09 May 2018 17:27:59 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=w3J33GzG37bMR5uiA) @Amjadnz Thanks Amjadnz

Amjadnz (Wed, 09 May 2018 19:45:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=YJkwDXmih5B5ySCHD) @yacovm - Just to update once the calls have been broken into single calls - the performance is identical in all the services. So my current issue of 40 secs is no more there. Would be updating what @pd93 raised in JIRA shortly.

yacovm (Wed, 09 May 2018 19:45:50 GMT):
I don't understand....

yacovm (Wed, 09 May 2018 19:45:52 GMT):
single calls?

Amjadnz (Wed, 09 May 2018 19:49:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=tQDctYjaJ5nqTdERJ) @yacovm - I was making combined call with multiple PutStates. On a more complex call - this was taking 2 mins to respond. Other calls were getting response within 300 ms to 500 ms.

Amjadnz (Wed, 09 May 2018 19:50:38 GMT):
once we broke those multiple putstates to single transactions - the process ran fine and we have near identical calls rates.

yacovm (Wed, 09 May 2018 19:50:44 GMT):
and you're saying, that once you broke that call that has `n` put-states, to `n` calls of ` `putState` it is fast?

yacovm (Wed, 09 May 2018 19:50:44 GMT):
and you're saying, that once you broke that call that has `n` put-states, to `n` calls of ` `1` `putState` it is fast?

yacovm (Wed, 09 May 2018 19:50:44 GMT):
and you're saying, that once you broke that call that has `n` put-states, to `n` calls of `1` `putState` it is fast?

yacovm (Wed, 09 May 2018 19:51:11 GMT):
are you doing them in parallel?

yacovm (Wed, 09 May 2018 19:51:13 GMT):
or serially?

Amjadnz (Wed, 09 May 2018 19:51:29 GMT):
yes faster than multiple put states.

Amjadnz (Wed, 09 May 2018 19:51:29 GMT):
yes faster than multiple put states.

yacovm (Wed, 09 May 2018 19:51:49 GMT):
are you doing them in parallel? Or serially?

Amjadnz (Wed, 09 May 2018 19:52:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=zrpQKnWDgiJZEgt9P) @yacovm - right now serially. But our next target is doing a full round of load/performance/smoke tests

yacovm (Wed, 09 May 2018 19:52:44 GMT):
holy cow... @muralisr how is that possible? ^

Amjadnz (Wed, 09 May 2018 19:53:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=DD5cCFrmjcSB9dJKN) @yacovm - is that a big item - I thought is my performance issue (due to the way my chaincode was structured).

Amjadnz (Wed, 09 May 2018 19:54:11 GMT):
```{"log":"2018-05-09 07:46:02.107 UTC [kvledger] Commit -\u003e INFO 117\u001b[0m Channel [agmchannel]: Created block [75] with 1 transaction(s)\n","stream":"stderr","time":"2018-05-09T07:46:02.112324253Z"} {"log":"2018-05-09 07:46:42.372 UTC [eventhub_producer] SendProducerBlockEvent -\u003e INFO 118\u001b[0m Channel [agmchannel]: Sending event for block number [75]\n","stream":"stderr","time":"2018-05-09T07:46:42.373476132Z"}```

Amjadnz (Wed, 09 May 2018 19:54:19 GMT):
my older log shoing 42 seconds

Amjadnz (Wed, 09 May 2018 19:54:19 GMT):
my older log showing 42 seconds

yacovm (Wed, 09 May 2018 19:54:31 GMT):
wait....

yacovm (Wed, 09 May 2018 19:54:48 GMT):
that's not what you said

yacovm (Wed, 09 May 2018 19:54:55 GMT):
i thought you meant the *endorsement* is slower

yacovm (Wed, 09 May 2018 19:54:57 GMT):
not the *commit*!

yacovm (Wed, 09 May 2018 19:55:31 GMT):
but - how can the commit take 40 seconds? are you using couchDB?

Amjadnz (Wed, 09 May 2018 19:55:37 GMT):
yes couchdb

yacovm (Wed, 09 May 2018 19:55:52 GMT):
@dave.enyeart ^

yacovm (Wed, 09 May 2018 19:56:08 GMT):
@manish-sethi ^

yacovm (Wed, 09 May 2018 19:56:43 GMT):
what's the endorsement policy @Amjadnz ?

Amjadnz (Wed, 09 May 2018 20:02:28 GMT):
```var request = { chaincodePath: chaincode_path, chaincodeId: e2e.chaincodeId, chaincodeVersion: version, fcn: 'init', args: ['a', '100', 'b', '200'], txId: tx_id, // use this to demonstrate the following policy: // 'if signed by org1 admin, then that's the only signature required, // but if that signature is missing, then the policy can also be fulfilled // when members (non-admin) from both orgs signed' 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: ORGS['dfm'].mspid }}, //{ role: { name: 'member', mspId: ORGS['sca'].mspid }}, //{ role: { name: 'member', mspId: ORGS['adx'].mspid }}, { role: { name: 'admin', mspId: ORGS['dfm'].mspid }} ], policy: { '1-of': [ { 'signed-by': 2}, { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1 }]} ] } } };```

Amjadnz (Wed, 09 May 2018 20:02:28 GMT):
```var request = { chaincodePath: chaincode_path, chaincodeId: e2e.chaincodeId, chaincodeVersion: version, fcn: 'init', args: ['a', '100', 'b', '200'], txId: tx_id, // use this to demonstrate the following policy: // 'if signed by org1 admin, then that's the only signature required, // but if that signature is missing, then the policy can also be fulfilled // when members (non-admin) from both orgs signed' 'endorsement-policy': { identities: [ { role: { name: 'member', mspId: ORGS['yyy'].mspid }}, //{ role: { name: 'member', mspId: ORGS['zzz'].mspid }}, //{ role: { name: 'member', mspId: ORGS['aaa'].mspid }}, { role: { name: 'admin', mspId: ORGS['bbb'].mspid }} ], policy: { '1-of': [ { 'signed-by': 2}, { '2-of': [{ 'signed-by': 0}, { 'signed-by': 1 }]} ] } } };```

Amjadnz (Wed, 09 May 2018 20:03:46 GMT):
I was trying with many items to the other members are commented, actually - now all are enabled.

yacovm (Wed, 09 May 2018 20:04:20 GMT):
you're giving peers admin certificates, @Amjadnz ?

Amjadnz (Wed, 09 May 2018 20:04:54 GMT):
One the org who is actually the owner of this network is given the admin certs

Amjadnz (Wed, 09 May 2018 20:05:18 GMT):
Anyway that would change - as we are planning to have it transferred to a governing council

yacovm (Wed, 09 May 2018 20:05:22 GMT):
please don't do this

yacovm (Wed, 09 May 2018 20:05:31 GMT):
don't hand out admin certificates to peers

Amjadnz (Wed, 09 May 2018 20:05:45 GMT):
Yes I uderstand - this is just a POC as of now

Amjadnz (Wed, 09 May 2018 20:05:45 GMT):
Yes I understand - this is just a POC as of now

yacovm (Wed, 09 May 2018 20:06:15 GMT):
ok so it's not a huge endorsement policy... it must be couchDB

Amjadnz (Wed, 09 May 2018 20:06:19 GMT):
Proof of concept

Amjadnz (Wed, 09 May 2018 20:08:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aNGYE4C6cxo3LJ48k) @yacovm - But strangely it is fine with the SINGLE transactions at a time. I also got some issues at the couch-db level - but logs here may not be right to discuss

yacovm (Wed, 09 May 2018 20:09:23 GMT):
it's fine because probably it gets split into many blocks

yacovm (Wed, 09 May 2018 20:09:33 GMT):
but i just don't understand how a commit of a block took 40 seconds

yacovm (Wed, 09 May 2018 20:09:40 GMT):
is the couchDB hosted on the moon?

Amjadnz (Wed, 09 May 2018 20:11:14 GMT):
Just to put in right perspective - this is the call logs I had put in another rocket chat (for node-sdk) thinking it is a node sdk specific item. `Call 1: Sending proposal time is taking as almost 500 milli seconds (ACCPETABLE)` ```info: [11:46:00.230 - E2E testing]: ****** AT CHAIN CODE : Sending Transaction Proposal info: [11:46:00.781 - E2E testing]: ***** AT CHain code: Recieving results ``` `Call 2: Sending proposal time is taking as almost 450 milli seconds (ACCPETABLE)` ``` info: [11:45:56.359 - E2E testing]: ****** AT CHAIN CODE : Sending Transaction Proposal info: [11:45:56.803 - E2E testing]: ***** AT CHain code: Recieving results ``` `Call 3: Sending proposal time is taking as almost 40 seconds (This is taking way too long)` ```info: [11:46:04.214 - E2E testing]: ****** AT CHAIN CODE : Sending Transaction Proposal info: [11:46:43.037 - E2E testing]: ***** AT CHain code: Recieving results ```

Amjadnz (Wed, 09 May 2018 20:38:21 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=pJXfPu2SMN2AfSZ8Y) @yacovm - maybe let me check the couchdb_url :relaxed:

dave.enyeart (Wed, 09 May 2018 21:23:58 GMT):
@Amjadnz If you post a peer debug and highlight the slow transaction I'd be happy to take a look. You could post on fabric-ledger where there is less traffic.

Amjadnz (Thu, 10 May 2018 05:17:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=enTh4WqFS6YfMtj5y) @dave.enyeart - Thanks. Just rewrote the single transactions part and in the process of testing that (and multiple PUTSTATES where an issue). Would be posting it after couple of days - is that fine?

amolpednekar (Thu, 10 May 2018 06:23:09 GMT):
Has joined the channel.

Amjadnz (Thu, 10 May 2018 06:26:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=enTh4WqFS6YfMtj5y) @dave.enyeart - done please let me know if you need any other info.

Amjadnz (Thu, 10 May 2018 06:27:40 GMT):
I could not see a slow transaction per se - but the transaction (Multiple PUTSTATE) are taking 40 odd seconds to complete.

SiddharthR (Thu, 10 May 2018 08:58:48 GMT):
Has joined the channel.

SiddharthR (Thu, 10 May 2018 09:20:05 GMT):
I want to create a channel with two organisations and add a transaction to the ledger only if two peers from different organisations sign it. How to do it?

Amjadnz (Thu, 10 May 2018 15:30:15 GMT):
A question with respect to Endorsement policy. If the endorsement policy has a single admin line - what is the impact on the transactions it is submitted or endorsed by the admin node? Would it be accepted by the orderer? In my case it is mentioning `validation of endorsement policy failed` and the transaction is not written to the ledger.

Amjadnz (Thu, 10 May 2018 15:30:15 GMT):
A question with respect to Endorsement policy. If the endorsement policy has a single admin line - what is the impact on the transactions it is submitted or endorsed by the admin node? Would it be accepted by the orderer? In my case it is mentioning `validation of endorsement policy failed` in the admin node logs and the transaction is not written to the ledger.

Amjadnz (Thu, 10 May 2018 15:32:19 GMT):
Another question is if a transaction proposal is submitted - none of the queries chaincodes are working and gives me a timeout and then after a while (like 60 seconds) retries and gives me the result (may be it is waiting for 140 seconds) - my timeout is 20 secs.

Aswath8687 (Fri, 11 May 2018 01:25:33 GMT):
Has joined the channel.

Amjadnz (Sat, 12 May 2018 17:38:39 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZtibRfdwwpiPMc93m) - this issue is now resolved. It was the issue with my configuration and COUCHDB. Once the STATE DB was changed to DEFAULT store (LEVELDB) - all the performance issues went away. Concurrent items and rest all were fine. The requests now are taking less than 500 ms - that was the number we were looking at consistently.

Ryan2 (Mon, 14 May 2018 01:28:59 GMT):
hi I got the issue launching the Chaincode when invoke the chaincode in short period of time (invoking continuously) `[31m2018-05-11 08:06:04.102 UTC [chaincode] ExecuteChaincode -> ERRO 00eESC[0m Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration [31m2018-05-11 08:06:04.102 UTC [endorser] simulateProposal -> ERRO 00fESC[0m failed to invoke chaincode name:"mychannel_CC_001" on transaction 44e7b7b391fd33491f30cafcffc223d90f8102ff5e5b4baf79aa9e4e8c732da1, error: Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration` But sleep for awhile can avoid this, Is there any config to adjust so that I can invoke CC continuously?

Ryan2 (Mon, 14 May 2018 01:28:59 GMT):
hi I got the issue launching the Chaincode when invoke the chaincode in short period of time (invoking continuously) *[31m2018-05-11 08:06:04.102 UTC [chaincode] ExecuteChaincode -> ERRO 00eESC[0m Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration [31m2018-05-11 08:06:04.102 UTC [endorser] simulateProposal -> ERRO 00fESC[0m failed to invoke chaincode name:"mychannel_CC_001" on transaction 44e7b7b391fd33491f30cafcffc223d90f8102ff5e5b4baf79aa9e4e8c732da1, error: Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration* But sleep for awhile can avoid this, Is there any config to adjust so that I can invoke CC continuously?

Ryan2 (Mon, 14 May 2018 01:28:59 GMT):
hi I got the issue launching the Chaincode when invoke the chaincode in short period of time (invoking continuously) [31m2018-05-11 08:06:04.102 UTC [chaincode] ExecuteChaincode -> ERRO 00eESC[0m Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration [31m2018-05-11 08:06:04.102 UTC [endorser] simulateProposal -> ERRO 00fESC[0m failed to invoke chaincode name:"mychannel_CC_001" on transaction 44e7b7b391fd33491f30cafcffc223d90f8102ff5e5b4baf79aa9e4e8c732da1, error: Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration But sleep for awhile can avoid this, Is there any config to adjust so that I can invoke CC continuously?

versus (Mon, 14 May 2018 09:06:47 GMT):
Has joined the channel.

Ryan2 (Mon, 14 May 2018 14:01:25 GMT):
hi I got the issue launching the Chaincode when invoke the chaincode in short period of time (invoking continuously) [31m2018-05-11 08:06:04.102 UTC [chaincode] ExecuteChaincode -> ERRO 00eESC[0m Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration [31m2018-05-11 08:06:04.102 UTC [endorser] simulateProposal -> ERRO 00fESC[0m failed to invoke chaincode name:"mychannel_CC_001" on transaction 44e7b7b391fd33491f30cafcffc223d90f8102ff5e5b4baf79aa9e4e8c732da1, error: Error executing chaincode: premature execution - chaincode (mychannel_CC_001:t4) launched and waiting for registration But sleep for awhile can avoid this, Is there any config to adjust so that I can invoke CC continuously?

jrosmith (Mon, 14 May 2018 14:31:34 GMT):
@Ryan2 are you saying the chaincode container was up and running, you were running transactions against it, and then in the middle of those continuous transactions you got this error? or had you just instantiated the chaincode and started sending invokes to the peer?

XingqiangMao (Mon, 14 May 2018 17:47:34 GMT):
Has joined the channel.

XingqiangMao (Mon, 14 May 2018 17:48:21 GMT):
Hi Pals, getting issue "failed to create deliver client: orderer client failed to connect to $IP:7050: failed to create new connection: x509: cannot validate certificate for $IP because it doesn't contain any IP SANs" I am trying to connect orderer from another ip address. It is in the local network. Any idea what should I do for the certs file ?

Ryan2 (Mon, 14 May 2018 23:14:28 GMT):
Hi @jrosmith , this case: *the chaincode container was up and running, you were running transactions against it, and then in the middle of those continuous transactions you got this error*

acombeau (Tue, 15 May 2018 12:27:33 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=BSuH6QFGfaivTYXdY)

jrosmith (Tue, 15 May 2018 12:36:52 GMT):
@Ryan2 it sounds like the container went down in the middle of transaction processing and then attempted to come back up when the next transaction went through. are there any errors from the peer just before you got the premature execution errors? alternatively start the process over again and follow the chaincode logs, see what the condition is that causes it to exit

grapebaba (Tue, 15 May 2018 14:23:16 GMT):
Hi guys, we use fabric node sdk and fabric 1.0.2 version, under we heavy load test, peer will got many error during Chat, stopping handler: rpc error: code = Canceled desc = context canceled

grapebaba (Tue, 15 May 2018 14:23:26 GMT):
also in sdk side

grapebaba (Tue, 15 May 2018 14:24:51 GMT):
i merge these two patch https://jira.hyperledger.org/browse/FAB-5464 and https://jira.hyperledger.org/browse/FAB-5775

grapebaba (Tue, 15 May 2018 14:25:06 GMT):
no help

grapebaba (Tue, 15 May 2018 14:32:07 GMT):
any other bug implict there?

dannongruver (Tue, 15 May 2018 17:26:01 GMT):
Has joined the channel.

dannongruver (Tue, 15 May 2018 17:26:09 GMT):
Hi All,Has anyone successfully upgraded a node chaincode? When running the peer chaincode upgrade the command hangs for over 10 mins the gives a timeout error. When running again it returns an error stating that the chaincode is waiting “registration”.

qizhang (Tue, 15 May 2018 18:05:30 GMT):
``` The performance drop rather quickly when you add the second endorser and the effects of the gossip protocol kicks in. As more endorsers are added to the network, each endorser has to exchange messages between every other endorsers across the channel which is why we see a continuous decrease in throughput. ```

qizhang (Tue, 15 May 2018 18:06:05 GMT):
I read this from a report, but why the endorsers need to exchange messages between each other?

rickr (Tue, 15 May 2018 20:42:37 GMT):
I'm seeing a periodic failure with getting the instantiated chaincodes on a peer running the JSDK integration tests. A reverify later and it works. ``` ``` peer0.org1.example.com status: 500, message: Authorization for GETCHAINCODES on channel getchaincodes has been denied with error Unmapped policy for lscc/GetInstantiatedChaincodes ```

rickr (Tue, 15 May 2018 20:42:37 GMT):
I'm seeing a periodic failure with getting the instantiated chaincodes on a peer running the JSDK integration tests. A reverify later and it works. ``` peer0.org1.example.com status: 500, message: Authorization for GETCHAINCODES on channel getchaincodes has been denied with error Unmapped policy for lscc/GetInstantiatedChaincodes ``` This test runs against the latest and Fabric v1.0.0 . v1.0.0 never see this issue .. at least I've not seen it yet. The JSDK code for this has not changed in some time.

rickr (Tue, 15 May 2018 20:45:59 GMT):
@wlahti @muralisr @mastersingh24 ^^^

yacovm (Tue, 15 May 2018 20:46:20 GMT):
@jyellick ^

wlahti (Tue, 15 May 2018 20:46:32 GMT):
The fix was just merged within the last hour or two

wlahti (Tue, 15 May 2018 20:46:32 GMT):
The fix was merged within the last hour or two

wlahti (Tue, 15 May 2018 20:46:32 GMT):
@rickr The fix was merged within the last hour or two: https://gerrit.hyperledger.org/r/c/21829/

rickr (Tue, 15 May 2018 20:47:56 GMT):
ok real life calls .. will try it again later thx

rickr (Wed, 16 May 2018 00:25:14 GMT):
ok seems to be passing now.

davidkhala (Wed, 16 May 2018 01:57:05 GMT):
Has joined the channel.

rickr (Wed, 16 May 2018 12:34:37 GMT):
for deploy chaincode the chaincode running is lscc it has for example these args: ``` Transaction action 1 has chaincode input argument 0 is: deploy Transaction action 1 has chaincode input argument 1 is: bar Transaction action 1 has chaincode input argument 2 is: ?E???)??github.com/example_cc??example_cc_go??1????init??a??500?... Transaction action 1 has chaincode input argument 3 is: ? ??????????????????????????????????????Org1MSP??????Org2MSP????... ```

rickr (Wed, 16 May 2018 12:34:47 GMT):
deploying to channel bar

rickr (Wed, 16 May 2018 12:35:40 GMT):
arg 2, and 3 are serialized what ? sure one is the ChaincodeDeploymentSpec

rickr (Wed, 16 May 2018 13:14:45 GMT):
got help from @dave.enyeart thx

gravity (Wed, 16 May 2018 14:54:46 GMT):
Has joined the channel.

asaningmaxchain123 (Thu, 17 May 2018 00:34:51 GMT):
@yacovm @C0rWin when the peer endorse the request,i see the source code, it contains following code

asaningmaxchain123 (Thu, 17 May 2018 00:34:54 GMT):

Clipboard - May 17, 2018 8:34 AM

asaningmaxchain123 (Thu, 17 May 2018 00:35:03 GMT):

Clipboard - May 17, 2018 8:35 AM

asaningmaxchain123 (Thu, 17 May 2018 00:36:08 GMT):
in my mind,the peer will pull the block from the orderer node,and distribute among the peers,so can you tell me what's the meaning of the above source code

yacovm (Thu, 17 May 2018 06:08:49 GMT):
This is private data distribution, @asaningmaxchain123

asaningmaxchain123 (Thu, 17 May 2018 06:09:32 GMT):
can you provide more detail?

asaningmaxchain123 (Thu, 17 May 2018 06:10:09 GMT):
what's the private data @yacovm

asaningmaxchain123 (Thu, 17 May 2018 06:10:09 GMT):
what's the private data @yacovm

asaningmaxchain123 (Thu, 17 May 2018 06:13:30 GMT):
what's the function of it?

yacovm (Thu, 17 May 2018 06:30:42 GMT):
so let's say you want to send information to another org, but you don't want the ordering service and other orgs to be able to see the information you send

yacovm (Thu, 17 May 2018 06:31:06 GMT):
but they can see the information because it is all plain-text on the public blockchain that everyone sees

yacovm (Thu, 17 May 2018 06:31:19 GMT):
and the orderer, for example - always sees all the blocks

yacovm (Thu, 17 May 2018 06:31:41 GMT):
so instead of putting the data in the simulation results that are sent back to the client

yacovm (Thu, 17 May 2018 06:31:49 GMT):
you put the hash of the data

yacovm (Thu, 17 May 2018 06:32:09 GMT):
and so - the hash of the data, not the data itself is present in the blockchain, and the other organizations can't see what is inside

yacovm (Thu, 17 May 2018 06:32:43 GMT):
now - the peers you endorse on, they send the data itself (the hash's pre-image) to other peers according to some access control policy defined at chaincode instantiation

yacovm (Thu, 17 May 2018 06:32:55 GMT):
this way - only the organizations you want to see the data - see the data

yacovm (Thu, 17 May 2018 06:32:56 GMT):
@asaningmaxchain123

chongxinman (Thu, 17 May 2018 06:37:45 GMT):
Has joined the channel.

asaningmaxchain123 (Thu, 17 May 2018 07:19:37 GMT):
so if i want to send the data the specified org, when the peer endorse the `client request` and get `simulation result` but the `simulation result` doesn't return the client.

asaningmaxchain123 (Thu, 17 May 2018 07:19:37 GMT):
so if i want to send the data the specified org, when the peer endorse the `client data` and get `simulation result` but the `simulation result` doesn't return the client.

asaningmaxchain123 (Thu, 17 May 2018 07:19:37 GMT):
so if i want to send the data the specified org, when the peer endorse the `client data` and get `simulation result` but the `simulation result` doesn't return the client.it use the gossip protocol to distribute it

asaningmaxchain123 (Thu, 17 May 2018 07:19:37 GMT):
so if i want to send the data the specified org, when the peer endorse the `client data` and get `simulation result` but the `simulation result` doesn't return the client. it use the gossip protocol to distribute it

asaningmaxchain123 (Thu, 17 May 2018 07:19:49 GMT):
@yacovm right?

yacovm (Thu, 17 May 2018 07:55:47 GMT):
The simulation result contains hashes

asaningmaxchain123 (Thu, 17 May 2018 10:22:07 GMT):
@yacovm can you tell me the location of the source,it produces the hash of the data

asaningmaxchain123 (Thu, 17 May 2018 10:22:07 GMT):
@yacovm can you tell me the location of the source,it produces the hash of the simulation results

yacovm (Thu, 17 May 2018 10:32:31 GMT):
@manish-sethi can tell you

yacovm (Thu, 17 May 2018 10:32:57 GMT):
ask in #fabric-ledger

asaningmaxchain123 (Thu, 17 May 2018 11:43:37 GMT):
@yacovm @C0rWin when the chaincode instantiate the options the option for ·collections-config·

asaningmaxchain123 (Thu, 17 May 2018 11:43:37 GMT):
@yacovm @C0rWin when the chaincode instantiate the options the option for `collections-config`,i don't understand, can you give me an example

asaningmaxchain123 (Thu, 17 May 2018 11:43:37 GMT):
@yacovm @C0rWin @jyellick when the chaincode instantiate the options the option for `collections-config`,i don't understand, can you give me an example

yacovm (Thu, 17 May 2018 11:55:30 GMT):
take a look here https://gerrit.hyperledger.org/r/#/c/14769/13/examples/e2e_cli/scripts/script_marbles_private.sh @asaningmaxchain123

AshishMishra 1 (Thu, 17 May 2018 12:40:55 GMT):
Hi everyone, can I run orderer service behind a reverse proxy or a tcp load balancer f ? My peers will connect to the lb or proxy. Is there any harm in doing so ?

yacovm (Thu, 17 May 2018 12:47:40 GMT):
a TCP load balancer would work without a problem

yacovm (Thu, 17 May 2018 12:48:02 GMT):
a reverse proxy - it can work as long as you don't activate client authentication in the TLS (AKA mutual TLS)

yacovm (Thu, 17 May 2018 12:48:17 GMT):
also - make sure the peer and chaincode are running on the same host

yacovm (Thu, 17 May 2018 12:48:31 GMT):
otherwise, the mutual TLS between the peer and chaincode container would break because of the reverse proxy

yacovm (Thu, 17 May 2018 12:49:13 GMT):
you need a reverse proxy that works well with gRPC and TLS - I recommend nghttpx

dave.enyeart (Thu, 17 May 2018 12:51:48 GMT):
@asaningmaxchain123 Please review the Private Data demo playback at the bottom of this page first: https://wiki.hyperledger.org/projects/fabric/playbacks . Then ask any follow-on questions if you still have questions.

AshishMishra 1 (Thu, 17 May 2018 13:01:20 GMT):
@yacovm thanks. So I didn't enter an alien territory. :) I was trying to use envoy, so far it's been bad, do you know about it? I did try with haproxy it worked but i 've some concerns with it. Will give nghttpx a try.

bourbonkidQ (Thu, 17 May 2018 13:01:28 GMT):
Hello, when the nodeSDK try to instantiate the chaincode i have this following error on the peer `2018-05-17 12:49:05.271 UTC [deliveryClient] RequestBlocks -> DEBU 4b1 Starting deliver with block [1] for channel mychannel 2018-05-17 12:49:05.272 UTC [blocksProvider] DeliverBlocks -> WARN 4b2 [mychannel] Got error &{NOT_FOUND} ` to you have any idea ? I have already create the channel on the peer

bourbonkidQ (Thu, 17 May 2018 13:01:28 GMT):
Hello, when the nodeSDK try to instantiate the chaincode i have this following error on the peer `2018-05-17 12:49:05.271 UTC [deliveryClient] RequestBlocks -> DEBU 4b1 Starting deliver with block [1] for channel mychannel 2018-05-17 12:49:05.272 UTC [blocksProvider] DeliverBlocks -> WARN 4b2 [mychannel] Got error &{NOT_FOUND} ` to you have any idea ? I have already create the channel on the peer

yacovm (Thu, 17 May 2018 13:02:30 GMT):
I thought envoy uses nghttpx ?

yacovm (Thu, 17 May 2018 13:03:03 GMT):
i mean they use the same base code in the end, no?

yacovm (Thu, 17 May 2018 13:04:37 GMT):
nghttp2 ?

AshishMishra 1 (Thu, 17 May 2018 13:04:55 GMT):
Maybe same set of libraries, possible. I liked isitio which is based on envoy but it has dependency on k8, which I don't plan to use.

yacovm (Thu, 17 May 2018 13:05:30 GMT):
just don't use these stuff for load balancing

yacovm (Thu, 17 May 2018 13:05:35 GMT):
fabric has load balancing on its own

AshishMishra 1 (Thu, 17 May 2018 13:05:42 GMT):
yes, I think nghttp2 library

AshishMishra 1 (Thu, 17 May 2018 13:06:17 GMT):
Basically I want my entire fabric inside a private subnet.. and I need a gateway for external word to connect to my orderer

AshishMishra 1 (Thu, 17 May 2018 13:06:31 GMT):
world*

yacovm (Thu, 17 May 2018 13:06:32 GMT):
makes sense

yacovm (Thu, 17 May 2018 13:06:40 GMT):
well so i listed what you can do

AshishMishra 1 (Thu, 17 May 2018 13:06:54 GMT):
So I thought of putting a proxy/lb in the public subnet.

AshishMishra 1 (Thu, 17 May 2018 13:07:59 GMT):
Thanks, @yacovm will give nghttpx a shot. Will see how it goes.

rahulhegde (Thu, 17 May 2018 16:53:17 GMT):
Hyperledgr Fabric - 1.0.6 Hello @jyellick We see following error in fabric peer log `https://github.com/hyperledger/fabric/blob/release-1.0/core/chaincode/chaincode_support.go#L745`. I don't see any error in the chaincode container log for the same time. Now, any endorsement transaction sent by HFC fails with the same error. Is the connection between chaincode and peer broken, as I don't see any endorsement reaching to the chaincode (from its log). What is the retry mechanism for chaicode container, if the connection gets dropped? Any other possible cause/reason. we have the following set `https://github.com/hyperledger/fabric/blob/release-1.0/sampleconfig/core.yaml#L372`.

jyellick (Thu, 17 May 2018 17:41:24 GMT):
@rahulhegde Is the chaincode container running? Do you see it establish a connection in the logs?

rahulhegde (Thu, 17 May 2018 17:43:37 GMT):
We restarted the peer container as we had to patch the system soon. the container logs are available and peer was also running at ERROR level.

rahulhegde (Thu, 17 May 2018 22:59:59 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=iQtQQzwnXdQXs7DTB) @jyellick We restarted the peer container as we had to patch the system soon. the container logs are available and peer was also running at ERROR level.

rahulhegde (Thu, 17 May 2018 22:59:59 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=iQtQQzwnXdQXs7DTB) @jyellick Peer and its corresponding chaincode containers were running. There is no Error/Warning of kind during that period except for the above error whenever a endorsement request is sent. Also there were other peers running on the same host however there is nothing like such thing happened to them. We restarted the peer container as we had to patch the system soon. The chaincode container logs is available at DEBUG level and peer was running at ERROR level. I should have done a `netstat` inside the peer (but did not).

header340 (Fri, 18 May 2018 16:03:07 GMT):
Has joined the channel.

rickr (Mon, 21 May 2018 11:50:19 GMT):
Having issues using private data .. from the peer logs https://ctrlv.it/id/123035/3781050195

rickr (Mon, 21 May 2018 11:50:19 GMT):
Having issues using private data .. from the peer logs https://ctrlv.it/id/123035/3781050195 this is what create the collection policy https://ctrlv.it/id/123037/2230344044

rickr (Mon, 21 May 2018 11:50:19 GMT):
Having issues using private data .. from the peer logs https://ctrlv.it/id/123035/3781050195 this is what create the collection policy https://ctrlv.it/id/123037/2230344044 Chaincode output logs https://ctrlv.it/id/123038/2425840439

rickr (Mon, 21 May 2018 11:50:19 GMT):
Having issues using private data .. from the peer logs https://ctrlv.it/id/123035/3781050195 this is what create the collection policy https://ctrlv.it/id/123037/2230344044 Chaincode output logs https://ctrlv.it/id/123038/2425840439 Actual chaincode --> https://ctrlv.it/id/123039/361718200

rickr (Mon, 21 May 2018 11:56:30 GMT):
@dave.enyeart @C0rWin ^^^

rickr (Mon, 21 May 2018 11:58:28 GMT):
At the moment I don't have gossip worknig but I don't think that would be the issue here. I have two peers I'm sending the endorsements to and both go to the orderer

rickr (Mon, 21 May 2018 11:59:43 GMT):
The init seems to work. The set of both values don't seem to cause a problem. But when I try to retrieve the value from one I get this error

C0rWin (Mon, 21 May 2018 12:00:04 GMT):
well, there is nothing related to dissemination of the data here

rickr (Mon, 21 May 2018 12:00:27 GMT):
does the logs indicate anything why that error ?

C0rWin (Mon, 21 May 2018 12:00:35 GMT):
looking

rickr (Mon, 21 May 2018 12:01:23 GMT):
I filtered out the gossip messages so maybe some info missing here

C0rWin (Mon, 21 May 2018 12:02:07 GMT):
`2018-05-21 11:30:22.051 UTC [chaincode] HandleTransaction -> ERRO a5b6 [709b13c7] Failed to handle GET_STATE. error: Private data matching public hash version is not available. Public hash version = &version.Height{BlockNum:0x10, TxNum:0x0}, Private data version = (*version.Height)(nil)`

rickr (Mon, 21 May 2018 12:02:32 GMT):
I'm sure that means a lot to you .. but not to me :)

C0rWin (Mon, 21 May 2018 12:02:35 GMT):
that looks weird to me

C0rWin (Mon, 21 May 2018 12:03:18 GMT):
``` maximumPeerCount: 0 # the maximum number of peers this collection can be disseminated to. requiredPeerCount: 0 # the minimum number of peers this collection must be disseminated to.```

C0rWin (Mon, 21 May 2018 12:03:45 GMT):
are you aware that having this means you do not distribute pvt data during endorsement?

rickr (Mon, 21 May 2018 12:04:09 GMT):
ok -- that was what I think @dave.enyeart said he was using for his testing

C0rWin (Mon, 21 May 2018 12:04:10 GMT):
is there particular reason to have these values to zero?

C0rWin (Mon, 21 May 2018 12:04:53 GMT):
he used for test case there he wanted to ensure gossip respect this value and doesn't push pvt data to other peers once pvt tx endorsed

C0rWin (Mon, 21 May 2018 12:05:13 GMT):
asking just to make sure you understand implications of this property, not saying this is related

rickr (Mon, 21 May 2018 12:05:39 GMT):
ok - for my testing I think it's ok .. and gossip isn't really function in it

C0rWin (Mon, 21 May 2018 12:06:20 GMT):
https://ctrlv.it/id/123035/3781050195

C0rWin (Mon, 21 May 2018 12:06:31 GMT):
this output, is it during endorsement?

C0rWin (Mon, 21 May 2018 12:07:08 GMT):
or tx was endorsed, block committed and the output is for subsequent query?

C0rWin (Mon, 21 May 2018 12:09:13 GMT):
``` // Query callback representing the query of a chaincode ===>>> ONLY Query B VALUES func (t *SimpleChaincode) query(stub shim.ChaincodeStubInterface, args []string) pb.Response { var A string // Entities var err error if len(args) != 1 { return shim.Error("Incorrect number of arguments. Expecting name of the person to query") } A = args[0] logger.Infof("query for %sn", A) // Get the state from the ledger Avalbytes, err := stub.GetPrivateData("COLLECTION_FOR_B", A) if err != nil { jsonResp := "{"Error":"Failed to get state for " + A + ""}" return shim.Error(jsonResp) } if Avalbytes == nil { jsonResp := "{"Error":"Nil amount for " + A + ""}" return shim.Error(jsonResp) } jsonResp := "{"Name":"" + A + "","Amount":"" + string(Avalbytes) + ""}" logger.Infof("Query Response:%sn", jsonResp) return shim.Success(Avalbytes) }```

C0rWin (Mon, 21 May 2018 12:10:06 GMT):
you are querying for data from `COLLECTION_FOR_B`

rickr (Mon, 21 May 2018 12:10:13 GMT):
yes

rickr (Mon, 21 May 2018 12:10:25 GMT):
only want whats going into b

rickr (Mon, 21 May 2018 12:11:21 GMT):
``` 2018-05-21 11:45:11.673 UTC [example_cc0] Info -> INFO 001 ########### example_cc Init ########### 2018-05-21 11:45:13.840 UTC [example_cc0] Info -> INFO 002 ########### private_data_cc Invoke ########### 2018-05-21 11:45:13.840 UTC [example_cc0] Info -> INFO 003 invoke function: set 2018-05-21 11:45:13.840 UTC [example_cc0] Infof -> INFO 004 set a = 500, b = 250 2018-05-21 11:45:13.853 UTC [example_cc0] Infof -> INFO 005 set done a = 500, b = 250 2018-05-21 11:45:15.943 UTC [example_cc0] Info -> INFO 006 ########### private_data_cc Invoke ########### 2018-05-21 11:45:15.944 UTC [example_cc0] Info -> INFO 007 invoke function: query 2018-05-21 11:45:15.944 UTC [example_cc0] Infof -> INFO 008 query for b 2018-05-21 11:45:15.948 UTC [shim] handleGetState -> ERRO 009 [5e770c53] GetState received error ERROR ```

rickr (Mon, 21 May 2018 12:11:48 GMT):
the set was invoked ok .. then the query .. as it shows it's for `b`

rickr (Mon, 21 May 2018 12:20:11 GMT):
I would assume both those collections have been set up ok as the `set` operation is not having an issue

dave.enyeart (Mon, 21 May 2018 12:21:26 GMT):
@C0rWin There are two peers in Rick's scenario, and he sends endorsement to both. Therefore it doesn't require any other gossip dissemination, and he sets the dissemination to 0. I do similar things in my tests and it is fine.

dave.enyeart (Mon, 21 May 2018 12:21:51 GMT):
It appears his peers don't commit the private data, I assume because they think they are not eligible.

dave.enyeart (Mon, 21 May 2018 12:22:27 GMT):
I can re-create the same thing and unfortunately there is no debug message stating the peer is ineligible, it just silently ignores the private data.

dave.enyeart (Mon, 21 May 2018 12:22:27 GMT):
I can re-create the same thing when i mis-configure the collection policy, and unfortunately there is no debug message stating the peer is ineligible, it just silently ignores the private data.

dave.enyeart (Mon, 21 May 2018 12:23:02 GMT):
That is why I asked for a clear debug message when peer is ineligible, and probably even a Warning the first time it happens, so that people doing trials without debug can see it

rickr (Mon, 21 May 2018 12:23:49 GMT):
by not being eligible .. is it the signature policy in the collection that determings that ?

dave.enyeart (Mon, 21 May 2018 12:23:58 GMT):
right

C0rWin (Mon, 21 May 2018 12:24:11 GMT):
I'd assume this is something within `stateleveldb` while writing state?

C0rWin (Mon, 21 May 2018 12:24:11 GMT):
I'd assume this is something within `stateleveldb` while writing state? right @dave.enyeart

C0rWin (Mon, 21 May 2018 12:24:11 GMT):
I'd assume this is something within `stateleveldb` while writing state? right @dave.enyeart ?

rickr (Mon, 21 May 2018 12:24:50 GMT):
I tried with both `member` and `peer` roles BTW

dave.enyeart (Mon, 21 May 2018 12:25:06 GMT):
yes, you can probably see the hashes getting written to public state but nothing getting written to private state

dave.enyeart (Mon, 21 May 2018 12:25:28 GMT):
if you have peer debug on

dave.enyeart (Mon, 21 May 2018 12:25:44 GMT):
that's what I see when I mis-configure the collection dissemination signature policy

dave.enyeart (Mon, 21 May 2018 12:26:33 GMT):
A very clear debug message indicating the collection dissemination signature policy and the peer's identity would be valuable

rickr (Mon, 21 May 2018 12:31:32 GMT):
Are there any tools you can use to look at statedb see what's been created ?

C0rWin (Mon, 21 May 2018 12:34:04 GMT):
in case of couchdb you can connect to it's interface and run queries

rickr (Mon, 21 May 2018 12:35:31 GMT):
ok good to know

rickr (Mon, 21 May 2018 12:37:14 GMT):
More than likely I'll admit this is an issue with my setup but it's blocking me from finishing up the private data feature in JSDK

rickr (Mon, 21 May 2018 12:52:31 GMT):
I tried with all four role types .. same result

rickr (Mon, 21 May 2018 13:16:24 GMT):
Is it expected that if the endorsement fails that the response will not be signed ?

rickr (Mon, 21 May 2018 13:17:17 GMT):
I think the client should still see it signed so it knows it can trust it -- I'm not seeing it signed in this case

C0rWin (Mon, 21 May 2018 13:32:44 GMT):
@rickr have you tried to query both peers, btw?

rickr (Mon, 21 May 2018 13:39:44 GMT):
``` ubuntu@hyperledger-devenv:6789db6:/opt/gopath/src/github.com/hyperledger/fabric/sdkintegration/e2e-2Orgs/v1.2$ docker logs dev-peer0.org2.example.com-private_data_cc22_go-1 2018-05-21 13:05:23.767 UTC [example_cc0] Info -> INFO 001 ########### example_cc Init ########### 2018-05-21 13:05:59.535 UTC [example_cc0] Info -> INFO 002 ########### private_data_cc Invoke ########### 2018-05-21 13:05:59.535 UTC [example_cc0] Info -> INFO 003 invoke function: set 2018-05-21 13:05:59.535 UTC [example_cc0] Infof -> INFO 004 set a = 500, b = 250 2018-05-21 13:05:59.539 UTC [example_cc0] Infof -> INFO 005 set done a = 500, b = 250 2018-05-21 13:07:33.047 UTC [example_cc0] Info -> INFO 006 ########### private_data_cc Invoke ########### 2018-05-21 13:07:33.047 UTC [example_cc0] Info -> INFO 007 invoke function: query 2018-05-21 13:07:33.047 UTC [example_cc0] Infof -> INFO 008 query for b 2018-05-21 13:07:33.053 UTC [shim] handleGetState -> ERRO 009 [f1458c9c] GetState received error ERROR ubuntu@hyperledger-devenv:6789db6:/opt/gopath/src/github.com/hyperledger/fabric/sdkintegration/e2e-2Orgs/v1.2$ docker logs dev-peer1.org2.example.com-private_data_cc22_go-1 2018-05-21 13:05:23.651 UTC [example_cc0] Info -> INFO 001 ########### example_cc Init ########### 2018-05-21 13:05:59.547 UTC [example_cc0] Info -> INFO 002 ########### private_data_cc Invoke ########### 2018-05-21 13:05:59.547 UTC [example_cc0] Info -> INFO 003 invoke function: set 2018-05-21 13:05:59.547 UTC [example_cc0] Infof -> INFO 004 set a = 500, b = 250 2018-05-21 13:05:59.549 UTC [example_cc0] Infof -> INFO 005 set done a = 500, b = 250 2018-05-21 13:07:33.050 UTC [example_cc0] Info -> INFO 006 ########### private_data_cc Invoke ########### 2018-05-21 13:07:33.050 UTC [example_cc0] Info -> INFO 007 invoke function: query 2018-05-21 13:07:33.050 UTC [example_cc0] Infof -> INFO 008 query for b 2018-05-21 13:07:33.051 UTC [shim] handleGetState -> ERRO 009 [f1458c9c] GetState received error ERROR ```

rickr (Mon, 21 May 2018 13:44:06 GMT):
FYI : ``` commit 6789db6ea4a69428a08c86431984f276aa1ed54c (HEAD -> master, origin/master, origin/HEAD) Date: Mon May 14 02:40:22 2018 +0300 ```

rickr (Mon, 21 May 2018 13:53:39 GMT):
I assume the collection is scoped within the chaincode if another chaincode creates the same named collection they won't be the same

yacovm (Mon, 21 May 2018 13:57:58 GMT):
@rickr correct - collection is scoped within a chaincode

rickr (Mon, 21 May 2018 14:02:07 GMT):
@dave.enyeart does the logs show what's being written where ?

jyellick (Mon, 21 May 2018 15:22:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qcb8E2RvLKusB2tYj)

jyellick (Mon, 21 May 2018 15:23:19 GMT):
@rahulhegde If the chaincode container is running, then I would expect for it to have connected successfully. Would it be possible to reproduce with peer logs at debug?

rickr (Mon, 21 May 2018 15:40:09 GMT):
@C0rWin @dave.enyeart here is a more complete log of the peer .. should include install/init/set/query operations

rickr (Mon, 21 May 2018 15:40:11 GMT):
https://ctrlv.it/id/123075/2859149410

rickr (Mon, 21 May 2018 15:56:57 GMT):
``` 2018-05-21 15:25:27.512 UTC [gossip/privdata] StoreBlock -> WARN e8a2 Could not fetch all missing collection private write sets from remote peers. Will commit block with missing private write sets: txID: 33c79e340b243bbda3b5e03ced761bb924521e43159eec5b9009b6271fab1377, seq: 0, namespace: private_data_cc25_go, collection: COLLECTION_FOR_A, hash: 03db7ee8121f4f2012ad172d8dc68eb85e3bee5c76b892dca2b78beecc5151f3 txID: 33c79e340b243bbda3b5e03ced761bb924521e43159eec5b9009b6271fab1377, seq: 0, namespace: private_data_cc25_go, collection: COLLECTION_FOR_B, hash: c39b2e208402f5acf9a4491865f8bf54669f0f690f5c87cb340967919c09a07b ``` ?

rickr (Mon, 21 May 2018 15:57:39 GMT):
Like I stated gossip isn't really working for me .. so not sure if that's an issue here .. wouldn't think so

rickr (Mon, 21 May 2018 15:59:10 GMT):
``` 2018-05-21 15:25:27.512 UTC [gossip/privdata] StoreBlock -> WARN e8a2 Could not fetch all missing collection private write sets from remote peers. Will commit block with missing private write sets: txID: 33c79e340b243bbda3b5e03ced761bb924521e43159eec5b9009b6271fab1377, seq: 0, namespace: private_data_cc25_go, collection: COLLECTION_FOR_A, hash: 03db7ee8121f4f2012ad172d8dc68eb85e3bee5c76b892dca2b78beecc5151f3 txID: 33c79e340b243bbda3b5e03ced761bb924521e43159eec5b9009b6271fab1377, seq: 0, namespace: private_data_cc25_go, collection: COLLECTION_FOR_B, hash: c39b2e208402f5acf9a4491865f8bf54669f0f690f5c87cb340967919c09a07b ```

rickr (Mon, 21 May 2018 15:59:54 GMT):
``` 2018-05-21 15:25:27.530 UTC [stateleveldb] ApplyUpdates -> DEBU e8c4 Channel [bar]: Applying key(string)=[private_data_cc25_go$$hCOLLECTION_FOR_B>#\ufffd9YJ3\ufffdOed\ufffd\ufffd4\ufffd\ufffdz\ufffd\ufffd,J\ufffds\ufffd\ufffd\u055c\ufffd] key(bytes)=[[]byte{0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x63, 0x32, 0x35, 0x5f, 0x67, 0x6f, 0x24, 0x24, 0x68, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x42, 0x0, 0x3e, 0x23, 0xe8, 0x16, 0x0, 0x39, 0x59, 0x4a, 0x33, 0x89, 0x4f, 0x65, 0x64, 0xe1, 0xb1, 0x34, 0x8b, 0xbd, 0x7a, 0x0, 0x88, 0xd4, 0x2c, 0x4a, 0xcb, 0x73, 0xee, 0xae, 0xd5, 0x9c, 0x0, 0x9d}] 2018-05-21 15:25:27.530 UTC [stateleveldb] ApplyUpdates -> DEBU e8c5 Channel [bar]: Applying key(string)=[private_data_cc25_go$$hCOLLECTION_FOR_A\u0297\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd1\ufffd\ufffd#\ufffdM\ufffd\ufffd\ufffd\ufffd|Nr\ufffd\ufffdw\ufffd\ufffd\ufffdH\ufffd] key(bytes)=[[]byte{0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x63, 0x32, 0x35, 0x5f, 0x67, 0x6f, 0x24, 0x24, 0x68, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x0, 0xca, 0x97, 0x81, 0x12, 0xca, 0x1b, 0xbd, 0xca, 0xfa, 0xc2, 0x31, 0xb3, 0x9a, 0x23, 0xdc, 0x4d, 0xa7, 0x86, 0xef, 0xf8, 0x14, 0x7c, 0x4e, 0x72, 0xb9, 0x80, 0x77, 0x85, 0xaf, 0xee, 0x48, 0xbb}] 2018-05-21 15:25:27.531 UTC [lockbasedtxmgr] Commit -> DEBU e8c6 Updates committed to state database 2018-05-21 15:25:27.531 UTC [leveldbhelper] GetIterator -> DEBU e8c7 Getting iterator for range [[]byte{0x62, 0x61, 0x72, 0x2f, 0x30, 0x0, 0x31, 0x1, 0x22, 0x0}] - [[]byte{0x62, 0x61, 0x72, 0x2f, 0x30, 0x0, 0x31, 0x1, 0x23, 0x0}] 2018-05-21 15:25:27.531 UTC [kvledger] CommitWithPvtData -> DEBU e8c8 Channel [bar]: Committing block [33] transactions to history database 2018-05-21 15:25:27.531 UTC [historyleveldb] Commit -> DEBU e8c9 Channel [bar]: Updating history database for blockNo [33] with [1] transactions 2018-05-21 15:25:27.532 UTC [historyleveldb] Commit -> DEBU e8ca Channel [bar]: Updates committed to history database for blockNo [33] ```

rickr (Mon, 21 May 2018 16:07:30 GMT):
The key collection match when doing the fetch : ``` 2018-05-21 15:25:27.571 UTC [stateleveldb] GetState -> DEBU e90b GetState(). ns=private_data_cc25_go$$hCOLLECTION_FOR_B, key=>#\ufffd9YJ3\ufffdOed\ufffd\ufffd4\ufffd\ufffdz\ufffd\ufffd,J\ufffds\ufffd\ufffd\u055c\ufffd 2018-05-21 15:25:27.571 UTC [chaincode] HandleTransaction -> ERRO e90c [5d2ce10c] Failed to handle GET_STATE. error: Private data matching public hash version is not available. Public hash version = &version.Height{BlockNum:0x21, TxNum:0x0}, Private data version = (*version.Height)(nil) github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleGetState /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:540 github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleGetState-fm /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:191 github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleTransaction /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:236 ```

dave.enyeart (Mon, 21 May 2018 16:18:56 GMT):
@rickr I see what's happening. You are hitting a bug that has been fixed in latest master:

dave.enyeart (Mon, 21 May 2018 16:18:59 GMT):
2018-05-21 15:24:27.466 UTC [gossip/privdata] fetchFromTransientStore -> WARN e80f Failed iterating: proto: rwset.TxPvtReadWriteSet: illegal tag 0 (wire type 0)

dave.enyeart (Mon, 21 May 2018 16:19:06 GMT):
If you grab the latest it should work

dave.enyeart (Mon, 21 May 2018 16:19:32 GMT):
your config appears to be correct... as it appears the peer found it is eligible for the private data

rickr (Mon, 21 May 2018 16:20:19 GMT):
ok will do

rickr (Mon, 21 May 2018 17:05:56 GMT):
Works!

hyperlearner (Tue, 22 May 2018 09:11:09 GMT):
Has joined the channel.

hyperlearner (Tue, 22 May 2018 10:09:19 GMT):
I want 5 peers all to act as endorsers where I have to set a condition if atleast any 2 of them approve, the tx should happen. where should I make the changes?

jrosmith (Tue, 22 May 2018 13:06:42 GMT):
@hyperlearner you will need to update your endorsement policy to require at least 2 signatures

rickr (Tue, 22 May 2018 19:04:39 GMT):
I'm seeing more of these lately : `500, message: failed to execute transaction d0755c373f17fa681de4ec08d427e873b1c2d299cf5f9c7ca97179ee2bfe095d: error sending: timeout expired while executing transaction`

rickr (Tue, 22 May 2018 19:05:32 GMT):
Is there any way to up that in the docker-compose file ? and it doesn't indicate how much time was really allotted :(

yacovm (Tue, 22 May 2018 19:17:34 GMT):
@rickr what chaincode is that? is that node.js CC?

rickr (Tue, 22 May 2018 19:18:22 GMT):
it was go that time

sanchezl (Tue, 22 May 2018 20:38:58 GMT):
`CORE_CHAINCODE_STARTUPTIMEOUT` and `CORE_CHAINCODE_EXECUTETIMEOUT` might help.

sanchezl (Tue, 22 May 2018 20:39:16 GMT):
See `core.yaml` for details.

sanchezl (Tue, 22 May 2018 20:48:02 GMT):
I'm trying to help someone who is getting the following error: `[chaincode] ExecuteChaincode -> ERRO 000 premature execution - chaincode (xxxxxx:vv) is being launched` • When is this error expected? For example, if I restart a peer and invoke a chaincode that needs to have its container relauched, I don't get this error. • At the *info* log level, is it possible to decipher when the various steps in a chaincode lifecycle have been executed? Currently, it seems difficult to determine that indeed an chaincode was invoked before it was launched.

hyperlearner (Wed, 23 May 2018 11:03:36 GMT):
@jrosmith I have changed the endorsement policy..But it is not getting reflected in the code.Could you please elaborate on your response?Exactly in which file i have to change the endorsement policy?

jrosmith (Wed, 23 May 2018 12:21:31 GMT):
@hyperlearner did you upgrade the chaincode and instantiate it with the new endorsement policy? or upgrade the channel with the new policy? its not as simple as changing a file, all members of the network need to know of and agree to the new policy. see here for more info: http://hyperledger-fabric.readthedocs.io/en/release-1.1/endorsement-policies.html

jrosmith (Wed, 23 May 2018 17:28:26 GMT):
hey all, im running into an issue upgrading a channel using fabric 1.1. and following the directions (here) [http://hyperledger-fabric.readthedocs.io/en/release-1.1/channel_update_tutorial.html]. my peer is v1.1.0 with go 1.9.2 running on a centOS machine. i'm fine following the directions all the way until it comes to signing and submitting the update. when i go to sign i get (these)[https://hastebin.com/emarehewoy.pas] logs. i'm not using intermediate certs so i think the warning statement is fine? but i also don't see any "successfully signed" or "failed to sign" log, just "Exiting.....". does this mean i successfully signed the transaction or should i be expecting some other log output?

jrosmith (Wed, 23 May 2018 17:28:26 GMT):
hey all, im running into an issue upgrading a channel using fabric 1.1. and following the directions [here](http://hyperledger-fabric.readthedocs.io/en/release-1.1/channel_update_tutorial.html). my peer is v1.1.0 with go 1.9.2 running on a centOS machine. i'm fine following the directions all the way until it comes to signing and submitting the update. when i go to sign i get (these)[https://hastebin.com/emarehewoy.pas] logs. i'm not using intermediate certs so i think the warning statement is fine? but i also don't see any "successfully signed" or "failed to sign" log, just "Exiting.....". does this mean i successfully signed the transaction or should i be expecting some other log output?

jrosmith (Wed, 23 May 2018 17:28:26 GMT):
hey all, im running into an issue upgrading a channel using fabric 1.1. and following the directions [here](http://hyperledger-fabric.readthedocs.io/en/release-1.1/channel_update_tutorial.html). my peer is v1.1.0 with go 1.9.2 running on a centOS machine. i'm fine following the directions all the way until it comes to signing and submitting the update. when i go to sign i get [these](https://hastebin.com/emarehewoy.pas) logs. i'm not using intermediate certs so i think the warning statement is fine? but i also don't see any "successfully signed" or "failed to sign" log, just "Exiting.....". does this mean i successfully signed the transaction or should i be expecting some other log output?

AnkitSingh5 (Thu, 24 May 2018 06:23:07 GMT):
Has joined the channel.

AnkitSingh5 (Thu, 24 May 2018 06:23:13 GMT):
Hi, I have installed the chaincode and it got successful but facing this error when trying to instantiate the chaincode - `ERRO 692 [[e9585782 PUT_STATE ERROR]]No ledger context for %!!(MISSING)s(MISSING). Sending %!!(MISSING)s(MISSING) ERRO 6a2 [bloqchannel][e9585782] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction` I am using Hyperledger Fabric v1.1.0 preview I have 2 orgs and 3 peers per org.

AnkitSingh5 (Thu, 24 May 2018 06:23:13 GMT):
Hi, I have installed the chaincode and it got successful but facing this error when trying to instantiate the chaincode - `ERRO 692 [[e9585782 PUT_STATE ERROR]]No ledger context for %!!(MISSING)s(MISSING). Sending %!!(MISSING)s(MISSING)` `ERRO 6a2 [bloqchannel][e9585782] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction` I am using Hyperledger Fabric v1.1.0 preview I have 2 orgs and 3 peers per org.

acuestareig (Thu, 24 May 2018 15:27:42 GMT):
Has joined the channel.

pankajcheema (Thu, 24 May 2018 16:01:04 GMT):
Any one faced this issue?

pankajcheema (Thu, 24 May 2018 16:01:07 GMT):
```Error: got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet ```

pankajcheema (Thu, 24 May 2018 16:01:20 GMT):
I am trying to execute this command on physical system

pankajcheema (Thu, 24 May 2018 16:01:27 GMT):
```CORE_PEER_LOCALMSPID=debutMSP \ CORE_PEER_TLS_ROOTCERT_FILE=/home/php/debut_network/crypto-config/peerOrganizations/debutinfotech.com/peers/peer1.debutinfotech.com/tls/ca.crt \ CORE_PEER_MSPCONFIGPATH=/home/php/debut_network/crypto-config/peerOrganizations/debutinfotech.com/users/Admin@debutinfotech.com/msp \ CORE_PEER_ADDRESS=peer1.debutinfotech.com:7051 \ peer channel create -o firstorderer.debutinfotech.com:7050 -c debut_asset_channel -f ./channel-artifacts/channel.tx```

jrosmith (Thu, 24 May 2018 20:22:38 GMT):
as a follow up i was able to cat the actually binary file and see that the cert had been concated, leading me to believe the signing process was successful [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=jgfHQ3e2q3Z5SQWxg)

jrosmith (Thu, 24 May 2018 20:22:38 GMT):
as a follow up i was able to cat the actual protobu and see that the cert had been concated, leading me to believe the signing process was successful [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=jgfHQ3e2q3Z5SQWxg)

jrosmith (Thu, 24 May 2018 20:22:38 GMT):
as a follow up i was able to cat the actual protobuf and see that the cert had been concated, leading me to believe the signing process was successful [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=jgfHQ3e2q3Z5SQWxg)

jtclark (Thu, 24 May 2018 20:52:34 GMT):
Has left the channel.

acostarodrigo (Thu, 24 May 2018 21:50:12 GMT):
Has joined the channel.

acostarodrigo (Thu, 24 May 2018 21:58:06 GMT):
hi everyone, hope someone is able to provide a solution for this: I'm trying to instantiate chaincode with endorsement policy to force peers to endorse chaincode calls. I'm instantiating it like this: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n tokenWallet -l node -v 1.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')" However, peers are not endorsing it and chaincode invocations are failing because endorsement policies are not being applied. I see I need to enable OUs, and I put the flag EnableNodeOUs: true in my crypto-config.yaml file, but still no use. Any tip someone?

acostarodrigo (Thu, 24 May 2018 21:58:06 GMT):
hi everyone, hope someone is able to provide a solution for this: I'm trying to instantiate chaincode with endorsement policy to force peers to endorse chaincode calls. I'm instantiating it like this: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n tokenWallet -l node -v 1.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" However, peers are not endorsing it and chaincode invocations are failing because endorsement policies are not being applied. I see I need to enable OUs, and I put the flag EnableNodeOUs: true in my crypto-config.yaml file, but still no use. Any tip someone?

muralisr (Fri, 25 May 2018 12:39:38 GMT):
@acostarodrigo we'd need more context ...errors from logs for starters

acostarodrigo (Sat, 26 May 2018 02:43:02 GMT):
I just get 2018-05-26 02:37:41.884 UTC [committer/txvalidator] validateTx -> ERRO 043 VSCCValidateTx for transaction txId = db1097652c60c3efc25ceac94f3b2aadd8cbe5e82d91a0f0f402dbff00deffe1 returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy

acostarodrigo (Sat, 26 May 2018 02:43:23 GMT):
whenever I instantiate my chaincode with -P "OR ('Org1MSP.peer','Org2MSP.peer')"

acostarodrigo (Sat, 26 May 2018 02:43:41 GMT):
not sure which configuration I should use to have peers as endorsers

acostarodrigo (Sat, 26 May 2018 02:43:48 GMT):
thanks @muralisr

pankajcheema (Mon, 28 May 2018 11:03:55 GMT):
Can anyone tell me difference between Validating peer and Non validatiing peer ?

asaningmaxchain123 (Tue, 29 May 2018 00:10:26 GMT):
@jyellick @mastersingh24 when i use the master branch to build,and run the e2e_cli ,then i got the following error

asaningmaxchain123 (Tue, 29 May 2018 00:10:26 GMT):
@jyellick @mastersingh24 @muralisr when i use the master branch to build,and run the e2e_cli ,then i got the following error

asaningmaxchain123 (Tue, 29 May 2018 00:10:26 GMT):
@jyellick @mastersingh24 @muralisr @AdnanC when i use the master branch to build,and run the e2e_cli ,then i got the following error

asaningmaxchain123 (Tue, 29 May 2018 00:10:26 GMT):
@jyellick @mastersingh24 @muralisr @AdnanC @dave.enyeart when i use the master branch to build,and run the e2e_cli ,then i got the following error

asaningmaxchain123 (Tue, 29 May 2018 00:11:09 GMT):
https://pastebin.com/AeUTae02

yacovm (Tue, 29 May 2018 07:44:01 GMT):
looks like a golang version mismatch

asaningmaxchain123 (Tue, 29 May 2018 08:36:18 GMT):
@yacovm it doesn't matter about the version. i check it

asaningmaxchain123 (Tue, 29 May 2018 08:36:18 GMT):
@yacovm it doesn't matter about the version. i checked it

asaningmaxchain123 (Tue, 29 May 2018 08:38:38 GMT):
it seems the `ccenv` issue

pankajcheema (Tue, 29 May 2018 09:07:25 GMT):
@yacovm How can we define that only a particular peer should endorse the transaction.like if i have 4 peers 1.`peer0.debutinfotech.com` 2.`peer1.debutinfotech.com` 3.`peer2.debutinfotech.com` 4.`peer3.debutinfotech.com` Now i want that only `peer0.debutinfotech.com` should endorse the transaction. Thanks in advance

pankajcheema (Tue, 29 May 2018 09:07:25 GMT):
@yacovm How can we define that only a particular peer should endorse the transaction.like if i have 4 peers 1.`peer0.debutinfotech.com` 2.`peer0.debutinfotech.com` 3.`peer0.debutinfotech.com` 4.`peer0.debutinfotech.com` Now i want that only `peer0.debutinfotech.com` should endorse the transaction. Thanks in advance

pankajcheema (Tue, 29 May 2018 09:07:25 GMT):
@yacovm How can we define that only a particular peer should endorse the transaction.like if i have 4 peers ```1.peer0.debutinfotech.com 2.peer1.debutinfotech.com 3.peer2.debutinfotech.com 4.peer3.debutinfotech.com ``` Now i want that only `peer0.debutinfotech.com` should endorse the transaction. Thanks in advance

massiveashok2014 (Tue, 29 May 2018 12:43:50 GMT):
How do i configure any two of my peer as endorsement peers. which yaml file i do this configuration?

pankajcheema (Wed, 30 May 2018 07:55:20 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=xD7EPhqwDxCsP6j69) nayone please

pankajcheema (Wed, 30 May 2018 07:55:20 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=xD7EPhqwDxCsP6j69) anyone please

pankajcheema (Wed, 30 May 2018 07:55:51 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=2Mmp9Ppcuap8pXMPA)

jrosmith (Wed, 30 May 2018 08:06:15 GMT):
@pankajcheema if you only want to get an endorsement from a certain peer, only send the transaction proposal to that peer.

pankajcheema (Wed, 30 May 2018 09:03:04 GMT):
@jrosmith not clear

jrosmith (Wed, 30 May 2018 09:06:27 GMT):
@pankajcheema in order to get a transaction endorsement, you have to send a transaction proposal to a peer. assuming youre using an sdk you can choose which peers you send endorsement proposals to.

jrosmith (Wed, 30 May 2018 09:06:45 GMT):
unless youre asking how to specify an endorsement policy in which on a specific peer should be endorsing transactions

pankajcheema (Wed, 30 May 2018 11:25:11 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=dhZKAcmXhyxpmSBdN) yes am asking about this not from sdk

pankajcheema (Wed, 30 May 2018 11:25:19 GMT):
@jrosmith

rogerwilcos (Wed, 30 May 2018 23:12:27 GMT):
Has joined the channel.

jrosmith (Thu, 31 May 2018 03:31:53 GMT):
@pankajcheema to my knowledge, and someone else please correct me if i'm wrong, endorsement policies are at the organization level, not peer level. if i'm reading [this](http://hyperledger-fabric.readthedocs.io/en/release-1.1/endorsement-policies.html#endorsement-policy-syntax-in-the-cli) properly it seems you can only specify that any peer of a specific organization should sign off on a transaction, not a specific peer within a specific organization. you may need to rework your approach

rbole (Thu, 31 May 2018 05:40:07 GMT):
Has joined the channel.

Ryan2 (Thu, 31 May 2018 07:17:34 GMT):
Hi, regarding `validatorPoolSize`, https://github.com/hyperledger/fabric/blob/release-1.1/sampleconfig/core.yaml#L382. I have concerns, please help: 1. by default this value equal to number of cores of server, on which file (I mean on the fabric code files) I can convince myself about this one? 2. to take advantage of parallel validation, it should run peer on multiple core server?

Ryan2 (Thu, 31 May 2018 07:17:34 GMT):
Hi, regarding `validatorPoolSize`, https://github.com/hyperledger/fabric/blob/release-1.1/sampleconfig/core.yaml#L382. I have concerns, please help: 1. by default this value equal to number of cores of server, on which file (I mean on the fabric code files) I can convince myself about this one?

pankajcheema (Thu, 31 May 2018 08:49:44 GMT):
@jrosmith Ok I got.

pankajcheema (Thu, 31 May 2018 09:47:05 GMT):
Can anybody provide me idea about event hub.We got some time error that event hub has been shutdown.

pankajcheema (Thu, 31 May 2018 09:47:21 GMT):
in our production environment.

yacovm (Thu, 31 May 2018 09:47:30 GMT):
use the deliver service on the peer instead

yacovm (Thu, 31 May 2018 09:47:31 GMT):
it's better

jrosmith (Thu, 31 May 2018 10:18:17 GMT):
@yacovm for the deliver service service says it sends a stream of blocks to the client after commitment. does commit mean being appended to the ledger file or after appending to the ledger file _and_ insertion into the state db

yacovm (Thu, 31 May 2018 10:18:36 GMT):
you can subscribe to events via the deliver API on the peer...

yacovm (Thu, 31 May 2018 10:18:46 GMT):
it's in v1.1 code base

yacovm (Thu, 31 May 2018 10:19:14 GMT):
> does commit mean being appended to the ledger file or after appending to the ledger file _and_ insertion into the state db after both

AshishMishra 1 (Thu, 31 May 2018 12:57:31 GMT):
Hi team, is the prom or statsd metrics exported implemented? I did changes in the core.yam... but nothing seems to be exported.

asaningmaxchain123 (Fri, 01 Jun 2018 00:48:11 GMT):
@yacovm https://github.com/hyperledger/fabric/blob/8f79ea1aebdaee1c844d1b5f2c8f89dff18bcffc/core/aclmgmt/defaultaclprovider.go#L90 that is the peer resource,why it uses the based on `channel` policy?

asaningmaxchain123 (Fri, 01 Jun 2018 00:53:55 GMT):
@yacovm @jyellick can you provider example about the `ACL` by using the define in the application section in the config

asaningmaxchain123 (Fri, 01 Jun 2018 01:17:45 GMT):
@yacovm @jyellick

asaningmaxchain123 (Fri, 01 Jun 2018 01:17:46 GMT):
https://gerrit.hyperledger.org/r/#/c/22671/

asaningmaxchain123 (Fri, 01 Jun 2018 01:25:24 GMT):
@yacovm @jyellick can you tell how the jenkins to build the fabric project,i want to test in my local env

hamptonsmith (Fri, 01 Jun 2018 05:29:01 GMT):
Has joined the channel.

hamptonsmith (Fri, 01 Jun 2018 05:33:21 GMT):
Hey folks, having some issues getting my chaincode instantiated on a production installation. During instantiation of my chaincode "wagoncc", seeing a timeout of the "lscc" chaincode: [endorser] simulateProposal -> ERRO 932 [global][e8c3cb15] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction Full log here: https://pastebin.com/UqTg2J7H A docker container for the custom chaincode is created. Transaction logs here: https://pastebin.com/9sQnJn3Z I'm instantiating from the command line using this incantation: $ peer chaincode instantiate -C global -n wagoncc -v "ghwc.dae6ea59f82662452ba5a79898f8b6c725f6f43b" -c '{"Args":[]}' -P "AND ('BandwagonClientMSP.member')" -o $ORDERER:7050 My current assumption is that I don't have some networking aspect correctly configured and the peer isn't getting the message that the chaincode completed successfully, but I'm uncertain how best to debug such an issue.

AshishMishra 1 (Fri, 01 Jun 2018 06:42:51 GMT):
Hi all, is the prom or statsd metrics exported implemented? I did changes in the core.yaml.. but nothing seems to be exported.

anjalinaik (Fri, 01 Jun 2018 09:08:39 GMT):
Has joined the channel.

anjalinaik (Fri, 01 Jun 2018 09:30:58 GMT):
Hi All, on performing channel update i am getting below error.Can anybody please tell me what is wrong . Error: Invalid channel create transaction : mismatched channel ID ${2} != mychannel

hamptonsmith (Fri, 01 Jun 2018 16:18:56 GMT):
Have CORE_CHAINCODE_EXECUTETIMEOUT set to 60s. During chaincode instantiation, log gets to this: ``` 2018-06-01 16:13:15.280 UTC [chaincode] handleMessage -> DEBU 614 [15c0d343d4680220d39e2a6b5ee0920d10ed3ca44627c79ff2b4fd04f138b8d8]HandleMessage- COMPLETED. Notify 2018-06-01 16:13:15.280 UTC [chaincode] notify -> DEBU 615 notifier Txid:15c0d343d4680220d39e2a6b5ee0920d10ed3ca44627c79ff2b4fd04f138b8d8, channelID: does not exist ``` Then it hangs for the remaining 60 seconds before giving me: `2018-06-01 16:14:15.279 UTC [endorser] simulateProposal -> ERRO 618 [global][15c0d343] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction` Any thoughts on how the notification that chaincode has completed is getting dropped or how I can get a little more debug info?

AshishMishra 1 (Sat, 02 Jun 2018 04:58:55 GMT):
Can anyone please confirm on this? [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=CfZHM7oqBpHWXvS84)

albert.lacambra (Mon, 04 Jun 2018 05:59:37 GMT):
Has joined the channel.

albert.lacambra (Mon, 04 Jun 2018 06:00:23 GMT):
hi all

albert.lacambra (Mon, 04 Jun 2018 06:02:02 GMT):
Question about valid endorsements: If 2 responses differ in some chars/strings on the payload but read write sets are the same, would it be accepted with an AND policy?

albert.lacambra (Mon, 04 Jun 2018 06:02:28 GMT):
so what is being fetched and saved is exactly the same, but not the response to the user

titoe218 (Mon, 04 Jun 2018 07:15:21 GMT):
Has joined the channel.

asaningmaxchain123 (Mon, 04 Jun 2018 08:53:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=hFRupZgPwBefWp8dJ) @hamptonsmith i meet the same problem only see the log to judge where the source of bug

albert.lacambra (Mon, 04 Jun 2018 09:01:53 GMT):
i have had that when palying with versions of java sdk and java chaincode

albert.lacambra (Mon, 04 Jun 2018 09:02:09 GMT):
depending on the versions of sdk, fabric, and shim basically

sanchezl (Mon, 04 Jun 2018 17:12:55 GMT):
pkcs

IgorSim (Tue, 05 Jun 2018 11:32:00 GMT):
Has joined the channel.

anjalinaik (Tue, 05 Jun 2018 11:44:44 GMT):
Hi All .Can somebody please explain what below error is about.*Error from query = access denied: channel [mychannel] creator org [org1]*. I have a vague idea that it is caused due to revoking of certificates, But Along the process of setting up the network i haven't manually revoked any certificates. May i please know why this error is occurring? and also the error is not consistent.

anjalinaik (Wed, 06 Jun 2018 09:49:02 GMT):
Hi All. Can Somebody please help me with below error? `Error: got unexpected status: BAD_REQUEST -- Attempted to include a member which is not in the consortium`

rahulhegde (Wed, 06 Jun 2018 11:21:15 GMT):
Hello @jyellick

rahulhegde (Wed, 06 Jun 2018 11:39:50 GMT):
Hello @jyellick In our setup fabric v1.0.x - we have 1 PEER per Organization and we are not using any Gossip. But I see some Gossip Logs in the Peer. We don't have anchor Peer defined. Can you review why is this happening.

rahulhegde (Wed, 06 Jun 2018 11:39:50 GMT):
Hello @jyellick In our setup fabric v1.0.x - we have 1 PEER per Organization and we are not using any Gossip. But I see some Gossip Logs in the Peer. We don't have anchor Peer defined. Can you review why is this happening. There is log getting printed from `gossip/discovery` and `gossip/gossip` module.

jyellick (Wed, 06 Jun 2018 13:25:23 GMT):
@rahulhegde Sure, even without anchor peers defined, gossip may be configured to work by setting the `peer.gossip.bootstrap`variable to point to an initial set of peers in your org. So, you may simply be seeing the log messages to do with this. The gossip service is in charge of block dissemination, deciding whether to retrieve blocks from ordering or peer to peer. In a 'disabled' state, gossip is actually simply not establishing any links peer-to-peer, and each peer is considered a 'leader', which means it will connect directly to the orderer.

rahulhegde (Wed, 06 Jun 2018 15:42:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ESLWLZZ73QFgShxob) @jyellick Thanks for the response. We haven't set any gossip related override and peer uses the default value present in the peer application yaml. So for `gossip.bootstrap`, the value set is `127.0.0.1` which means the peer gossip logs are with orderer node to retrieve block.

asaningmaxchain123 (Wed, 06 Jun 2018 16:26:25 GMT):
@jyellick @kostas if the a peer in the Org1,can it communicate with another peer in the Org2?

asaningmaxchain123 (Wed, 06 Jun 2018 16:26:25 GMT):
@jyellick @kostas if the a peer in the Org1,can it communicate with another peer in the Org2? it doesn't the external point

kostas (Wed, 06 Jun 2018 16:26:26 GMT):
Has joined the channel.

jyellick (Wed, 06 Jun 2018 16:29:49 GMT):
@asaningmaxchain123 No

asaningmaxchain123 (Wed, 06 Jun 2018 16:30:41 GMT):
@jyellick so in one Org,it must contain a leader to communicate with the OSN

asaningmaxchain123 (Wed, 06 Jun 2018 16:30:41 GMT):
@jyellick so in one Org,it must contain a leader to communicate with the OSN?

jyellick (Wed, 06 Jun 2018 16:30:57 GMT):
Yes

asaningmaxchain123 (Wed, 06 Jun 2018 16:33:59 GMT):
so how many peers in one org is good?

asaningmaxchain123 (Wed, 06 Jun 2018 16:33:59 GMT):
so how many peers in one org is good?

jyellick (Wed, 06 Jun 2018 16:36:41 GMT):
In general, f+1

asaningmaxchain123 (Wed, 06 Jun 2018 16:36:56 GMT):
what's the f

jyellick (Wed, 06 Jun 2018 16:37:05 GMT):
How many failures you wish to tolerate

asaningmaxchain123 (Wed, 06 Jun 2018 16:37:39 GMT):
so i just keep one alive is ok?

jyellick (Wed, 06 Jun 2018 16:39:15 GMT):
It depends on your application, and what you are attempting to protect against. If you have a channel with a single chaincode, then two peers, joined to that channel, each of which is running the chaincode, would likely be adequate to ensure that you do not experience a service outage. Of course if the chaincode request volume is sufficiently high, you may need additional peers.

asaningmaxchain123 (Wed, 06 Jun 2018 16:42:22 GMT):
what's the request volume

asaningmaxchain123 (Wed, 06 Jun 2018 16:42:35 GMT):
can you give me more detail

vdods (Thu, 07 Jun 2018 00:29:19 GMT):
This may be somewhat of an old question -- I'm currently upgrading to Fabric 1.1 and have found that probably what used to be the "peer events port" 7053 no longer exists. Is this correct? Is it just the peer listen address (default 7051) now?

vdods (Thu, 07 Jun 2018 00:29:19 GMT):
This may be somewhat of an old question -- I'm currently upgrading to Fabric 1.1 (from 1.0.5) and have found that probably what used to be the "peer events port" 7053 no longer exists. Is this correct? Is it just the peer listen address (default 7051) now?

dimaxgl (Thu, 07 Jun 2018 07:50:13 GMT):
Has joined the channel.

dimaxgl (Thu, 07 Jun 2018 07:52:34 GMT):
Hi all! I have a little question - we must to set endorsement policy of cc in production mode, but we don't need to set in dev mode, why? Official tutorial of peer dev mode says policy is optional, isn't it?

TakahiroFujita (Thu, 07 Jun 2018 10:57:46 GMT):
Has joined the channel.

kostas (Thu, 07 Jun 2018 12:32:20 GMT):
Has left the channel.

abraham (Fri, 08 Jun 2018 05:38:27 GMT):
Has joined the channel.

pankajcheema (Fri, 08 Jun 2018 09:11:06 GMT):
Fabric peer taking time to execute query

pankajcheema (Fri, 08 Jun 2018 09:11:20 GMT):
while other peer immidiatly provide the response

pankajcheema (Fri, 08 Jun 2018 09:11:28 GMT):
I have 2 peers up and running

pankajcheema (Fri, 08 Jun 2018 09:11:42 GMT):
`peer0` takes near about 5 seconds to execute a query

pankajcheema (Fri, 08 Jun 2018 09:12:00 GMT):
where as `peer1` takes only 30 ms to execute same query

pankajcheema (Fri, 08 Jun 2018 09:12:08 GMT):
Anyone knows the reason?

pankajcheema (Fri, 08 Jun 2018 09:13:32 GMT):
@Bingguang-Xiang

Bingguang-Xiang (Fri, 08 Jun 2018 09:13:33 GMT):
Has joined the channel.

pankajcheema (Fri, 08 Jun 2018 09:13:36 GMT):
@jyellick

pankajcheema (Fri, 08 Jun 2018 09:13:38 GMT):
@dimaxgl

pankajcheema (Fri, 08 Jun 2018 09:13:54 GMT):
@andkononykhin

andkononykhin (Fri, 08 Jun 2018 09:13:55 GMT):
Has joined the channel.

pankajcheema (Fri, 08 Jun 2018 09:14:07 GMT):
@yacovm

yacovm (Fri, 08 Jun 2018 09:35:57 GMT):
sorry, ran out of psychic power / mana. can you perhaps look at the logs and see what is the difference? what is taking longer in the slower peer?

dimaxgl (Fri, 08 Jun 2018 10:10:00 GMT):
@pankajcheema show logs to us

pankajcheema (Fri, 08 Jun 2018 10:10:22 GMT):
@dimaxgl logs for what?

pankajcheema (Fri, 08 Jun 2018 10:10:31 GMT):
Are you talking about peer logs?

dimaxgl (Fri, 08 Jun 2018 10:10:34 GMT):
for peer0

dimaxgl (Fri, 08 Jun 2018 10:10:36 GMT):
yes

pankajcheema (Fri, 08 Jun 2018 10:10:42 GMT):
please wait

dimaxgl (Fri, 08 Jun 2018 10:10:51 GMT):
i want to know what is he doing for 5 seconds

pankajcheema (Fri, 08 Jun 2018 10:12:14 GMT):
Logs are too long

pankajcheema (Fri, 08 Jun 2018 10:12:23 GMT):
Please find the logs in pastebin

pankajcheema (Fri, 08 Jun 2018 10:12:23 GMT):
https://pastebin.com/wNG5nCCf

pankajcheema (Fri, 08 Jun 2018 10:15:42 GMT):
@dimaxgl Sorry the logs i send you

pankajcheema (Fri, 08 Jun 2018 10:15:53 GMT):
gives me result in 174 ms

pankajcheema (Fri, 08 Jun 2018 10:16:24 GMT):
And now am unable to replicate that time duration(% secs near about).

pankajcheema (Fri, 08 Jun 2018 10:16:24 GMT):
And now am unable to replicate that time duration(5 secs near about).

pankajcheema (Fri, 08 Jun 2018 10:17:32 GMT):
Does cpu usage and memory on the system matters here.

pankajcheema (Fri, 08 Jun 2018 10:17:32 GMT):
Does cpu usage and memory on the system matters here ?

pankajcheema (Fri, 08 Jun 2018 10:18:50 GMT):
We are using peer0 for other prosesses also like `Android Studio` ,`PHP`,`Apche server` i.e.

pankajcheema (Fri, 08 Jun 2018 10:18:50 GMT):
We are using peer0 for other processes also like `Android Studio` ,`PHP`,`Apche server` i.e.

pankajcheema (Fri, 08 Jun 2018 10:18:50 GMT):
We are using peer0 for other processes also like `Android Studio` ,`PHP`,`Apche server` i.e.

pankajcheema (Fri, 08 Jun 2018 10:18:50 GMT):
We are using peer0 for other processes also like `Android Studio ,PHP, Apche server` i.e.

pankajcheema (Fri, 08 Jun 2018 10:18:50 GMT):
We are using peer0 for other processes also like `Android Studio ,PHP, Apache server` i.e.

dimaxgl (Fri, 08 Jun 2018 11:20:18 GMT):
@pankajcheema maybe chaicode in `peer0` wasn't built so at first peer built chaincode and then launched?

pankajcheema (Fri, 08 Jun 2018 11:20:49 GMT):
@dimaxgl

pankajcheema (Fri, 08 Jun 2018 11:20:49 GMT):
@dimaxgl chaincode was already built

pankajcheema (Fri, 08 Jun 2018 11:21:09 GMT):
Every time I was getting response in 5 seconds

dimaxgl (Fri, 08 Jun 2018 11:22:04 GMT):
not every time, now you can't replicate you say :woo:

pankajcheema (Fri, 08 Jun 2018 11:23:42 GMT):
@dimaxgl yes I can not replicate it now. Don't know why. I think fabric is not stable enough

pankajcheema (Fri, 08 Jun 2018 11:23:59 GMT):
My whole project is built on fabric blockchain

dimaxgl (Fri, 08 Jun 2018 11:27:48 GMT):
when you build distributed network you should expect some differences between peer responses time , it's normal situation

niteshsolanki (Fri, 08 Jun 2018 12:14:54 GMT):
ulimit

pankajcheema (Mon, 11 Jun 2018 05:21:01 GMT):
Hi Expert,we are facing issue with slow response from peer for query result.We have a deep look on the logs and found that couchdb is taking 5 sec to handover query result to peer. Any idea whats going here. Thanka in Advance

pankajcheema (Mon, 11 Jun 2018 05:21:01 GMT):
Hi Expert,we are facing issue with slow response from peer for query result.We have a deep look on the logs and found that couchdb is taking 5 sec to handover query result to peer. Any idea whats going here. Thanks in Advance .

pankajcheema (Mon, 11 Jun 2018 05:21:01 GMT):
Hi Expert,we are facing issue with slow response from peer for query result.We have a deep look on the logs and found that couchdb is taking 5 sec to handover query result to peer. Any idea what's going here. Thanks in Advance .

pankajcheema (Mon, 11 Jun 2018 05:21:01 GMT):
Hi Expert,we are facing issue with slow response from peer for query result.We have a deep look on the logs and found that couchdb is taking 5 sec to handover query result to peer. Any idea what's going here logs >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>https://pastebin.com/mWZuNbHM. Thanks in Advance .

pankajcheema (Mon, 11 Jun 2018 05:21:01 GMT):
Hi Expert,we are facing issue with slow response from peer for query result.We have a deep look on the logs and found that couchdb is taking 5 sec to handover query result to peer. Any idea what's happening logs on pastebin >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>https://pastebin.com/mWZuNbHM. Thanks in Advance .

pankajcheema (Mon, 11 Jun 2018 05:21:01 GMT):
Hi Expert,we are facing issue with slow response from peer for query result.We have a deep look on the logs and found that couchdb is taking 5 sec to handover query result to peer. Any idea what's happening logs on pastebin >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>https://pastebin.com/mWZuNbHM. Thanks in Advance . @jyellick @dimaxgl

pankajcheema (Mon, 11 Jun 2018 07:27:01 GMT):
@dimaxgl

pankajcheema (Mon, 11 Jun 2018 07:27:23 GMT):
not it is taking 45 seconds

pankajcheema (Mon, 11 Jun 2018 07:27:38 GMT):
:expressionless:

pankajcheema (Tue, 12 Jun 2018 04:25:15 GMT):
Hi Experts any suggestion for me [ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=N3bhvmfjKTdEwCQur)

Ryan2 (Tue, 12 Jun 2018 04:41:36 GMT):
hi, I faced this error on the peer, peer cannot be started again (v1.1.0 fabric) `panic: Error during commit to txmgr:Couch DB Error:illegal_docid, Status Code:400, Reason:Only reserved document ids may start with underscore.` how to overcome in this situation

Ryan2 (Tue, 12 Jun 2018 04:41:36 GMT):
hi, I faced this error on the peer, peer cannot be started again (v1.1.0 fabric) `panic: Error during commit to txmgr:Couch DB Error:illegal_docid, Status Code:400, Reason:Only reserved document ids may start with underscore.` how to overcome in this situation. It worked normal until I did some invoking chaincode, then It stopped. peer log: https://hastebin.com/axeyidogec.go

pankajcheema (Tue, 12 Jun 2018 04:49:50 GMT):
@Ryan2 Are you creating any feild in chaincode or go with _ ?

pankajcheema (Tue, 12 Jun 2018 04:49:50 GMT):
@Ryan2 Are you creating any field in chaincode or go with _ ?

pankajcheema (Tue, 12 Jun 2018 04:49:50 GMT):
@Ryan2 Are you creating any field in chaincode or couchdb with _ ?

Ryan2 (Tue, 12 Jun 2018 04:52:17 GMT):
no, I have not, it was created automatically by code base 1.1.0

pankajcheema (Tue, 12 Jun 2018 04:53:32 GMT):
@Ryan2 Something is there only `_id` and `_rev` are the feilds which can be created with `_ `in couchdb

pankajcheema (Tue, 12 Jun 2018 04:53:32 GMT):
@Ryan2 Something is there, only `_id` and `_rev` are the feilds which can be created with `_ `in couchdb

pankajcheema (Tue, 12 Jun 2018 04:53:32 GMT):
@Ryan2 Something is there, only `_id` and `_rev` are the fields which can be created with `_ `in couchdb

pankajcheema (Tue, 12 Jun 2018 04:54:48 GMT):
and your code is trying to create a field with _

pankajcheema (Tue, 12 Jun 2018 04:55:10 GMT):
Please have a look again.

sandman (Tue, 12 Jun 2018 12:24:52 GMT):
Has joined the channel.

sandman (Tue, 12 Jun 2018 12:28:48 GMT):
Hello, i am trying to join peer to a existing setup. setup containers solo orderer, and a peer belonging to org1, peer and orderer are on different nodes in same network. I am unable to start 2nd peer. Dockerfile for 2nd peer is: ```

sandman (Tue, 12 Jun 2018 12:28:48 GMT):
Hello, i am trying to join peer to a existing setup. setup containers solo orderer, and a peer belonging to org1, peer and orderer are on different nodes in same network. I am unable to start 2nd peer. Dockerfile for 2nd peer is: FROM hyperledger/fabric-peer:latest ENV CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock ENV CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=net_org1-net ENV CORE_LOGGING_LEVEL=DEBUG ENV CORE_PEER_TLS_ENABLED=true ENV CORE_PEER_GOSSIP_USELEADERELECTION=true ENV CORE_PEER_GOSSIP_ORGLEADER=false ENV CORE_PEER_PROFILE_ENABLED=true ENV CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt ENV CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key ENV CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt ENV CORE_PEER_ID=peer1 ENV CORE_PEER_ADDRESS=peer1:7051 ENV CORE_PEER_GOSSIP_BOOTSTRAP=peer0:7051 ENV CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1:7051 ENV CORE_PEER_LOCALMSPID=Org1MSP WORKDIR /opt/gopath/src/github.com/hyperledger/fabric/peer ENTRYPOINT peer node start command for starting peer is:- ``` docker run -dit -p 0.0.0.0:7051:7051 -p 0.0.0.0:7053:7053 -v /var/run/:/host/var/run/ -v /home/docker/crypto-config/peerOrganizations/or g1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp -v /home/docker/crypto-config/peerOrganizations/org1.example.com/peers/peer 1.org1.example.com/tls:/etc/hyperledger/fabric/tls --network net_org1-net --name peer1 bd7bfd7c92bf /bin/bash ```

sandman (Tue, 12 Jun 2018 12:33:44 GMT):
the section with error in logs for this peer are:- ``` 2018-06-12 11:53:37.258 UTC [ledgermgmt] initialize -> INFO 01b ledger mgmt initialized 2018-06-12 11:53:37.259 UTC [peer] func1 -> INFO 01c Auto-detected peer address: 10.0.0.30:7051 2018-06-12 11:53:37.259 UTC [peer] func1 -> INFO 01d Returning peer0:7051 2018-06-12 11:53:37.259 UTC [peer] func1 -> INFO 01e Auto-detected peer address: 10.0.0.30:7051 2018-06-12 11:53:37.260 UTC [peer] func1 -> INFO 01f Returning peer0:7051 2018-06-12 11:53:37.262 UTC [nodeCmd] serve -> INFO 020 Starting peer with TLS enabled 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 021 Registering BLOCK 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 022 Registering CHAINCODE 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 023 Registering REJECTION 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 024 Registering REGISTER 2018-06-12 11:53:37.265 UTC [eventhub_producer] AddEventType -> DEBU 025 Registering FILTEREDBLOCK 2018-06-12 11:53:37.265 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 026 Entering computeChaincodeEndpoint with peerHostname: peer0 2018-06-12 11:53:37.265 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 027 Exit with ccEndpoint: peer0:7052 2018-06-12 11:53:37.266 UTC [nodeCmd] createChaincodeServer -> WARN 028 peer.chaincodeListenAddress is not set, using peer0:7052 2018-06-12 11:53:37.266 UTC [accessControl] newCertKeyPair -> DEBU 029 Classified peer0 as a hostname, adding it as a DNS SAN 2018-06-12 11:53:37.267 UTC [eventhub_producer] start -> INFO 02a Event processor started 2018-06-12 11:53:37.267 UTC [nodeCmd] createChaincodeServer -> ERRO 02b Error creating GRPC server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address 2018-06-12 11:53:37.268 UTC [nodeCmd] serve -> CRIT 02c Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address panic: Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/op/go-logging.(*Logger).Panicf(0xc4201d70e0, 0xf0a90e, 0x25, 0xc4217a0ab0, 0x1, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/logger.go:194 +0x134 github.com/hyperledger/fabric/peer/node.serve(0x16c5708, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:195 +0x8a9 github.com/hyperledger/fabric/peer/node.glob..func1(0x164ce80, 0x16c5708, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:87 +0x3f github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0x164ce80, 0x16c5708, 0x0, 0x0, 0x164ce80, 0x16c5708) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x3e8 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x164d4e0, 0x11, 0xc4201bb0d0, 0x5) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x2fe github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x164d4e0, 0x1b, 0xc420014095) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b ``` ```

sandman (Tue, 12 Jun 2018 12:34:45 GMT):
section of focus:-``` CRIT 02c Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address panic: Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address ```

sandman (Tue, 12 Jun 2018 12:38:15 GMT):
the section with error in logs for this peer are:- ``` 2018-06-12 11:53:37.258 UTC [ledgermgmt] initialize -> INFO 01b ledger mgmt initialized 2018-06-12 11:53:37.259 UTC [peer] func1 -> INFO 01c Auto-detected peer address: 10.0.0.30:7051 2018-06-12 11:53:37.259 UTC [peer] func1 -> INFO 01d Returning peer0:7051 2018-06-12 11:53:37.259 UTC [peer] func1 -> INFO 01e Auto-detected peer address: 10.0.0.30:7051 2018-06-12 11:53:37.260 UTC [peer] func1 -> INFO 01f Returning peer0:7051 2018-06-12 11:53:37.262 UTC [nodeCmd] serve -> INFO 020 Starting peer with TLS enabled 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 021 Registering BLOCK 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 022 Registering CHAINCODE 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 023 Registering REJECTION 2018-06-12 11:53:37.264 UTC [eventhub_producer] AddEventType -> DEBU 024 Registering REGISTER 2018-06-12 11:53:37.265 UTC [eventhub_producer] AddEventType -> DEBU 025 Registering FILTEREDBLOCK 2018-06-12 11:53:37.265 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 026 Entering computeChaincodeEndpoint with peerHostname: peer0 2018-06-12 11:53:37.265 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 027 Exit with ccEndpoint: peer0:7052 2018-06-12 11:53:37.266 UTC [nodeCmd] createChaincodeServer -> WARN 028 peer.chaincodeListenAddress is not set, using peer0:7052 2018-06-12 11:53:37.266 UTC [accessControl] newCertKeyPair -> DEBU 029 Classified peer0 as a hostname, adding it as a DNS SAN 2018-06-12 11:53:37.267 UTC [eventhub_producer] start -> INFO 02a Event processor started 2018-06-12 11:53:37.267 UTC [nodeCmd] createChaincodeServer -> ERRO 02b Error creating GRPC server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address 2018-06-12 11:53:37.268 UTC [nodeCmd] serve -> CRIT 02c Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address panic: Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/op/go-logging.(*Logger).Panicf(0xc4201d70e0, 0xf0a90e, 0x25, 0xc4217a0ab0, 0x1, 0x1) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/op/go-logging/logger.go:194 +0x134 github.com/hyperledger/fabric/peer/node.serve(0x16c5708, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:195 +0x8a9 github.com/hyperledger/fabric/peer/node.glob..func1(0x164ce80, 0x16c5708, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:87 +0x3f github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0x164ce80, 0x16c5708, 0x0, 0x0, 0x164ce80, 0x16c5708) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x3e8 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x164d4e0, 0x11, 0xc4201bb0d0, 0x5) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x2fe github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x164d4e0, 0x1b, 0xc420014095) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b ``` ``` `````` section of focus:-``` CRIT 02c Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address panic: Failed to create chaincode server: listen tcp 10.0.0.8:7052: bind: cannot assign requested address ``` ```

yacovm (Tue, 12 Jun 2018 12:39:23 GMT):
@sandman try to set `CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052`

sandman (Tue, 12 Jun 2018 13:34:46 GMT):
@yacovm thanks alot

zimabry (Tue, 12 Jun 2018 17:37:39 GMT):
Has joined the channel.

zimabry (Tue, 12 Jun 2018 17:38:11 GMT):
I am having issues joining my peers to the channel.. I have 4 separate servers(1 is orderer and 3 other peers). The three other peers have DNS created when they spin up.. BYFN script runs on the 3 peers, then a byfn runs on the orderer last.. The error I get on the orderer is: Error: Error getting endorser client channel: endorser client failed to connect to peer0.****.com:7051: failed to create new connection: context deadline exceeded

bh4rtp (Wed, 13 Jun 2018 01:21:55 GMT):
hi, does state-based endorsement function until now?

GowriR (Wed, 13 Jun 2018 03:18:13 GMT):
Has joined the channel.

GowriR (Wed, 13 Jun 2018 08:49:54 GMT):
hello, I am getting this error when i start my containers and network using the chaindev sample code > DEBU 004 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup orderer on 127.0.0.11:53: no such host"; Reconnecting to {orderer:7050 }

GowriR (Wed, 13 Jun 2018 08:49:54 GMT):
hello, I am getting this error when i start my containers and network using the chaindev sample code > DEBU 004 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup orderer on 127.0.0.11:53: no such host"; Reconnecting to {orderer:7050 }

GowriR (Wed, 13 Jun 2018 08:50:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=hmw2LZ2hmRM5xPE7G)

GowriR (Wed, 13 Jun 2018 09:11:55 GMT):
Hi all, cli | 2018-06-13 09:10:28.587 UTC [grpc] Printf -> DEBU 004 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup orderer on 127.0.0.11:53: no such host"; Reconnecting to {orderer:7050 } cli | 2018-06-13 09:10:30.293 UTC [grpc] Printf -> DEBU 005 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup orderer on 127.0.0.11:53: no such host"; Reconnecting to {orderer:7050 } cli | Error: failed to create deliver client: orderer client failed to connect to orderer:7050: failed to create new connection: context deadline exceeded I am getting this error

GowriR (Wed, 13 Jun 2018 09:12:27 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=bKMc3c3rFCwhNDJT3) @zimabry my same error

GowriR (Wed, 13 Jun 2018 09:12:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=cKkpZdnABNNTjbi5r) Did it get solved?

GowriR (Wed, 13 Jun 2018 09:12:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=cKkpZdnABNNTjbi5r) Did it get solved?

sarapara (Wed, 13 Jun 2018 17:25:51 GMT):
Has joined the channel.

sandman (Fri, 15 Jun 2018 06:40:20 GMT):
@GowriR are you able to ping orderer from cli?

sandman (Fri, 15 Jun 2018 06:42:51 GMT):
Hi, If in a fully functional network the anchor peer for an organization goes down, then how will organization adapt to this event? considering there is just one anchor peer for that organization.

paulananth (Fri, 15 Jun 2018 15:52:30 GMT):
Has joined the channel.

rahulhegde (Tue, 19 Jun 2018 11:43:26 GMT):
Fabric v1.0.x hello - we have set of keys created on the world-state-ledger and need to migrate to a different pattern/structure. The channel has 2 out 3 endorsement policy and the chaincode can be upgraded only by a specific organization admin user (which is a specific organization from the 2 out of 3 endorsement policy). what is the best way to do this key migration? My understanding - we cannot use the init method in this case as upgrade resulting in RWSet will not meet the Endorsement Policy. The only way is to write a client to perform this key migration process. Any thoughts?

rahulhegde (Tue, 19 Jun 2018 11:43:26 GMT):
Hello. We have set of keys created on the world-state-ledger and need to migrate to a different pattern/structure (this is on Fabric v1.0.x). The channel has 2 out 3 endorsement policy and the chaincode can be upgraded only by a specific organization admin user (which is a specific organization from the 2 out of 3 endorsement policy). what is the best way to do this key migration? My understanding - we cannot use the init method in this case as upgrade resulting in RWSet will not meet the Endorsement Policy. The only way is to write a client to perform this key migration process. Any Suggestion.

divyank (Tue, 19 Jun 2018 17:49:06 GMT):
Do chaincode invocations happen in parallel?

divyank (Tue, 19 Jun 2018 17:49:06 GMT):
Do chaincode invocations (within a peer) happen in parallel?

yacovm (Tue, 19 Jun 2018 21:37:34 GMT):
@divyank - for the same chaincode - no since there is only a single goroutine that handles a transaction

yacovm (Tue, 19 Jun 2018 21:37:34 GMT):
@divyank - for the same chaincode - no since there is only a single goroutine that handles a transaction inside the shim container

yacovm (Tue, 19 Jun 2018 21:37:40 GMT):
for multiple chaincodes - yes

minollo (Tue, 19 Jun 2018 23:58:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=RJAX6BFxGrwBQrd5t) @yacovm Are you positive about that @yacovm ? I remember we had this conversation a few months ago (https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=utGqv7wbkrC2gd3ax) and I finally corrected my tests and realized that invocation of the same chaincode on the same peer is not serialized; @muralisr mentioned the same.

Ryan2 (Wed, 20 Jun 2018 01:52:36 GMT):
I faced this error while continuously invoking chaincode (load test) `[chaincode] ExecuteChaincode -> ERRO 035 error chaincode is already launching: MYCHANNEL_CC_001:t1` https://pastebin.com/QPnNcrdF What is contribute to this issue?

pvrbharg (Wed, 20 Jun 2018 02:06:46 GMT):
Hello, I am trying to setup a local Fabric V1.1.0 network instance running on K8S network with a tutorial example deployed - in addition to composer. Details of this work at the following URL: https://github.com/IBM-Blockchain/ibm-container-service This setup works for me correctly when I deploy v1.0.3 release. This fails to deploy at joinchannel step. Looks like - endorsement policy failures? I need help with how to recover from this issue and some pointers - details are in yaml files or config files or both - per my initial understanding. My debug traces are here: https://pastebin.com/26fq4Vr0 https://pastebin.com/afuNCQBh https://pastebin.com/MDeqCPQb

RobertDiebels (Wed, 20 Jun 2018 10:35:32 GMT):
Has joined the channel.

RobertDiebels (Wed, 20 Jun 2018 10:36:12 GMT):
Hey guys, I'm getting the following error on a fabric-peer: `Failed to generate platform-specific docker build: Error returned from build: 1 "can't load package: package chaincodes/simple: no buildable Go source files in /chaincode/input/src/chaincodes/simple`.

RobertDiebels (Wed, 20 Jun 2018 10:37:22 GMT):
I'm using the NodeSDK to send install and instantiate proposals. The first succeeds the second leads to this error.

RobertDiebels (Wed, 20 Jun 2018 10:37:45 GMT):
Could you tell me where the Peer tries to find the Go files?

bur (Thu, 21 Jun 2018 13:16:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=TQYBxvvNkdjqQRygd) @RobertDiebels your chaincode needs a main; when you install your chaincode make sure you give the path to the main

bur (Thu, 21 Jun 2018 13:16:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=TQYBxvvNkdjqQRygd) @RobertDiebels your chaincode needs a main; when you install your chaincode make sure you give the path to the main; [edit] just read that you use nodesdk; no idea how to use this

RobertDiebels (Fri, 22 Jun 2018 08:19:28 GMT):
@bur no problem. Thanks for answering anyway. You're the only one who tried so far haha.

bur (Fri, 22 Jun 2018 08:53:54 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=FoE5gGmWDto4D6Buq) @RobertDiebels did you try to install your chaincode using the CLI as described in the docs?

RobertDiebels (Fri, 22 Jun 2018 11:10:07 GMT):
@bur Yes. Installing using the CLI is operational. I tried analyzing why the files aren't found. I can't find them on the path where the peer tries to locate them `/var/hyperledger/production` even-tough the `installChaincode` call via the NodeSDK is succesful.

RobertDiebels (Fri, 22 Jun 2018 11:11:04 GMT):
My assumption there would be that if I use the `installChaincode` method the package is sent to the peer on which it is installed and unpacked in the right directory.

RobertDiebels (Fri, 22 Jun 2018 11:11:04 GMT):
My assumption there would be that if I use the `installChaincode` method the package is sent to the peer and unpacked in the right directory.

nvxtien (Fri, 22 Jun 2018 11:38:52 GMT):
Has joined the channel.

krisava (Fri, 22 Jun 2018 19:12:36 GMT):
Hi. getting the below exact error on multiple attempts, and also on many vm's. any idea if there are any changes at the fabric docker? 2018-06-22 19:06:04.562 UTC [grpc] Printf -> DEBU 040 grpc: addrConn.createTransport failed to connect to {peer0.org1.example.com:7051 0 }. Err :connection error: desc = "transport: Error while dialing dial tcp 172.18.0.14:7051: connect: connection refused". Reconnecting...

sureshtedla (Sat, 23 Jun 2018 23:33:44 GMT):
Has joined the channel.

skarim (Mon, 25 Jun 2018 16:20:04 GMT):
Has joined the channel.

sampath06 (Tue, 26 Jun 2018 05:59:56 GMT):
I am looking for some information on the consensus algorithms in fabric. Mainly for the design considerations for moving away from pbft in 1.0?

anjalinaik (Tue, 26 Jun 2018 07:51:06 GMT):
hi All..can anyboy please help me understand below error? `Error: got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet`

C0rWin (Tue, 26 Jun 2018 10:35:00 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ubkpcfEgTR9cLdxQx) @sampath06 Well, no one really moved away from pbft, consensus or ordering service is a pluggable component and in fact the enablement of BFT based consensus algorithm was just deferred

RobertDiebels (Wed, 27 Jun 2018 08:16:18 GMT):
Has left the channel.

pankajcheema (Wed, 27 Jun 2018 08:52:16 GMT):
Does anyone have any clue about this error ```2018-06-27 14:19:52.893 IST [gossip/discovery] expireDeadMembers -> WARN 347 Closing connection to Endpoint: peer2.debutinfotech.com:7051, InternalEndpoint: peer2.debutinfotech.com:7051, PKI-ID: [124 77 190 220 120 35 230 29 32 38 167 58 247 176 61 160 248 79 149 55 32 208 103 185 133 103 57 52 147 13 130 186], Metadata: [] ```

C0rWin (Wed, 27 Jun 2018 13:10:45 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=DMhDAbyYxmE55fuuL) @pankajcheema that's not an error, though. Just a warning message of non active member being removed from the membership

pankajcheema (Wed, 27 Jun 2018 15:48:39 GMT):
@C0rWin yes its a warning. Could you please describe why it is showing me this warning?

C0rWin (Wed, 27 Jun 2018 16:32:05 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=23LcxrTcd8wcXppqa) @pankajcheema peer2 stopped communicate or haven’t been spotted a long time (no alive messages) presumed as dead, eventually clean up after expiration

anjalinaik (Thu, 28 Jun 2018 06:03:12 GMT):
Hi Can anyone please help me with this error : ` Unexpected topic-level metadata error: kafka server: Replication-factor is invalid.`

yacovm (Thu, 28 Jun 2018 06:11:35 GMT):
@anjalinaik - this question is more relevant to #fabric-orderer

yacovm (Thu, 28 Jun 2018 06:12:11 GMT):
but my guess would be that you messed up your kafka configuration somehow

clouddead (Thu, 28 Jun 2018 15:00:33 GMT):
Has joined the channel.

moodysalem (Thu, 28 Jun 2018 21:57:05 GMT):
Has joined the channel.

DivyaAgrawal (Thu, 28 Jun 2018 22:01:32 GMT):
Has joined the channel.

DivyaAgrawal (Thu, 28 Jun 2018 22:02:57 GMT):
Can someone point me to document for Committer sending events to clients after transaction commit. I could not find any detailed documentation on that. TIA

shubhamvrkr (Fri, 29 Jun 2018 06:25:28 GMT):
Has joined the channel.

wlahti (Fri, 29 Jun 2018 14:53:08 GMT):
@DivyaAgrawal Here is the doc for events starting with v1.1: https://hyperledger-fabric.readthedocs.io/en/release-1.1/peer_event_services.html

DivyaAgrawal (Fri, 29 Jun 2018 17:35:00 GMT):
@wlahti Thanks

pvrbharg (Tue, 03 Jul 2018 16:08:45 GMT):
@channel, I am seeing the above shown error when I try to create a channel for a customized tutorial. I can provide more info if needed and hoping someone can help me see what I am doing wrong or missing. Thanks Error: got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet

pvrbharg (Tue, 03 Jul 2018 16:09:02 GMT):

ServiceUnavailableError.txt

suchith.arodi (Tue, 03 Jul 2018 18:25:56 GMT):
Has joined the channel.

asaningmaxchain123 (Wed, 04 Jul 2018 03:05:05 GMT):
@jyellick https://github.com/hyperledger/fabric/blob/83f18e76ac75fc381ad159b496eaf8a1b7bb20fb/core/aclmgmt/resourceprovider.go#L48 ,currently it just use the application section custom policy by config

asaningmaxchain123 (Wed, 04 Jul 2018 03:06:19 GMT):
but in the sampelconfig/configtx.yml, it supports the channel/orderer policy custom config

AshishMishra 1 (Wed, 04 Jul 2018 08:17:00 GMT):
Hi Guys.. do we have a configuration.. to restrict the CPU on the chaincode containers ? which we can pass an enviroment variable from the docker-compose file?

JayPandya (Thu, 05 Jul 2018 16:09:39 GMT):
Has joined the channel.

JayPandya (Thu, 05 Jul 2018 16:10:55 GMT):
what is best way to handle `MVCC_READ_CONFLICT` error in peer?

JayPandya (Thu, 05 Jul 2018 16:10:55 GMT):
what is the best way to handle `MVCC_READ_CONFLICT` error in peer?

JayPandya (Thu, 05 Jul 2018 16:11:49 GMT):
I'm committing 2 transactions from 2 different machines on peers

merth (Thu, 05 Jul 2018 18:51:40 GMT):
Has joined the channel.

jyellick (Thu, 05 Jul 2018 20:41:25 GMT):
@asaningmaxchain123 The ACLs are peer specific, and they are stored in the application section, but they may reference any policy defined in the channel config.

jyellick (Thu, 05 Jul 2018 20:41:51 GMT):
@JayPandya If an MVCC conflict occurs, usually you may simply re-simulate and submit the failing transaction and it will succeed.

danny_lee (Thu, 05 Jul 2018 22:49:47 GMT):
Has joined the channel.

JayPandya (Fri, 06 Jul 2018 07:49:37 GMT):
@jyellick - yeah that's right but I want to avoid this error so is there any way to do it instead of re-simulate txn?

JayPandya (Fri, 06 Jul 2018 07:50:01 GMT):
I'm trying delay between two txns but its not working properly

pankajcheema (Fri, 06 Jul 2018 12:34:05 GMT):
Is there anything like `admin peer`? I was reading endorsement policies ```'Org0.admin' (any administrator of the Org0 MSP) or 'Org1.member' (any member of the Org1 MSP), 'Org1.client' (any client of the Org1 MSP), and 'Org1.peer' (any peer of the Org1 MSP).```. Who is client peer?

jyellick (Fri, 06 Jul 2018 19:37:57 GMT):
Peers are generally not clients, nor admins. Clients and admins are principals which are used in the construction of other, non-endorsement policies.

vdods (Sat, 07 Jul 2018 21:02:21 GMT):
Hey all, just wondering what version of golang is supported by Fabric 1.1 and 1.2? At some point there was an issue (with 1.0.5 I think?) where go 1.9 was not supported, so go 1.8 had to be used, and I just want to know if that limitation has been resolved. Thanks!

yacovm (Sat, 07 Jul 2018 21:02:56 GMT):
1.2 is using 1.10

vdods (Sat, 07 Jul 2018 21:03:10 GMT):
@yacovm Awesome, thanks!

yacovm (Sat, 07 Jul 2018 21:03:14 GMT):
I can't remember what's used in v1.1... I think 1.9 but not sure

yacovm (Sat, 07 Jul 2018 21:04:13 GMT):
in general - use 1.2 over v1.1, it has all the bug fixes v1.1.x has and the new features in it are very stable

vdods (Sat, 07 Jul 2018 21:04:14 GMT):
Between go 1.8 and 1.9 there was a minor feature added to encoding/base64 that I used in some code, and it made me really sad to have to give it up to use go 1.8 ;)

vdods (Sat, 07 Jul 2018 21:04:30 GMT):
Cool, noted!

grice_32 (Mon, 09 Jul 2018 14:38:45 GMT):
I'm going to run Fabric on RHEL 7.5 - Does anyone know if it is supported or do only the prerequisites (Docker, Docker Compose, go, node.js) versions matter?

NoLimitHoldem (Wed, 11 Jul 2018 06:19:18 GMT):
Has joined the channel.

jayeshjawale95 (Wed, 11 Jul 2018 07:32:39 GMT):
Has joined the channel.

WadeLu (Thu, 12 Jul 2018 07:34:37 GMT):
Has joined the channel.

ChanderGovindarajan (Thu, 12 Jul 2018 07:59:44 GMT):
Has joined the channel.

ChanderGovindarajan (Thu, 12 Jul 2018 08:02:33 GMT):
@grice_32 only prerequisite versions should matter. In any case, have run Fabric successfully on RHEL 7.2.

asaningmaxchain123 (Thu, 12 Jul 2018 15:26:09 GMT):
@jyellick the chaincode support the start/stop operation?

asaningmaxchain123 (Thu, 12 Jul 2018 15:26:46 GMT):
can i get the number of the chains in the blockchain?

asaningmaxchain123 (Thu, 12 Jul 2018 15:28:02 GMT):
and when the peer producer the event,it just validate the `identity` is a member of the `mspid`? so how to bind the specified channel?

asaningmaxchain123 (Thu, 12 Jul 2018 15:28:26 GMT):
and i can stop the chain?

asaningmaxchain123 (Thu, 12 Jul 2018 15:29:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ze77facMYAFKo5Yo4) @yacovm in the 1.10 go,it is very hard to debug the code

yacovm (Thu, 12 Jul 2018 15:30:47 GMT):
and ... do you expect me to do about it? :thinking:

yacovm (Thu, 12 Jul 2018 15:30:47 GMT):
and ... what do you expect me to do about it? :thinking:

asaningmaxchain123 (Thu, 12 Jul 2018 15:31:39 GMT):

Clipboard - July 12, 2018 11:31 PM

asaningmaxchain123 (Thu, 12 Jul 2018 15:32:11 GMT):
can you resolve it? i google it,but not get the solution

pvrbharg (Sat, 14 Jul 2018 22:38:40 GMT):
@channel - can you please point me to current design document that covers [endorsement or other access control] policies for smart contracts and channels? I am looking for v1.0.x, v1.1.x releases - thanks

AshishMishra 1 (Wed, 18 Jul 2018 05:49:34 GMT):
Hi guys, I have a setup, which was working until today. Since morning I 'm not able to create new channels or install new chaincodes. Existing chaincodes are working. Getting lscc chaincode timeout error. Here are the logs, can someone please help? https://gist.github.com/ashishxooa/2f7d089127d214aeed8f9c1ae34e3131

stone-ch (Wed, 18 Jul 2018 15:51:09 GMT):
Has joined the channel.

rushiraj111 (Thu, 19 Jul 2018 07:13:19 GMT):
Has joined the channel.

nelaturuk (Thu, 19 Jul 2018 18:22:19 GMT):
Has joined the channel.

nelaturuk (Fri, 20 Jul 2018 12:54:09 GMT):
Hi, has anyone come across this error in peer nodes. 2018-07-18 20:16:32.131 UTC [chaincode] Launch -> ERRO 3d4 launchAndWaitForRegister failed: Post http://unix.sock/containers/create?name=dev-peer1.chaincode1-v1.0.2-b3: dial unix /host/var/run/docker.sock: connect: permission denied error starting container This is my docker start command for peer: docker run -itd --name peer1 \ --env CORE_PEER_ADDRESSAUTODETECT=false \ --env CORE_PEER_GOSSIP_SKIPHANDSHAKE=true \ --env CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock \ --env CORE_LOGGING_LEVEL=DEBUG \ --env CORE_PEER_TLS_ENABLED=true \ --env CORE_PEER_ENDORSER_ENABLED=true \ --env CORE_PEER_GOSSIP_ORGLEADER=true \ --env CORE_PEER_GOSSIP_USELEADERELECTION=false \ --env CORE_PEER_PROFILE_ENABLED=true \ --env CORE_PEER_ADDRESS=peer1:7051 \ --env CORE_PEER_CHAINCODEADDRESS=peer1:7051 \ --env CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 \ --env CORE_PEER_ID=peer1 \ --env CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp \ --env CORE_PEER_LOCALMSPID=PeerMSP \ --env CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host \ --env CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt \ --env CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key \ --env CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt \ --env CORE_PEER_GOSSIP_EXTERNALENDPOINT=$hostip:7051 \ --env CORE_LEDGER_STATE_STATEDATABASE=CouchDB \ --env CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=$hostip:5984 \ --hostname peer1 \ --add-host orderer1:$hostip \ --add-host peer1:$hostip \ --add-host peer2:$hostip \ --workdir /opt/gopath/src/github.com/hyperledger/fabric/peer \ --volume /var/run/:/host/var/run/ \ --volume $PERSISTANCE_ROOT_FOLDER/peer1:/var/hyperledger/production \ --volume ${msp_src}:/etc/hyperledger/fabric/msp \ --volume ${tls_src}:/etc/hyperledger/fabric/tls \ --publish 7051:7051 \ --publish 7053:7053 \ ibmblockchain/fabric-peer peer node start

NareshPai (Mon, 23 Jul 2018 04:25:07 GMT):
Has joined the channel.

hamptonsmith (Mon, 23 Jul 2018 14:32:32 GMT):
Apologies for cross-post from #fabric-chaincode-dev , but I'm not certain if this is a chaincode issue or an endorser issue: I added a history query to my chaincode. Unit tests pass locally. Attempting to instantiate the code, I see: ``` chaincode/input/src/wagoncc/cc.go:993:38: cannot use entry (type *"github.com/hyperledger/fabric/protos/ledger/queryresult".KeyModification) as type *"wagoncc/vendor/github.com/hyperledger/fabric/protos/ledger/queryresult".KeyModification in argument to marshalHistoryEntry ``` Problem is, there's nothing vendored in my code: ``` $ find $GOPATH -name *vendor* /* this space blank */ $ ``` Nor do there appear to be any hidden cache directories: ``` $ find $GOPATH -name '.*' /* this space blank */ $ ``` My current assumption is that some previously-vendored version of this code is hanging around in a cache somewhere in the network itself, but I've totally torn down the network (while keeping the servers in place--they are very much pets and not cattle at this point), done my best to obliterate all state, ensured that `docker containers ls -a`, `docker image ls -a`, and `docker volume ls` all return nothing, then brought everything up _de novo_, but I still see the issue. I've run out of ideas. Any thoughts on sneaky places I can check or better ways to debug this issue?

hamptonsmith (Mon, 23 Jul 2018 14:47:47 GMT):
Note that I _have_ "in-line vendored" the library in question: ``` $ find $GOPATH -path */queryresult /opt/gopath/src/github.com/hyperledger/fabric/protos/ledger/queryresult ``` But without this, I see errors during chaincode installation: ``` $ peer chaincode install ...snip... can't load package: package github.com/hyperledger/fabric/protos/ledger/queryresult: cannot find package "github.com/hyperledger/fabric/protos/ledger/queryresult" in any of: /opt/go/src/github.com/hyperledger/fabric/protos/ledger/queryresult (from $GOROOT) /opt/gopath/src/github.com/hyperledger/fabric/protos/ledger/queryresult (from $GOPATH) ```

nelaturuk (Mon, 23 Jul 2018 15:41:53 GMT):
Hi, I am trying to upgrade all netwokr components to v1.1.0. Except for peers everything else works fine. I see this error on peer: panic: Error during state DB recovery:Last committed block=2, block requested=3 goroutine 1 [running]: github.com/hyperledger/fabric/core/ledger/kvledger.newKVLedger(0xc42121a680, 0xb, 0xc42118bbf0, 0x1b056c0, 0xc4211b3e80, 0x1aff580, 0xc4211bc400, 0xc420225860, 0x326c656e6e616863, 0x613035, ...) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger.go:67 +0x4da github.com/hyperledger/fabric/core/ledger/kvledger.(*Provider).openInternal(0xc4200902c0, 0xc42121a680, 0xb, 0xc42121e301, 0x0, 0x0, 0x1045415) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger_provider.go:152 +0x170 github.com/hyperledger/fabric/core/ledger/kvledger.(*Provider).Open(0xc4200902c0, 0xc42121a680, 0xb, 0xb, 0x1b563a0, 0x0, 0x1b34760) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger_provider.go:128 +0x130 github.com/hyperledger/fabric/core/ledger/ledgermgmt.OpenLedger(0xc42121a680, 0xb, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgermgmt/ledger_mgmt.go:110 +0x1d1 github.com/hyperledger/fabric/core/peer.Initialize(0x13f9ba0) /opt/gopath/src/github.com/hyperledger/fabric/core/peer/peer.go:213 +0x1e6 #!/bin/bash github.com/hyperledger/fabric/peer/node.serve(0x1b54e68, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:280 +0x1048 github.com/hyperledger/fabric/peer/node.glob..func1(0x1ae4860, 0x1b54e68, 0x0, 0x0, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/peer/node/start.go:87 +0x3f github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).execute(0x1ae4860, 0x1b54e68, 0x0, 0x0, 0x1ae4860, 0x1b54e68) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:599 +0x3e8 github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x1ae4ec0, 0x11, 0xc4202c6520, 0x5) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:689 +0x2fe github.com/hyperledger/fabric/vendor/github.com/spf13/cobra.(*Command).Execute(0x1ae4ec0, 0x1b, 0xc420016075) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/spf13/cobra/command.go:648 +0x2b main.main() /opt/gopath/src/github.com/hyperledger/fabric/peer/main.go:112 +0x5e1 Can anyone please help me with this ?

rahulhegde (Mon, 23 Jul 2018 16:53:46 GMT):
hello @dave.enyeart - On Fabric v1.0.6 We are facing a issue where the Endorsement Request gives a Execute Timeout to the HFC. We see from the chaincode logs - the endorsement gets processed within 7secs against the default execute timeout (30sec). The peer basically holds the response. The couch database logs are also scrolling indicating the communication between chaincode - peer - couch database is good. This has happened to two peers. I have restarted 1 peer to increase the logging level to DEBUG however the issue related to Execute Timeout got fixed for it. I have avoided the restart of the other PEER to check if I can get any troubleshooting steps here.

yacovm (Mon, 23 Jul 2018 16:55:00 GMT):
@rahulhegde as a rule of thumb... whenever you restart stuff

yacovm (Mon, 23 Jul 2018 16:55:07 GMT):
if it's possible

yacovm (Mon, 23 Jul 2018 16:55:11 GMT):
use `kill -SIGABRT`

yacovm (Mon, 23 Jul 2018 16:55:22 GMT):
it will make the process crash and dump the stack trace to the logs

yacovm (Mon, 23 Jul 2018 16:55:35 GMT):
that will help for post-mortem analysis

rahulhegde (Mon, 23 Jul 2018 16:58:10 GMT):
I can do it for the current peer which does not send the response to HFC. Anything else we can do to gather more information?

yacovm (Mon, 23 Jul 2018 17:00:27 GMT):
There was someone in the past that proposed to add an RPC to the admin API to dump the goroutines into the logs but he was told it's a worthless idea ;)

yacovm (Mon, 23 Jul 2018 17:00:39 GMT):
so I guess there is no other way than to kill the peer

rahulhegde (Mon, 23 Jul 2018 17:04:25 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=LWNo4XC82WZLWr8zj) @yacovm okay.

dave.enyeart (Mon, 23 Jul 2018 17:08:29 GMT):
@rahulhegde you can enable certain debugs without restarting peer. we'll have to confirm with @wlahti that this was possible in v1.0.x

dave.enyeart (Mon, 23 Jul 2018 17:08:36 GMT):
for example this would be helpful:

dave.enyeart (Mon, 23 Jul 2018 17:08:40 GMT):
```peer logging setlevel chaincode DEBUG peer logging setlevel endorser DEBUG peer logging setlevel ledger DEBUG peer logging setlevel state DEBUG peer logging setlevel couchdb DEBUG peer logging setlevel txmgr DEBUG```

dave.enyeart (Mon, 23 Jul 2018 17:09:43 GMT):
it uses regular expression matching against the loggers... what I don't recall is whether that was setup in v1.0.x @wlahti ?

wlahti (Mon, 23 Jul 2018 17:17:47 GMT):
@dave.enyeart Yes, the ability to dynamically set logging levels has been available since v1.0.0. A few minor things have changed since then but the functionality was in place.

rahulhegde (Mon, 23 Jul 2018 17:18:20 GMT):
Cool - I will enable following log level.

rahulhegde (Mon, 23 Jul 2018 18:51:30 GMT):
hello @dave.enyeart - we increased the log level but looks like there is information that can help out ``` ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] processStream -> DEBU da6ESC[0m [a724cefa]Received message COMPLETED from shim ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] HandleMessage -> DEBU da7ESC[0m [a724cefa]Fabric side Handling ChaincodeMessage of type: COMPLETED in state ready ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] HandleMessage -> DEBU da8ESC[0m [a724cefaf6517cdf1858aef72dc0e486d25abebd00cfff04674b212d26de41aa]HandleMessage- COMPLETED. Notify ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] notify -> DEBU da9ESC[0m notifying Txid:a724cefaf6517cdf1858aef72dc0e486d25abebd00cfff04674b212d26de41aa ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] Execute -> DEBU daaESC[0m Exit ESC[36m2018-07-23 20:32:52.192 CEST [endorser] callChaincode -> DEBU dabESC[0m Exit ESC[36m2018-07-23 20:32:52.192 CEST [lockbasedtxmgr] GetTxSimulationResults -> DEBU dacESC[0m Simulation completed, getting simulation results ESC[36m2018-07-23 20:32:52.192 CEST [lockbasedtxmgr] Done -> DEBU dadESC[0m Done with transaction simulation / query execution [a92a2043-a49e-4a66-9a91-ec04058820d5] .... ESC[36m2018-07-23 20:33:22.193 CEST [chaincode] Execute -> DEBU de1ESC[0m Exit ESC[31m2018-07-23 20:33:22.193 CEST [chaincode] ExecuteChaincode -> ERRO de2ESC[0m Error executing chaincode: Failed to execute transaction (Timeout expired while executing transaction) ESC[36m2018-07-23 20:33:22.193 CEST [endorser] callChaincode -> DEBU de3ESC[0m Exit ```

rahulhegde (Mon, 23 Jul 2018 18:51:30 GMT):
hello @dave.enyeart - we increased the log level but looks like there is no information that can help out ``` ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] processStream -> DEBU da6ESC[0m [a724cefa]Received message COMPLETED from shim ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] HandleMessage -> DEBU da7ESC[0m [a724cefa]Fabric side Handling ChaincodeMessage of type: COMPLETED in state ready ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] HandleMessage -> DEBU da8ESC[0m [a724cefaf6517cdf1858aef72dc0e486d25abebd00cfff04674b212d26de41aa]HandleMessage- COMPLETED. Notify ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] notify -> DEBU da9ESC[0m notifying Txid:a724cefaf6517cdf1858aef72dc0e486d25abebd00cfff04674b212d26de41aa ESC[36m2018-07-23 20:32:52.192 CEST [chaincode] Execute -> DEBU daaESC[0m Exit ESC[36m2018-07-23 20:32:52.192 CEST [endorser] callChaincode -> DEBU dabESC[0m Exit ESC[36m2018-07-23 20:32:52.192 CEST [lockbasedtxmgr] GetTxSimulationResults -> DEBU dacESC[0m Simulation completed, getting simulation results ESC[36m2018-07-23 20:32:52.192 CEST [lockbasedtxmgr] Done -> DEBU dadESC[0m Done with transaction simulation / query execution [a92a2043-a49e-4a66-9a91-ec04058820d5] .... ESC[36m2018-07-23 20:33:22.193 CEST [chaincode] Execute -> DEBU de1ESC[0m Exit ESC[31m2018-07-23 20:33:22.193 CEST [chaincode] ExecuteChaincode -> ERRO de2ESC[0m Error executing chaincode: Failed to execute transaction (Timeout expired while executing transaction) ESC[36m2018-07-23 20:33:22.193 CEST [endorser] callChaincode -> DEBU de3ESC[0m Exit ```

rahulhegde (Mon, 23 Jul 2018 19:01:49 GMT):
Please let me know if we can have a call for this issue.

rahulhegde (Mon, 23 Jul 2018 19:55:26 GMT):
I have opened a FAB-11273

dave.enyeart (Mon, 23 Jul 2018 19:56:53 GMT):
Here's the relevant code... I'm not sure how the defer "Exit" debug could be printed twice

dave.enyeart (Mon, 23 Jul 2018 19:56:55 GMT):
https://github.com/hyperledger/fabric/blob/release-1.0/core/chaincode/chaincode_support.go#L718-L752

rahulhegde (Mon, 23 Jul 2018 20:22:51 GMT):
there was no 2nd endorsement message in pipeline for that peer.

rahulhegde (Tue, 24 Jul 2018 16:15:44 GMT):
*Second Problem* Fabric Release 1.0.6 @dave.enyeart, @yacovm we are seeing another problem on same environment where orderer is running on lower block count (5325) and one out of 2 peers (subscribed to the channel) is running +5 block ahead (5330), the other peer (2nd peer) is running with same block count as orderer (#5325). Setup: Orderer is using kafka consensus.

rahulhegde (Tue, 24 Jul 2018 16:15:44 GMT):
*Second Problem* Fabric Release 1.0.6 @dave.enyeart, @yacovm @jyellick we are seeing another problem on same environment where orderer is running on lower block count (5325) and one out of 2 peers (subscribed to the channel) is running +5 block ahead (5330), the other peer (2nd peer) is running with same block count as orderer (#5325). Setup: Orderer is using kafka consensus.

yacovm (Tue, 24 Jul 2018 16:40:21 GMT):
well I'm pretty sure some orderer made the blocks 5326-5330

yacovm (Tue, 24 Jul 2018 16:40:37 GMT):
are you sure there is no such an OSN?

rahulhegde (Tue, 24 Jul 2018 16:41:25 GMT):
Our orderer was running in ERROR mode, bumped to INFO and they gave following across `2018-07-24 16:29:07.277 CEST [orderer/kafka] newChain -> INFO 003 [channel: xxxxx] Starting chain with last persisted offset 30210 and last recorded block 5325`

rahulhegde (Tue, 24 Jul 2018 16:41:25 GMT):
Our orderer was running in ERROR mode, bumped to INFO and they gave following across `2018-07-24 16:29:07.277 CEST [orderer/kafka] newChain -> INFO 003 [channel: xxxxx] Starting chain with last persisted offset 30210 and last recorded block 5325` So used the log content from each orderer to compare the same - `last recorded block 5325`

rahulhegde (Tue, 24 Jul 2018 16:43:04 GMT):
Used the couch database `statedb_statepoint` document to get the block count from the Peer Node.

rahulhegde (Tue, 24 Jul 2018 16:43:04 GMT):
Used the couch database `statedb_statepoint` document to get the block count from the Peer Node. One shows +5 and the other matches with orderer block count.

yacovm (Tue, 24 Jul 2018 16:43:26 GMT):
peers verify signatures on the blocks before they commit them

yacovm (Tue, 24 Jul 2018 16:43:41 GMT):
so.... I'm pretty sure the blocks the peers have isn't fake ;)

yacovm (Tue, 24 Jul 2018 16:43:41 GMT):
so.... I'm pretty sure the blocks the peers have aren't fake ;)

rahulhegde (Tue, 24 Jul 2018 16:46:32 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=KgvxxDdxkKssLYtdX) @yacovm Application Payload from the ledger transaction looks legitimate from the client log that received the extra blocks (+5) from its peer.

rahulhegde (Tue, 24 Jul 2018 16:53:43 GMT):
any theory?

asaningmaxchain123 (Tue, 24 Jul 2018 18:06:16 GMT):
https://jira.hyperledger.org/browse/FAB-11282

asaningmaxchain123 (Tue, 24 Jul 2018 18:06:22 GMT):
@yacovm @jyellick

fabiomolinar (Tue, 24 Jul 2018 18:13:24 GMT):
Has joined the channel.

rahulhegde (Tue, 24 Jul 2018 20:30:12 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=5y5ytpzMMvDwYfgKY) I dont know what changed after OSN restart - we are ok with the setup and the block number are synced across peer + orderer. Thanks.

javrevasandeep (Wed, 25 Jul 2018 06:36:13 GMT):
Hello guys. I am getting issue while invoking the chaincode. For example_chaincode02, value of "a" is not changing even after multiple invokes. I set the OR policy while doing the instantiation. Instantiation happened without any error. However after multiple invoke, when i checked the peer logs, I am able to see some error message related to VSCC endorsemet failure. Below given are the peer0Org1 logs I am facing issue while doing the invoke. It seems to be VSCC endorsement failure kind of error. Below given are the peer0Org1 logs 2018-07-25 05:59:45.983 UTC [shim] func1 -> DEBU 74d [0ebe1dea]Received message TRANSACTION from shim 2018-07-25 05:59:45.983 UTC [shim] handleMessage -> DEBU 74e [0ebe1dea]Handling ChaincodeMessage of type: TRANSACTION(state:ready) 2018-07-25 05:59:45.984 UTC [shim] beforeTransaction -> DEBU 74f [0ebe1dea]Received TRANSACTION, invoking transaction on chaincode(Src:ready, Dst:ready) 2018-07-25 05:59:45.984 UTC [vscc] Invoke -> DEBU 750 VSCC invoked 2018-07-25 05:59:45.984 UTC [vscc] deduplicateIdentity -> DEBU 751 Signature set is of size 1 out of 1 endorsement(s) 2018-07-25 05:59:45.984 UTC [vscc] Invoke -> WARN 752 Endorsement policy failure for transaction txid=bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9, err: signature set did not satisfy policy 2018-07-25 05:59:45.984 UTC [shim] func1 -> DEBU 753 [0ebe1dea]Transaction completed. Sending COMPLETED 2018-07-25 05:59:45.984 UTC [shim] func1 -> DEBU 754 [0ebe1dea]Move state message COMPLETED 2018-07-25 05:59:45.985 UTC [shim] handleMessage -> DEBU 755 [0ebe1dea]Handling ChaincodeMessage of type: COMPLETED(state:ready) 2018-07-25 05:59:45.985 UTC [shim] func1 -> DEBU 756 [0ebe1dea]send state message COMPLETED 2018-07-25 05:59:45.985 UTC [chaincode] processStream -> DEBU 757 [0ebe1dea]Received message COMPLETED from shim 2018-07-25 05:59:45.985 UTC [chaincode] handleMessage -> DEBU 758 [0ebe1dea]Fabric side Handling ChaincodeMessage of type: COMPLETED in state ready 2018-07-25 05:59:45.985 UTC [chaincode] handleMessage -> DEBU 759 [0ebe1dea-fd85-43b1-a291-b5aa50093a48]HandleMessage- COMPLETED. Notify 2018-07-25 05:59:45.985 UTC [chaincode] notify -> DEBU 75a notifying Txid:0ebe1dea-fd85-43b1-a291-b5aa50093a48, channelID:mychannel 2018-07-25 05:59:45.985 UTC [chaincode] Execute -> DEBU 75b Exit 2018-07-25 05:59:45.985 UTC [lockbasedtxmgr] Done -> DEBU 75c Done with transaction simulation / query execution [bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9] 2018-07-25 05:59:45.985 UTC [committer/txvalidator] VSCCValidateTxForCC -> DEBU 75d VSCCValidateTxForCC completes for envbytes 0xc421e98800 2018-07-25 05:59:45.985 UTC [committer/txvalidator] VSCCValidateTx -> DEBU 75e VSCCValidateTx completes for env 0xc423166e10 envbytes 0xc421e98800 *2018-07-25 05:59:45.985 UTC [committer/txvalidator] validateTx -> ERRO 75f VSCCValidateTx for transaction txId = bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9 returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy* 2018-07-25 05:59:45.985 UTC [committer/txvalidator] validateTx -> DEBU 760 validateTx completes for block 0xc42359a640 env 0xc423166e10 txn 0 2018-07-25 05:59:45.986 UTC [committer/txvalidator] Validate -> DEBU 761 got result for idx 0, code 10 2018-07-25 05:59:45.986 UTC [committer/txvalidator] Validate -> DEBU 762 END Block Validation 2018-07-25 05:59:45.987 UTC [kvledger] CommitWithPvtData -> DEBU 763 Channel [mychannel]: Validating state for block [4] 2018-07-25 05:59:45.987 UTC [lockbasedtxmgr] ValidateAndPrepare -> DEBU 764 Validating new block with num trans = [1] 2018-07-25 05:59:45.987 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 765 ValidateAndPrepareBatch() for block number = [4] 2018-07-25 05:59:45.987 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 766 preprocessing ProtoBlock... *2018-07-25 05:59:45.987 UTC [valimpl] preprocessProtoBlock -> WARN 767 Channel [mychannel]: Block [4] Transaction index [0] TxId [bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE]*

javrevasandeep (Wed, 25 Jul 2018 06:36:13 GMT):
Hello guys. I am getting issue while invoking the chaincode. For example_chaincode02, value of "a" is not changing even after multiple invokes. I set the OR policy while doing the instantiation. Instantiation happened without any error. However after multiple invoke, when i checked the peer logs, I am able to see some error message related to VSCC endorsemet failure. Below given are the peer0Org1 logs 2018-07-25 05:59:45.983 UTC [shim] func1 -> DEBU 74d [0ebe1dea]Received message TRANSACTION from shim 2018-07-25 05:59:45.983 UTC [shim] handleMessage -> DEBU 74e [0ebe1dea]Handling ChaincodeMessage of type: TRANSACTION(state:ready) 2018-07-25 05:59:45.984 UTC [shim] beforeTransaction -> DEBU 74f [0ebe1dea]Received TRANSACTION, invoking transaction on chaincode(Src:ready, Dst:ready) 2018-07-25 05:59:45.984 UTC [vscc] Invoke -> DEBU 750 VSCC invoked 2018-07-25 05:59:45.984 UTC [vscc] deduplicateIdentity -> DEBU 751 Signature set is of size 1 out of 1 endorsement(s) 2018-07-25 05:59:45.984 UTC [vscc] Invoke -> WARN 752 Endorsement policy failure for transaction txid=bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9, err: signature set did not satisfy policy 2018-07-25 05:59:45.984 UTC [shim] func1 -> DEBU 753 [0ebe1dea]Transaction completed. Sending COMPLETED 2018-07-25 05:59:45.984 UTC [shim] func1 -> DEBU 754 [0ebe1dea]Move state message COMPLETED 2018-07-25 05:59:45.985 UTC [shim] handleMessage -> DEBU 755 [0ebe1dea]Handling ChaincodeMessage of type: COMPLETED(state:ready) 2018-07-25 05:59:45.985 UTC [shim] func1 -> DEBU 756 [0ebe1dea]send state message COMPLETED 2018-07-25 05:59:45.985 UTC [chaincode] processStream -> DEBU 757 [0ebe1dea]Received message COMPLETED from shim 2018-07-25 05:59:45.985 UTC [chaincode] handleMessage -> DEBU 758 [0ebe1dea]Fabric side Handling ChaincodeMessage of type: COMPLETED in state ready 2018-07-25 05:59:45.985 UTC [chaincode] handleMessage -> DEBU 759 [0ebe1dea-fd85-43b1-a291-b5aa50093a48]HandleMessage- COMPLETED. Notify 2018-07-25 05:59:45.985 UTC [chaincode] notify -> DEBU 75a notifying Txid:0ebe1dea-fd85-43b1-a291-b5aa50093a48, channelID:mychannel 2018-07-25 05:59:45.985 UTC [chaincode] Execute -> DEBU 75b Exit 2018-07-25 05:59:45.985 UTC [lockbasedtxmgr] Done -> DEBU 75c Done with transaction simulation / query execution [bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9] 2018-07-25 05:59:45.985 UTC [committer/txvalidator] VSCCValidateTxForCC -> DEBU 75d VSCCValidateTxForCC completes for envbytes 0xc421e98800 2018-07-25 05:59:45.985 UTC [committer/txvalidator] VSCCValidateTx -> DEBU 75e VSCCValidateTx completes for env 0xc423166e10 envbytes 0xc421e98800 *2018-07-25 05:59:45.985 UTC [committer/txvalidator] validateTx -> ERRO 75f VSCCValidateTx for transaction txId = bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9 returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy* 2018-07-25 05:59:45.985 UTC [committer/txvalidator] validateTx -> DEBU 760 validateTx completes for block 0xc42359a640 env 0xc423166e10 txn 0 2018-07-25 05:59:45.986 UTC [committer/txvalidator] Validate -> DEBU 761 got result for idx 0, code 10 2018-07-25 05:59:45.986 UTC [committer/txvalidator] Validate -> DEBU 762 END Block Validation 2018-07-25 05:59:45.987 UTC [kvledger] CommitWithPvtData -> DEBU 763 Channel [mychannel]: Validating state for block [4] 2018-07-25 05:59:45.987 UTC [lockbasedtxmgr] ValidateAndPrepare -> DEBU 764 Validating new block with num trans = [1] 2018-07-25 05:59:45.987 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 765 ValidateAndPrepareBatch() for block number = [4] 2018-07-25 05:59:45.987 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 766 preprocessing ProtoBlock... *2018-07-25 05:59:45.987 UTC [valimpl] preprocessProtoBlock -> WARN 767 Channel [mychannel]: Block [4] Transaction index [0] TxId [bbae754cdb42ccf121ecb77eecfd51190c618416ffabc59dcce47f02693957a9] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE]*

pankajcheema (Wed, 25 Jul 2018 07:48:30 GMT):
Hi Experts , I overrirde a polic in ACL in application as `peer/Propose: /Channel/Application/PankajPoilicy1` and didn't define the policy .But i was able to invoke the chaincode but not able to query at the time of query error was ```Error: error endorsing query: rpc error: code = Unknown desc = failed evaluating policy on signed data during check policy [/Channel/Application/PankajPoilicy1]: [policy /Channel/Application/PankajPoilicy1 not found] - proposal response: ``` .Anyone knows what's going on ?

pankajcheema (Wed, 25 Jul 2018 07:48:30 GMT):
Hi Experts , I overrirde a policy in ACL in application as `peer/Propose: /Channel/Application/PankajPoilicy1` and didn't define the policy .But i was able to invoke the chaincode but not able to query at the time of query error was ```Error: error endorsing query: rpc error: code = Unknown desc = failed evaluating policy on signed data during check policy [/Channel/Application/PankajPoilicy1]: [policy /Channel/Application/PankajPoilicy1 not found] - proposal response: ``` .Anyone knows what's going on ?

pankajcheema (Wed, 25 Jul 2018 07:48:30 GMT):
Hi Experts , I overrirde a policy in ACL in application as `peer/Propose: /Channel/Application/PankajPoilicy1` and didn't define the policy .But i was able to invoke the chaincode, but not able to query at the time of query error was ```Error: error endorsing query: rpc error: code = Unknown desc = failed evaluating policy on signed data during check policy [/Channel/Application/PankajPoilicy1]: [policy /Channel/Application/PankajPoilicy1 not found] - proposal response: ``` .Anyone knows what's going on ?

pankajcheema (Wed, 25 Jul 2018 08:51:40 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=NvPJQModRSZLDKCwS) @dave.enyeart

pankajcheema (Wed, 25 Jul 2018 10:50:26 GMT):
https://stackoverflow.com/questions/51517076/hyperledger-fabric-acl-in-configtx-yaml

qizhang (Thu, 26 Jul 2018 04:59:55 GMT):
Can anyone point me to the Fabric code where the peer spawns a chaincode container? Thanks

yacovm (Thu, 26 Jul 2018 06:06:31 GMT):
@qizhang start looking at chaincode_support.go

yacovm (Thu, 26 Jul 2018 06:06:48 GMT):
What are you up to now @qizhang ?

rsherwood (Thu, 26 Jul 2018 07:43:53 GMT):
Hi, we have a channel where only one org is allowed to update , but many orgs can query , but we only need to have that performed as cross chanincode calls. In R 1.0 you used to have all organization in the channel write policy to allow the cross chain code calls. In R1.2 I see there is a peer/Propose policy AND a peer/ChaincodeToChaincode. Can achieve what I want in 1.2 by adding all orgs to the policy reference in peer/ChaincodeToChaincode and only the one org I want to have write access to the peer/Propose ?

Unni_1994 (Fri, 27 Jul 2018 10:24:49 GMT):
Hi all, I am getting an error while bringing up the first network. Instantiate is success, while querying it showing some error (Multihost setup)

Unni_1994 (Fri, 27 Jul 2018 10:25:09 GMT):

query-error.png

thiyagucse01 (Fri, 27 Jul 2018 10:45:36 GMT):
Has joined the channel.

qizhang (Mon, 30 Jul 2018 00:36:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=b6646c7a-6585-41cd-b3cb-6007a38c764c) @yacovm Thanks @yacovm, will check it. Another question, when a transaction is committed into the ledger, who will notify the client that the transaction has been successfully committed?Since multiple peers will commit the same block (i.e. transactions), I am wondering which peer will send out such notification to the client?

qizhang (Mon, 30 Jul 2018 00:36:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=b6646c7a-6585-41cd-b3cb-6007a38c764c) Thanks @yacovm, will check it. Another question, when a transaction is committed into the ledger, who will notify the client that the transaction has been successfully committed?Since multiple peers will commit the same block (i.e. transactions), I am wondering which peer will send out such notification to the client?

asaningmaxchain123 (Mon, 30 Jul 2018 00:49:02 GMT):
@jyellick the `peer` cmd should provider the sub cmd to get the block from the peer

asaningmaxchain123 (Mon, 30 Jul 2018 00:49:51 GMT):
like the `peer channel fetch` it retrieves the block from the orderer, but for the client,get block from peer node seems more important

asaningmaxchain123 (Mon, 30 Jul 2018 00:50:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=gfmKuECbYY7t82TNK) @qizhang you can use the event hub to listen it

qizhang (Mon, 30 Jul 2018 01:13:21 GMT):
@asaningmaxchain123 Thanks! But still, even though the client can listen to the event hub, who should create the event indicating that a tx has been committed?

asaningmaxchain123 (Mon, 30 Jul 2018 02:51:17 GMT):
@qizhang you can see the ` //Events Event_Block = "event/Block" Event_FilteredBlock = "event/FilteredBlock"`

asaningmaxchain123 (Mon, 30 Jul 2018 02:51:17 GMT):
@qizhang you can see the ```//Events Event_Block = "event/Block" Event_FilteredBlock = "event/FilteredBlock"```

pankajcheema (Mon, 30 Jul 2018 07:41:46 GMT):
in this command of first network endorsement is happenning or not ? ```peer chaincode instantiate -o orderer.example.com:7050 --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 -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')" ```

pankajcheema (Mon, 30 Jul 2018 07:42:02 GMT):
using binaries 1.2

pankajcheema (Mon, 30 Jul 2018 07:42:19 GMT):
My answer is yes

pankajcheema (Mon, 30 Jul 2018 07:42:33 GMT):
if am wrong somewhere please correct me.

pankajcheema (Mon, 30 Jul 2018 07:42:51 GMT):
@yacovm @dave.enyeart @jyellick

richzhao (Mon, 30 Jul 2018 08:19:53 GMT):
if a peer doesn't hold private data in its own private temp db, during validation phrase, it needs to fetch private data from others, does it need to store private data after validation or after committing? @dave.enyeart @yacovm @jyellick

yacovm (Mon, 30 Jul 2018 08:22:29 GMT):
it doesn't do it during validation

yacovm (Mon, 30 Jul 2018 08:22:39 GMT):
it first validates and then pulls data before the commit

yacovm (Mon, 30 Jul 2018 08:22:48 GMT):
so we have: 1) validation 2) pull data 3) commit

richzhao (Mon, 30 Jul 2018 09:06:19 GMT):
only pull data, but doesn't save to its owner private team db?

yacovm (Mon, 30 Jul 2018 10:40:59 GMT):
of course it saves

JayPandya (Mon, 30 Jul 2018 14:04:14 GMT):
I've configured TLS in Fabric network but when I try to install chaincode on that network it always get timeout ``` 2018-07-30 12:38:34.920 UTC [chaincode] launchAndWaitForRegister -> DEBU 612 stopping due to error while launching: timeout expired while starting chaincode example:2.6.1(networkid:dev,peerid:peer0.org1.example.com,tx:22a5e0ec55f666bd7da2254d0df20af7cd73bf932dd991a770f89160cca14776) ``` I've also tried to increase chaincode execute time out but its the same

satyajitdeshmukh (Mon, 30 Jul 2018 14:53:40 GMT):
Has joined the channel.

richzhao (Tue, 31 Jul 2018 06:37:14 GMT):
thanks for answering my question. @yacovm but I am confused, if the validation peer saves private data, how to keep private data private?

dave.enyeart (Tue, 31 Jul 2018 11:18:20 GMT):
@richzhao Collection non-members do not retrieve the private data, they validate the public hash of private data only, e.g. to ensure the version of the hashed key hasn't changed since simulation time. Collection members retrieve the actual private data and store it in their temp db (if it wasn't pushed to them at endorsement time) and validate the hash version and that the private data matches the public hash. If everything validates, the private data is removed from temp db and is committed to the private data storage and state db.

dave.enyeart (Tue, 31 Jul 2018 11:18:20 GMT):
@richzhao Collection non-members do not retrieve the private data, they validate the public hash of private data only, e.g. to ensure the version of the hashed key hasn't changed since simulation time. Collection members retrieve the actual private data (if it wasn't pushed to them at endorsement time) and validate the hash version and that the private data matches the public hash.

richzhao (Tue, 31 Jul 2018 12:32:18 GMT):
thank you very much. this sounds a great solution @dave.enyeart

asaningmaxchain123 (Tue, 31 Jul 2018 15:50:56 GMT):
@yacovm how to set the address when initialize chaincode,

asaningmaxchain123 (Tue, 31 Jul 2018 15:50:56 GMT):
@yacovm how to set the peer address when initialize chaincode,

asaningmaxchain123 (Tue, 31 Jul 2018 15:50:56 GMT):
@jyellick @yacovm how to set the peer address when initialize chaincode,

asaningmaxchain123 (Tue, 31 Jul 2018 15:52:11 GMT):

Clipboard - July 31, 2018 11:52 PM

yacovm (Tue, 31 Jul 2018 17:05:44 GMT):
i don't understand what you're asking

yacovm (Tue, 31 Jul 2018 17:06:11 GMT):
but probably the answer is `CORE_PEER_ADDRESS`

abhishek.s (Wed, 01 Aug 2018 06:19:16 GMT):
Has joined the channel.

Rachit_gaur (Wed, 01 Aug 2018 09:02:18 GMT):
Has joined the channel.

Rachit_gaur (Wed, 01 Aug 2018 09:04:36 GMT):
How to create a new user using fabri node sdk?

yoheiueda (Wed, 01 Aug 2018 09:51:09 GMT):
I have a question about CHAINCODE_VERSION_CONFLICT. https://github.com/hyperledger/fabric/blob/v1.2.0/core/committer/txvalidator/validator.go#L490 If I correctly understand the source code, the validation process invalidates all transactions of a chaincode in a block that contains an upgrade transaction for it. I think invalidating transactions AFTER the upgrade transaction is enough. Is there any reason to invalidate transactions BEFORE the upgrade transaction?

Unni_1994 (Thu, 02 Aug 2018 14:00:45 GMT):
Hi All, While invoking a chaincode function I am getting this error *2018-08-02 13:51:50.908 UTC [vscc] Invoke -> WARN 723 Endorsement policy failure for transaction txid=f8a20d4e828130170e6dd2bef79a0b24e6417c318f944ad73e75abf304f4379c, err: signature set did not satisfy policy* 2018-08-02 13:51:50.908 UTC [shim] func1 -> DEBU 724 [57812fce]Transaction completed. Sending COMPLETED 2018-08-02 13:51:50.908 UTC [shim] func1 -> DEBU 725 [57812fce]Move state message COMPLETED 2018-08-02 13:51:50.908 UTC [shim] handleMessage -> DEBU 726 [57812fce]Handling ChaincodeMessage of type: COMPLETED(state:ready) 2018-08-02 13:51:50.908 UTC [shim] func1 -> DEBU 727 [57812fce]send state message COMPLETED 2018-08-02 13:51:50.908 UTC [chaincode] processStream -> DEBU 728 [57812fce]Received message COMPLETED from shim 2018-08-02 13:51:50.908 UTC [chaincode] handleMessage -> DEBU 729 [57812fce]Fabric side Handling ChaincodeMessage of type: COMPLETED in state ready 2018-08-02 13:51:50.908 UTC [chaincode] handleMessage -> DEBU 72a [57812fce-1a63-4925-a4de-87cc1b9456eb]HandleMessage- COMPLETED. Notify 2018-08-02 13:51:50.908 UTC [chaincode] notify -> DEBU 72b notifying Txid:57812fce-1a63-4925-a4de-87cc1b9456eb, channelID:mychannel 2018-08-02 13:51:50.908 UTC [chaincode] Execute -> DEBU 72c Exit 2018-08-02 13:51:50.909 UTC [lockbasedtxmgr] Done -> DEBU 72d Done with transaction simulation / query execution [f8a20d4e828130170e6dd2bef79a0b24e6417c318f944ad73e75abf304f4379c] 2018-08-02 13:51:50.909 UTC [committer/txvalidator] VSCCValidateTxForCC -> DEBU 72e VSCCValidateTxForCC completes for envbytes 0xc421746000 2018-08-02 13:51:50.909 UTC [committer/txvalidator] VSCCValidateTx -> DEBU 72f VSCCValidateTx completes for env 0xc421a56000 envbytes 0xc421746000 2018-08-02 13:51:50.909 UTC [committer/txvalidator] validateTx -> ERRO 730 VSCCValidateTx for transaction txId = f8a20d4e828130170e6dd2bef79a0b24e6417c318f944ad73e75abf304f4379c returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy 2018-08-02 13:51:50.909 UTC [committer/txvalidator] validateTx -> DEBU 731 validateTx completes for block 0xc421b0d3a0 env 0xc421a56000 txn 0 2018-08-02 13:51:50.909 UTC [committer/txvalidator] Validate -> DEBU 732 got result for idx 0, code 10 2018-08-02 13:51:50.909 UTC [committer/txvalidator] Validate -> DEBU 733 END Block Validation 2018-08-02 13:51:50.909 UTC [kvledger] CommitWithPvtData -> DEBU 734 Channel [mychannel]: Validating state for block [3] 2018-08-02 13:51:50.910 UTC [lockbasedtxmgr] ValidateAndPrepare -> DEBU 735 Validating new block with num trans = [1] 2018-08-02 13:51:50.910 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 736 ValidateAndPrepareBatch() for block number = [3] 2018-08-02 13:51:50.910 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 737 preprocessing ProtoBlock... **2018-08-02 13:51:50.910 UTC [valimpl] preprocessProtoBlock -> WARN 738 Channel [mychannel]: Block [3] Transaction index [0] TxId [f8a20d4e828130170e6dd2bef79a0b24e6417c318f944ad73e75abf304f4379c] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE*]* 2018-08-02 13:51:50.910 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 739 validating rwset... 2018-08-02 13:51:50.910 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 73a postprocessing ProtoBlock... 2018-08-02 13:51:50.910 UTC [valimpl] ValidateAndPrepareBatch -> DEBU 73b ValidateAndPrepareBatch() complete 2018-08-02 13:51:50.910 UTC [kvledger] CommitWithPvtData -> DEBU 73c Channel [mychannel]: Committing block [3] to storage

Unni_1994 (Thu, 02 Aug 2018 14:01:55 GMT):
Endorsment policy

Unni_1994 (Thu, 02 Aug 2018 14:02:02 GMT):
*peer chaincode instantiate -o orderer0.example.com:7050 --tls true --cafile $ORDERER_CA -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')"*

pankajcheema (Fri, 03 Aug 2018 10:41:45 GMT):
Hi Experts

pankajcheema (Fri, 03 Aug 2018 10:41:46 GMT):
Is there any way to prevent commands like `peer channel create`, `peer channel join`, `peer chaincode install` and instantiate and so on using ACL?

vladyslavmunin (Fri, 03 Aug 2018 12:58:17 GMT):
Has joined the channel.

vladyslavmunin (Fri, 03 Aug 2018 13:06:52 GMT):
Hi guys , I'm not sure that I should ask question in this channel , but I do. What I tried to implement 'client signing ' proposal functionality , I generated key pair and certificates at browser side , successfully enrolled user directly via ca and build the proposal , then signed this proposal in browser and sent back to the server. Then I tried to send signed proposal via Node SDK to peer. but gor error '2Unknown access denied ;channel[mychannel] creator[org1]' Does anyone face with this error before? ( Early I faced by it wrong mspID , but now I'm sure that it's correct)

vladyslavmunin (Fri, 03 Aug 2018 13:06:52 GMT):
Hi guys , I'm not sure that I should ask question in this channel , but I do. I tried to implement 'client signing ' proposal functionality , I generated key pair and certificates at browser side , successfully enrolled user directly via ca and build the proposal , then signed this proposal in browser and sent back to the server. Then I tried to send signed proposal via Node SDK to peer. but gor error '2Unknown access denied ;channel[mychannel] creator[org1]' Does anyone face with this error before? ( Early I faced by it wrong mspID , but now I'm sure that it's correct)

zmaro (Fri, 03 Aug 2018 15:22:32 GMT):
Has joined the channel.

muralisr (Sat, 04 Aug 2018 17:54:53 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=nuGLNj2XKcQnaJ9QY

muralisr (Sat, 04 Aug 2018 17:55:41 GMT):
@pankajcheema trying to understand the question...can you elaborate/clarify ? Which "ACL" are you referring to ? How do you mean `prevent commands..`

muralisr (Sat, 04 Aug 2018 18:08:12 GMT):
@vladyslavmunin `... build the proposal , then signed this proposal in browser and sent back to the server...` - so the browser is seing a signed protobuf proposal to the SDK which just sends it of as-is to the peer ?

muralisr (Sat, 04 Aug 2018 18:08:12 GMT):
@vladyslavmunin `... build the proposal , then signed this proposal in browser and sent back to the server...` - so the browser is sending a signed protobuf proposal to the SDK which just sends it of as-is to the peer ? if that is correct, I'd make sure your signing identity is correct (right MSPID and crypto)

muralisr (Sat, 04 Aug 2018 18:10:56 GMT):
also would make sure the node SDK is not doing additional proposal construction on top of what you are sending

pankajcheema (Sat, 04 Aug 2018 19:13:26 GMT):
@muralisr I was saying I want an organization to prevent from installing chaincode. Is it possible usinh ACL?

pankajcheema (Sat, 04 Aug 2018 19:13:57 GMT):
The org1 should not be able to use 'peer Chaincode install'

pankajcheema (Sat, 04 Aug 2018 19:14:01 GMT):
Command

dave.enyeart (Sat, 04 Aug 2018 21:08:31 GMT):
@pankajcheema Each peer's admin must install chaincode to the peer. Only the peer's admin (as defined by the peer's local MSP) has privilege to install chaincode on the peer. Then somebody meeting the chaincode instantiation policy (as specified within the chaincode package) may instantiate the chaincode on a channel to enable it on the channel. Neither of these privileges are defined in the channel's ACL. I'll point you to http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html for more details on the chaincode lifecycle and permissions.

dave.enyeart (Sat, 04 Aug 2018 21:09:55 GMT):
I've created a Jira https://jira.hyperledger.org/browse/FAB-11461 to make this more clear in the docs.

pankajcheema (Sun, 05 Aug 2018 07:13:03 GMT):
@dave.enyeart so this means that its not possible to limit these functionality using ACL

adarshsaraf123 (Sun, 05 Aug 2018 07:52:30 GMT):
Has joined the channel.

dave.enyeart (Sun, 05 Aug 2018 12:18:54 GMT):
right - the functionality is restricted based on other policies, not through the ACL

bh4rtp (Sun, 05 Aug 2018 12:36:16 GMT):
the policy is so complicated, is there a tutorial?

muralisr (Sun, 05 Aug 2018 14:56:36 GMT):
@pankajcheema adding to @dave.enyeart .. resource based ACL applies to channel specific activities. Install is across channels

pankajcheema (Sun, 05 Aug 2018 15:46:01 GMT):
@dave.enyeart @muralisr how to add such policy?

pankajcheema (Sun, 05 Aug 2018 15:46:46 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qkKeL6ssC9tnCkZC9) correct!! The official tutorial does not helped me. Just Hit & Trial helped me

muralisr (Sun, 05 Aug 2018 15:50:22 GMT):
@pankajcheema which tutorial are you referring to ... wanted to make sure we are talking about the same thing

pankajcheema (Sun, 05 Aug 2018 15:50:49 GMT):
wait

pankajcheema (Sun, 05 Aug 2018 15:51:16 GMT):
this one http://hyperledger-fabric.readthedocs.io/en/latest/access_control.html

pankajcheema (Sun, 05 Aug 2018 15:52:37 GMT):
@muralisr Is there any way to specify such rule that a particular org can only install and instantiate the chaincode on network?

muralisr (Sun, 05 Aug 2018 15:57:00 GMT):
install is outside the scope of these resource based policies as they are not channel specific (as mentioned earlier)

pankajcheema (Sun, 05 Aug 2018 15:59:57 GMT):
ok

muralisr (Sun, 05 Aug 2018 16:01:59 GMT):
as for instantiate, it is channel specific, and can be controlled via "peer/Propose" resource. However it'll affect all proposals to the channel (not just the instantiate Proposal)

DivyaAgrawal (Mon, 06 Aug 2018 08:26:19 GMT):
Hi All, Can anyone shed some light on how do we change the endorsing peers in a network. I am using caliper and the endorsing peers seems to be fix. What i have understood from surfing the net so far is we need to change the profile in the configtx.yaml so that the chaincode is instantiated accordingly. But am not finding any documentation on that. If anyone has already done that or knows how to do it . It will be a great help. Thanks in advance.

gravity (Mon, 06 Aug 2018 08:42:21 GMT):
Has left the channel.

asaningmaxchain123 (Mon, 06 Aug 2018 12:59:23 GMT):
@dave.enyeart can you tell me what's the relationship transaction and txrwset?

asaningmaxchain123 (Mon, 06 Aug 2018 12:59:37 GMT):
one transaction has multiple txrwset

dave.enyeart (Mon, 06 Aug 2018 13:02:20 GMT):
Each transaction has one txrwset. txrwset can have multiple chaincode (namespace) read-write sets. See example at http://hyperledger-fabric.readthedocs.io/en/latest/readwrite.html

dave.enyeart (Mon, 06 Aug 2018 13:02:20 GMT):
Each transaction has one txrwset. txrwset can have multiple chaincode (namespace) read-write sets (in the case of chaincode calling chaincode). See example at http://hyperledger-fabric.readthedocs.io/en/latest/readwrite.html

asaningmaxchain123 (Mon, 06 Aug 2018 13:08:00 GMT):
so when the peer commit block, it write the twset into the blockfile?

vladyslavmunin (Mon, 06 Aug 2018 15:21:08 GMT):
@muralisr Signing identity was correct (MSPID and crypto) , I generated key and x509 on the browser side.Problem was in different digest result in client and browser side (maybe specific implementation of sha256..) but I found correct one, and all works great!

vladyslavmunin (Mon, 06 Aug 2018 15:21:08 GMT):
@muralisr Signing identity was correct (MSPID and crypto) , I generated key and x509 on the browser side.Problem was in different digest result on server and browser side (maybe specific implementation of sha256..) but I found correct one, and all works great!

rahulhegde (Tue, 07 Aug 2018 13:15:12 GMT):
hello @dave.enyeart. what is the right way to verify if chaincode in instantiated on the channel (for v1.0.x and v1.2.x) 1. using peer CLI approach to verify if the chaincode is instantiated on the channel 2. using couch database information - is it by checking if lscc document exist in the channel database Can i get the chaincode version from either?

rahulhegde (Tue, 07 Aug 2018 13:15:12 GMT):
hello @dave.enyeart. what is the right way to verify if chaincode in instantiated on the channel (for v1.0.x and v1.2.x) 1. using peer CLI approach 2. using couch database information - is it by checking if lscc document exist in the channel database Can i get the chaincode version from either?

dave.enyeart (Tue, 07 Aug 2018 14:28:44 GMT):
http://hyperledger-fabric.readthedocs.io/en/latest/commands/peerchaincode.html#peer-chaincode-list

dave.enyeart (Tue, 07 Aug 2018 14:28:44 GMT):
Use the CLI command, yes it will provide the chaincodes/versions instantiated on the channel: http://hyperledger-fabric.readthedocs.io/en/latest/commands/peerchaincode.html#peer-chaincode-list

vudathasaiomkar (Wed, 08 Aug 2018 12:31:05 GMT):
Has joined the channel.

asaningmaxchain123 (Wed, 08 Aug 2018 15:08:39 GMT):
@dave.enyeart when i use the couchdb as the world state db,and then i write a bad query statement,the cc is down?

asaningmaxchain123 (Wed, 08 Aug 2018 15:09:24 GMT):
so i think the fabric world should check it

r808silva (Wed, 08 Aug 2018 15:29:25 GMT):
Has joined the channel.

dave.enyeart (Wed, 08 Aug 2018 18:06:34 GMT):
@asaningmaxchain123 it's up to the chaincode developer to test their query statements

asaningmaxchain123 (Thu, 09 Aug 2018 15:13:33 GMT):
@jyellick if i want to modify the /Channel/OrdererAddress and add an Org at a time,can you tell me how to sign it?

asaningmaxchain123 (Thu, 09 Aug 2018 15:14:05 GMT):
if you can provide example for me,i am very greatly appreciated

HellBoy_23 (Thu, 09 Aug 2018 18:07:32 GMT):
Has joined the channel.

ChunTung (Fri, 10 Aug 2018 09:24:23 GMT):
Has joined the channel.

sheetal-hlf (Fri, 10 Aug 2018 10:40:09 GMT):
Has joined the channel.

mastersingh24 (Sat, 11 Aug 2018 12:47:02 GMT):
@asaningmaxchain123 - have you looked at http://hyperledger-fabric.readthedocs.io/en/release-1.2/channel_update_tutorial.html ?

gmb 2 (Sun, 12 Aug 2018 04:41:06 GMT):
Has joined the channel.

asaningmaxchain123 (Sun, 12 Aug 2018 08:12:14 GMT):
@mastersingh24 i have seen, can you tell me how to modify the multiple properties `at a time`

asaningmaxchain123 (Sun, 12 Aug 2018 08:13:20 GMT):
like if i want to modify the `/Channel/OrdererAddress` and addd an `Org` it needs different `admin` to sign it, so how to do it

asaningmaxchain123 (Sun, 12 Aug 2018 08:14:32 GMT):
i have seen the examples location at `https://github.com/hyperledger/fabric/tree/release-1.2/examples/configtxupdate`

asaningmaxchain123 (Sun, 12 Aug 2018 10:57:07 GMT):
@mastersingh24 i got it

asaningmaxchain123 (Sun, 12 Aug 2018 10:57:07 GMT):
@mastersingh24 i got it,can you tell me how to decide the signature orderer?

vdods (Sun, 12 Aug 2018 22:28:26 GMT):
Hi all, I've got a question regarding private collections -- say there are 3 orgs: org1, org2, and org3, and there's a private collection defined that includes all of them. Now say a transaction proposal which contains private data meant to end up in the private collection is sent only to org1 and org2, is endorsed, ordered, and is committed. Does org3 automatically receive the private data from org1 and/or org2's peers? Or does org3 never end up with the private data because it didn't have a peer that endorsed that transaction proposal?

yacovm (Sun, 12 Aug 2018 22:35:35 GMT):
in v1.2 it fetches the data upon commit

yacovm (Sun, 12 Aug 2018 22:35:35 GMT):
in v1.2 it fetches the data upon commit from some peer that should have it.

yacovm (Sun, 12 Aug 2018 22:35:50 GMT):
well, actually also in v1.1

yacovm (Sun, 12 Aug 2018 22:36:18 GMT):
it might, however - fail to fetch if it can't connect to any peer for a long time

yacovm (Sun, 12 Aug 2018 22:36:36 GMT):
in v1.3 it will re-sync the missing data even if it skipped it in the past, @vdods

dave.enyeart (Sun, 12 Aug 2018 22:49:21 GMT):
note that it is documented in more detail here: http://hyperledger-fabric.readthedocs.io/en/latest/private-data/private-data.html#transaction-flow-with-private-data

vdods (Sun, 12 Aug 2018 23:26:51 GMT):
So to state more concisely, the orgs defined in the "policy" of the private collection are exactly the orgs whose peers will replicate that private data?

vdods (Sun, 12 Aug 2018 23:26:51 GMT):
So to state more concisely, the orgs defined in the "policy" of the private collection are exactly the orgs whose peers will replicate that private data?

yacovm (Sun, 12 Aug 2018 23:30:45 GMT):
yes

pankaj9310 (Mon, 13 Aug 2018 14:43:57 GMT):
Has joined the channel.

thiyagucse01 (Tue, 14 Aug 2018 09:10:02 GMT):
Hi , I started learning hyperledger-fabric for creating my own business application but, I still have a question In practice, there is only one machine with docker and whole bna, or every member must have his own docker with bna? If only one, then it turns out to be a centralized application. Am I right?

HellBoy_23 (Thu, 16 Aug 2018 12:20:04 GMT):
Hi all, I am getting this error : Promise is rejected: Error: GET_STATE_BY_RANGE failed: transaction ID: ee097a157bb5db4b8551aaa071477c11053c5eb7c1b8631a07358f4ccb0cc0d2: Tx [ee097a157bb5db4b8551aaa071477c11053c5eb7c1b8631a07358f4ccb0cc0d2]: Queries on pvt data is supported only in a read-only transaction

Tony (Thu, 16 Aug 2018 12:39:17 GMT):
Has joined the channel.

pankajcheema (Fri, 17 Aug 2018 09:36:05 GMT):
Any idea how to set Gossip log to INFO for a peer in Docker

pankajcheema (Fri, 17 Aug 2018 09:36:30 GMT):
@yacovm @dave.enyeart @jyellick

dave.enyeart (Fri, 17 Aug 2018 11:39:24 GMT):
CORE_LOGGING_GOSSIP=INFO

asaningmaxchain123 (Fri, 17 Aug 2018 13:32:05 GMT):
@dave.enyeart in the peer it use the `leveldb` to store the data, so the index can work with it?

dave.enyeart (Fri, 17 Aug 2018 14:27:33 GMT):
leveldb is key/value store. the value is bytes only. the database doesn't know about the value bytes content therefore index is not applicable for leveldb content. leveldb has implicit internal index for the key, which enables efficient key and key range queries out of the box. if you want to query value content, you'll need to use couchdb with json content.

asaningmaxchain123 (Fri, 17 Aug 2018 16:25:01 GMT):
@dave.enyeart my question is in the fabric source code it use the `leveldb` to store the data, and could provide index file to index it? in my mind, the index file is only used for the `couchdb`

asaningmaxchain123 (Fri, 17 Aug 2018 16:25:01 GMT):
@dave.enyeart my question is in the fabric source code it use the `leveldb` to store the private data, and could provide index file to index it? in my mind, the index file is only used for the `couchdb`

asaningmaxchain123 (Fri, 17 Aug 2018 16:25:01 GMT):
@dave.enyeart my question is in the fabric source code it use the `leveldb` to store the private data, but could provide index file to index it? in my mind, the index file is only used for the `couchdb`

dave.enyeart (Fri, 17 Aug 2018 18:42:41 GMT):
@asaningmaxchain123 there are different types of indexes. fabric has some implicit indexes implemented in leveldb in the source code for keeping track of block data. do not confuse these indexes with the chaincode indexes for couchdb that enable chaincode couchdb rich queries. both public state data and private state database can be stored in couchdb, for query from chaincode.

dave.enyeart (Fri, 17 Aug 2018 18:42:41 GMT):
@asaningmaxchain123 there are different types of indexes. fabric has some internal indexes implemented in leveldb in the source code for keeping track of block data. do not confuse these indexes with the chaincode indexes for couchdb that enable chaincode couchdb rich queries. both public state data and private state database can be stored in couchdb, for query from chaincode.

dave.enyeart (Fri, 17 Aug 2018 18:42:41 GMT):
@asaningmaxchain123 there are different types of indexes. fabric has some internal indexes implemented in leveldb in the source code for keeping track of block data. do not confuse these indexes with the chaincode indexes for couchdb that enable chaincode couchdb rich queries. both public state data and private state data can be stored in couchdb, for query from chaincode.

vdods (Sat, 18 Aug 2018 00:10:59 GMT):
Hi all, I've read a bit about how when a key/value pair is stored in the private ledger, Fabric automatically (?) also computes and stores the hash of the private value so that it can be verified later. Is there documentation somewhere that elaborates on this? I'm asking because I need to know how to 1) determine if the existing hash scheme is sufficient for what I want to do, and if so 2) access those hash values

dave.enyeart (Sat, 18 Aug 2018 02:49:02 GMT):
Private data docs:

dave.enyeart (Sat, 18 Aug 2018 02:49:04 GMT):
https://hyperledger-fabric.readthedocs.io/en/latest/private-data/private-data.html

dave.enyeart (Sat, 18 Aug 2018 02:49:16 GMT):
https://hyperledger-fabric.readthedocs.io/en/latest/private-data-arch.html

dave.enyeart (Sat, 18 Aug 2018 02:49:45 GMT):
The hashes will be in the public writeset, which can be obtained by querying for the transaction by id

dave.enyeart (Sat, 18 Aug 2018 02:51:45 GMT):
You'll find in there a SHA-256 hash of the private key and the private value

larry618 (Sun, 19 Aug 2018 07:44:13 GMT):
Has joined the channel.

vdods (Sun, 19 Aug 2018 21:05:12 GMT):
Thanks!

vdods (Sun, 19 Aug 2018 21:13:57 GMT):
A further question on the implementation -- is it the plain hash of the document data, or is there a nonce prepended to the document data before computing the hash? While not an easy vulnerability to exploit, if there is no nonce used in computing the hash, then someone could [spend a lot of resources] pre-computing a hash collision (e.g. two legal contracts -- one that the two contract-negotiators agree to, and one modified to the attacker's advantage), and then submit the forged document to private storage (that in the legal contract example would be unsealed for review by a judge in a legal dispute).

yacovm (Sun, 19 Aug 2018 21:23:14 GMT):
@vdods it's the hash of the key, and the hash of the value. you're right about the weakness - if the key and value come from a low entropy distribution, you can do an exhaustive search over the space of the keys/values and guess. however - nothing prevents you from adding your own custom salt (random padding) to the key and value.

yacovm (Sun, 19 Aug 2018 21:23:14 GMT):
@vdods it's the hash of the key, and the hash of the value. regarding the weakness - if the key and value come from a low entropy distribution, you can do an exhaustive search over the space of the keys/values and guess. however - nothing prevents you from adding your own custom salt (random padding) to the key and value.

yacovm (Sun, 19 Aug 2018 21:27:27 GMT):
> if there is no nonce used in computing the hash, then someone could [spend a lot of resources] pre-computing a hash collision (e.g. two legal contracts -- one that the two contract-negotiators agree to, and one modified to the attacker's advantage), and then submit the forged document to private storage (that in the legal contract example would be unsealed for review by a judge in a legal dispute). that's not a hash collision, that's a "pre-image attack". Specifically "second preimage attack". A collision, is to find *any* 2 values that map to the same hash.

yacovm (Sun, 19 Aug 2018 21:29:18 GMT):
If the hash function is secure then doing a pre-image attack is not feasible

vdods (Mon, 20 Aug 2018 20:52:38 GMT):
@yacovm Thanks! Right -- I mixed up the terminology.

bh4rtp (Tue, 21 Aug 2018 00:37:44 GMT):
@dave.enyeart with CORE_LOGGING_GOSSIP=INFO set, must i disable CORE_LOGGING_LEVEL=DEBUG?

bdjidi (Tue, 21 Aug 2018 22:48:36 GMT):
Has joined the channel.

Ryan2 (Wed, 22 Aug 2018 08:16:47 GMT):
hi, I faced the issue while installing chaincode on the peer like below `Error: Error endorsing chaincode: rpc error: code = Unavailable desc = transport: write tcp 173.32.1.142:33766->173.32.1.142:7051: write: broken pipe` peer-log: `2018-08-22 08:13:45.589 UTC [grpc] Printf -> DEBU 95a grpc: Server.Serve failed to complete security handshake from "173.32.1.142:33766": tls: first record does not look like a TLS handshake ` In run the peer in TLS enabled mode, start peer successfully. how can I fix this problem, Thanks

Ryan2 (Wed, 22 Aug 2018 08:16:47 GMT):
hi, I faced the issue while installing chaincode on the peer like below `Error: Error endorsing chaincode: rpc error: code = Unavailable desc = transport: write tcp 173.32.1.142:33766->173.32.1.142:7051: write: broken pipe` peer-log: `2018-08-22 08:13:45.589 UTC [grpc] Printf -> DEBU 95a grpc: Server.Serve failed to complete security handshake from "173.32.1.142:33766": tls: first record does not look like a TLS handshake` In run the peer in TLS enabled mode, start peer successfully. how can I fix this problem, Thanks

Ryan2 (Wed, 22 Aug 2018 08:16:47 GMT):
hi, I faced the issue while installing chaincode on the peer like below (running peer cli command ) `Error: Error endorsing chaincode: rpc error: code = Unavailable desc = transport: write tcp 173.32.1.142:33766->173.32.1.142:7051: write: broken pipe` peer-log: `2018-08-22 08:13:45.589 UTC [grpc] Printf -> DEBU 95a grpc: Server.Serve failed to complete security handshake from "173.32.1.142:33766": tls: first record does not look like a TLS handshake` In run the peer in TLS enabled mode, start peer successfully. (I'm using peer v1.1.1) how can I fix this problem, Thanks

rahulhegde (Wed, 22 Aug 2018 13:48:57 GMT):
hello @dave.enyeart @mastersingh24 In fabric-v1.0.6, we see there are connection refused message on the event hub port for the HFC. Is there a limitation on the number of event hub connection that is allowed or configured per peer?

Ryan2 (Thu, 23 Aug 2018 01:53:33 GMT):
I cannot install Chaincode on binary peer which is running with TLS enabled `2018-08-23 01:50:09.739 UTC [grpc] Printf -> DEBU a12 grpc: Server.Serve failed to complete security handshake from "127.0.0.1:58330": tls: first record does not look like a TLS handshake` Can someone help. script start peer (https://hastebin.com/efutuvicog.makefile) cmd install CC: `peer chaincode install -n SMS_CC_001 -v t1 -p github.com/hyperledger/MY_CC_001 --tls --cafile /home/ubuntu/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer.ordererorg0/msp/tlscacerts/tlsca.ordererorg0-cert.pem`

Ryan2 (Thu, 23 Aug 2018 01:53:33 GMT):
I cannot install Chaincode on binary peer which is running with TLS enabled `2018-08-23 01:50:09.739 UTC [grpc] Printf -> DEBU a12 grpc: Server.Serve failed to complete security handshake from "127.0.0.1:58330": tls: first record does not look like a TLS handshake` Can someone help. script start peer (https://hastebin.com/efutuvicog.makefile) cmd install CC: `peer chaincode install -n MY_CC_001 -v t1 -p github.com/hyperledger/MY_CC_001 --tls --cafile /home/ubuntu/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer.ordererorg0/msp/tlscacerts/tlsca.ordererorg0-cert.pem`

Ryan2 (Thu, 23 Aug 2018 01:53:33 GMT):
I cannot install Chaincode on binary peer which is running with TLS enabled `2018-08-23 01:50:09.739 UTC [grpc] Printf -> DEBU a12 grpc: Server.Serve failed to complete security handshake from "127.0.0.1:58330": tls: first record does not look like a TLS handshake` Can someone help. script start peer (https://hastebin.com/efutuvicog.makefile) cmd install CC: `peer chaincode install -n MY_CC_001 -v t1 -p github.com/hyperledger/MY_CC_001 --tls --cafile /home/ubuntu/conf/crypto-config/ordererOrganizations/ordererorg0/orderers/orderer.ordererorg0/msp/tlscacerts/tlsca.ordererorg0-cert.pem` thrown error `Error: Error endorsing chaincode: rpc error: code = Unavailable desc = transport: write tcp 127.0.0.1:58318->127.0.0.1:7051: write: broken pipe`

thiyagucse01 (Thu, 23 Aug 2018 07:31:00 GMT):
Hi , am beginner for hyperledger and I little bit understand the hyperledger keyconcepts, So anyone suggest me to How to create multiple peers , channels , multiple organisation and MSP , Can anyone suggest a tutorial for same ?

markthedark (Thu, 23 Aug 2018 12:59:18 GMT):
Hello, is there a limit as to how big the outgoing transaction can be? I'm trying to modify my chaincode to accept an array of JSON objects, instead of just one, but the transaction proposal fails with the following error on the peer: `2018-08-23 12:43:12.992 UTC [chaincode] processStream -> ERRO 0b6 Error handling chaincode support stream: rpc error: code = Canceled desc = context canceled

Rachit_gaur (Fri, 24 Aug 2018 11:03:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=mPykoThM3NmmtjZE9) @thiyagucse01 refer to the official documentation

Rachit_gaur (Fri, 24 Aug 2018 11:05:25 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WTviFaHDKh3MSo5Hw) @markthedark You can increase the message size by changing the orderer settings from configtx.yaml

Ryan2 (Fri, 24 Aug 2018 12:30:21 GMT):
hi @Rachit_gaur could you help on my issue https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=H2Xj36r8KL7oBepzd

Rachit_gaur (Fri, 24 Aug 2018 12:55:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=q3dSPbSpuMijDLLG6) @Ryan2 This error generally occurs when hostname in the TLS cert used by membership services is not matching the hostname you are using to connect to membersrvcs set the peer.pki.tls.serverhostoverride property to the value of the common name used in the cert you are using in membersvcs (in membersrvc.yaml - server.tls.certfile)

Rachit_gaur (Mon, 27 Aug 2018 05:26:25 GMT):
I am running the Marbles_private example provided by hyperledger to get my hands on with the private db concept, i have anchor peer0 of both orgs joined to a channel and if i execute query from peer1 it results into endorsement failure Later i added peer1 as well to the channel and then the query works fine... Does that mean i have to add all the peers to the channel or just the anchor peers? did i miss something? the gossip protocol was enabled to be dynamic when i faced this issue

qiangjiyi (Tue, 28 Aug 2018 02:12:38 GMT):
Has joined the channel.

Rachit_gaur (Tue, 28 Aug 2018 06:23:35 GMT):
I want to save my key values dynamically from my JSON response , Is there a way to do so?

AshishMishra 1 (Tue, 28 Aug 2018 07:17:19 GMT):
Hi guys, I 'm using fabric 1.2 and using node SDK to communicate with the Fabric n/w. Off late I 'm getting lot of event hub closed error and unless I restart the peer nodes, I can't invoke any transaction on the channel.

gravity (Tue, 28 Aug 2018 10:41:49 GMT):
Has joined the channel.

gravity (Tue, 28 Aug 2018 10:44:14 GMT):
hello After the network upgrade to a v1.2.0, docker-compose is spamming logs with gossip messages like this: https://ctrlv.it/text/145064/1363749086 is it possible to turn off these logs without decreasing overall debug level from debug to info?

pankajcheema (Tue, 28 Aug 2018 11:12:22 GMT):
Hi Experts

pankajcheema (Tue, 28 Aug 2018 11:12:48 GMT):
My orderer port is changed from 7050 to 30001. But peer keeps throwing an error and warning ```2018-08-28 11:08:14.142 UTC [deliveryClient] connect -> ERRO 036 Failed obtaining connection: Could not connect to any of the endpoints: [orderer0.orderer.com:7050] 2018-08-28 11:08:14.143 UTC [deliveryClient] try -> WARN 037 Got error: Could not connect to any of the endpoints: [orderer0.orderer.com:7050] , at 5 attempt. Retrying in 16s```

pankajcheema (Tue, 28 Aug 2018 11:13:04 GMT):
Anyone knows from where I can mention in peer to use updated port

pankajcheema (Tue, 28 Aug 2018 11:13:05 GMT):
?

Rachit_gaur (Wed, 29 Aug 2018 05:08:51 GMT):
Hi guys, Is there some parameter to change just the display name of the organizations org1 and org2 instead of changing every occurrence of them? Regards

albert.lacambra (Thu, 30 Aug 2018 18:21:32 GMT):
Hi people

albert.lacambra (Thu, 30 Aug 2018 18:21:58 GMT):
can someone tell me what needs to be done to satisfy a policy like {"role": {"name": "admin", "mspId": "lacambraMSP"}}

albert.lacambra (Thu, 30 Aug 2018 18:22:10 GMT):
when using "member" works fine

albert.lacambra (Thu, 30 Aug 2018 18:22:37 GMT):
but with admin I have an ENDORSEMENT_POLICY_FAILURE

albert.lacambra (Thu, 30 Aug 2018 18:23:14 GMT):
question 1 is who is the admin: a user or a peer itself

albert.lacambra (Thu, 30 Aug 2018 18:23:33 GMT):
question 2: in case of peer how do I indicate that a peer is acting as an admin

albert.lacambra (Thu, 30 Aug 2018 18:24:07 GMT):
in config.yaml file I am already indicating "AdminPrincipal: Role.ADMIN"

Rachit_gaur (Fri, 31 Aug 2018 06:55:18 GMT):
I'd like to backtrace from my latest transaction such that i can get all the status of previous transaction, How can i do this?

Rachit_gaur (Fri, 31 Aug 2018 10:42:51 GMT):
block is created after every transaction even when the orderer settings are modified to support more size and timeouts Can someone help me with this?

jrosmith (Fri, 31 Aug 2018 17:57:14 GMT):
@Rachit_gaur are you asking about finding the history for a certain transaction? as for you second question please post links to your configuration changes

Rachit_gaur (Mon, 03 Sep 2018 05:07:18 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=GgKzHixjv4ctSqbwW) @jrosmith when i invoke something on a chaincode a transaction id is returned in response...What i would like to do is to use that transaction id and get the previous states or previous transaction id's ..such as if a sends 100 to b and later b sends 50 to a ..i want to trace back the initial balance of both of them using my last id

Rachit_gaur (Mon, 03 Sep 2018 05:09:32 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=GgKzHixjv4ctSqbwW) @jrosmith These are my orderer settings..only one transaction is making a block BatchTimeout: 50s BatchSize: MaxMessageCount: 200 AbsoluteMaxBytes: 120 PreferredMaxBytes: 40 MB

IgorSim (Mon, 03 Sep 2018 09:22:01 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=WbDtjA538G4EF3JHX) @gravity Did you figure this out how it can be done? Is it possible at all?

gravity (Mon, 03 Sep 2018 09:49:03 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EPa9apvrEXMJqwtyN) @IgorSim no, I didn't. switched to INFO level atm

Rachit_gaur (Tue, 04 Sep 2018 10:26:43 GMT):
I have a scenario where i am calling stub GetHistoryForKey from another chaincode using stub.InvokeChaincode() but it returns value only when on same channel else empty response is returned without error..can someone help??

jrosmith (Tue, 04 Sep 2018 13:05:11 GMT):
@Rachit_gaur i responded to you backtrace question in #fabric-chaincode-dev at what rate are you submitting transactions and how large are they? based on the settings you have posted either one transaction is committed every 50s or the transaction payload is so large that it exceeds the absolute max bytes of 120

MikeEmery (Tue, 04 Sep 2018 16:05:10 GMT):
Has joined the channel.

MikeEmery (Tue, 04 Sep 2018 16:07:46 GMT):
Hey - From a question over on #fabric-orderer - is it still not possible to have a peer leave a channel? Willing to take any reasonable manual steps to make that happen

iramiller (Tue, 04 Sep 2018 20:09:14 GMT):
Has joined the channel.

iramiller (Tue, 04 Sep 2018 20:10:25 GMT):
Question from #fabric-chaincode-dev ... Can anyone shed some light on the platform chaincode build process design methodology? The concept of performing a build in a container in a production environment then using the results to tag an image for chaincode invocation by peers seems far more complex and error prone, not to mention less secure than using a seperate dedicated build environment to create strongly versioned container releases for chaincode...

yacovm (Tue, 04 Sep 2018 20:11:40 GMT):
I can see why it's error prone

yacovm (Tue, 04 Sep 2018 20:11:44 GMT):
but why is it less secure?

yacovm (Tue, 04 Sep 2018 20:12:06 GMT):
if the docker daemon is secure... and the build is secure because you only build code you sanitized

yacovm (Tue, 04 Sep 2018 20:12:13 GMT):
what is the concern?

iramiller (Tue, 04 Sep 2018 20:12:21 GMT):
Using Docker.sock at all requires a privledged container... while this isn’t the only use it is one of them...

yacovm (Tue, 04 Sep 2018 20:12:47 GMT):
so run your peer in a VM

iramiller (Tue, 04 Sep 2018 20:12:51 GMT):
Also running npm install pulls lots of code in

yacovm (Tue, 04 Sep 2018 20:12:59 GMT):
ah, you use node.js chaincode

yacovm (Tue, 04 Sep 2018 20:13:15 GMT):
there you go

iramiller (Tue, 04 Sep 2018 20:13:56 GMT):
But we could have a scanned container that is audited and verified independently before using in production...

yacovm (Tue, 04 Sep 2018 20:14:12 GMT):
so if you use golang chaincode then you only package stuff that you pre-scanned

iramiller (Tue, 04 Sep 2018 20:14:29 GMT):
That applies to go as well.. and running all out integration tests and shipping the exact same resulting binaries...

yacovm (Tue, 04 Sep 2018 20:14:30 GMT):
and it's compiled in a container which you have control over its image

yacovm (Tue, 04 Sep 2018 20:14:41 GMT):
no... golang doesn't download stuff from the internet at its build time

iramiller (Tue, 04 Sep 2018 20:15:04 GMT):
So you are saying the go build will be completely deterministic

yacovm (Tue, 04 Sep 2018 20:15:13 GMT):
no

yacovm (Tue, 04 Sep 2018 20:15:21 GMT):
i am saying the go build doesn't download anything from the internet

yacovm (Tue, 04 Sep 2018 20:15:30 GMT):
I don't know if the golang compiler doesn't toss coins

iramiller (Tue, 04 Sep 2018 20:16:02 GMT):
Ok... so backing up... why would we not want to specify a specific container image perhaps with hash when instantiating the chain code ?

yacovm (Tue, 04 Sep 2018 20:16:11 GMT):
you can do that can't you?

yacovm (Tue, 04 Sep 2018 20:16:20 GMT):
there is some property in `core.yaml`

iramiller (Tue, 04 Sep 2018 20:16:37 GMT):
Ah. Will dig more then.

iramiller (Tue, 04 Sep 2018 20:16:40 GMT):
Thanks

yacovm (Tue, 04 Sep 2018 20:17:01 GMT):
https://github.com/hyperledger/fabric/blob/release-1.2/sampleconfig/core.yaml#L529

yacovm (Tue, 04 Sep 2018 20:17:20 GMT):
and this is for runtime https://github.com/hyperledger/fabric/blob/release-1.2/sampleconfig/core.yaml#L538

iramiller (Tue, 04 Sep 2018 20:18:02 GMT):
What about the specific chaincode itself?

iramiller (Tue, 04 Sep 2018 20:18:12 GMT):
I’m aware of the runtime and build images

iramiller (Tue, 04 Sep 2018 20:18:50 GMT):
ie instead of a chaincode version number perhaps it would be a container version that is prebuilt?

yacovm (Tue, 04 Sep 2018 20:20:01 GMT):
you can't do that

yacovm (Tue, 04 Sep 2018 20:20:13 GMT):
there is a limit to which you can customize anything in life

yacovm (Tue, 04 Sep 2018 20:20:15 GMT):
:)

iramiller (Tue, 04 Sep 2018 20:20:17 GMT):
If that is not present then I would think it is a design choice and I would like to understand further before I continue patching that out as part of our work so we can run natively in kubernetes

yacovm (Tue, 04 Sep 2018 20:20:43 GMT):
most things aren't design choices as they are "lack of time"

iramiller (Tue, 04 Sep 2018 20:21:08 GMT):
Excellent. I understand that one very well

iramiller (Tue, 04 Sep 2018 20:21:31 GMT):
Thank you for your time.

am (Tue, 04 Sep 2018 21:03:28 GMT):
Has joined the channel.

Rachit_gaur (Wed, 05 Sep 2018 09:07:51 GMT):
Getting the following error when i use InvokeChaincode() function inside a chaincode to call another chaincode function which uses getHistoryForKey() built in function,Can someone explain the issue? [ERROR]20180905 08:47:56,521 org.hyperledger.fabric.sdk.Channel.sendQueryProposalToPeers(Channel.java:2913) Sending proposal to buyer12peer1 failed because of: gRPC failure=Status{code=UNKNOWN, description=error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [main], cause=null} java.lang.Exception: io.grpc.StatusRuntimeException: UNKNOWN: error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [main] at org.hyperledger.fabric.sdk.Channel.sendQueryProposalToPeers(Channel.java:2913) ... 25 more [ERROR]20180905 08:47:56,523 com.oracle.bcs.gateway.Gateway.query(Gateway.java:1213) Failed query proposal from peer buyer12peer1 status: FAILURE. Messages: Sending proposal to buyer12peer1 failed because of: gRPC failure=Status{code=UNKNOWN, description=error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [main], cause=null}. Was verified : false. [INFO ]20180905 08:47:56,553 com.oracle.bcs.gateway.Gateway.query(Gateway.java:1221) Success query proposal from peer buyer11peer1. [INFO ]20180905 08:47:56,554 com.oracle.bcs.gateway.BcsClientRestAPI.query(BcsClientRestAPI.java:79) /v1/transaction/query from abhishek.dabas@sofbang.com:REQ: sellers/chaincode/v1/invokecc/[chaincode, main, getHistory, 1]/transientMap:null/ :REP:Success/com.oracle.bcs.gateway.ResultInfo@159e771d/null.

Rachit_gaur (Wed, 05 Sep 2018 09:07:51 GMT):
Getting the following error when i use InvokeChaincode() function inside a chaincode to call another chaincode function which uses getHistoryForKey() built in function,Can someone explain the issue? [ERROR]20180905 08:47:56,521 org.hyperledger.fabric.sdk.Channel.sendQueryProposalToPeers(Channel.java:2913) Sending proposal to buyer12peer1 failed because of: gRPC failure=Status{code=UNKNOWN, description=error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [main], cause=null} java.lang.Exception: io.grpc.StatusRuntimeException: UNKNOWN: error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [main] at org.hyperledger.fabric.sdk.Channel.sendQueryProposalToPeers(Channel.java:2913) ... 25 more [ERROR]20180905 08:47:56,523 com.oracle.bcs.gateway.Gateway.query(Gateway.java:1213) Failed query proposal from peer buyer12peer1 status: FAILURE. Messages: Sending proposal to buyer12peer1 failed because of: gRPC failure=Status{code=UNKNOWN, description=error executing chaincode: transaction returned with failure: Failed to get policy manager for channel [main], cause=null}. Was verified : false. [INFO ]20180905 08:47:56,553 com.oracle.bcs.gateway.Gateway.query(Gateway.java:1221) Success query proposal from peer buyer11peer1. [INFO ]20180905 08:47:56,554 com.oracle.bcs.gateway.BcsClientRestAPI.query(BcsClientRestAPI.java:79) /v1/transaction/query from admin:REQ: sellers/chaincode/v1/invokecc/[chaincode, main, getHistory, 1]/transientMap:null/ :REP:Success/com.oracle.bcs.gateway.ResultInfo@159e771d/null.

Rachit_gaur (Wed, 05 Sep 2018 11:00:43 GMT):
getHistoryForKey() function when called from InvokeChaincode() works fine if both chaincodes are on same channel but returns empty result iterator if chaincode is on different channels .Can someone help? Also not the issue of cross channel calling as query function works fine in all scenarios

gravity (Thu, 06 Sep 2018 11:45:02 GMT):
Hi all I'm trying to perform to `PutState` in a single call: ``` func ccFunc() { putState_1() putState_2() } func putState_1() { ... stub.PutState(key, value) } func putState_2() { ... stub.PutState(key, value) } ``` in this case, putState_1 will not change the ledger state (assume all endorsements and validations are fine) Is there anything I should take into account? Because such a behavior look weird

akshay.sood (Thu, 06 Sep 2018 16:51:52 GMT):
How many orderer org and peer org are allowes? In short what is the limit for orderer and peee org??

ArianStef (Thu, 06 Sep 2018 18:46:58 GMT):
Has joined the channel.

ArianStef (Thu, 06 Sep 2018 18:48:39 GMT):
Hi! I'm trying to add a peer in the sample fabcar, but when I do the query by CLI I have this error: ``` Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory" ```

ArianStef (Thu, 06 Sep 2018 18:50:39 GMT):
Hi team! I'm trying to add a new peer to sample fabcar but when I invoke the chaincode with the follow CLI: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_ADDRESS=peer1.org1.example.com:7051" cli peer chaincode query -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"queryAllCars","Args":[""]}' I have the follow

ArianStef (Thu, 06 Sep 2018 18:52:17 GMT):
Hi team! I'm trying to add a new peer to sample fabcar but when I invoke the chaincode with the follow CLI: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_ADDRESS=peer1.org1.example.com:7051" cli peer chaincode query -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"queryAllCars","Args":[""]}' I have the follow error: Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory" In the docker-compose.yml file I had add: eer1.org1.example.com: container_name: peer1.org1.example.com image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org1.example.com - CORE_LOGGING_PEER=info - CORE_CHAINCODE_LOGGING_LEVEL=info - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 # # the following setting starts chaincode containers on the same # # bridge network as the peers # # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 # The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD # provide the credentials for ledger to connect to CouchDB. The username and password must # match the username and password set for the associated CouchDB. - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start # command: peer node start --peer-chaincodedev=true ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users - ./config:/etc/hyperledger/configtx depends_on: - orderer.example.com - couchdb

ArianStef (Thu, 06 Sep 2018 18:52:54 GMT):
Hi team! I'm trying to add a new peer to sample fabcar but when I invoke the chaincode with the follow CLI: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_ADDRESS=peer1.org1.example.com:7051" cli peer chaincode query -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"queryAllCars","Args":[""]}' I have the follow error: Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory" In the docker-compose.yml file I had add: peer1.org1.example.com: container_name: peer1.org1.example.com image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org1.example.com - CORE_LOGGING_PEER=info - CORE_CHAINCODE_LOGGING_LEVEL=info - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 # # the following setting starts chaincode containers on the same # # bridge network as the peers # # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 # The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD # provide the credentials for ledger to connect to CouchDB. The username and password must # match the username and password set for the associated CouchDB. - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start # command: peer node start --peer-chaincodedev=true ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users - ./config:/etc/hyperledger/configtx depends_on: - orderer.example.com - couchdb

ArianStef (Thu, 06 Sep 2018 18:53:26 GMT):
Hi team! I'm trying to add a new peer to sample fabcar but when I invoke the chaincode with the follow CLI: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_ADDRESS=peer1.org1.example.com:7051" cli peer chaincode query -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"queryAllCars","Args":[""]}' I have the follow error: Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory" In the docker-compose.yml file I had add: peer1.org1.example.com: container_name: peer1.org1.example.com image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org1.example.com - CORE_LOGGING_PEER=info - CORE_CHAINCODE_LOGGING_LEVEL=info - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 # # the following setting starts chaincode containers on the same # # bridge network as the peers # # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 # The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD # provide the credentials for ledger to connect to CouchDB. The username and password must # match the username and password set for the associated CouchDB. - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start # command: peer node start --peer-chaincodedev=true ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users - ./config:/etc/hyperledger/configtx depends_on: - orderer.example.com - couchdb

ArianStef (Thu, 06 Sep 2018 18:57:04 GMT):
Hi team! I'm trying to add a new peer to sample fabcar but when I querry the chaincode with the follow CLI: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_ADDRESS=peer1.org1.example.com:7051" cli peer chaincode query -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"queryAllCars","Args":[""]}' I have the follow error: Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory" In the docker-compose.yml file I had add: peer1.org1.example.com: container_name: peer1.org1.example.com image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org1.example.com - CORE_LOGGING_PEER=info - CORE_CHAINCODE_LOGGING_LEVEL=info - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 # # the following setting starts chaincode containers on the same # # bridge network as the peers # # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 # The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD # provide the credentials for ledger to connect to CouchDB. The username and password must # match the username and password set for the associated CouchDB. - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start # command: peer node start --peer-chaincodedev=true ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users - ./config:/etc/hyperledger/configtx depends_on: - orderer.example.com - couchdb

ArianStef (Thu, 06 Sep 2018 18:57:20 GMT):
Hi team! I'm trying to add a new peer to sample fabcar but when I query the chaincode with the follow CLI: docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" -e "CORE_PEER_ADDRESS=peer1.org1.example.com:7051" cli peer chaincode query -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"queryAllCars","Args":[""]}' I have the follow error: Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode fabcar/1.0, error open /var/hyperledger/production/chaincodes/fabcar.1.0: no such file or directory" In the docker-compose.yml file I had add: peer1.org1.example.com: container_name: peer1.org1.example.com image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org1.example.com - CORE_LOGGING_PEER=info - CORE_CHAINCODE_LOGGING_LEVEL=info - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 # # the following setting starts chaincode containers on the same # # bridge network as the peers # # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 # The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD # provide the credentials for ledger to connect to CouchDB. The username and password must # match the username and password set for the associated CouchDB. - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start # command: peer node start --peer-chaincodedev=true ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users - ./config:/etc/hyperledger/configtx depends_on: - orderer.example.com - couchdb

Baha-sk (Thu, 06 Sep 2018 20:21:58 GMT):
Has joined the channel.

rsherwood (Fri, 07 Sep 2018 08:15:49 GMT):
Hi team , in fabric 1.0.6 we are seeing transaction that create many key value pairs use more CPU in the CouchDB than we would like. Am I right in thinking that the work already done in Fabric 1.1 ( FAB-2725, FAB-6421, FAB-6422, FAB-6330) is likely to improve this ? I think my reading of the CR is Fabric now does a bulk write operation. Most of the FAB talk in terms of throughput time rather than resource usage.

dave.enyeart (Fri, 07 Sep 2018 10:50:24 GMT):
yes, the bulk updates for creates/updates and index support for queries in couchdb 1.1 will greatly improve performance and reduce cpu.

yousaf (Sat, 08 Sep 2018 14:31:57 GMT):
Has joined the channel.

auua (Sat, 08 Sep 2018 19:14:58 GMT):
Has joined the channel.

raviyelleni (Sun, 09 Sep 2018 04:44:09 GMT):
Has joined the channel.

issac.liu (Mon, 10 Sep 2018 03:52:29 GMT):
Has joined the channel.

Ryan2 (Wed, 12 Sep 2018 04:50:12 GMT):
Hi, can some help me with below concern: in fabric v1.1.1, if peer is running on multiple cores server, do we need to enable parallel validation by setting `CORE_PEER_validatorPoolSize=XXX` (XXX will be no. of cores of peer server) or peer will default take number of cores of server as the go routines to parallel running validation? Thanks!

kelvinzhong (Wed, 12 Sep 2018 08:08:25 GMT):
@dave.enyeart hi, rickr tell me to ask here, i found that i could get a peer event with a "filtered block" in java sdk, but i could not tell the differences, what exactly does the peer event filtered? should all the channel member could retrieve the whole blocks? then why filtered

kelvinzhong (Wed, 12 Sep 2018 08:09:52 GMT):
@yacovm saw you around here:grin: in case you know the answer

yacovm (Wed, 12 Sep 2018 08:11:25 GMT):
it's filtered because the client might not be authorized to see the entire block

yacovm (Wed, 12 Sep 2018 08:11:28 GMT):
only its own transactions

kelvinzhong (Wed, 12 Sep 2018 08:12:57 GMT):
how come...

kelvinzhong (Wed, 12 Sep 2018 08:13:17 GMT):
all members should have the right to get the whole ledger

kelvinzhong (Wed, 12 Sep 2018 08:14:57 GMT):
because of the private data involve?

kelvinzhong (Wed, 12 Sep 2018 08:17:40 GMT):
but if a client can not retrieve the whole block, how can the client verify the block is not been malevolent tampering

dave.enyeart (Wed, 12 Sep 2018 10:00:48 GMT):
@kelvinzhong The filtered block has the same structure as a normal block, however the transaction payload including read-write set is filtered out. A primary use case is that a client may simply want to know the validation/invalidation status of all transactions in the blocks, rather than wanting to know the data of each transaction.

dave.enyeart (Wed, 12 Sep 2018 10:01:05 GMT):
See doc here: https://hyperledger-fabric.readthedocs.io/en/latest/peer_event_services.html#available-services

dave.enyeart (Wed, 12 Sep 2018 10:01:19 GMT):
See the content of the filtered blocks here: https://github.com/hyperledger/fabric/blob/master/protos/peer/events.proto#L20-L47

dave.enyeart (Wed, 12 Sep 2018 10:05:39 GMT):
As yacovm mentions, you can also use it for access control... you can specify a different ACL for clients that can receive full block events vs filtered block events, see https://github.com/hyperledger/fabric/blob/master/sampleconfig/configtx.yaml#L184-L188

kelvinzhong (Thu, 13 Sep 2018 05:03:42 GMT):
got it, many thanks~

kelvinzhong (Thu, 13 Sep 2018 06:23:03 GMT):
well, i got confuse at the configtx.yaml, seems it's a channel level ACL, either you can retrieve the whole block of the ledger or can only retrieve the filtered block of the ledger. it seems not like what yacovm said block level ACL, client can get the transactions with authorized in the filtered block...

kelvinzhong (Thu, 13 Sep 2018 06:23:03 GMT):
well, i got confuse at the configtx.yaml, seems it's a channel level ACL, either you can retrieve the whole block of the ledger or can only retrieve the filtered block of the ledger. it seems not like what yacovm said as block level ACL, client can get the transactions with authorized in the filtered block...

kelvinzhong (Thu, 13 Sep 2018 06:23:03 GMT):
well, i got confuse at the configtx.yaml, seems it's a channel level ACL, either you can retrieve the whole block of the ledger or can only retrieve the filtered block of the ledger. it seems not like what yacovm said as block level ACL, client can get authorized transactions in the filtered block...

kelvinzhong (Thu, 13 Sep 2018 06:23:03 GMT):
well, i got confuse at the configtx.yaml, seems it's a channel level ACL, either you can retrieve the whole block of the ledger or can only retrieve the filtered block of the ledger. it seems not like what yacovm said as block level ACL that client can get authorized transactions in the filtered block...

kelvinzhong (Thu, 13 Sep 2018 07:08:07 GMT):
@dave.enyeart please correct me if i get it wrong:grin:

dave.enyeart (Thu, 13 Sep 2018 11:39:36 GMT):
correct, it is a channel-level acl only

JaydipMakadia (Thu, 13 Sep 2018 13:12:42 GMT):
Has joined the channel.

vdods (Thu, 13 Sep 2018 19:51:54 GMT):
Hi all, in trying to upgrade to Fabric 1.2, instantiating chaincode, I'm getting errors of the form `[endorser] EndorseWithPlugin -> WARN 0ca Endorsement with plugin for {plugin: escc, channel: simple-channel, tx: 4364ca3903e068fccc6e1a25a91eac2c3d2280984092d778b72ee45409ea8326, chaincode: lscc} failed: plugin with name escc wasn't found` `[endorser] ProcessProposal -> ERRO 0cb [simple-channel][8d8d524c] simulateProposal() resulted in chaincode name:"lscc" response status 500 for txid: 8d8d524c4bfa6d2f37668743020023cebcff754a257a639bddbfe5ebdd014cfb`

vdods (Thu, 13 Sep 2018 19:52:24 GMT):
which is blocking me from instantiating my chaincode. The chaincode install appears to have worked fine though.

yacovm (Thu, 13 Sep 2018 19:52:58 GMT):
@vdods change your core.yaml when you upgrade your peer....

yacovm (Thu, 13 Sep 2018 19:53:06 GMT):
it has changed ;)

vdods (Thu, 13 Sep 2018 19:55:54 GMT):
Hmm.. I thought I had, but I'll look more carefully.

vdods (Thu, 13 Sep 2018 19:57:45 GMT):
@yacovm Is fabric/sampleconfig/core.yaml up to date?

yacovm (Thu, 13 Sep 2018 19:57:54 GMT):
yeah of course

yacovm (Thu, 13 Sep 2018 19:59:07 GMT):
also kudos for upgrading to v1.2 @vdods , we're almost at 2019 now

yacovm (Thu, 13 Sep 2018 19:59:12 GMT):
about time...

vdods (Thu, 13 Sep 2018 20:00:36 GMT):
Haha

vdods (Thu, 13 Sep 2018 20:00:39 GMT):
Thanks ;)

anjalinaik (Fri, 14 Sep 2018 07:27:40 GMT):
Hi..can anybody please help me resolve this error from peer logs ``` 2018-09-14 07:21:10.222 UTC [ConnProducer] NewConnection -> ERRO 95f Failed connecting to testf_orderer0:7050 , error: context deadline exceeded 2018-09-14 07:21:10.226 UTC [deliveryClient] connect -> DEBU 960 Connected to 2018-09-14 07:21:10.226 UTC [deliveryClient] connect -> ERRO 961 Failed obtaining connection: Could not connect to any of the endpoints: [testf_orderer0:7050] ```

githubcpc (Mon, 17 Sep 2018 03:07:23 GMT):
Has joined the channel.

githubcpc (Mon, 17 Sep 2018 03:15:57 GMT):
Hi, I had build fabric 1.1 environment and I used fabric-java-sdk to connect.I plan to monitor my peer states,but I hava no idea to do now.Thanks for any advice.

narendranathreddy (Tue, 18 Sep 2018 10:44:31 GMT):
Has joined the channel.

narendranathreddy (Tue, 18 Sep 2018 11:15:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=JjR8JDWSJRTRkc7Ji) orderer0 is down check

narendranathreddy (Tue, 18 Sep 2018 11:49:11 GMT):
still connecting to old port

aatkddny (Tue, 18 Sep 2018 14:18:23 GMT):
Has joined the channel.

aatkddny (Tue, 18 Sep 2018 14:20:29 GMT):
Have a problem with creating an index in couchdb and was referred here. Hopefully someone can tell me what I messed up... Using the java SDK to create chaincode passing in an archive. Code works fine - been stable for months. Tried to add an index using the instructions in the latest docs. The archive looks like this:

aatkddny (Tue, 18 Sep 2018 14:20:49 GMT):

cut2.png

aatkddny (Tue, 18 Sep 2018 14:21:07 GMT):
CC is aacc. index1 looks like this

aatkddny (Tue, 18 Sep 2018 14:21:07 GMT):
CC is aacc. index1 looks like this: ``` { "index":{ "fields":["id", "type"] }, "ddoc":"index1Doc", "name":"index1", "type":"json" } ```

aatkddny (Tue, 18 Sep 2018 14:23:55 GMT):
CC instantiates as expected What did I miss?

aatkddny (Tue, 18 Sep 2018 14:23:55 GMT):
CC instantiates as expected. Nothing about the couch index though. What did I miss?

yacovm (Tue, 18 Sep 2018 14:30:10 GMT):
@aatkddny ask in #fabric-ledger

aatkddny (Tue, 18 Sep 2018 14:34:25 GMT):
i'll copy it over. was referred here first so apologies for spamming multiple lists.

yacovm (Tue, 18 Sep 2018 15:09:21 GMT):
@aatkddny that's fine, though - I see you're redirected in a circle and that didn't help :/

aatkddny (Tue, 18 Sep 2018 15:12:14 GMT):
Well the last comment may. I'll try building the archive differently.

gravity (Tue, 18 Sep 2018 15:16:04 GMT):
Hello after upgrade to fabric v1.2.0, some of peers getting stuck during transaction commit. for example, if a channel has 3 peers, one out of three is stuckduring transaction. no errors in logs on peer or orderer. if I restart a container for this peer, a transaction that stuck previously will proceed, but other peers tell this message in logs: ``` peer1-default-org | Failed obtaining connection for peer8-default-org:7051, PKIid:[13 148 83 230 154 35 173 0 16 141 110 78 210 23 72 254 254 177 143 36 136 23 72 84 31 6 16 18 221 34 107 223] reason: Authentication failure peer1-default-org | 2018-09-18 14:48:02.284 UTC [gossip/comm] createConnection -> WARN 0b0 Remote endpoint claims to be a different peer, expected [13 148 83 230 154 35 173 0 16 141 110 78 210 23 72 254 254 177 143 36 136 23 72 84 31 6 16 18 221 34 107 223] but got [150 240 229 156 3 99 225 102 191 218 203 23 157 199 128 193 234 5 145 223 71 70 226 49 39 199 119 61 33 207 214 55] ``` and logs on peer that was restarted: ``` peer8-default-org | 2018-09-18 14:48:02.480 UTC [gossip/comm] authenticateRemotePeer -> WARN 081 Failed reading messge from 172.21.0.14:36126, reason: Timed out waiting for connection message from 172.21.0.14:36126 peer8-default-org | 2018-09-18 14:48:02.480 UTC [gossip/comm] GossipStream -> ERRO 082 Authentication failed: Timed out waiting for connection message from 172.21.0.14:36126 ```

yacovm (Tue, 18 Sep 2018 15:18:15 GMT):
@gravity - are you using the deliver service for events?

yacovm (Tue, 18 Sep 2018 15:19:00 GMT):
`Remote endpoint claims to be a different peer` means the peer you re-connected to, changed its certificate.

yacovm (Tue, 18 Sep 2018 15:19:05 GMT):
and is unrelated to v1.2

yacovm (Tue, 18 Sep 2018 15:19:09 GMT):
it is that way since v1.0

yacovm (Tue, 18 Sep 2018 15:19:20 GMT):
(it's not a bug...)

gravity (Tue, 18 Sep 2018 15:19:22 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=FSuo4CjPniq8sQyzA) @yacovm actually, I'm not aware of it. how can I check this?

yacovm (Tue, 18 Sep 2018 15:19:40 GMT):
check if your application uses port 7051 for events, or 7053

yacovm (Tue, 18 Sep 2018 15:19:47 GMT):
if 7051 then yes

yacovm (Tue, 18 Sep 2018 15:19:52 GMT):
else, no.

gravity (Tue, 18 Sep 2018 15:21:14 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EiiQxsjQ7t64YCLCu) @yacovm if you mean ports for peers, then yes, all peers run on 7051

yacovm (Tue, 18 Sep 2018 15:25:35 GMT):
i know that they run on 7051

yacovm (Tue, 18 Sep 2018 15:25:44 GMT):
i am asking whether you connect also to 7053 or not

gravity (Tue, 18 Sep 2018 15:28:03 GMT):
no, my client(sdk) application does not use 7053 port

yacovm (Tue, 18 Sep 2018 15:32:15 GMT):
ah so you use the deliver service

yacovm (Tue, 18 Sep 2018 15:32:23 GMT):
there is a bug that is going to be fixed in v1.2.1

yacovm (Tue, 18 Sep 2018 15:32:37 GMT):
this bug makes the commit sometimes stuck, if you connect to the event deliver service

yacovm (Tue, 18 Sep 2018 15:32:46 GMT):
so you need to upgrade to v1.2.1

yacovm (Tue, 18 Sep 2018 15:33:09 GMT):
@dave.enyeart any idea when v1.2.1 is cut?

gravity (Tue, 18 Sep 2018 15:33:35 GMT):
ok, got it thanks just wanted to ask if you know when 1.2.1 is going to be released :)

gravity (Tue, 18 Sep 2018 15:35:06 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=PGk4JpF4yDRHvF8HZ) @yacovm any advice what should be done in this case? what should I do to make all other peers know about a new certificate for a peer that was restarted?

yacovm (Tue, 18 Sep 2018 15:35:25 GMT):
you need to wait 30 minutes

gravity (Tue, 18 Sep 2018 15:37:15 GMT):
regardless of peer number? could you explain please what this is implemented in this way?

yacovm (Tue, 18 Sep 2018 15:38:43 GMT):
hmmm, in v1.2.1 there is a fix where it happens only if the peer's organization has changed

yacovm (Tue, 18 Sep 2018 15:38:43 GMT):
hmmm, in v1.2.1 or in v1.3 there is a fix where it happens only if the peer's organization has changed

yacovm (Tue, 18 Sep 2018 15:39:43 GMT):
the idea in general was that if you change the peer's certificate - this is suspicious because it might mean your network is hijacked , but we didn't take into account if the peer was in the same organization :/

sstone1 (Tue, 18 Sep 2018 16:32:40 GMT):
Has joined the channel.

gravity (Wed, 19 Sep 2018 07:54:39 GMT):
thanks for the explanation awaiting v1.2.1 and 1.3 :)

yacovm (Wed, 19 Sep 2018 10:27:28 GMT):
@gravity - we merged the fix into v1.2.1 this morning https://gerrit.hyperledger.org/r/#/c/26380/

yacovm (Wed, 19 Sep 2018 10:27:43 GMT):
when it'll be released, it won't happen anymore - unless the peer switches an MSP ID

yacovm (Wed, 19 Sep 2018 10:28:15 GMT):
(It was in v1.3 but I backported to v1.2.1)

gravity (Wed, 19 Sep 2018 10:29:59 GMT):
@yacovm many thanks

dave.enyeart (Wed, 19 Sep 2018 18:16:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=uCmJhzW9nN3JvCPWA) @yacovm I believe v1.2.1 has all the fixes merged that we were targeting, it's just a matter of freeing up a resource to do the final test and cut (prioritized behind v1.3.0 at the moment).

dave.enyeart (Wed, 19 Sep 2018 18:16:50 GMT):
in the meantime, people can pull latest binaries and images that will comprise v1.2.1 by using this script:

dave.enyeart (Wed, 19 Sep 2018 18:16:53 GMT):
https://github.com/hyperledger/fabric/blob/master/scripts/pull_build_artifacts.sh

dave.enyeart (Wed, 19 Sep 2018 18:17:01 GMT):
replace 1.3.0 with 1.2.1

yacovm (Wed, 19 Sep 2018 18:25:30 GMT):
@gravity ^

yacovm (Wed, 19 Sep 2018 18:25:36 GMT):
you can test my fix now

sean (Wed, 19 Sep 2018 18:58:51 GMT):
Has joined the channel.

gravity (Thu, 20 Sep 2018 07:24:13 GMT):
@yacovm thanks, will do

yousaf (Fri, 21 Sep 2018 11:47:08 GMT):
How to set environment variables to use orderer peer, just like we use orgs peers.?

yousaf (Sat, 22 Sep 2018 08:11:53 GMT):
I am using this command to set the mod_policy.... jq -s '.[0] * {"channel_group":{"groups":{"Consortiums":{"groups":{"mod_policy":"Admins"}}}}}' config.json > modified_config.json....................to set the mod policy in config.json file. But getting this error............. Error decoding: error decoding input: *common.Config: error in PopulateFrom for field channel_group for message *common.Config: *common.DynamicChannelGroup: error in PopulateFrom for map field groups with key Consortiums for message *common.DynamicChannelGroup: *common.DynamicConsortiumsGroup: expected map field groups value for mod_policy for message *common.DynamicConsortiumsGroup to be assignable from map[string]interface {} but was not. Is string....................Any solution?

DerekC (Mon, 24 Sep 2018 09:16:26 GMT):
Has joined the channel.

reggiefelias (Mon, 24 Sep 2018 10:11:45 GMT):
Has joined the channel.

reggiefelias (Mon, 24 Sep 2018 10:12:31 GMT):
Hi All, good day! I'm having the following error in my peer: [blocksProvider] DeliverBlocks -> WARN 502 [someachannel] Got error &{SERVICE_UNAVAILABLE}

davidkel (Tue, 25 Sep 2018 16:51:25 GMT):
Can anyone answer what I hope is a simple question: Is a chaincode upgrade transaction subject to instantiation policy and endorsement policy ?

davidkel (Tue, 25 Sep 2018 16:51:25 GMT):
Can anyone answer what I hope is a simple question: Is a chaincode upgrade transaction subject to instantiation policy or endorsement policy ?

jrosmith (Tue, 25 Sep 2018 17:19:05 GMT):
@davidkel yes, a chaincode upgrade proposal is subject to the same requirements as a chaincode instantiation.

davidkel (Tue, 25 Sep 2018 17:39:47 GMT):
@jrosmith Thanks, that what I would have expected, it's just I have seen a log where a chaincode ugrade failed with what I thought was an ENDORSEMENT_POLICY message

Ryan2 (Wed, 26 Sep 2018 05:08:01 GMT):
Hi, can someone help to answer my concern: I running fabric network with setting `Channel Capability ` V1_1; `Orderer Capability ` V1_1 and `Application Capability ` V1_1; my orderer, peer running on binary v1.1.1 and works fine. however when I joined one peer, say org0-peer1, which build one `v1.2.0`) into channel successfully, Does that correct that org0-peer1 could join the channel?

githubcpc (Wed, 26 Sep 2018 06:58:39 GMT):
Hi,I want to know what happens behind the peer when it starts?But I can't find a detailed description on the official website.

yacovm (Wed, 26 Sep 2018 07:02:43 GMT):
just look behind the peer...

yacovm (Wed, 26 Sep 2018 07:02:54 GMT):
after you start it

githubcpc (Wed, 26 Sep 2018 07:04:18 GMT):
I find the 'start.go' will start the peer node .

yacovm (Wed, 26 Sep 2018 07:04:28 GMT):
yes

githubcpc (Wed, 26 Sep 2018 07:05:46 GMT):
I just want to know what happened inside.Is there a work flow picture?

yacovm (Wed, 26 Sep 2018 07:19:52 GMT):
generally speaking... the peer opens all the ledgers for all the channels it participates in

yacovm (Wed, 26 Sep 2018 07:20:00 GMT):
and then establishes communication to orderers and peerrs

githubcpc (Wed, 26 Sep 2018 07:23:36 GMT):
Thanks for your reply.I find a picture in https://github.com/yeasy/hyperledger_code_fabric/blob/2e89749e16e9a5b35d02736aa44f7791df4fac22/peer/node/start_go.md

githubcpc (Wed, 26 Sep 2018 07:24:26 GMT):
This maybe solve my problem.

Ryan2 (Sat, 29 Sep 2018 10:46:51 GMT):
I tested below scenario: 1. recording variableA with value of 200 marbles, and this variable is committed into ledger inserted into couchdb 2. might someone logged into couchdb and modified variableA = 500 marbles (at this time, in couchdb version of document already change and not match with rest of peer's couchdb) 2.1 make a transfer transaction from 500 marble variableA to variableB , and this transaction was successfully. this mean that fabric does not maintain the consistency of version of documents of peers' statedb. And protection (or security) of statedb from modification any value of the key become critical important. is my understand is correct?

vdods (Sun, 30 Sep 2018 04:37:09 GMT):
I've got a question regarding writing to a private collection. Say I have 2 orgs, each with their own private collection. Say I issue a transaction to peers in both orgs, and each org's peer stores something to its own private collection (this clearly depends on the peer knowing that it's a member of the org whose private collection it owns). Is that expected to work? Or is this prohibited?

vdods (Sun, 30 Sep 2018 04:37:09 GMT):
I've got a question regarding writing to a private collection. Say I have 2 orgs, each with their own private collection. Say I issue a transaction to peers in both orgs, and each org's peer stores something to its own private collection (this clearly depends on the peer knowing that it's a member of the org whose private collection it owns). Is that expected to work? Or is that prohibited?

yacovm (Sun, 30 Sep 2018 04:40:17 GMT):
yeah it's expected to work

yacovm (Sun, 30 Sep 2018 04:40:28 GMT):
there is even an upcoming feature that is called "local collections"

yacovm (Sun, 30 Sep 2018 04:40:37 GMT):
that does that....

vdods (Sun, 30 Sep 2018 04:40:42 GMT):
oh sweet!

vdods (Sun, 30 Sep 2018 04:40:53 GMT):
within chaincode, how does one figure out the identity of the executing peer?

yacovm (Sun, 30 Sep 2018 04:41:03 GMT):
search "local collections" in JIRA

vdods (Sun, 30 Sep 2018 04:41:03 GMT):
env vars perhaps?

yacovm (Sun, 30 Sep 2018 04:41:30 GMT):
> within chaincode, how does one figure out the identity of the executing peer? hmmm you can have the peer have a decorator that passes the identity

yacovm (Sun, 30 Sep 2018 04:41:45 GMT):
decorators are plugins local to the peer, that annotate the input of the chaincode

vdods (Sun, 30 Sep 2018 04:41:53 GMT):
ah ok

yacovm (Sun, 30 Sep 2018 04:42:27 GMT):
https://github.com/hyperledger/fabric/blob/release-1.2/sampleconfig/core.yaml#L388

vdods (Sun, 30 Sep 2018 04:43:12 GMT):
just want to understand one point fully: when writing to a private collection, are hashes of the key and value written to the ledger? or perhaps somewhere else? if they're written to the ledger, are they part of the transaction's read-write set?

yacovm (Sun, 30 Sep 2018 04:45:11 GMT):
yes they are

yacovm (Sun, 30 Sep 2018 04:45:23 GMT):
that's exactly how it works actually

yacovm (Sun, 30 Sep 2018 04:45:31 GMT):
once a peer gets the block it has the hashes in it

yacovm (Sun, 30 Sep 2018 04:45:44 GMT):
and then it can ensure that the private data itself, the hash pre-image is correct

yacovm (Sun, 30 Sep 2018 04:45:49 GMT):
by hashing itself and comparing

vdods (Sun, 30 Sep 2018 04:46:45 GMT):
but if different peers produce different read-write sets because they're writing to different private collections, how can the different transaction proposals be accepted by the orderer?

vdods (Sun, 30 Sep 2018 04:50:42 GMT):
on a side note, the automatic storage of the hash of the private collection value is worrying; https://benlog.com/2008/06/19/dont-hash-secrets/

vdods (Sun, 30 Sep 2018 04:52:36 GMT):
presumably the hash of the private value is accessible by all committing peers. if the secret is something that occupies a relatively small space (such as passwords or similar) and an attacker knows that, then a dictionary attack or related could be used to infer the private value from the public hash

yacovm (Sun, 30 Sep 2018 05:07:09 GMT):
So? @vdods just add random salt to the key and value

vdods (Sun, 30 Sep 2018 05:10:22 GMT):
@yacovm I suppose, though that's rather annoying to have to do, rather than have the privacy abstraction take care of it. Realistically, no one will know to do that, so many Fabric apps will have this vulnerability

vdods (Sun, 30 Sep 2018 05:12:41 GMT):
But for now that's a side concern. I would like to know the answer to the question about a single transaction running on different peers being able to write to different private collections -- don't they produce different read-write sets?

vdods (Sun, 30 Sep 2018 05:12:51 GMT):
and therefore the transaction won't be accepted by the orderer?

vdods (Sun, 30 Sep 2018 05:13:22 GMT):
@yacovm BTW, I appreciate your always-insightful advice!

yacovm (Sun, 30 Sep 2018 05:30:13 GMT):
> I suppose, though that's rather annoying to have to do, rather than have the privacy abstraction take care of it. Realistically, no one will know to do that, so many Fabric apps will have this vulnerability That's why I suggest everyone takes a crypto course if he/she uses Fabric :) Jokes aside... you have a point, but - note that the peers themselves cannot generate the randomness, right? It has to come from the client. So - if we ever do such a change we'd need to probably implement a wrapper stub that uses the existing stub API as a black box, and uses something like ASN1 or protobuf marshaling and includes salts. > I would like to know the answer to the question about a single transaction running on different peers being able to write to different private collections -- don't they produce different read-write sets? they do... you're supposed to do that in different transactions, if the RWSets are different. A way to do that in the same RWSet is simply to pass the randomness of the salt via the transient map.

yacovm (Sun, 30 Sep 2018 05:30:56 GMT):
> BTW, I appreciate your always-insightful advice! Why don't you implement a wrapper shim that uses salts and push that as a contribution to the project?

yacovm (Sun, 30 Sep 2018 05:35:41 GMT):
@vdods ^

vdods (Sun, 30 Sep 2018 05:42:13 GMT):
@yacovm Hehe, fair enough ;) Thanks for your answers. Could potentially allow random number generation on the peers by passing a seed to the transaction and then using a fixed PRNG. As for the separate transactions, I think I'm still coming to grips psychologically with not having atomic operations in certain cases :)

asaningmaxchain123 (Mon, 01 Oct 2018 04:59:55 GMT):
@mastersingh24 for the bccsp plugin,it support golang ? now i write the plugin bccsp and it generate a gm.a static lib,so how can i take it work?

krabradosty (Mon, 01 Oct 2018 13:10:13 GMT):
Has joined the channel.

krabradosty (Mon, 01 Oct 2018 13:49:30 GMT):
Hello! When I changed the endorsement policy of my chaincode from `-P "OR ('Org1MSP.member','Org2MSP.member')"` to `-P "OR ('Org1MSP.peer','Org2MSP.peer')"`, I got an error from peer during block committing: ENDORSEMENT_POLICY_FAILURE. I've set EnableNodeOUs to true in crypto-config.yaml, peer certificate contains `Subject: C=US, ST=California, L=San Francisco, OU=peer, CN=peer0.org1.example.com`. What is the problem?

asaningmaxchain123 (Tue, 02 Oct 2018 03:09:04 GMT):
@yacovm @mastersingh24 can you tell me what's the function of msp `OU`,and take an example

Thavarajajohn (Tue, 02 Oct 2018 07:39:22 GMT):
Has joined the channel.

vdods (Tue, 02 Oct 2018 08:17:11 GMT):
Hi there, I've already instantiated a chaincode on my 2 org network, and along with it is a private collection owned by a single org. This was sort of a mistake, and there was supposed to be a private collection owned by each org, but I issued the original instantiate transaction with only one of the private collections defined. Now i've issued another instantiate (upgrade) transaction, with both private collections defined, but there is no difference; only the single, already-existing private collection is present. Note that I'm issuing the instantiate transaction to one peer on one org only. Why isn't the definition of the private collections being updated to include the second one?

yacovm (Tue, 02 Oct 2018 08:32:42 GMT):
how do you know the 2nd one doesn't exist?

Thavarajajohn (Tue, 02 Oct 2018 08:37:33 GMT):
hi, I faced the issue while initializing channel on the peer like below (running peer cli command )

Thavarajajohn (Tue, 02 Oct 2018 08:37:41 GMT):
grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 69.172.201.153:7050: operation was canceled"; Reconnecting to {orderer.loyality.com:7050

Thavarajajohn (Tue, 02 Oct 2018 08:44:35 GMT):
using fabric-peer:x86_64-1.1.1

vdods (Tue, 02 Oct 2018 08:44:59 GMT):
@yacovm I'm doing a query of the instantiated chaincodes, and I only see one private collection

vdods (Tue, 02 Oct 2018 08:46:01 GMT):
And it doesn't matter if i do the query from org0 or org1, it's still just the same, single private collection (the one for org1)

yacovm (Tue, 02 Oct 2018 08:46:14 GMT):
try to do a transaction with that collection

yacovm (Tue, 02 Oct 2018 08:46:16 GMT):
and see what you get

vdods (Tue, 02 Oct 2018 08:46:30 GMT):
the one that exists, or the one that apparently doesn't?

yacovm (Tue, 02 Oct 2018 08:46:35 GMT):
latter

vdods (Tue, 02 Oct 2018 08:46:41 GMT):
ok

vdods (Tue, 02 Oct 2018 08:52:58 GMT):
``` 2018-10-02 08:50:24.993 UTC [endorser] SimulateProposal -> ERRO 192a [simple-channel][41c8000e] failed to invoke chaincode name:"docuseal-chaincode" , error: getdepspec simple-channel/docuseal-chaincode responded with error: chaincode fingerprint mismatch: data mismatch ```

vdods (Tue, 02 Oct 2018 08:54:43 GMT):
Just for reference, what I get when I query the instantiated chaincodes is ``` ChainCodes: ([]*peer.ChaincodeInfo) (len=2 cap=2) { (*peer.ChaincodeInfo)(0xc420146a80)(name:"docuseal-chaincode" version:"0.10.1-DEV.0.modified+g-08b36d360fb8223b.dh-SW5SDPVJRWHA3XHO" path:"github.com/LedgerDomain/docuseal-chaincode" input:"" escc:"escc" vscc:"vscc" ), (*peer.ChaincodeInfo)(0xc420146b00)(name:"\n=\n\036private-collection-for_org1MSP\022\031\n\027\022\010\022\006\010\001\022\002\010\000\032\013\022\t\n\007org1MSP \n" ) } ```

Bartb0 (Tue, 02 Oct 2018 10:56:10 GMT):
Has joined the channel.

MaddaliPadmaja (Wed, 03 Oct 2018 07:15:20 GMT):
Has joined the channel.

IgorSim (Wed, 03 Oct 2018 18:54:18 GMT):
hi, i'm not sure if this is right channel to ask but here is my question: is it possible to apply 'label' (docker object label) to chaincode container , i.e. whenever chaincode container starts(chaincode is instantiated) i want that docker container to have specific label attached to it

mrjdomingus (Thu, 04 Oct 2018 08:11:14 GMT):
Has joined the channel.

silliman (Thu, 04 Oct 2018 17:33:08 GMT):
?ledger size

asaningmaxchain123 (Fri, 05 Oct 2018 07:17:07 GMT):
@yacovm @dave.enyeart i want to use the `service discovery` features, i must set the tls enable

yacovm (Fri, 05 Oct 2018 08:12:33 GMT):
@asaningmaxchain123 no

asaningmaxchain123 (Fri, 05 Oct 2018 09:35:50 GMT):
thx

qiangqinqq (Sat, 06 Oct 2018 07:37:14 GMT):
Has joined the channel.

dave.enyeart (Sun, 07 Oct 2018 22:29:38 GMT):
@sykesm I was talking to @muralisr and he mentioned he was going to start working on operational metrics soon in partnership with @grapebaba (Kai's framework). I know you are looking into this area as well. I'm just mentioning you all so that the efforts are coordinated. Thought this was a decent channel to use for now, although we could create another channel around serviceability and operations...

muralisr (Sun, 07 Oct 2018 22:31:57 GMT):
thanks @dave.enyeart ..this is a good opportunity to bring application level uses to topdown to meet monitoring support bottom up building on the work that's been started

muralisr (Sun, 07 Oct 2018 22:31:57 GMT):
thanks @dave.enyeart ..this is a good opportunity to bring topdon application level uses to meet bottomup monitoring support building on the work that's been started

muralisr (Sun, 07 Oct 2018 22:31:57 GMT):
thanks @dave.enyeart ..this is a good opportunity to bring topdown application level uses to meet bottomup monitoring support building on the work that's been started

rsherwood (Mon, 08 Oct 2018 10:53:11 GMT):
When instantiating chaincode what policy is a new chaincode instantiate checked against. Is it just any policy specified in the -i of the command , in which case any writer to a channel could install a new chaincode by specifying itself, or would it be checked against a default channel policy . The upgrade documentation makes it clear that any upgrade is checked against the previous upgrade or install policy, but I'm not 100% clear on the initial install.

gravity (Mon, 08 Oct 2018 13:13:43 GMT):
Hello I'm trying to setup a network with apache kafka as a backend for an orderer, but I'm getting an error when attempting to create a channel: ``` 2018-10-08 13:09:57.094 UTC [grpc] Printf -> DEBU 04a pickfirstBalancer: HandleSubConnStateChange: 0xc42028e780, CONNECTING 2018-10-08 13:09:57.094 UTC [grpc] Printf -> DEBU 04b pickfirstBalancer: HandleSubConnStateChange: 0xc42028e780, READY Error: got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet ``` fabric v1.2.1

gravity (Mon, 08 Oct 2018 13:14:09 GMT):
any advice what should I do in this case?

rahulhegde (Mon, 08 Oct 2018 14:35:07 GMT):
hello, I have upgraded fabric setup from v1.0 to v1.2. I am using Peer CLI for sending ledger transaction. It looks like peer CLI is not sending the endorsed transaction having endorsement status code > 200 to orderer. It works for 200. This is working in v1.0. Is it case to open a JIRA?

rahulhegde (Mon, 08 Oct 2018 14:51:04 GMT):
Q2. In fabric v1.0 200 to 499 was considered as Endorsement Success and anything >= 500 is considered Endorsement Failure. This is how the range is been used in our chaincode . Is the range changed in Fabric v1.2?

muralisr (Mon, 08 Oct 2018 15:22:03 GMT):
@rahulhegde what status code do you actually see (thats not being sent to orderer) ?

rahulhegde (Mon, 08 Oct 2018 16:16:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8dfYK3NF3emAaEYAG) @muralisr Endorsement status code: 235.

rahulhegde (Mon, 08 Oct 2018 16:18:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=h6iQS7JPSZdairBYJ) I have opened FAB-12340

rahulhegde (Mon, 08 Oct 2018 16:18:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=h6iQS7JPSZdairBYJ) I have opened https://jira.hyperledger.org/browse/FAB-12340

abhishek.s (Tue, 09 Oct 2018 05:34:12 GMT):
Hi Everyone! We have created a proposal for Deferred Transactions in Hyperledger Fabric. https://jira.hyperledger.org/browse/FAB-12161

asaningmaxchain123 (Tue, 09 Oct 2018 14:49:28 GMT):
@yacovm when the chaincode upgrade,the chaincode invoke should stop?

asaningmaxchain123 (Tue, 09 Oct 2018 14:49:28 GMT):
@yacovm when the chaincode is upgrading,the chaincode invoke should stop?

yacovm (Tue, 09 Oct 2018 14:50:27 GMT):
no

yacovm (Tue, 09 Oct 2018 14:50:31 GMT):
you need to stop it yourself

DeepakMP (Tue, 09 Oct 2018 16:03:00 GMT):
Has joined the channel.

DeepakMP (Tue, 09 Oct 2018 16:03:08 GMT):
Hey everyone!

DeepakMP (Tue, 09 Oct 2018 16:03:23 GMT):
Newly introduced to HL Fabric here!

DeepakMP (Tue, 09 Oct 2018 16:03:52 GMT):
going through the docs, and so far, I've been able to do the basic stuff, so thats good!

DeepakMP (Tue, 09 Oct 2018 16:05:18 GMT):
fyi, I'm new to docker and go, and basic proficiency in node, so some of those concepts might be holding me back, but as far as I can, I try to google for things and try to figure it out each time I'm stuck.

DeepakMP (Tue, 09 Oct 2018 16:05:40 GMT):
However, I'm stuck on two points, appreciate anyone who can help me out here:

DeepakMP (Tue, 09 Oct 2018 16:12:38 GMT):
1. I figured out that we can launch our custom configured network by modifying the crypto-config.yaml file and going through the launch network steps. (I'm using the documentation default resources- the /fabcar directory). The generate command works and creates 4 or more peers as per my entries in yaml, but thereafter, I get stuck, they dont get endorser nodes created for them, and then hence they're not part of my channel and so on. (This happens whenever, I create new Orgs, beyond the default Org1 and Org2). I think this is so because the .tx files that come with the documentation are placed for only Org1 and Org2. So I'm still trying to figure out if there's a way to dynamically create the .tx files or is there a healthier way to process new organisations and new peers for them.

gravity (Tue, 09 Oct 2018 16:14:58 GMT):
Hello @yacovm I'm trying to setup a network with apache kafka as a backend for an orderer, but I'm getting an error when attempting to create a channel: ``` 2018-10-08 13:09:57.094 UTC [grpc] Printf -> DEBU 04a pickfirstBalancer: HandleSubConnStateChange: 0xc42028e780, CONNECTING 2018-10-08 13:09:57.094 UTC [grpc] Printf -> DEBU 04b pickfirstBalancer: HandleSubConnStateChange: 0xc42028e780, READY Error: got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet ``` fabric v1.2.1

DeepakMP (Tue, 09 Oct 2018 16:15:55 GMT):
2. In trying to create Private Data Collections, I pulled down existing network in /first-network by ./byfn.sh down and then ran ./byfn.sh up -c mychannel -s couchdb. This runs till the point of all channels getting created, but then my peers dont join my channel and the first peer tries to join, fails, retries a few times, fails and the whole thing stops. I'm wondering has anyone else run into similar/this issue before- how did you go about resolving this? What is the wrong thing I'm doing here/modification I need to do? Thanks!! The following is the last bit of output from my bash:

DeepakMP (Tue, 09 Oct 2018 16:16:01 GMT):
===================== Channel 'mychannel' created ===================== Having all peers join the channel... + peer channel join -b mychannel.block + res=1 + set +x Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded peer0.org1 failed to join the channel, Retry after 3 seconds + peer channel join -b mychannel.block + res=1 + set +x Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded peer0.org1 failed to join the channel, Retry after 3 seconds + peer channel join -b mychannel.block + res=1 + set +x Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded peer0.org1 failed to join the channel, Retry after 3 seconds + peer channel join -b mychannel.block + res=1 + set +x Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded peer0.org1 failed to join the channel, Retry after 3 seconds + peer channel join -b mychannel.block + res=1 + set +x Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded !!!!!!!!!!!!!!! After 5 attempts, peer0.org1 has failed to join channel 'mychannel' !!!!!!!!!!!!!!!! ========= ERROR !!! FAILED to execute End-2-End Scenario ===========

asaningmaxchain123 (Tue, 09 Oct 2018 16:20:18 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=XGtPEma4fWqoozr8A) @yacovm that means the invoke should stop?

asaningmaxchain123 (Tue, 09 Oct 2018 16:21:34 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aC2vhYX7ikby6fpHj) @yacovm stop chaincode or stop invoke?

asaningmaxchain123 (Tue, 09 Oct 2018 16:32:56 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=XGtPEma4fWqoozr8A) @yacovm you give me two answer, i am confused,can you give me more simply answer?

asaningmaxchain123 (Tue, 09 Oct 2018 16:36:54 GMT):
@dave.enyeart @jyellick @mastersingh24 when the chaincode upgrading the invoke transaction should stop until all the peer has upgrade the chaincode successfully?

dave.enyeart (Tue, 09 Oct 2018 21:25:28 GMT):
@asaningmaxchain123 once the chaincode upgrade transaction is committed on the channel, any already inflight transactions from the prior chaincode version will get invalidated upon their commit. any new invoke will utilize the new chaincode version. if some peers do not yet have the new version installed, invoke on those peers will return an error.

dave.enyeart (Tue, 09 Oct 2018 21:25:36 GMT):
takeaways:

dave.enyeart (Tue, 09 Oct 2018 21:25:44 GMT):
1) peers should install the next chaincode version before it is instantiated on the channel (having multiple chaincode versions installed is not a problem, the latest instantiated chaincode will always be used)

dave.enyeart (Tue, 09 Oct 2018 21:25:47 GMT):
2) clients need to handle potential transaction invalidations with retries.

asaningmaxchain123 (Tue, 09 Oct 2018 23:31:47 GMT):
@dave.enyeart which validate code indicate the transaction is invalid due to chaincode upgrade?

Barry_CPF (Wed, 10 Oct 2018 03:42:54 GMT):
Has joined the channel.

ArianStef (Wed, 10 Oct 2018 10:47:20 GMT):
Hi! I am testing a simple network, 1 peer, solo orderer and sending 30 parallel transactions. (I know that this network has no real meaning, but I have to do this trial). Varing batch timeout and batch size I have always this problem: the transactions have all the same commit time (circa 5s) except two/three transactions which commit time is circa 5/10s higher. Those transactions are the first one to send the proposal transaction to the endorsment peer. Logging the timestamp, I notice that is due to the endorsment peer who responds slow for this transactions (the first one), as if it needs a time to wake up from a sleep. Anyone knows why? thank you

ArianStef (Wed, 10 Oct 2018 10:47:50 GMT):

Clipboard - October 10, 2018 12:47 PM

ArianStef (Wed, 10 Oct 2018 10:48:26 GMT):
on the left the commit time for each transaction

ArianStef (Wed, 10 Oct 2018 10:48:53 GMT):
on the right the timestamp for the first 7 transaction

ArianStef (Wed, 10 Oct 2018 10:49:27 GMT):
timestamp: -send proposal transactio to the end. peer -

ArianStef (Wed, 10 Oct 2018 10:50:33 GMT):
timestamp: -invoke code start -send proposal transaction to the end. peer -send proposal transaction the orderer -commit

muralisr (Wed, 10 Oct 2018 21:46:28 GMT):
@ArianStef several things contribute to latency (couple of things you have pointed out - batch timeout and batch size). The initial tx delay could be due to bringing up chaincode (this may include creating the image if not present). My suggestion would be to go through the usual "warm up" with some TXs and then begin measurement

vdods (Thu, 11 Oct 2018 06:08:18 GMT):
Here's a question: I realize the following feature could be abused easily, but is there a way to obtain a lock on a set of specified ledger keys on a specified set of peers, such that others who try to obtain the lock and execute a transaction will have their transaction simulation delayed until the lock is released? Basically as a bit of preventative care to avoid the situation of the orderer rejecting transactions because their RW sets conflict.

yacovm (Thu, 11 Oct 2018 07:06:10 GMT):
you can use state based endorsement @vdods

yacovm (Thu, 11 Oct 2018 07:06:21 GMT):
if you set an endorsement policy of a key

yacovm (Thu, 11 Oct 2018 07:06:31 GMT):
no one can change it but the orgs in the policy....

vdods (Thu, 11 Oct 2018 07:41:46 GMT):
@yacovm Hmm.. that's a pretty heavy-handed thing, right? It would require a configuration update to change?

yacovm (Thu, 11 Oct 2018 07:44:44 GMT):
not a config update

yacovm (Thu, 11 Oct 2018 07:44:56 GMT):
state based endorsement is all chaincode methods

yacovm (Thu, 11 Oct 2018 07:45:02 GMT):
you use chaincode to change the key policy

vdods (Thu, 11 Oct 2018 07:56:14 GMT):
where is the interface defined? This can be called from chaincode?

yacovm (Thu, 11 Oct 2018 07:58:17 GMT):
טקשי

yacovm (Thu, 11 Oct 2018 07:58:19 GMT):
yeah

ShobhitSrivastava (Thu, 11 Oct 2018 11:19:40 GMT):
Has joined the channel.

ShobhitSrivastava (Thu, 11 Oct 2018 11:20:53 GMT):
Hi @yacovm ..I am stuck in one of the issue. It is I have to get endorsement from two peers. These 2 peers are in different org. In java sdk i add two peer in one channel and invoke a code. But in "consistencyGroups" it is more then 1 and hence I am getting exception. How should i get endorsement form two peers.

yacovm (Thu, 11 Oct 2018 11:22:10 GMT):
consistency groups...?

yacovm (Thu, 11 Oct 2018 11:22:18 GMT):
i only know of this term from storage domain

yacovm (Thu, 11 Oct 2018 11:22:26 GMT):
in RAID groups :/

yacovm (Thu, 11 Oct 2018 11:22:43 GMT):
also - java sdk is this way: #fabric-sdk-java ;)

ShobhitSrivastava (Thu, 11 Oct 2018 11:25:01 GMT):
in fabric-java sdk..there is something in code

ShobhitSrivastava (Thu, 11 Oct 2018 11:25:01 GMT):
but it would be good if you can tell me, how can I get endorsement form two peers?

ShobhitSrivastava (Thu, 11 Oct 2018 11:25:28 GMT):
i asked in java-sdk channel

ShobhitSrivastava (Thu, 11 Oct 2018 11:25:46 GMT):
anyway thanks :-)

yacovm (Thu, 11 Oct 2018 11:27:44 GMT):
never used java SDK sorry

ShobhitSrivastava (Thu, 11 Oct 2018 11:30:28 GMT):
no problem thanks

gravity (Thu, 11 Oct 2018 13:18:03 GMT):
hello trying to setup kafka for an orderer but getting this error: `2018-10-11 10:31:08.346 UTC [orderer/consensus/kafka] try -> DEBU 0f3 [channel: testchainid] Need to retry because process failed = kafka server: Replication-factor is invalid.` overall behavior is weird. sometime orderer with kafka cluster starts OK, sometime fails with the error above. have I missed something? thanks in advance

atirekg (Thu, 11 Oct 2018 13:36:49 GMT):
Has joined the channel.

atirekg (Thu, 11 Oct 2018 13:37:24 GMT):
Hello Guys,

atirekg (Thu, 11 Oct 2018 13:37:24 GMT):
Hello Guys, I am using https://github.com/hyperledger/education example

atirekg (Thu, 11 Oct 2018 13:37:24 GMT):
Hello Guys, I am using https://github.com/hyperledger/education example it is currently working on basis of org1 peer0, want to introduce new peer but getting error when event_hub is trying to registerTxEvent any idea?

atirekg (Thu, 11 Oct 2018 13:37:24 GMT):
Hello Guys, I am using https://github.com/hyperledger/education example it is currently working on basis of org1 peer0, want to introduce new peer but getting error when event_hub is trying to registerTxEvent. any idea how can I solve it?

ArianStef (Thu, 11 Oct 2018 14:40:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=JhgdBrS5JMpKzyCog) @muralisr thank you!

ArianStef (Thu, 11 Oct 2018 14:44:29 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=XbubB6ttoqsRezFBY) @atirekg this may help https://github.com/hyperledger/fabric-samples/tree/release/balance-transfer

asaningmaxchain123 (Thu, 11 Oct 2018 17:52:23 GMT):
@yacovm @jyellick @dave.enyeart can you provide an exmaple for me about `Setting key-level endorsement policies`

dave.enyeart (Thu, 11 Oct 2018 18:40:07 GMT):
@asaningmaxchain123 please dont mention me for the same question in multiple channels. i've replied in #fabric-ledger

asaningmaxchain123 (Thu, 11 Oct 2018 18:44:38 GMT):
ok

yacovm (Thu, 11 Oct 2018 20:01:32 GMT):
@asaningmaxchain123 I believe there is a (sample chaincode in review)[https://gerrit.hyperledger.org/r/#/c/26232/12/interest_rate_swaps/chaincode/chaincode.go]

yacovm (Thu, 11 Oct 2018 20:01:32 GMT):
@asaningmaxchain123 I believe there is a [sample chaincode in review](https://gerrit.hyperledger.org/r/#/c/26232/12/interest_rate_swaps/chaincode/chaincode.go)

atirekg (Fri, 12 Oct 2018 06:49:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=QDsztGGuSWwifEo84) @ArianStef I have tried to implement the multi organization and multiple peer from this example but no success

waxer (Fri, 12 Oct 2018 12:30:38 GMT):
Has joined the channel.

atirekg (Fri, 12 Oct 2018 16:56:35 GMT):
Guys, trying to upgrade my chaincode current version is app-1.0 running following command to upgrade `docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode upgrade -C mychannel -n app -v 1.1 -p github.com/app -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')"` error I am getting 2018-10-12 16:43:03.267 UTC [endorser] callChaincode -> INFO 0c8 [][f208804e] Entry chaincode: name:"cscc" 2018-10-12 16:43:03.271 UTC [endorser] callChaincode -> INFO 0c9 [][f208804e] Exit chaincode: name:"cscc" (5ms) 2018-10-12 16:43:03.296 UTC [endorser] callChaincode -> INFO 0ca [mychannel][d19e1b99] Entry chaincode: name:"lscc" 2018-10-12 16:43:03.298 UTC [lscc] executeDeployOrUpgrade -> ERRO 0cb cannot get package for chaincode (app:1.1)-err:open /var/hyperledger/production/chaincodes/app.1.1: no such file or directory 2018-10-12 16:43:03.304 UTC [endorser] callChaincode -> INFO 0cc [mychannel][d19e1b99] Exit chaincode: name:"lscc" (8ms) 2018-10-12 16:43:03.305 UTC [endorser] ProcessProposal -> ERRO 0cd [mychannel][d19e1b99] simulateProposal() resulted in chaincode name:"lscc" response status 500 for txid: d19e1b99b9370fc9635bd97afee2a62ce835749184a7eec1eee65d73ae289fcb ubuntu@ip-172-31-16-152:~/example/app$ docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli

muralisr (Fri, 12 Oct 2018 17:47:36 GMT):
@atirekg `cannot get package for chaincode (app:1.1)-err:open /var/hyperledger/production/chaincodes/app.1.1: no such file or directory` - did you install the to-be-upgraded chaincode (using `peer chaincode install -n app -v 1.1 ...`) ?

atirekg (Sun, 14 Oct 2018 08:39:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=foKvX4hnQNrCWCgTj) @muralisr No I haven't installed it

atirekg (Sun, 14 Oct 2018 08:39:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=foKvX4hnQNrCWCgTj) @muralisr No I haven't installed it, as there was no isntruction about it, let me do it then will ask again, Thanks :)

ASell (Sun, 14 Oct 2018 21:21:04 GMT):
Has joined the channel.

atirekg (Mon, 15 Oct 2018 09:08:09 GMT):
Guys, I am getting `undefined` for `event_hub.setPeerAddr('grpc://localhost:7053');`

atirekg (Mon, 15 Oct 2018 09:08:09 GMT):
Guys, I am getting `undefined` for `event_hub.setPeerAddr('grpc://localhost:7053');` anyidea?

atirekg (Mon, 15 Oct 2018 09:08:09 GMT):
Guys, I am getting `undefined` for `event_hub.setPeerAddr('grpc://localhost:7053');` anyidea?

atirekg (Mon, 15 Oct 2018 09:08:09 GMT):
Guys, I am getting `undefined` for `event_hub.setPeerAddr('grpc://localhost:7053');` any idea?

leusgrif (Mon, 15 Oct 2018 09:12:51 GMT):
Has joined the channel.

sheetal-hlf (Tue, 16 Oct 2018 05:07:26 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3CE4rn6tWLZtBYiwB) @atirekg I think the event port is 7051; since the channel-based events were introduced

atirekg (Tue, 16 Oct 2018 06:02:34 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZNYLokv3Es4ki8S3n) @sheetal-hlf thanks, but it looks like something else to me port 7051 is also not working

sheetal-hlf (Tue, 16 Oct 2018 07:41:28 GMT):
does the peer hostname and grpc address match?

huikang (Wed, 17 Oct 2018 02:56:54 GMT):
Has joined the channel.

atirekg (Wed, 17 Oct 2018 09:25:43 GMT):
no it was fine, I have upgraded the version of fabric client sdk to 1.3.0 and changed the way of event_hub, it's gone now

atirekg (Wed, 17 Oct 2018 13:01:59 GMT):
Guys, I am generating new and trying to make them live I have used command `cryptogen extend --config=./crypto-config.yaml` to generate the peer files but getting following error `2018-10-17 12:57:37.625 UTC [main] main -> ERRO 001 Cannot run peer because error when setting up MSP of type bccsp from directory /etc/hyperledger/msp/peer/: the supplied identity is not valid: x509: certificate signed by unknown authority`

atirekg (Wed, 17 Oct 2018 13:01:59 GMT):
Guys, I am generating new peer and trying to make them live I have used command `cryptogen extend --config=./crypto-config.yaml` to generate the peer files but getting following error `2018-10-17 12:57:37.625 UTC [main] main -> ERRO 001 Cannot run peer because error when setting up MSP of type bccsp from directory /etc/hyperledger/msp/peer/: the supplied identity is not valid: x509: certificate signed by unknown authority`

atirekg (Thu, 18 Oct 2018 09:34:38 GMT):
`2018-10-18 09:31:37.379 UTC [main] main -> ERRO 001 Cannot run peer because cannot init crypto, missing /etc/hyperledger/msp/users/Admin@org2.apple.com/msp folder`

atirekg (Thu, 18 Oct 2018 09:35:27 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=NngiQ94R2Ey4ofqGs) I have regenerated new certificates and this is solved now

atirekg (Thu, 18 Oct 2018 09:35:43 GMT):
`2018-10-18 09:31:37.379 UTC [main] main -> ERRO 001 Cannot run peer because cannot init crypto, missing /etc/hyperledger/msp/users/Admin@org2.apple.com/msp folder` Anyone about this?

atirekg (Thu, 18 Oct 2018 11:03:58 GMT):
Guys, anyone know anything about this error `Error: failed to create deliver client: failed to load config for OrdererClient: unable to load orderer.tls.rootcert.file: open /etc/hyperledger/fabric/tlsca.apple.com-cert.pem: no such file or directory`

ArianStef (Thu, 18 Oct 2018 12:35:56 GMT):
Hi! I have a doubt regarding the command `peer chaincode invoke`. Do this command check if the endorsement policy is fulfilled before sending the transaction to the ordering service?

tchataigner (Thu, 18 Oct 2018 15:32:08 GMT):
Has joined the channel.

gravity (Thu, 18 Oct 2018 15:55:30 GMT):
Hi all I'm trying to upgrade a chaincode after joining a new org to a channel, but getting this error: ``` root@b88c1a11958a:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_MSPCONFIGPATH=/data/orgs/partners-org/admin/msp peer chaincode upgrade -o partners-orderer-1:7050 -C tmpchannel -n common -v 2.0 -P "OR ('main-orgMSP.member','partners-orgMSP.member')" -c '{"Args":["init", ""]}' 2018-10-18 15:00:13.799 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-10-18 15:00:13.799 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc Error: got unexpected status: NOT_FOUND -- channel does not exist ``` but the peer is a member of this channel Does anyone know how to fix it?

gravity (Thu, 18 Oct 2018 16:06:48 GMT):
and another one: Given the situation: I've a single org network. Later, I've added one more and joined peer1 from that org to a channel named tmpchannel. Next, I can enroll as a user1 on ica server related to org1 and call a chaincode and everything is ok. Next, I login to peer1 in org2, enrolled user1 using ica server related to org1 and attempting to call a chaincode, but getting the error: ``` 2018-10-18 16:00:30.997 UTC [protoutils] ValidateProposalMessage -> WARN 04d channel [tmpchannel]: MSP error: the supplied identity is not valid: x509: certificate signed by unknown authority ``` Is it a correct behavior?

atirekg (Thu, 18 Oct 2018 16:13:00 GMT):
@gravity can you please help me to join a new org to a channel, I have created the new org but not able to get how to join the channel

gravity (Thu, 18 Oct 2018 16:18:28 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=nAwzStY5Hs33J2qr4) @atirekg Have you check the documentation on how to join org to a channel?

atirekg (Thu, 18 Oct 2018 16:35:27 GMT):
yes

atirekg (Thu, 18 Oct 2018 16:35:27 GMT):
@gravity yes

atirekg (Thu, 18 Oct 2018 16:37:02 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem`

atirekg (Thu, 18 Oct 2018 16:37:29 GMT):
running this command on cli

atirekg (Thu, 18 Oct 2018 16:37:29 GMT):
running this command on cli docker

yousaf (Thu, 18 Oct 2018 17:09:16 GMT):
@jyellick If a peer has installed multiple same named multiple chaincodes for multiple channels(which the peer have joined.) then is it necessary that their versions should be different?

ibmamnt (Fri, 19 Oct 2018 00:50:54 GMT):
Has joined the channel.

gravity (Fri, 19 Oct 2018 09:42:28 GMT):
Hello is there any recommendations on how many peers should be serving a channel for a better throughput?

yousaf (Fri, 19 Oct 2018 19:22:34 GMT):
@jyellick Are the anchor peers specified for an organization, per channel separately? Or they are fixed while developing the network, independent of the channel?

PCP 1 (Mon, 22 Oct 2018 16:27:35 GMT):
Has joined the channel.

PCP 1 (Mon, 22 Oct 2018 16:28:12 GMT):
Hello everyone. I have an issue, both peers (peer 0 and peer 1) stopped with this error: func1 -> ERRO 002 Received error from server: rpc error: code = Unknown desc = Error handling message, ending stream: transition canceled with error: peer will not accepting external chaincode connection name:"mycc:1.0" (except in dev mode), ending chaincode stream

PCP 1 (Mon, 22 Oct 2018 16:28:23 GMT):
Could anyone help decipher this? It used to work fine until not long ago.

PCP 1 (Mon, 22 Oct 2018 16:37:33 GMT):
Sorry, I found the issue. Ran out of disk space :-|

PCP 1 (Mon, 22 Oct 2018 16:37:36 GMT):
I solved it

atirekg (Mon, 22 Oct 2018 18:45:54 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker

atirekg (Mon, 22 Oct 2018 18:45:54 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker anyone?

atirekg (Mon, 22 Oct 2018 18:45:54 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker, trying to add new org into the channel anyone?

atirekg (Mon, 22 Oct 2018 18:45:54 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker, trying to add new org into the channel

atirekg (Mon, 22 Oct 2018 18:45:54 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker, trying to add new org into the channel

atirekg (Mon, 22 Oct 2018 18:45:54 GMT):
I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker, trying to add new org into the channel and `Error: failed to create deliver client: failed to load config for OrdererClient: unable to load orderer.tls.rootcert.file: open /etc/hyperledger/fabric/tlsca.apple.com-cert.pem: no such file or directory` for `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --tls --cafile tlsca.apple.com-cert.pem` command please help

atirekg (Mon, 22 Oct 2018 18:47:19 GMT):
and `Error: failed to create deliver client: failed to load config for OrdererClient: unable to load orderer.tls.rootcert.file: open /etc/hyperledger/fabric/tlsca.apple.com-cert.pem: no such file or directory` for `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --tls --cafile tlsca.apple.com-cert.pem` command

atirekg (Mon, 22 Oct 2018 18:47:23 GMT):
please help

atirekg (Tue, 23 Oct 2018 06:50:30 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=e2gR4uM9KC4YF5yYW) Anyone?

jrosmith (Tue, 23 Oct 2018 12:54:45 GMT):
hey all, i have a question regarding batch timeouts and block validation. i successfully updated my channel configuration to have a BatchTimeout of 100ms, but am still getting MVCC errors. specifically in the following scenario: txnA updates key1 => val1. ~300 ms later txnB updates key1 => val2. txnB fails with an MVCC error. i'm assuming that since they occur 300ms apart they would be in separate blocks based on the configured BatchTimeout. is it the vscc that is rejecting with the MVCC error? if so why would the transaction be rejected if my assumption is correct and they are in separate blocks?

atirekg (Tue, 23 Oct 2018 13:15:09 GMT):
Hello guys getting following error while trying to add new Org into the network `2018-10-23 13:09:05.825 UTC [msp] setupSigningIdentity -> DEBU 035 Signing identity expires at 2028-10-14 14:54:22 +0000 UTC 2018-10-23 13:09:05.825 UTC [msp] Validate -> DEBU 036 MSP Org1MSP validating identity 2018-10-23 13:09:05.825 UTC [msp] GetDefaultSigningIdentity -> DEBU 037 Obtaining default signing identity 2018-10-23 13:09:05.825 UTC [grpc] DialContext -> DEBU 038 parsed scheme: "" 2018-10-23 13:09:05.825 UTC [grpc] DialContext -> DEBU 039 scheme "" not registered, fallback to default scheme 2018-10-23 13:09:05.825 UTC [grpc] watcher -> DEBU 03a ccResolverWrapper: sending new addresses to cc: [{orderer.apple.com:7050 0 }] 2018-10-23 13:09:05.825 UTC [grpc] switchBalancer -> DEBU 03b ClientConn switching balancer to "pick_first" 2018-10-23 13:09:05.825 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc420560460, CONNECTING 2018-10-23 13:09:05.826 UTC [grpc] createTransport -> DEBU 03d grpc: addrConn.createTransport failed to connect to {orderer.apple.com:7050 0 }. Err :connection error: desc = "transport: authentication handshake failed: tls: first record does not look like a TLS handshake". Reconnecting... 2018-10-23 13:09:05.826 UTC [grpc] HandleSubConnStateChange -> DEBU 03e pickfirstBalancer: HandleSubConnStateChange: 0xc420560460, TRANSIENT_FAILURE 2018-10-23 13:09:06.826 UTC [grpc] HandleSubConnStateChange -> DEBU 03f pickfirstBalancer: HandleSubConnStateChange: 0xc420560460, CONNECTING 2018-10-23 13:09:06.826 UTC [grpc] createTransport -> DEBU 040 grpc: addrConn.createTransport failed to connect to {orderer.apple.com:7050 0 }. Err :connection error: desc = "transport: authentication handshake failed: tls: first record does not look like a TLS handshake". Reconnecting... 2018-10-23 13:09:06.826 UTC [grpc] HandleSubConnStateChange -> DEBU 041 pickfirstBalancer: HandleSubConnStateChange: 0xc420560460, TRANSIENT_FAILURE 2018-10-23 13:09:08.610 UTC [grpc] HandleSubConnStateChange -> DEBU 042 pickfirstBalancer: HandleSubConnStateChange: 0xc420560460, CONNECTING 2018-10-23 13:09:08.611 UTC [grpc] createTransport -> DEBU 043 grpc: addrConn.createTransport failed to connect to {orderer.apple.com:7050 0 }. Err :connection error: desc = "transport: authentication handshake failed: tls: first record does not look like a TLS handshake". Reconnecting... 2018-10-23 13:09:08.611 UTC [grpc] HandleSubConnStateChange -> DEBU 044 pickfirstBalancer: HandleSubConnStateChange: 0xc420560460, TRANSIENT_FAILURE Error: failed to create deliver client: orderer client failed to connect to orderer.apple.com:7050: failed to create new connection: context deadline exceeded !!!!!!!!!!!!!!! Fetching config block from orderer has Failed !!!!!!!!!!!!!!!!`

jrosmith (Tue, 23 Oct 2018 13:16:40 GMT):
@atirekg all of your errors seem to be related to cert issues. the error logs explicitly state `transport: authentication handshake failed: tls: first record does not look like a TLS handshake`

jrosmith (Tue, 23 Oct 2018 13:17:11 GMT):
check your certs and make sure your applications are looking for them in the right place

atirekg (Tue, 23 Oct 2018 13:17:35 GMT):
yes tried all mentioned ways but always getting this error

jrosmith (Tue, 23 Oct 2018 13:18:15 GMT):
do you have secure ssl set up on both ends?

atirekg (Tue, 23 Oct 2018 13:18:35 GMT):
I am trying on local

atirekg (Tue, 23 Oct 2018 13:18:45 GMT):
first org is running

atirekg (Tue, 23 Oct 2018 13:19:01 GMT):
and able to join multiple peer in first org

atirekg (Tue, 23 Oct 2018 13:19:24 GMT):
but when I am trying to add new org then getting the problem

jrosmith (Tue, 23 Oct 2018 13:19:30 GMT):
right when i say both ends i mean services. even if you are running things locally you cant designate only one service to use secure ssl

jrosmith (Tue, 23 Oct 2018 13:20:04 GMT):
have you properly set up the new orgs crypto material and added it to the channel configuration?

atirekg (Tue, 23 Oct 2018 13:21:15 GMT):
yes, generated by same method `cryptogen generate --config=./crypto-config-org2.yaml`

atirekg (Tue, 23 Oct 2018 13:21:48 GMT):
then I am fetching the channel config block from orderer on org2 cli

atirekg (Tue, 23 Oct 2018 13:21:55 GMT):
and getting this error

jrosmith (Tue, 23 Oct 2018 13:22:32 GMT):
have you updated your network configuration to allow org2 to be a member?

jrosmith (Tue, 23 Oct 2018 13:23:08 GMT):
just generating the crypto material then attempting to fetch the block isnt enough, all of that crypto material needs to be added to the network config

atirekg (Tue, 23 Oct 2018 13:23:44 GMT):
I am following instructions from eyfn.sh (first-network)

atirekg (Tue, 23 Oct 2018 13:24:38 GMT):
is there any standard guide or step how to do it?

atirekg (Tue, 23 Oct 2018 13:24:59 GMT):
https://hyperledger-fabric.readthedocs.io/en/latest/channel_update_tutorial.html

atirekg (Tue, 23 Oct 2018 13:25:13 GMT):
this tutorial I am following

jrosmith (Tue, 23 Oct 2018 13:26:24 GMT):
that is the standard guide. from your earlier posts it looks like the channel update was not configured properly and was rejected

atirekg (Tue, 23 Oct 2018 13:27:02 GMT):
yes I got this error when I follow the tutorial I am getting this error `Error: got unexpected status: BAD_REQUEST -- error authorizing update: Update not for correct channel: for mychannel` for command `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --cafile tlsca.apple.com-cert.pem` running this command on cli docker, trying to add new org into the channel and `Error: failed to create deliver client: failed to load config for OrdererClient: unable to load orderer.tls.rootcert.file: open /etc/hyperledger/fabric/tlsca.apple.com-cert.pem: no such file or directory` for `peer channel update -f org2_update_in_envelope.pb -c mychannel -o orderer.apple.com:7050 --tls --cafile tlsca.apple.com-cert.pem` command

atirekg (Tue, 23 Oct 2018 13:27:27 GMT):
then I started doing it manually from eyfn.sh (first-network) then get different error

atirekg (Tue, 23 Oct 2018 13:28:06 GMT):
I am not sure where I am making the mistake

atirekg (Tue, 23 Oct 2018 13:28:17 GMT):
but tried many time from start

jrosmith (Tue, 23 Oct 2018 13:29:48 GMT):
i think the reason you are struggling to get help is because you are posting multiple error logs from different examples without any context.

jrosmith (Tue, 23 Oct 2018 13:30:10 GMT):
in order to help we will need to see what you have attempted to insert as an update to the network config

jrosmith (Tue, 23 Oct 2018 13:30:27 GMT):
please use a service like hastebin.com to post what youre attempting to change

atirekg (Tue, 23 Oct 2018 13:34:16 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=55gc2vYD2zmDMHN9h) @jrosmith the above error I was getting from 18oct and didn't get any help, then I tried different way and get different error. ok, I will prepare the full attempt then will post it here for old error

jrosmith (Tue, 23 Oct 2018 13:41:08 GMT):
@atirekg i understand your frustration when questions are not replied to, but please bear in mind that everyone here has a day job and is difficult to set aside time to pick through logs without context in an effort to assist. the more specific you can be about what you were attempting to do, what example you were following, and at what step there was an error, the easier it will be for channel members to help

atirekg (Tue, 23 Oct 2018 13:47:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=qS82ZnYS35Fi6YGfr) @jrosmith yes, and technology is new so possibly everyone don't know the answers, I was not frustrated but tried :)

githubcpc (Wed, 24 Oct 2018 07:08:18 GMT):
Hi.Could specify dynamic endorsement policy?The endorsement policy specified only when instantiate the chaincode ?Is there another way to specify it?

yacovm (Wed, 24 Oct 2018 08:15:14 GMT):
you can't have a dynamic EP

yacovm (Wed, 24 Oct 2018 08:15:24 GMT):
you can only upgrade the EP via chaincode upgrade

githubcpc (Wed, 24 Oct 2018 08:16:11 GMT):
Thanks.

ShobhitSrivastava (Wed, 24 Oct 2018 08:57:57 GMT):
hey @yacovm ``` I have a ques in hyperledger fabric. I am using Couch DB as state DB and using two peers in channel. However I am able to delete the keys and update value in Json. How is this replicated? If I am able to change value in Json key and value. ```

yacovm (Wed, 24 Oct 2018 09:25:16 GMT):
You change keys manually via the database?

ShobhitSrivastava (Wed, 24 Oct 2018 09:53:03 GMT):
yes

ShobhitSrivastava (Wed, 24 Oct 2018 09:53:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=d453b341-97e3-4af8-8e98-5653cbcb9bc4) @yacovm correct. I wanted to check if further transaction will get affected due to it.

dave.enyeart (Wed, 24 Oct 2018 09:57:39 GMT):
If you 'tamper' with state db data directly, then the peer will not match other peers and cause proposal responses to not match other peers, this will result in clients throwing away the 'bad' proposals sent to that peer or if submitted to ordering regardless, will cause transaction to get invalidated. In short, don't tamper with state database, as it will be found out and that peer will be not trusted and isolated

ShobhitSrivastava (Wed, 24 Oct 2018 10:02:29 GMT):
hey @dave.enyeart . I need to give business guys as how this peer will be isolated. But in fabric, It does not happen automatically. Also once I delete one key from statedb I am still able to create new transactions. Ideally block of chain should get corrupted and block should not get created.

ShobhitSrivastava (Wed, 24 Oct 2018 10:03:03 GMT):
hey @dave.enyeart . I need to give business guys an explanation as how this peer will be isolated. But in fabric, It does not happen automatically. Also once I delete one key from statedb I am still able to create new transactions. Ideally block of chain should get corrupted and block should not get created.

dave.enyeart (Wed, 24 Oct 2018 10:08:58 GMT):
Clients send proposals to multiple peers and check consistency of results. If one peer doesn't match, clients won't trust that peer anymore and will not go to it anymore. Doing a verification of entire chain for each transaction is prohibitively expensive. You can do a verification of peer's blockchain using external tools instead. Think of statedb as a cache. If it's data is in doubt you can drop statedb and it will be rebuilt from the blockchain automatically upon peer restart. But I'd recommend lock down couchdb by not exposing couchdb port beyond the peer's docker network and have peer use username/password to ensure it cannot be tampered by external users in the first place.

ShobhitSrivastava (Wed, 24 Oct 2018 10:16:33 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fz6chQmjWMTZy4jXY) @dave.enyeart Sounds logical. I thought of locking couchdb in some manner. Thanks for giving confirmation on my thoughts.

ShobhitSrivastava (Wed, 24 Oct 2018 10:59:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=fz6chQmjWMTZy4jXY) @dave.enyeart Sorry for posting again. I stopped my peer and couch db instance and started them both. But I still got same old ledger having fews keys deleted by me. Any thought on that?

dave.enyeart (Wed, 24 Oct 2018 11:04:16 GMT):
You have to drop statedb (delete) if you want peer to rebuild it

ShobhitSrivastava (Wed, 24 Oct 2018 11:11:52 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=r2W4ZFu69y4Cfh3FL) @dave.enyeart can you suggest any reading to delete statedb. I deleted from CouchDb frontend. But after restart it does not work

dave.enyeart (Wed, 24 Oct 2018 11:13:03 GMT):
If you are using couchdb, deleting the /opt/couchdb/data directory would do the trick

ShobhitSrivastava (Wed, 24 Oct 2018 11:13:30 GMT):
okay. Checking

ShobhitSrivastava (Wed, 24 Oct 2018 11:21:09 GMT):
hey thanks alot @dave.enyeart

ShobhitSrivastava (Wed, 24 Oct 2018 11:21:15 GMT):
appreciate a lot

ShobhitSrivastava (Wed, 24 Oct 2018 11:21:37 GMT):
cheers man:smile:

jrosmith (Wed, 24 Oct 2018 13:22:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=gNQcRKeBsWFQEfdqa) bumping for visibility

jrosmith (Wed, 24 Oct 2018 15:18:36 GMT):
please ignore the above, it has been answered in #fabric-orderer

cagdast (Thu, 25 Oct 2018 07:53:40 GMT):
Has joined the channel.

MohammadObaid (Thu, 25 Oct 2018 16:27:05 GMT):
Has joined the channel.

MohammadObaid (Thu, 25 Oct 2018 16:28:42 GMT):
Question . Since chaincode only simulate by endorsing peers , so how does committer who is not an endorser validate read write set as writeset is generated after executing chaincode . What exactly does committer check except signature validations

MohammadObaid (Thu, 25 Oct 2018 16:28:42 GMT):
Question . Since chaincode only simulate by endorsing peers , so how does committer who is not an endorser validate read write set as writeset is generated after executing chaincode . What exactly does committer check except signature validations ?

albert.lacambra (Thu, 25 Oct 2018 19:54:11 GMT):
Hi while trying to instantiate a chaincode I am having this error 2018-10-25 19:45:14.055 UTC [gossip/state] commitBlock -> ERRO 0b3 Got error while committing(unexpected Previous block hash. Expected PreviousHash = [2e2048fcf6bcc4d99c210d7cdd99e135e0de419e35d6ccc7f5a1d58e25bc6ad0], PreviousHash referred in the latest block= [19ee18412db71ea5ddbc52a9e6fd4d8a56c8de695e15f7755e2dd3db7b675370] the peer is immediatly killed I have no idea what can be :s here whole stacktzrace in case it helps: https://gist.github.com/alacambra/4f7d3e2c488bf4282c22d9910e3bb54d

albert.lacambra (Thu, 25 Oct 2018 19:54:11 GMT):
Hi while trying to instantiate a chaincode I am having this error 2018-10-25 19:45:14.055 UTC [gossip/state] commitBlock -> ERRO 0b3 Got error while committing(unexpected Previous block hash. Expected PreviousHash = [2e2048fcf6bcc4d99c210d7cdd99e135e0de419e35d6ccc7f5a1d58e25bc6ad0], PreviousHash referred in the latest block= [19ee18412db71ea5ddbc52a9e6fd4d8a56c8de695e15f7755e2dd3db7b675370] *the peer is immediatly killed* I have no idea what can be :s here whole stacktzrace in case it helps: https://gist.github.com/alacambra/4f7d3e2c488bf4282c22d9910e3bb54d

albert.lacambra (Thu, 25 Oct 2018 19:54:11 GMT):
Hi while trying to instantiate a chaincode I am having this error 2018-10-25 19:45:14.055 UTC [gossip/state] commitBlock -> ERRO 0b3 Got error while committing(unexpected Previous block hash. Expected PreviousHash = [2e2048fcf6bcc4d99c210d7cdd99e135e0de419e35d6ccc7f5a1d58e25bc6ad0], PreviousHash referred in the latest block= [19ee18412db71ea5ddbc52a9e6fd4d8a56c8de695e15f7755e2dd3db7b675370] ## *the peer is immediatly killed* I have no idea what can be :s here whole stacktzrace in case it helps: https://gist.github.com/alacambra/4f7d3e2c488bf4282c22d9910e3bb54d

albert.lacambra (Thu, 25 Oct 2018 19:54:11 GMT):
Hi while trying to instantiate a chaincode I am having this error 2018-10-25 19:45:14.055 UTC [gossip/state] commitBlock -> ERRO 0b3 Got error while committing(unexpected Previous block hash. Expected PreviousHash = [2e2048fcf6bcc4d99c210d7cdd99e135e0de419e35d6ccc7f5a1d58e25bc6ad0], PreviousHash referred in the latest block= [19ee18412db71ea5ddbc52a9e6fd4d8a56c8de695e15f7755e2dd3db7b675370] *the peer is immediatly killed* I have no idea what can be :s here whole stacktzrace in case it helps: https://gist.github.com/alacambra/4f7d3e2c488bf4282c22d9910e3bb54d

albert.lacambra (Thu, 25 Oct 2018 19:54:11 GMT):
Hi while trying to instantiate a chaincode I am having this error 2018-10-25 19:45:14.055 UTC [gossip/state] commitBlock -> ERRO 0b3 Got error while committing(unexpected Previous block hash. Expected PreviousHash = [2e2048fcf6bcc4d99c210d7cdd99e135e0de419e35d6ccc7f5a1d58e25bc6ad0], PreviousHash referred in the latest block= [19ee18412db71ea5ddbc52a9e6fd4d8a56c8de695e15f7755e2dd3db7b675370] *the peer is immediatly killed* I have no idea what can be :s here whole stacktzrace in case it helps: https://gist.github.com/alacambra/4f7d3e2c488bf4282c22d9910e3bb54d

albert.lacambra (Thu, 25 Oct 2018 19:54:11 GMT):
Hi while trying to instantiate a chaincode I am having this error 2018-10-25 19:45:14.055 UTC [gossip/state] commitBlock -> ERRO 0b3 Got error while committing(unexpected Previous block hash. Expected PreviousHash = [2e2048fcf6bcc4d99c210d7cdd99e135e0de419e35d6ccc7f5a1d58e25bc6ad0], PreviousHash referred in the latest block= [19ee18412db71ea5ddbc52a9e6fd4d8a56c8de695e15f7755e2dd3db7b675370] *the peer is immediatly killed* I have no idea what can be :s here whole stacktzrace in case it helps: https://gist.github.com/alacambra/4f7d3e2c488bf4282c22d9910e3bb54d

aso (Mon, 29 Oct 2018 08:36:00 GMT):
> Question . Since chaincode only simulate by endorsing peers , so how does committer who is not an endorser validate read write set as writeset is generated after executing chaincode . What exactly does committer check except signature validations ? the mostly validator checks 2 things: 1) compliance of the transaction with the endorsement policy: that basically entails signature checks and policy checks 2) concurrency control checks: the writes in the read-write set are applied only if all variables that were read at simulation time haven't changed since - this is a check over versions. (this description is a simplification but it should give you the big picture). Mostly: there is no semantic check on the correctness of any value - that's implied in the trust assusmptions over the endorsement policy

mko (Mon, 29 Oct 2018 11:58:58 GMT):
Has joined the channel.

aatkddny (Mon, 29 Oct 2018 13:54:08 GMT):
I *think* this is the right venue for this question. If not pls point me elsewhere - this pertains to performing chaincode instantiation. Is it (now) normal to get different length proposal responses from different peers? Running 1.3.0 - have never seen this problem until an inadvertent upgrade from 1.2.0. 1.0 and 1.1 never exhibited this behavior either.

qizhang (Mon, 29 Oct 2018 20:15:19 GMT):
Question: since the transaction proposals on a peer are simulated in parallel (each in a different goroutine), is there any limitation on how many such goroutines can exist in parallel?

nhrishi (Tue, 30 Oct 2018 10:35:47 GMT):
Hi, I am using v1.3 version and seeing below error in the peer log. Any idea what does this mean and how to resolve. Error -- ```{"log":"\u001b[36m2018-10-30 10:01:21.476 UTC [deliveryClient] connect -\u003e DEBU 372\u001b[0m Connected to orderer0.example.com:7050\n","stream":"stderr","time":"2018-10-30T10:01:21.476432032Z"} {"log":"\u001b[36m2018-10-30 10:01:21.476 UTC [deliveryClient] connect -\u003e DEBU 373\u001b[0m Establishing gRPC stream with orderer0.example.com:7050 ...\n","stream":"stderr","time":"2018-10-30T10:01:21.476453531Z"} {"log":"\u001b[36m2018-10-30 10:01:21.476 UTC [deliveryClient] afterConnect -\u003e DEBU 374\u001b[0m Entering\n","stream":"stderr","time":"2018-10-30T10:01:21.476547581Z"} {"log":"\u001b[36m2018-10-30 10:01:21.476 UTC [deliveryClient] RequestBlocks -\u003e DEBU 375\u001b[0m Starting deliver with block [1] for channel globalchannel\n","stream":"stderr","time":"2018-10-30T10:01:21.476560941Z"} {"log":"\u001b[36m2018-10-30 10:01:21.476 UTC [deliveryClient] afterConnect -\u003e DEBU 376\u001b[0m Exiting\n","stream":"stderr","time":"2018-10-30T10:01:21.476818024Z"} {"log":"\u001b[31m2018-10-30 10:01:21.481 UTC [blocksProvider] DeliverBlocks -\u003e ERRO 377\u001b[0m [globalchannel] Got error \u0026{FORBIDDEN}\n","stream":"stderr","time":"2018-10-30T10:01:21.482197137Z"} ```.

ArianStef (Wed, 31 Oct 2018 15:50:47 GMT):

Clipboard - October 31, 2018 12_54 PM.png

ArianStef (Wed, 31 Oct 2018 15:52:26 GMT):

Clipboard - October 31, 2018 4_28 PM.png

ArianStef (Wed, 31 Oct 2018 15:53:03 GMT):

Clipboard - October 31, 2018 4_28 PM.png

bh4rtp (Thu, 01 Nov 2018 00:15:08 GMT):
hi, install chaincode succeeded but instantiate chaincode failed. i could not find any message on chaincode instantiate from peer logs. and there was a message about chaincode install: ``` 2018-10-31 08:40:33.603 CST [cceventmgmt] HandleChaincodeInstall -> DEBU 4d51 Channel [mychannel]: Chaincode [Name=register, Version=v1, Hash=[]byte{0xc4, 0xb0, 0xd, 0xc, 0xaf, 0xdc, 0xda, 0xb1, 0x5, 0xc6, 0x7c, 0x2d, 0xc3, 0xe2, 0xc, 0x17, 0xd1, 0xfc, 0xf0, 0x1f, 0x53, 0xb5, 0x7f, 0x63, 0x54, 0x5e, 0xc2, 0xd, 0x6d, 0x8, 0x4b, 0xa5}] is not deployed on channel hence not creating chaincode artifacts. ``` what does `not deployed on channel hence not creating chaincode artifacts` mean? and is it the reason?

waxer (Thu, 01 Nov 2018 00:24:39 GMT):
@bh4rtp , What is the output of the instantiation request?

bh4rtp (Thu, 01 Nov 2018 00:27:56 GMT):
@waxer it prints bad instantiate proposal.

bh4rtp (Thu, 01 Nov 2018 00:28:17 GMT):
i am using `balance-transfer` as an example.

bh4rtp (Thu, 01 Nov 2018 02:20:09 GMT):
hi, i filtered the messages from peer logs and the following lines may relate to instantiate chaincode. ```2018-11-01 09:46:58.183 CST [chaincode] handleMessage -> DEBU 6078 [805147b5] Fabric side handling ChaincodeMessage of type: COMPLETED in state ready 2018-11-01 09:46:58.183 CST [chaincode] Notify -> DEBU 6079 [805147b5] notifying Txid:805147b529315755b05890db4e5aabe8b86a17f652e4613ae45d05ced73b2b19, channelID:registerch 2018-11-01 09:46:58.183 CST [chaincode] Execute -> DEBU 607a Exit 2018-11-01 09:46:58.183 CST [endorser] callChaincode -> INFO 607b [registerch][805147b5] Exit chaincode: name:"lscc" (53ms) 2018-11-01 09:46:58.183 CST [lockbasedtxmgr] GetTxSimulationResults -> DEBU 607c Simulation completed, getting simulation results 2018-11-01 09:46:58.183 CST [lockbasedtxmgr] Done -> DEBU 607d Done with transaction simulation / query execution [805147b529315755b05890db4e5aabe8b86a17f652e4613ae45d05ced73b2b19] 2018-11-01 09:46:58.183 CST [endorser] SimulateProposal -> DEBU 607e [registerch][805147b5] Exit 2018-11-01 09:46:58.183 CST [endorser] ProcessProposal -> ERRO 607f [registerch][805147b5] simulateProposal() resulted in chaincode name:"lscc" response status 500 for txid: 805147b529315755b05890db4e5aabe8b86a17f652e4613ae45d05ced73b2b19``` the last line shows an error. is this the reason for instantiation failure?

mrlinjun (Thu, 01 Nov 2018 03:00:33 GMT):
Has joined the channel.

mrlinjun (Thu, 01 Nov 2018 03:00:41 GMT):
https://chat.hyperledger.org/channel/fabric-gossip?msg=3FjTMu87Zo3K9KEJs

mrlinjun (Thu, 01 Nov 2018 03:00:41 GMT):
https://chat.hyperledger.org/channel/fabric-gossip?msg=3FjTMu87Zo3K9KEJs

mrlinjun (Thu, 01 Nov 2018 03:00:41 GMT):
@dave.enyeart @yacovm https://chat.hyperledger.org/channel/fabric-gossip?msg=3FjTMu87Zo3K9KEJs

rsherwood (Thu, 01 Nov 2018 09:40:07 GMT):
Hi I've a question about how much data can be deduced by non-members of private data collections. If I take and example if there are peers P1, P2 and P3 , where there is a private collection C1 between P1 and P2 but not P3, and a single channel between all three. If a transactions is submitted by C1 and endorsed by P1 and P2, creating date private data in C1. How much can P3 see ? I assume P3 will see the submitter certs, the endorsers certs. Will P3 also see that C1 has been used. I assume yes but would like confirmation. So given a trading network with a single channel but private collection between pairs or participants any participant could deduce who is trading (or at least have a very good guess) with who and when, but no details of the trades assuming all details of the trade is in the private data collection. Is this correct ? I'm assuming fixing the above would need some aspect of the identify mixing that the Fabric team are exploring.

dave.enyeart (Thu, 01 Nov 2018 10:34:41 GMT):
@rsherwood right, currently P3 will know that there is some private data in C1 that P1 and P2 are members of. there is work ongoing to make that information secret as well, using identity mixer, zero knowledge proof, and 'local collections' rather than static collections (where clients choose who should see the data, rather than it being defined in static collections).

albert.lacambra (Thu, 01 Nov 2018 10:42:21 GMT):
One question about scaling peers

albert.lacambra (Thu, 01 Nov 2018 10:42:59 GMT):
would it be possible to have several peers behind a load balancer? They will share the same identity and for other components the endpoint would reference the loadbalancer

albert.lacambra (Thu, 01 Nov 2018 10:43:24 GMT):
I am not sure if tha copuld have issues when updating the chain and issues with the gossip protocol

albert.lacambra (Thu, 01 Nov 2018 10:43:24 GMT):
I am not sure if that could have issues when updating the chain and issues with the gossip protocol

MohammadObaid (Thu, 01 Nov 2018 11:08:07 GMT):
@dave.enyeart Question: Let suppose we have four peers out of which only one is endorsing peer . So I installed and instantiated chaincode and invoke query using that peer terminal and successfully able to change state of asset . But when I query about value of that asset sing other peer terminal , I get an error `Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode mycc/v0, error open /var/hyperledger/production/chaincodes/mycc.v0: no such file or directory" ` . My question is do I need to install chaincode in each peer including non endorsing peers ? I have read in documentation that only endorsing peer need chaincode !

dave.enyeart (Thu, 01 Nov 2018 11:15:41 GMT):
@MohammadObaid you need to install chaincode on each peer where you want to invoke chaincode. A peer that executes chaincode is an endorser, regardless of what that chaincode call does reads or writes.

dave.enyeart (Thu, 01 Nov 2018 11:15:41 GMT):
@MohammadObaid you need to install chaincode on each peer where you want to invoke chaincode. A peer that executes chaincode is an endorser, regardless of whether that chaincode call does reads or writes.

dave.enyeart (Thu, 01 Nov 2018 11:17:05 GMT):
From peer perspective, there is no difference between invokes and queries... they are all chaincode calls that get endorsed

MohammadObaid (Thu, 01 Nov 2018 11:19:50 GMT):
so if comitting peers want to find out value of asset for example value of `a` they cant do it ?

MohammadObaid (Thu, 01 Nov 2018 11:20:23 GMT):
Does block deliver to comitting peers only contain hashes and signatures ?

yacovm (Thu, 01 Nov 2018 11:21:19 GMT):
of course it contains more than hashes and signatures... it also contains the key and value pairs

yacovm (Thu, 01 Nov 2018 11:21:38 GMT):
otherwise you couldn't have extracted them from the block

yacovm (Thu, 01 Nov 2018 11:21:45 GMT):
but - to read a key you need a chaincode

yacovm (Thu, 01 Nov 2018 11:21:58 GMT):
a chaincode, for that key.

yacovm (Thu, 01 Nov 2018 11:21:58 GMT):
a chaincode, for that namespace where the key resides

bh4rtp (Thu, 01 Nov 2018 11:34:16 GMT):
@dave.enyeart could you please help me about this issue `ERRO 607f [registerch][805147b5] simulateProposal() resulted in chaincode name:"lscc" response status 500 for txid: 805147b529315755b05890db4e5aabe8b86a17f652e4613ae45d05ced73b2b19`. it was printed from peer logs when instantiating chaincode.

dave.enyeart (Thu, 01 Nov 2018 11:39:53 GMT):
@bh4rtp the root cause error message is not printed in peer logs for security reasons. you'll need to get the root error message from client side.

bh4rtp (Thu, 01 Nov 2018 11:41:47 GMT):
@dave.enyeart my chaincode has private data. and the node sdk client just prints proposal is bad. the response message is null.

dave.enyeart (Thu, 01 Nov 2018 11:43:47 GMT):
@bh4rtp well that stinks, will have to get fixed. can you open a jira issue and include peer debug log?

bh4rtp (Thu, 01 Nov 2018 11:44:14 GMT):
ok. thanks!

dave.enyeart (Thu, 01 Nov 2018 11:44:38 GMT):
at-mention me in the jira or ping me the number

bh4rtp (Thu, 01 Nov 2018 12:27:01 GMT):
@dave.enyeart i opened a jira issue, please view FAB-12676.

dave.enyeart (Thu, 01 Nov 2018 14:00:08 GMT):
@bh4rtp to mention it here as well... looks like the app client code is not printing the "message" that is returned by the chaincode. That should provide the root cause of the error. We will also look into improving the samples to demonstrate this.

muralisr (Thu, 01 Nov 2018 14:35:57 GMT):
@sykesm can you note down the metric namespace components (perhaps with some examples) for https://jira.hyperledger.org/browse/FAB-3389 please ( @grapebaba @dave.enyeart )

muralisr (Thu, 01 Nov 2018 14:36:32 GMT):
we can iterate on various metrics

muralisr (Thu, 01 Nov 2018 14:36:32 GMT):
we can then iterate on various metrics

MohammadObaid (Thu, 01 Nov 2018 19:05:53 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=2yfYvwWiro9As5xB8) @yacovm @yacovm Thanks for clarification . That means peer can't access world ledger if it doesnt install chaincode because query process involves calling getState function from chaincode which lookup in world ledger and return value right ?

MohammadObaid (Thu, 01 Nov 2018 19:05:59 GMT):
Just one more thing is this mechanism is due to some security reasons like why cant comitting peers just simply fetch key value pair from world ledger without chaincode since world ledger stores all key value pair with its latest state/version if all of the peers storing the same thing?

yacovm (Thu, 01 Nov 2018 19:13:08 GMT):
I agree that it would make sense to have an API that just reads the ledger's key-value store

yacovm (Thu, 01 Nov 2018 19:13:19 GMT):
maybe a system chaincode that does that

MohammadObaid (Fri, 02 Nov 2018 08:37:47 GMT):
Yes that will be better solution . If any client-sdk/node sdk integrate with comitting peer ledger then it wont be able to fetch keyvalue pairs so in current scenario every peer have to be endorsing !

bh4rtp (Fri, 02 Nov 2018 11:54:38 GMT):
@dave.enyeart i found the reason. the `chaincodeType` argument was passed as `init`, i.e. fcn. however the error message is not returned to client. that is the problem. i added a logging line in the source file `core/endorser/endorser.go`, and finally got the error message. so i just did a negative test to endorser.go :grinning:.

bh4rtp (Fri, 02 Nov 2018 11:59:00 GMT):
the message from fabric after added the logging line: `2018-11-02 19:33:38.843 CST [endorser] ProcessProposal -> DEBU 5e2d [registerch][0bdb6251] simulateProposal() - cd : , res : status:500 message:"Unknown chaincodeType: UNDEFINED" , simulationResult : [], ccevent : , err : `

bh4rtp (Fri, 02 Nov 2018 12:01:06 GMT):
i feel very happy to get this issue solved. thank you.

bh4rtp (Fri, 02 Nov 2018 16:36:53 GMT):
hi, now instantiate chaincode actually succeeds, but client wait timeout for event. ```[2018-11-03 00:30:54.261] [ERROR] instantiate-chaincode - REQUEST_TIMEOUT:localhost:7051 [2018-11-03 00:30:54.262] [ERROR] instantiate-chaincode - Error: ChannelEventHub has been shutdown``` i have changed timeout to be 300000. it still doesn't work. ```let event_timeout = setTimeout(() => { let message = 'REQUEST_TIMEOUT:' + eh.getPeerAddr(); logger.error(message); eh.disconnect(); }, 60000);```

bh4rtp (Fri, 02 Nov 2018 16:36:53 GMT):
hi, now instantiate chaincode actually succeeds, but client will wait timeout for event. ```[2018-11-03 00:30:54.261] [ERROR] instantiate-chaincode - REQUEST_TIMEOUT:localhost:7051 [2018-11-03 00:30:54.262] [ERROR] instantiate-chaincode - Error: ChannelEventHub has been shutdown``` i have changed timeout to be 300000. it still doesn't work. ```let event_timeout = setTimeout(() => { let message = 'REQUEST_TIMEOUT:' + eh.getPeerAddr(); logger.error(message); eh.disconnect(); }, 300000);```

ShobhitSrivastava (Mon, 05 Nov 2018 11:03:13 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=9pnWNkm2ZmipsmAng) @nhrishi hey!! Can you tell me, which SDK are you using? If java, where have you got its build library from?

nhrishi (Mon, 05 Nov 2018 11:53:38 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=uJXfzX8pDEHXRYnBa) @ShobhitSrivastava We are using nodejs SDK. But i have seen this error after we brought up the network before doing any invoke transactions.

ShobhitSrivastava (Mon, 05 Nov 2018 12:07:43 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7WZpHWQo3qtp4xTLu) @nhrishi oh okay. Thanks for confirmation!!

awes0menessInc (Tue, 06 Nov 2018 03:39:33 GMT):
Has joined the channel.

MohammadObaid (Tue, 06 Nov 2018 16:17:40 GMT):
Hey . I have a question . If a peer is non admin why can't they join channels despite fetching all blocks ? When I try to join block from non admin peer terminal I got 500 status code with error `peer is not admin identity `

toddinpal (Tue, 06 Nov 2018 17:04:21 GMT):
Has any thought been given to including the block height of the peer endorsing a transaction in the endorsement reply? My thinking is that with that information, a client could reasonably infer if a node is corrupt or not. If the client receives endorsements from multiple peers at the same block height and their RWsets differ, then either the chaincode is non-deterministic (which is already a disaster) or one or more of the peers has been corrupted.

gravity (Tue, 06 Nov 2018 17:12:56 GMT):
hello I'm running a network v1.3.0 and right after network start, I'm getting this warning: ``` peer9.test.com | 2018-11-06 17:11:07.895 UTC [gossip/gossip] handleMessage -> WARN 020 Message GossipMessage: tag:EMPTY alive_msg:p\006$\301<\265\363\333cuP\352\373>\310\261g\201$v\273\255\036\000" > timestamp: > , Envelope: 77 bytes, Signature: 70 bytes Secret payload: 23 bytes, Secret Signature: 70 bytes isn't valid ``` what does it mean?

yacovm (Tue, 06 Nov 2018 19:33:26 GMT):
@gravity as long as it doesn't show up more - ignore it

enriquebusti (Wed, 07 Nov 2018 12:01:41 GMT):
Has joined the channel.

antoniovassell (Thu, 08 Nov 2018 10:09:30 GMT):
Has joined the channel.

gravity (Fri, 09 Nov 2018 10:34:52 GMT):
Hi all I'm getting messages on peers when the network is running with TLS enabled: `2018/11/09 09:44:42 [DEBUG] Client TLS certificate and/or key file not provided` but I've provided TLS client certificates: ``` - CORE_PEER_TLS_CLIENTCERT_FILE=/data/tls/peer3.org1.com-client.crt - CORE_PEER_TLS_CLIENTKEY_FILE=/data/tls/peer3.org1.com-client.key ``` am I missing something?

aatkddny (Fri, 09 Nov 2018 16:29:37 GMT):
Repeat of the question I asked on october 29. I'm unable to move to 1.3.0 because of this issue. ``` I *think* this is the right venue for this question. If not pls point me elsewhere - this pertains to performing chaincode instantiation. Is it (now) normal to get different length proposal responses from different peers? Running 1.3.0 - have never seen this problem until an inadvertent upgrade from 1.2.0. 1.0 and 1.1 never exhibited this behavior either.```

aatkddny (Fri, 09 Nov 2018 16:29:37 GMT):
Repeat of the question I asked on october 29. I'm unable to move to 1.3.0 because of this issue, so if anyone else has seen it or has an answer for it that would be great... ``` I *think* this is the right venue for this question. If not pls point me elsewhere - this pertains to performing chaincode instantiation. Is it (now) normal to get different length proposal responses from different peers? Running 1.3.0 - have never seen this problem until an inadvertent upgrade from 1.2.0. 1.0 and 1.1 never exhibited this behavior either.```

yacovm (Fri, 09 Nov 2018 18:22:41 GMT):
what is the difference, @aatkddny ?

aatkddny (Fri, 09 Nov 2018 18:34:28 GMT):
@yacom - the length of the response differs between peers. one is 4 bytes longer than the other.

aatkddny (Fri, 09 Nov 2018 18:34:28 GMT):
@yacovm - the length of the response differs between peers. one is 4 bytes longer than the other.

aatkddny (Fri, 09 Nov 2018 18:34:28 GMT):
@yacovm - the length of the response differs between peers. one is 4 bytes longer than the other. There's a post in the fabric-sdk-java channel about it back i October.

aatkddny (Fri, 09 Nov 2018 18:34:28 GMT):
@yacovm - the length of the response differs between peers. one is 4 bytes longer than the other. There's a post I made in the fabric-sdk-java channel about it back on October 29.

yacovm (Fri, 09 Nov 2018 19:21:11 GMT):
ok but what is the difference....? @aatkddny

yacovm (Fri, 09 Nov 2018 19:21:16 GMT):
what field is different

aatkddny (Sun, 11 Nov 2018 23:33:20 GMT):
The instantiate proposal response differs between peer0 and peer1. The one from peer1 is a different length to the one from peer0. The java SDK does a consistency check - it expects them to be identical. When they differ it fails. This difference is new to 1.3 - or at least if it isn't I never saw it before. Hence my question. Is this a known or previously unseen thing? It happened to me

aatkddny (Sun, 11 Nov 2018 23:33:20 GMT):
The instantiate proposal response differs between peer0 and peer1 while I'm instantiating chaincode. The one from peer1 is a different length - longer by 4 bytes - than the one from peer0. The java SDK does a consistency check - it expects them to be identical. When they differ it fails. This difference is new to 1.3 - or at least if it isn't I never saw it before. Hence my question. Is this a known or previously unseen thing? It happened to me multiple times when I ran 1.3. It never occurred running 1.2.

aatkddny (Sun, 11 Nov 2018 23:33:20 GMT):
The instantiate proposal response differs between peer0 and peer1 while I'm instantiating chaincode on the first of a list of channels I need to shove a piece of cc into. The one from peer1 is a different length - longer by 4 bytes - than the one from peer0. The java SDK does a consistency check - it expects them to be identical. When they differ it fails. This difference is new to 1.3 - or at least if it isn't I never saw it before. Hence my question. Is this a known or previously unseen thing? It happened to me multiple times when I ran 1.3. It never occurred running 1.2.

yacovm (Sun, 11 Nov 2018 23:37:08 GMT):
@aatkddny I beg your pardon... instantiate proposal differs?

yacovm (Sun, 11 Nov 2018 23:37:20 GMT):
instantiate is always on a single node....

yacovm (Sun, 11 Nov 2018 23:38:34 GMT):
@aatkddny it seems to me perhaps 1 peer is in a different version than another?

aatkddny (Sun, 11 Nov 2018 23:56:05 GMT):
no they are both 1.3 - deployed in same kubernetes cluster at same time both using :latest, which resolved to 1.3

aatkddny (Sun, 11 Nov 2018 23:56:59 GMT):
I wish it was that simple. I redeployed the entire network from scratch 3 times thinking I'd messed something up.

aatkddny (Sun, 11 Nov 2018 23:56:59 GMT):
I wish it was that simple. I redeployed the entire network from scratch 3 times thinking I'd messed something up. When I went back to 1.2 it worked (and works) just fine

yacovm (Mon, 12 Nov 2018 11:12:01 GMT):
@aatkddny can you perhaps send me the files?

yacovm (Mon, 12 Nov 2018 11:12:18 GMT):
I'll investigate what is different (what field)

yacovm (Mon, 12 Nov 2018 11:12:24 GMT):
or you can do it yourself if you want....

yacovm (Mon, 12 Nov 2018 11:12:41 GMT):
(I can show you how)

aatkddny (Mon, 12 Nov 2018 15:55:35 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=c6AsrMnGEutiqyX4x) @yacovm You want the TP responses?

yacovm (Mon, 12 Nov 2018 16:00:27 GMT):
yeah

githubcpc (Tue, 13 Nov 2018 07:29:48 GMT):
I want to adding an org3 to an lanuched fabric-network based this tutorials: https://hyperledger-fabric.readthedocs.io/en/release-1.2/channel_update_tutorial.html but when I execute this command finally peer channel join -b mychannel.block it appears this error: Error: error getting endorser client for channel: endorser client failed to connect to peer0.org3.example.com:7051: failed to create new connection: context deadline exceeded

githubcpc (Tue, 13 Nov 2018 07:30:39 GMT):
so I want to ask why appears this question and how can I solve this problm?Thanks.

tballast (Tue, 13 Nov 2018 14:50:44 GMT):
Has joined the channel.

tballast (Tue, 13 Nov 2018 14:55:21 GMT):
For the past few days I have been trying to get a network running with several peers (ie. more than one) and I am struggling like crazy to overcome this error: ``` $ docker logs dev-peer0.org1.example.com-example_cc_go-1 [0s038] 2018-11-13 10:51:07.714 UTC [example_cc0] Info -> INFO 001 Calling into main of chaincode. 2018-11-13 10:51:10.715 UTC [shim] userChaincodeStreamGetter -> ERRO 002 context deadline exceeded error trying to connect to local peer github.com/hyperledger/fabric/core/chaincode/shim.userChaincodeStreamGetter /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:112 github.com/hyperledger/fabric/core/chaincode/shim.Start /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:151 main.main /chaincode/input/src/github.com/example_cc/example_cc.go:220 runtime.main /opt/go/src/runtime/proc.go:198 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 2018-11-13 10:51:10.715 UTC [example_cc0] Errorf -> ERRO 003 Error starting Simple chaincode: error trying to connect to local peer: context deadline exceeded ``` I cannot seem to find the root of this. I will upload whatever logs or documents are necessary. I experience the same issue if I start a cli container and attempt to create/join the channel and install/instantiate the chaincode manually, without any java client.

githubcpc (Wed, 14 Nov 2018 06:55:21 GMT):
I follow the demo from https://hyperledger-fabric.readthedocs.io/en/release-1.2/channel_update_tutorial.html but I get "Error: received bad response, status 500" when I execute the "peer channel join -b mychannel.block" .Before this step ,everything execute successfully. My orderer logs show that, 2018-11-14 02:23:13.043 UTC [orderer/consensus/kafka/sarama] RefreshMetadata -> DEBU 693 client/metadata fetching metadata for all topics from broker kafka2.example.com:9092 2018-11-14 02:24:16.866 UTC [grpc] Printf -> DEBU 694 grpc: Server.Serve failed to complete security handshake from "192.168.21.146:46804": remote error: tls: bad certificate However, I don't know how to solve this error ,"tls: bad certificate".Could anyone help me? Thanks.

githubcpc (Wed, 14 Nov 2018 07:07:43 GMT):
I want to add an org to my HLF v1.2.[root@chain11 e2e_cli]# ll crypto-config/ordererOrganizations/example.com/ca total 8 -rw-r--r-- 1 root root 818 Nov 14 01:20 ca.example.com-cert.pem -rw------- 1 root root 241 Nov 14 01:20 d45b9a220e81e53e8b69f5bf7d43543ef2fc0cbd29403405f7e98e11b750c387_sk

githubcpc (Wed, 14 Nov 2018 07:08:47 GMT):
I want to add an org to my HLF v1.2. [root@chain11 e2e_cli]# ll crypto-config/ordererOrganizations/example.com/ca -rw-r--r-- 1 root root 818 Nov 14 01:20 ca.example.com-cert.pem -rw------- 1 root root 241 Nov 14 01:20 d45b9a220e81e53e8b69f5bf7d43543ef2fc0cbd29403405f7e98e11b750c387_sk My New Peer ordererOrganizations TLS is the same to the old.

nainiubaba (Thu, 15 Nov 2018 09:03:29 GMT):
Has joined the channel.

ArianStef (Thu, 15 Nov 2018 16:03:56 GMT):

Clipboard - November 15, 2018 5:02 PM

ArianStef (Thu, 15 Nov 2018 16:05:30 GMT):

Clipboard - November 15, 2018 5:04 PM

ArianStef (Thu, 15 Nov 2018 16:05:57 GMT):

Clipboard - November 15, 2018 5:05 PM

ArianStef (Thu, 15 Nov 2018 16:07:10 GMT):
and the query response is empty. How can I do? Can I modify some timeout setup? Thank you very much and sorry for the messy question

h4995974 (Thu, 15 Nov 2018 22:09:09 GMT):
Has joined the channel.

h4995974 (Thu, 15 Nov 2018 22:09:11 GMT):
Hello everyone. We're receiving the following error when trying to spin up peers inside a kubernetes pods. `2018-11-15 21:52:25.172 UTC [gossip/gossip] handleMessage -> WARN 01f Message GossipMessage: tag:EMPTY alive_msg: timestamp: > , Envelope: 83 bytes, Signature: 70 bytes Secret payload: 16 bytes, Secret Signature: 71 bytes isn't valid` Any ideas?

yacovm (Thu, 15 Nov 2018 22:58:50 GMT):
@h4995974 do you receive it over and over again?

qizhang (Fri, 16 Nov 2018 02:12:55 GMT):
if I want to measure how long does it take to simulate and endorse a tx, shall I just measure how long does this `ProcessProposal` function run? https://github.com/hyperledger/fabric/blob/release-1.3/core/endorser/endorser.go#L402

chuda (Fri, 16 Nov 2018 05:12:09 GMT):
Has joined the channel.

akshay.sood (Fri, 16 Nov 2018 11:46:35 GMT):
Hi experts, I am facing issue in adding a new peer into existing organization. Issue description can be found here https://stackoverflow.com/questions/53325360/adding-new-peer-in-existing-organization-in-hyperledger-fabric-v1-3-causing-new

BellaAdams (Sat, 17 Nov 2018 00:46:09 GMT):
Has joined the channel.

huxiangdong (Tue, 20 Nov 2018 00:34:05 GMT):
Has joined the channel.

anjalinaik (Tue, 20 Nov 2018 11:28:40 GMT):
can anybody please guide me to resolve below error

anjalinaik (Tue, 20 Nov 2018 11:28:51 GMT):
``` `2018-11-08 09:52:25.082 UTC [shim] userChaincodeStreamGetter -> ERRO 001 context deadline exceeded error trying to connect to local peer github.com/hyperledger/fabric/core/chaincode/shim.userChaincodeStreamGetter /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:111 github.com/hyperledger/fabric/core/chaincode/shim.Start /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:150 main.main /chaincode/input/src/github.com/fabcar/fabcar.go:200 runtime.main /opt/go/src/runtime/proc.go:198 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 Error creating new Smart Contract: error trying to connect to local peer: context deadline exceeded` ```

muralisr (Fri, 23 Nov 2018 14:49:45 GMT):
@anjalinaik chaincode is unable to connect to the peer. You would need to look at various connection specific properties such as https://github.com/hyperledger/fabric/blob/master/sampleconfig/core.yaml#L26 and make sure the address chaincode is trying to connect to is reachable

tballast (Mon, 26 Nov 2018 09:24:14 GMT):
@anjalinaik make sure that all of your docker networks are also configured properly. For instance, make sure your network name (ie mynetworkname): ``` networks: mynetworkname: ``` matches the network mode for your peers: ` - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_mynetworkname`

giacomo.minighin (Tue, 27 Nov 2018 16:02:30 GMT):
Has joined the channel.

igor-egorov (Wed, 28 Nov 2018 15:35:08 GMT):
Has joined the channel.

AishwaryaKudalkar (Thu, 29 Nov 2018 05:56:12 GMT):
Has joined the channel.

huikang (Thu, 29 Nov 2018 14:51:30 GMT):
Hi, I have a question about concurrent requests being sent to an endorser. If two requests (for indepenent data sets) are being sent to the same endorser, how does the endorser handle them? Will the endorser create two chaincode containers or execute them sequentially on one chaincode container? Thanks.

muralisr (Thu, 29 Nov 2018 15:38:46 GMT):
@huikang there is one container per chaincode. All requests to a chaincode are sent to tha container

gravity (Thu, 29 Nov 2018 19:44:22 GMT):
Hi all I'm trying to call a chaincode with the transient parameter passed to call ``` peer chaincode invoke -C tmpchannel -n cc_example -c '{"Args": ["doStuff", ""]}' --transient '{"key": "someValue"}' ``` but getting the error: ``` Error: error parsing transient string: illegal base64 data at input byte 8 - proposal response: ``` Also, I've tried to to pass transient value as a string encoded to base64, but getting another error: ``` Error: error sending transaction for invoke: could not send: EOF - proposal response: version:1 response: payload:"\n \327(\207:\201\355d\372V\2255%\222\330\314\255\202\311~\006>\352\036*\035\353!\252\016\250\203\224\022\307\001\n\260\001\022}\n\006example_cc\032s\n\007apiKeys\022F\022D\n a\352A\023\365k\246\350\315\263\023\356\264\331S\276k\242\227\226a@F\305(\035^{F\212'e\032 \023\005HZq&\010\375\304\322\375\027\200\307)\031\362\365L\362\210RX\024\277\367\022\0077\366\335\255\032 \023\270 \225\226&\277\334\204T\n\035\360\312\270\315\211\224\276\243\1773\324\3512\244\357\034c\220\3074\022/\n\004lscc\022'\n\014\n\006example_cc\022\002\010\001\n\027\n\021example_cc~collection\022\002\010\001\032\003\010\310\001\"\r\022\006example_cc\032\0031.0" endorsement: ``` am I missing something?

Ryan2 (Mon, 03 Dec 2018 02:23:40 GMT):
Hi, I read over the document https://hyperledger-fabric.readthedocs.io/en/release-1.3/membership/membership.html `KeyStore for Private Key: This folder is defined for the local MSP of a peer or orderer node (or in an client’s local MSP), and contains the node’s signing key. This key matches cryptographically the node’s identity included in Node Identity folder and is used to sign data — for example to sign a transaction proposal response, as part of the endorsement phase. This folder is mandatory for local MSPs, and must contain exactly one private key. Obviously, access to this folder must be limited only to the identities of users who have administrative responsibility on the peer.` I tested by delete msp folder (crypto-config/peerOrganizations/org0/msp/) on local peer, then submit transaction, it succeeded. However, it seem transaction is not signed by local peer private key, but signed by peer certificate? Can someone explain?

Ryan2 (Mon, 03 Dec 2018 02:23:40 GMT):
Hi, I read over the document https://hyperledger-fabric.readthedocs.io/en/release-1.3/membership/membership.html `KeyStore for Private Key: This folder is defined for the local MSP of a peer or orderer node (or in an client’s local MSP), and contains the node’s signing key. This key matches cryptographically the node’s identity included in Node Identity folder and is used to sign data — for example to sign a transaction proposal response, as part of the endorsement phase. This folder is mandatory for local MSPs, and must contain exactly one private key. Obviously, access to this folder must be limited only to the identities of users who have administrative responsibility on the peer.` I tested by deleting msp folder (crypto-config/peerOrganizations/org0/msp/) on local peer, then submit transaction by application, it succeeded. it seem endorsement transaction response is not signed by local peer private key, Can someone explain?

giacomo.minighin (Mon, 03 Dec 2018 15:18:06 GMT):
Has left the channel.

arjitkhullar (Wed, 05 Dec 2018 00:04:03 GMT):
Has joined the channel.

anjalinaik (Wed, 05 Dec 2018 04:44:01 GMT):
Hi Experts,can anyone please guide me on, how do I need to modify the transaction proposal request in fabric-java-SDK so that it gets signed by both Org1 and Org2.[AND Endorsment policy]

asaningmaxchain123 (Wed, 05 Dec 2018 13:22:44 GMT):
@yacovm when i want to instantiate chaincode i got the following error

asaningmaxchain123 (Wed, 05 Dec 2018 13:22:44 GMT):
@yacovm @muralisr when i want to instantiate chaincode i got the following error

asaningmaxchain123 (Wed, 05 Dec 2018 13:22:46 GMT):
`failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction`

yacovm (Wed, 05 Dec 2018 13:29:03 GMT):
it might be because the chaincode instantiate timed out

yacovm (Wed, 05 Dec 2018 13:29:11 GMT):
for example if you instantiate a node.js chaincode

yacovm (Wed, 05 Dec 2018 13:29:19 GMT):
and it failed to download the binaries before the time expires

asaningmaxchain123 (Wed, 05 Dec 2018 13:29:47 GMT):
i use golang chaincode

yacovm (Wed, 05 Dec 2018 13:29:58 GMT):
so maybe it didn't compile at all

asaningmaxchain123 (Wed, 05 Dec 2018 13:30:07 GMT):
so how can i resolve it, by increment timeout

asaningmaxchain123 (Wed, 05 Dec 2018 13:30:07 GMT):
so how can i resolve it, by add timeout

asaningmaxchain123 (Wed, 05 Dec 2018 13:31:07 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=xKEXCQ4AC4DhywaT5) @yacovm however the chaincode has started

yacovm (Wed, 05 Dec 2018 13:37:06 GMT):
look at the logs of the peer/container

yacovm (Wed, 05 Dec 2018 13:37:12 GMT):
see if there are any clues

asaningmaxchain123 (Wed, 05 Dec 2018 13:37:36 GMT):

Clipboard - December 5, 2018 9:37 PM

asaningmaxchain123 (Wed, 05 Dec 2018 13:38:15 GMT):
just tell me it's fail

asaningmaxchain123 (Wed, 05 Dec 2018 13:38:15 GMT):
just tell me it's fail due to timeout

yacovm (Wed, 05 Dec 2018 13:41:02 GMT):
so you need to turn on some variable

yacovm (Wed, 05 Dec 2018 13:41:14 GMT):
https://github.com/hyperledger/fabric/blob/release-1.2/sampleconfig/core.yaml#L484

yacovm (Wed, 05 Dec 2018 13:41:40 GMT):
it's vm.attachstdout=true

yacovm (Wed, 05 Dec 2018 13:41:48 GMT):
it makes the peer print the output of the compilation to the log

yacovm (Wed, 05 Dec 2018 13:41:50 GMT):
and then try again

asaningmaxchain123 (Wed, 05 Dec 2018 13:42:26 GMT):
ok,i set the env var to try again

asaningmaxchain123 (Wed, 05 Dec 2018 13:47:32 GMT):

Clipboard - December 5, 2018 9:47 PM

asaningmaxchain123 (Wed, 05 Dec 2018 13:47:32 GMT):

Clipboard - December 5, 2018 9:47 PM

asaningmaxchain123 (Wed, 05 Dec 2018 13:48:00 GMT):

Clipboard - December 5, 2018 9:47 PM

asaningmaxchain123 (Wed, 05 Dec 2018 13:48:55 GMT):
it seem doesn't work

yacovm (Wed, 05 Dec 2018 13:49:52 GMT):
did you restart the peer?

asaningmaxchain123 (Wed, 05 Dec 2018 13:50:10 GMT):
yes

asaningmaxchain123 (Wed, 05 Dec 2018 13:50:46 GMT):

Clipboard - December 5, 2018 9:50 PM

yacovm (Wed, 05 Dec 2018 13:52:07 GMT):
what version are you using?

yacovm (Wed, 05 Dec 2018 13:52:09 GMT):
fabric version

asaningmaxchain123 (Wed, 05 Dec 2018 13:52:32 GMT):

Clipboard - December 5, 2018 9:52 PM

asaningmaxchain123 (Wed, 05 Dec 2018 13:52:38 GMT):
1.2.1

yacovm (Wed, 05 Dec 2018 13:52:45 GMT):
odd... it worked for me in the past

asaningmaxchain123 (Wed, 05 Dec 2018 13:53:56 GMT):
so,i shoule add the chaincode execute time

asaningmaxchain123 (Wed, 05 Dec 2018 13:54:08 GMT):
`const ( defaultExecutionTimeout = 30 * time.Second minimumStartupTimeout = 5 * time.Second )`

asaningmaxchain123 (Wed, 05 Dec 2018 13:54:08 GMT):
```const ( defaultExecutionTimeout = 30 * time.Second minimumStartupTimeout = 5 * time.Second )```

asaningmaxchain123 (Wed, 05 Dec 2018 13:55:03 GMT):
but the chaincode is running

asaningmaxchain123 (Wed, 05 Dec 2018 14:03:57 GMT):
@muralisr can you take a look?

asaningmaxchain123 (Wed, 05 Dec 2018 14:04:27 GMT):
i think the peer doesn't receive chaincode response

asaningmaxchain123 (Wed, 05 Dec 2018 14:55:27 GMT):
@yacovm i got the following info

asaningmaxchain123 (Wed, 05 Dec 2018 14:55:30 GMT):
`2018-12-05 14:53:03.673 UTC [shim] handlePutState -> ERRO 001 [ae0b4692]Received ERROR. Payload: PUT_STATE failed: transaction ID: ae0b46925db239fe8d39c276534e8e3356d48e0f16ea5c2ccbcfa8acc6bb6297: no ledger context 2018-12-05 14:53:03.673 UTC [shim] 2 -> ERRO 002 [[ae0b4692 ERROR]]Init get error response [%!s(MISSING)]. Sending %!s(MISSING)`

asaningmaxchain123 (Wed, 05 Dec 2018 14:55:30 GMT):
```2018-12-05 14:53:03.673 UTC [shim] handlePutState -> ERRO 001 [ae0b4692]Received ERROR. Payload: PUT_STATE failed: transaction ID: ae0b46925db239fe8d39c276534e8e3356d48e0f16ea5c2ccbcfa8acc6bb6297: no ledger context 2018-12-05 14:53:03.673 UTC [shim] 2 -> ERRO 002 [[ae0b4692 ERROR]]Init get error response [%!s(MISSING)]. Sending %!s(MISSING)```

asaningmaxchain123 (Wed, 05 Dec 2018 14:59:12 GMT):
@jyellick please take a look

asaningmaxchain123 (Wed, 05 Dec 2018 15:10:15 GMT):
@Muralidharan do you resolve the FAB-2767

jrosmith (Wed, 05 Dec 2018 20:27:05 GMT):
@anjalinaik are you asking about modifying the policy or constructing a proposal request that gets sent to both orgs?

gravity (Thu, 06 Dec 2018 15:46:40 GMT):
hi all are there any recommendations on how many peers(of each role: discovery, endorser, commiter) should be assigned to a channel? (if we speak about performance) or maybe these peers should be separated like, peer0, peer1, peer2 are assigned to a channel1, peer3, peer4, peer5 - to a channel2? is it a good practice for peers to be members of several channels with the same/different chaincodes installed? thanks in advance

ApurvTandon (Thu, 06 Dec 2018 16:34:25 GMT):
Has joined the channel.

muralisr (Thu, 06 Dec 2018 17:13:12 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=NYQphWBGuDkrijYCc

muralisr (Thu, 06 Dec 2018 17:18:44 GMT):
@asaningmaxchain123 I'm guessing 1. the original request timed out 2. the chaincode execution got aborted after the time out when it tried to do a PUT (the ledger context was taken away after the timeout) 3. bumping up CORE_LOGGING_LEVEL from info to debug in the docker-compose file might give you more info. 4. u might also want to consider bumping up the startup time out (given we see `lscc` in the stack this faiuklure might be during instantiation... possible longer time due to image creation or something)

tongli (Thu, 06 Dec 2018 19:53:19 GMT):
@muralisr got an error instantiate chaincode. here is the error.

tongli (Thu, 06 Dec 2018 19:53:41 GMT):
```chaincode instantiate: Policy str is OutOf (2, 'org1.member','org2.member','org3.member','org4.member', 'org5.member','org6.member','org7.member','org8.member') chaincode instantiate: ccPolicy is rule: rules: rules: rules: rules: rules: rules: rules: > > identities: identities: identities: identities: identities: identities: identities: identities: Error in iteration function 12: failed to get discovery service: could not get chConfig cache reference: QueryBlockConfig failed: target(s) required [fabsdk/util] 2018/12/06 19:29:29 UTC - lazyref.(*Reference).refreshValue -> WARN Error - initializer returned error: QueryBlockConfig failed: target(s) required. Will retry again later sdk initialized successfully! chaincode instantiate: Policy str is OutOf (2, 'org1.member','org2.member','org3.member','org4.member', 'org5.member','org6.member','org7.member','org8.member') chaincode instantiate: ccPolicy is rule: rules: rules: rules: rules: rules: rules: rules: > > identities: identities: identities: identities: identities: identities: identities: identities: Error in iteration function 13: failed to get discovery service: could not get chConfig cache reference: QueryBlockConfig failed: target(s) required Error: failed to get discovery service: could not get chConfig cache reference: QueryBlockConfig failed: target(s) required [fabsdk/util] 2018/12/06 19:29:32 UTC - lazyref.(*Reference).refreshValue -> WARN Error - initializer returned error: QueryBlockConfig failed: target(s) required. Will retry again later```

tongli (Thu, 06 Dec 2018 19:54:46 GMT):
how can i specify endorsement policy so that it won't ask for discovery service/

tongli (Thu, 06 Dec 2018 19:54:49 GMT):
?

tongli (Thu, 06 Dec 2018 19:54:59 GMT):
what I have now is this.

tongli (Thu, 06 Dec 2018 19:55:13 GMT):
```OutOf (2, 'org1.member','org2.member','org3.member','org4.member', 'org5.member','org6.member','org7.member','org8.member')```

tongli (Thu, 06 Dec 2018 19:55:36 GMT):
with that policy, it asks for discovery service.

tongli (Thu, 06 Dec 2018 19:55:41 GMT):
eventually failed.

tongli (Thu, 06 Dec 2018 20:15:53 GMT):
can any one help please ?

muralisr (Thu, 06 Dec 2018 21:29:23 GMT):
@tongli where do you see this error ? nodejs SDK ?

muralisr (Thu, 06 Dec 2018 21:31:50 GMT):
trying to understand `with that policy, it asks for discovery service.` ... are you saying there are other policies where you don't get that error ?

muralisr (Thu, 06 Dec 2018 21:32:20 GMT):
in any case if this error is seen in an SDK, suggest try the question - if u haven't done so already - there

tongli (Thu, 06 Dec 2018 21:52:12 GMT):
@muralisr sorry, i was in a meeting.

tongli (Thu, 06 Dec 2018 21:52:41 GMT):
here is what i am trying to do. i have installed chaincode, now try to instantiate the chaincode using a policy like this

tongli (Thu, 06 Dec 2018 21:52:53 GMT):
```OutOf (2, 'org1.member','org2.member','org3.member','org4.member', 'org5.member','org6.member','org7.member','org8.member')```

tongli (Thu, 06 Dec 2018 21:53:03 GMT):
The error happened during the chaincode instantiation

tongli (Thu, 06 Dec 2018 21:53:33 GMT):
it seems to me it is trying to use the discovery service to find peers. but it failed.

tongli (Thu, 06 Dec 2018 21:53:39 GMT):
we are uinsg gosdk.

tongli (Thu, 06 Dec 2018 21:53:42 GMT):
using

tongli (Thu, 06 Dec 2018 22:04:03 GMT):
Then I found a doc about doing something like this to specify the peers in each org.

tongli (Thu, 06 Dec 2018 22:04:07 GMT):
```Layouts: [ QuantitiesByGroup: { “Org1”: 1, “Org2”: 1, } ], EndorsersByGroups: { “Org1”: [peer0.org1, peer1.org1], “Org2”: [peer0.org2, peer1.org2] }```

tongli (Thu, 06 Dec 2018 22:04:36 GMT):
but I do not know how to word the EndorsersByGroups using the syntax above.

tongli (Thu, 06 Dec 2018 22:04:43 GMT):
any help will be very much appreciated.

ApurvTandon (Fri, 07 Dec 2018 02:58:31 GMT):
Hi can anyone tell me where on the peer/system are the transaction stored, so that i can see the kind of information they hold

pankajcheema (Fri, 07 Dec 2018 06:30:48 GMT):
Hi I am getting this error ```Error during CouchDB CreateDatabaseIfNotExist() for system dbName: _users error: json: cannot unmarshal string into Go struct field DBInfo.purge_seq of type int ```

pankajcheema (Fri, 07 Dec 2018 06:31:06 GMT):
in peer startup process any idea ?

pankajcheema (Fri, 07 Dec 2018 06:31:54 GMT):
these are the complete logs ```2018-12-07 06:12:35.191 UTC [couchdb] CreateSystemDatabasesIfNotExist -> ERRO 005 Error during CouchDB CreateDatabaseIfNotExist() for system dbName: _users error: json: cannot unmarshal string into Go struct field DBInfo.purge_seq of type int 2018-12-07 06:12:35.191 UTC [couchdb] VerifyCouchConfig -> ERRO 006 Unable to connect to CouchDB, error: json: cannot unmarshal string into Go struct field DBInfo.purge_seq of type int Check the admin username and password. panic: Error in instantiating ledger provider: Unable to connect to CouchDB, error: json: cannot unmarshal string into Go struct field DBInfo.purge_seq of type int Check the admin username and password. ```

pankajcheema (Fri, 07 Dec 2018 06:32:37 GMT):
This error is coming only AWS cloud .not on any other machine

pankajcheema (Fri, 07 Dec 2018 06:34:01 GMT):
I am providing right username and password for couchdb .I verified multiple time

pankajcheema (Fri, 07 Dec 2018 09:19:58 GMT):
https://stackoverflow.com/questions/53666330/hyperledger-fabric-native-peer-binary-not-able-to-communicate-with-couchdb

asaningmaxchain123 (Fri, 07 Dec 2018 11:09:41 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7L76otPQxH2LDjraE) @muralisr i will try it

krabradosty (Fri, 07 Dec 2018 12:58:19 GMT):
Hello. I have a strange issue with peers. Sometimes one of channels on one of the peers just like "freeze" and do not respond. The behavior that I noticed: 1. When I send new transaction to orderer, a new block is not committed to the "frozen" channel on the "problem" peer. 2. On "good" peers I see that new blocks are committed. 3. I can't get channel info from "problem" peer container (`peer channel getinfo -c fronzen_channel`). I see just: ``` 2018-12-07 11:30:37.169 UTC [msp] getMspConfig -> INFO 001 Loading NodeOUs 2018-12-07 11:30:37.192 UTC [channelCmd] InitCmdFactory -> INFO 002 Endorser and orderer connections initialized ``` In peer logs I this: hastebin.com/educifufef.md Other channels on "problem" peer respond to this command. 4. There are no other error logs for "problem" peer

krabradosty (Fri, 07 Dec 2018 12:58:19 GMT):
Hello. I have a strange issue with peers. Sometimes one of channels on one of the peers just like "freeze" and do not respond. The behavior that I noticed: 1. When I send new transaction to orderer, a new block is not committed to the "frozen" channel on the "problem" peer. 2. On "good" peers I see that new blocks are committed. 3. I can't get channel info from "problem" peer container (`peer channel getinfo -c fronzen_channel`). I see just: ``` 2018-12-07 11:30:37.169 UTC [msp] getMspConfig -> INFO 001 Loading NodeOUs 2018-12-07 11:30:37.192 UTC [channelCmd] InitCmdFactory -> INFO 002 Endorser and orderer connections initialized ``` In peer logs I this: hastebin.com/educifufef.md Other channels on "problem" peer respond to this command. 4. There are no other error logs for "problem" peer

krabradosty (Fri, 07 Dec 2018 12:58:19 GMT):
Hello. I have a strange issue with peers. Sometimes one of channels on one of the peers just like "freeze" and do not respond. The behavior that I noticed: 1. When I send new transaction to orderer, a new block is not committed to the "frozen" channel on the "problem" peer. 2. On "good" peers I see that new blocks are committed. 3. I can't get channel info from "problem" peer container (`peer channel getinfo -c fronzen_channel`). I see just: ``` 2018-12-07 11:30:37.169 UTC [msp] getMspConfig -> INFO 001 Loading NodeOUs 2018-12-07 11:30:37.192 UTC [channelCmd] InitCmdFactory -> INFO 002 Endorser and orderer connections initialized ``` In peer logs I this: hastebin.com/educifufef.md Other channels on "problem" peer respond to this command. 4. There are no other error logs for "problem" peer 5. ChannelEventHub can't connect to this channel 6. Only a restart of the peer can help

krabradosty (Fri, 07 Dec 2018 12:58:19 GMT):
Hello. I have a strange issue with peers. Sometimes one of channels on one of the peers just like "freeze" and do not respond. The behavior that I noticed: 1. When I send new transaction to orderer, a new block is not committed to the "frozen" channel on the "problem" peer. 2. On "good" peers I see that new blocks are committed. 3. I can't get channel info from "problem" peer container (`peer channel getinfo -c fronzen_channel`). I see just: ``` 2018-12-07 11:30:37.169 UTC [msp] getMspConfig -> INFO 001 Loading NodeOUs 2018-12-07 11:30:37.192 UTC [channelCmd] InitCmdFactory -> INFO 002 Endorser and orderer connections initialized ``` In peer logs I this: hastebin.com/educifufef.md Other channels on "problem" peer respond to this command. 4. There are no other error logs for "problem" peer 5. ChannelEventHub can't connect to this channel via "problem" peer 6. Only a restart of the peer can help

krabradosty (Fri, 07 Dec 2018 12:58:19 GMT):
Hello. I have a strange issue with peers (v 1.3.0). Sometimes one of channels on one of the peers just like "freeze" and do not respond. The behavior that I noticed: 1. When I send new transaction to orderer, a new block is not committed to the "frozen" channel on the "problem" peer. 2. On "good" peers I see that new blocks are committed. 3. I can't get channel info from "problem" peer container (`peer channel getinfo -c fronzen_channel`). I see just: ``` 2018-12-07 11:30:37.169 UTC [msp] getMspConfig -> INFO 001 Loading NodeOUs 2018-12-07 11:30:37.192 UTC [channelCmd] InitCmdFactory -> INFO 002 Endorser and orderer connections initialized ``` In peer logs I this: hastebin.com/educifufef.md Other channels on "problem" peer respond to this command. 4. There are no other error logs for "problem" peer 5. ChannelEventHub can't connect to this channel via "problem" peer 6. Only a restart of the peer can help

muralisr (Fri, 07 Dec 2018 13:57:38 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=EdBJnYq42cgxgTwCg

muralisr (Fri, 07 Dec 2018 13:59:44 GMT):
https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=5JAp7pFGmaxHyyuq2 @tongli did you try in the #fabric-sdk-go channel ? They are quite responsive..

dave.enyeart (Fri, 07 Dec 2018 23:12:42 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=jYPnsyz8z3kBjJtTN) @pankajcheema @chris.elder Any ideas on this error? See above for the full error...

ApurvTandon (Sat, 08 Dec 2018 06:02:59 GMT):
@tongli Hi can you tell me where on the peer/system are the transaction stored, so that i can see the kind of information they hold

pankajcheema (Sat, 08 Dec 2018 09:01:45 GMT):
@dave.enyeart I found the issue

pankajcheema (Sat, 08 Dec 2018 09:02:09 GMT):
issue is with couchdb 2.3

pankajcheema (Sat, 08 Dec 2018 09:04:43 GMT):
couchdb has changed the data type in response for `CreateDBIfExist` check

pankajcheema (Sat, 08 Dec 2018 09:04:43 GMT):
couchdb has changed the data type in response for `CreateDatabaseIfNotExist()` check

pankajcheema (Sat, 08 Dec 2018 09:05:04 GMT):
in couchdb version 2.3

tkg (Sun, 09 Dec 2018 14:13:30 GMT):
Has joined the channel.

javapriyan (Sun, 09 Dec 2018 17:12:47 GMT):
Has joined the channel.

anjalinaik (Mon, 10 Dec 2018 09:48:33 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=YmFYuszdMzP6m8WwG) @jrosmith hi..i am asking about constructing a proposal request..changing policy is done with the help of chaincodeendorsement.yaml file right? the user context should contain both the orgs identity signatures for "AND" policy, so i am asking, how do we create such a proposal request.

anjalinaik (Mon, 10 Dec 2018 09:56:23 GMT):
Hi experts.can anyone please help me solve the this error: `Error handling message: event message validation failed for 10.255.0.3:33388: failed deserializing event creator: expected MSP ID legal, received org1 `

anjalinaik (Mon, 10 Dec 2018 09:56:23 GMT):
Hi experts.can anyone please help me solve the this error: ```` ``` Error handling message: event message validation failed for 10.255.0.3:33388: failed deserializing event creator: expected MSP ID legal, received org1 `

anjalinaik (Mon, 10 Dec 2018 09:56:23 GMT):
Hi experts.can anyone please help me solve the this error: `Error handling message: event message validation failed for 10.255.0.3:33388: failed deserializing event creator: expected MSP ID legal, received org1`

anjalinaik (Mon, 10 Dec 2018 09:56:23 GMT):
Hi experts. can anyone please help me solve this error: `Error handling message: event message validation failed for 10.255.0.3:33388: failed deserializing event creator: expected MSP ID legal, received org1`

suryalanka (Mon, 10 Dec 2018 15:37:41 GMT):
@yacovm Hi. I am trying to use service discovery and found discovery related parameters in sampleconfig/core.yaml file ``` discovery: enabled: true # Whether the authentication cache is enabled or not. authCacheEnabled: true # The maximum size of the cache, after which a purge takes place authCacheMaxSize: 1000 # The proportion (0 to 1) of entries that remain in the cache after the cache is purged due to overpopulation authCachePurgeRetentionRatio: 0.75 # Whether to allow non-admins to perform non channel scoped queries. # When this is false, it means that only peer admins can perform non channel scoped queries. orgMembersAllowedAccess: false ```

suryalanka (Mon, 10 Dec 2018 15:42:08 GMT):
@yacovm Hi. I am trying to use service discovery and found discovery related parameters in sampleconfig/core.yaml file ``` discovery: enabled: true # Whether the authentication cache is enabled or not. authCacheEnabled: true # The maximum size of the cache, after which a purge takes place authCacheMaxSize: 1000 # The proportion (0 to 1) of entries that remain in the cache after the cache is purged due to overpopulation authCachePurgeRetentionRatio: 0.75 # Whether to allow non-admins to perform non channel scoped queries. # When this is false, it means that only peer admins can perform non channel scoped queries. orgMembersAllowedAccess: false ``` If I dont define these parameters in core.yaml, does discovery enabled default to true?

yacovm (Mon, 10 Dec 2018 15:44:50 GMT):
yes

scottz (Mon, 10 Dec 2018 16:02:24 GMT):
Does the nodesdk request the first layout automatically when cc instantiation happens? That seems to be true. We do not see a need to send additional service discovery requests for new layouts if the nodes in our test network do not change. Just restarting the nodes would simply use the service discovery to use whatever peers are available.

yacovm (Mon, 10 Dec 2018 16:05:26 GMT):
> Does the nodesdk request the first layout automatically when cc instantiation happens? I don't know... > We do not see a need to send additional service discovery requests for new layouts if the nodes in our test network do not change. It depends on what you want to test, but - if you change the endorsement policy then you might need to do a re-query. > Just restarting the nodes would simply use the service discovery to use whatever peers are available. This is a decision that is yours to make

rickr (Mon, 10 Dec 2018 21:05:21 GMT):
https://gerrit.hyperledger.org/r/#/c/26609/ like to see this running locally. Have some questions .. What if any capabilities are needed to enable this new lifecycle in my confitx.yaml ? Example please ! Any idea how soon it will be rebased ? I'm guessing even without the rebasing it should support the new lifecycle deployment. @jyellick @wlahti

rickr (Mon, 10 Dec 2018 21:05:21 GMT):
https://gerrit.hyperledger.org/r/#/c/26609/ like to see this running locally. Have some questions .. What if any capabilities are needed to enable this new lifecycle in my confitx.yaml ? Example please ! Any idea how soon the stack will be rebased ? I'm guessing even without the rebasing it should support the new lifecycle deployment. @jyellick @wlahti

wlahti (Tue, 11 Dec 2018 15:08:49 GMT):
@rickr +lifecycle will be enabled/disabled via core.yaml using `chaincode.system.+lifecycle: enable`. FYI, just noticed that the configuration parameter was left around from when development started even though the server code was pulled from v1.3 and v1.4.

rickr (Tue, 11 Dec 2018 17:01:40 GMT):
@wlahti Thx seems I already had that there as you indicated. I would have thought this enablement would be in the configtx.yaml Should this work if I've not regenerated the channel config block and peer join transaction since v1.3 release ?

rickr (Tue, 11 Dec 2018 17:04:56 GMT):
is enabled the default ?

rickr (Tue, 11 Dec 2018 17:07:04 GMT):
Would this be the equivalent in a docker compose ? CORE_PEER_CHAINCODE_SYSTEM_+LIFECYCLE_ENABLE=true

anjalinaik (Wed, 12 Dec 2018 04:04:58 GMT):
what parameter defines the number of peers in an organization?

SuperSeiyan (Wed, 12 Dec 2018 04:50:22 GMT):
Has joined the channel.

NeerajKumar (Wed, 12 Dec 2018 05:56:44 GMT):
Hi Experts, I have been using hyperledger fabric with nodejs SDK from past many months now and i haven't faced any big issues but from last week some containers of my network infrastructure kept shutting down which some how i recovered but but i am not able to start the chaincode containers which were automatically generated after installing and instantiating the chaincode. it keep on shuttiing down. and now it says "x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "serial:71333524560576167915191865139975345404" in every containers log can some body please explain why when ever i run docker restart dev-peer1.org2.example.com-bel_adhaar-v1 command containers exites immediately after trying to restart with the above error

anjalinaik (Wed, 12 Dec 2018 08:07:47 GMT):
If there is an AND endorsment policy for a 2 org[2 peer/org] , and if one of the peer couchdb is compromised, will the blockchain allow any further transactions?

FlorianStoica (Wed, 12 Dec 2018 16:41:18 GMT):
Has joined the channel.

dave.enyeart (Thu, 13 Dec 2018 05:03:22 GMT):
@anjalinaik Your endorsement policy of two or more peers will protect the network from a compromised state database... see details in this post: https://lists.hyperledger.org/g/fabric/message/4896

dave.enyeart (Thu, 13 Dec 2018 05:05:33 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=x9R4btzvGphqHcRNH) @rickr @jyellick @wlahti I don't think environment variables can have plus sign, right?

rickr (Thu, 13 Dec 2018 13:46:35 GMT):
yup -- That's what I figured so why I asked how that would translate .. also what's the default ... @wlahti ??

wlahti (Thu, 13 Dec 2018 13:49:39 GMT):
I imagine the default will be disabled. As mentioned, the +lifecycle code is not enabled now. There hasn't been any work on this in a number of months so I'll need to re-familiarize myself with the details and also check with @jyellick on the plan going forward.

wlahti (Thu, 13 Dec 2018 13:49:39 GMT):
I imagine the default will be disabled. The current plan, as I understand it, is to support both +lifecycle as well as the old lifecycle for a period of time before removing the old lifecycle. As mentioned, the +lifecycle code has either been removed from the codebase or has been explicitly disabled for now. There hasn't been any work on this in a number of months so I'll need to re-familiarize myself with the details and also check with @jyellick on the plan going forward.

wlahti (Thu, 13 Dec 2018 13:49:39 GMT):
@rickr I imagine the default will be disabled. The current plan, as I understand it, is to support both +lifecycle as well as the old lifecycle for a period of time before removing the old lifecycle. As mentioned, the +lifecycle code has either been removed from the codebase or has been explicitly disabled for now. There hasn't been any work on this in a number of months so I'll need to re-familiarize myself with the details and also check with @jyellick on the plan going forward.

wlahti (Thu, 13 Dec 2018 13:49:39 GMT):
@rickr I imagine the default will be disabled but don't quote me on that. @jyellick, thoughts? The current plan, as I understand it, is to support both +lifecycle as well as the old lifecycle for a period of time before removing the old lifecycle. As mentioned, the +lifecycle code has either been removed from the codebase or has been explicitly disabled for now. There hasn't been any work on this in a number of months so I'll need to re-familiarize myself with the details and also check with @jyellick on the plan going forward.

rickr (Thu, 13 Dec 2018 14:47:48 GMT):
Oh -- am I reading this wrong ... I was understanding _+lifecycle_ was the *new* lifecycle ? BTW IMO + in a setting name variable is not ideal

wlahti (Thu, 13 Dec 2018 15:55:48 GMT):
Correct, +lifecycle is the current name of the new lifecycle.

wlahti (Thu, 13 Dec 2018 15:55:48 GMT):
Correct, +lifecycle is how we'll continue to refer to the new lifecycle. However, the setting name isn't set in stone.

nickgaski (Thu, 13 Dec 2018 16:41:27 GMT):
hey guys, grown a little rusty on my Fabric knowledge so here's an elementary question. If I instantiate a cc with an `AND` endorsement policy, wouldn't the proposal need to target all of the relevant peers specified in the policy. And wouldn't this result in a container starting for each of the targeted peers? Or is `invoke` the only time when the call needs to go to all of the peers in the EP?

nickgaski (Thu, 13 Dec 2018 16:45:06 GMT):
The origin of the question is from when I ran through BYFN for the first time in six months or so yesterday. I did all the manual steps and everything worked until invoke, because the endorsement policy is `"AND ('Org1MSP.peer','Org2MSP.peer')"` and the documentation doesn't explicitly tell you to install the cc on the second org's peer. Makes sense that invoke doesn't work until the cc is installed, but it appears that instantiate still works without the cc installed.

nickgaski (Thu, 13 Dec 2018 16:46:02 GMT):
I was under the impression that instantiate operated like a normal transaction and that the enumerated endorsement policy would still need to be fulfilled on that operation

wlahti (Thu, 13 Dec 2018 17:06:07 GMT):
@nickgaski I haven't looked into it much lately so my knowledge may be outdated on this but I'd guess it's because in Fabric there's an instantiation policy in addition to an endorsement policy. So the instantiation policy could be set to something different from the endorsement policy (or likely not set at all, and I can't remember what the default is), which would allow instantiation to complete successful while invokes would fail.

wlahti (Thu, 13 Dec 2018 17:06:07 GMT):
@nickgaski I haven't looked into it much lately so my knowledge may be outdated on this but I'd guess it's because in Fabric there's an instantiation policy in addition to an endorsement policy. So the instantiation policy could be set to something different from the endorsement policy (or likely not set at all, and I can't remember what the default is), which would allow instantiation to complete successfully while invokes would fail.

nickgaski (Thu, 13 Dec 2018 18:49:25 GMT):
aha, thanks Will. I need to do a deep dive on the new features. That makes sense though

JaccobSmith (Fri, 14 Dec 2018 01:43:08 GMT):
Has joined the channel.

JaccobSmith (Fri, 14 Dec 2018 01:43:44 GMT):
Hello,all How could I use the Prometheus with Peer

anjalinaik (Fri, 14 Dec 2018 06:04:10 GMT):
Hi everyone.. i want to reset my network, so i deleted all the volumes,images created by chaincode container, crypto-config files ,pruned the network. Still my new network throws MSP not found error for the previous configuration. May i please know what am i missing here?

anjalinaik (Fri, 14 Dec 2018 06:04:10 GMT):
Hi everyone.. i want to reset my network, so i deleted all the volumes,images created by chaincode container, crypto-config files ,pruned the network. Still my new network throws MSP not found error for the previous configuration. May i please know what am i missing here?``` 2018-12-14 06:17:53.722 UTC [cauthdsl] deduplicate -> ERRO 54a Principal deserialization failure (the supplied identity is not valid: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "ca.org1.org1.com")) ``` my new network doesn't even define org1

JaccobSmith (Mon, 17 Dec 2018 03:26:37 GMT):
Hello,all,Dose the results returned by function “GetHistoryForKey” include the current state ?

Thomas-tuo (Mon, 17 Dec 2018 06:53:25 GMT):
Has joined the channel.

gordon1987 (Mon, 17 Dec 2018 08:39:52 GMT):
Has joined the channel.

rickr (Mon, 17 Dec 2018 16:01:35 GMT):
Back to the new +lifecycle ... tar -tvf ../simplecc.tar.gz ---------- 0/0 89 1969-12-31 19:00 Chaincode-Package-Metadata.json ---------- 0/0 2193215 1969-12-31 19:00 GOLANG-Code-Package.tar.gz ``` was it really by design that files were to have no permision at all it the package ? ``` GOLANG-Code-Package.tar.gz ``` why the need for language type in the file name for the package ? It's in the `Chaincode-Package-Metadata.json ? @wlahti @jyellick ^^^^ ```

rickr (Mon, 17 Dec 2018 16:01:35 GMT):
Back to the new +lifecycle ... tar -tvf ../simplecc.tar.gz ---------- 0/0 89 1969-12-31 19:00 Chaincode-Package-Metadata.json ---------- 0/0 2193215 1969-12-31 19:00 GOLANG-Code-Package.tar.gz ``` was it really by design that files were to have no permision at all it the package ? ``` GOLANG-Code-Package.tar.gz ``` why the need for language type in the file name for the package ? It's in the `Chaincode-Package-Metadata.json ? ```

rickr (Mon, 17 Dec 2018 16:01:35 GMT):
Back to the new +lifecycle ... tar -tvf ../simplecc.tar.gz ---------- 0/0 89 1969-12-31 19:00 Chaincode-Package-Metadata.json ---------- 0/0 2193215 1969-12-31 19:00 GOLANG-Code-Package.tar.gz ``` Was it really by design that files were to have no permissions at all in the package ? ``` GOLANG-Code-Package.tar.gz ``` why the need for language type in the file name for the package ? It's in the `Chaincode-Package-Metadata.json ? ```

rickr (Mon, 17 Dec 2018 16:02:11 GMT):
@wlahti @jyellick ^^^^

wlahti (Mon, 17 Dec 2018 16:15:36 GMT):
I'll have to look into the permissions aspect. As for the naming of the chaincode package, I believe we just did that for easy human readability.

rickr (Mon, 17 Dec 2018 16:18:12 GMT):
Means we'll need to do that for each different language .. just having it as some package name for all languages would be easier for tooling find the actually code package .. the language is in the meta data already.

wlahti (Mon, 17 Dec 2018 16:19:20 GMT):
I see. We'll take that into consideration as we rebase/refactor.

wlahti (Mon, 17 Dec 2018 16:20:04 GMT):
Jason plans to push a rebased series of CRs for +lifecycle soon and I'll look into that when I rework the packaging CRs on top of that.

rickr (Mon, 17 Dec 2018 16:26:11 GMT):
thx

wlahti (Mon, 17 Dec 2018 18:52:59 GMT):
The pattern `-Code-Package.tar.gz` is simply how the peer CLI names the code package file within the chaincode package. There is no name requirement on the server side when installing a chaincode package. We can certainly update the CLI to remove the language from the package name.

wlahti (Mon, 17 Dec 2018 18:52:59 GMT):
The pattern `-Code-Package.tar.gz` is simply how the peer CLI names the code package file within the chaincode package. There is no name requirement on the server side when installing a chaincode package. We can certainly update the CLI to remove the language from the package name. The only (current) requirements for the chaincode package are that it's 1) a tar.gz 2) it contains only two files: Chaincode-Package-Metadata.json and a tar.gz with the "code package"

wlahti (Mon, 17 Dec 2018 18:52:59 GMT):
The pattern `-Code-Package.tar.gz` is simply how the peer CLI names the code package file within the chaincode package. There is no name requirement on the server side when installing a chaincode package. We can certainly update the CLI to remove the language from the package name since it's being used a reference for the SDKs. The only (current) requirements for the chaincode package are that it's 1) a tar.gz 2) it contains only two files: Chaincode-Package-Metadata.json and a tar.gz with the "code package"

wlahti (Mon, 17 Dec 2018 18:52:59 GMT):
The pattern `-Code-Package.tar.gz` is simply how the peer CLI names the code package file within the chaincode package. There is no name requirement on the server side when installing a chaincode package. We can certainly update the CLI to remove the language from the package name since it's being used as a reference for the SDKs. The only (current) requirements for the chaincode package are that it's 1) a tar.gz 2) it contains only two files: Chaincode-Package-Metadata.json and a tar.gz with the "code package"

MikeEmery (Mon, 17 Dec 2018 23:36:33 GMT):
Trying to debug an lscc invoke timeout: ```2018-12-17 23:33:17.096 UTC [endorser] SimulateProposal -> ERRO 1f99 [][71f722f8] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction ... error sending failed to execute transaction 71f722f8be014543e6ec58d5f7b7fa2b8bf89013efa8d5296aaf1f28c869fe2a``` I'm seeing this across the board while attempting to install any chaincode, regardless of peer or channel ex: `peer chaincode install -n hashcc -v 2.0 -p /content/admin/cc-staging/hashcc --lang node`

MikeEmery (Mon, 17 Dec 2018 23:37:06 GMT):
existing chaincodes continue to run and function normally

yacovm (Mon, 17 Dec 2018 23:37:13 GMT):
put this https://github.com/hyperledger/fabric/blob/master/sampleconfig/core.yaml#L420 to `true`

yacovm (Mon, 17 Dec 2018 23:37:16 GMT):
and try again... @MikeEmery

yacovm (Mon, 17 Dec 2018 23:37:45 GMT):
oh, this is during install?

yacovm (Mon, 17 Dec 2018 23:37:48 GMT):
not instantiate?

yacovm (Mon, 17 Dec 2018 23:37:51 GMT):
are you sure?

MikeEmery (Mon, 17 Dec 2018 23:37:56 GMT):
correct, install

yacovm (Mon, 17 Dec 2018 23:38:15 GMT):
what is the error?

MikeEmery (Mon, 17 Dec 2018 23:38:49 GMT):
full log looks like: ```2018-12-17 23:32:47.096 UTC [endorser] callChaincode -> INFO 1f97 [][71f722f8] Entry chaincode: name:"lscc" 2018-12-17 23:33:17.096 UTC [endorser] callChaincode -> INFO 1f98 [][71f722f8] Exit chaincode: name:"lscc" (30000ms) 2018-12-17 23:33:17.096 UTC [endorser] SimulateProposal -> ERRO 1f99 [][71f722f8] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:1225 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:312 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:301 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:238 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:147 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:142 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:237 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:456 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:32 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler.func1 /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:169 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:31 github.com/hyperledger/fabric/common/grpclogging.UnaryServerInterceptor.func1 /opt/gopath/src/github.com/hyperledger/fabric/common/grpclogging/server.go:91 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34 github.com/hyperledger/fabric/common/grpcmetrics.UnaryServerInterceptor.func1 /opt/gopath/src/github.com/hyperledger/fabric/common/grpcmetrics/interceptor.go:30 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:39 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:171 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:982 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1208 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 ```

MikeEmery (Mon, 17 Dec 2018 23:38:56 GMT):
```error sending failed to execute transaction 71f722f8be014543e6ec58d5f7b7fa2b8bf89013efa8d5296aaf1f28c869fe2a github.com/hyperledger/fabric/core/chaincode.processChaincodeExecutionResult /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:244 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:147 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:142 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:237 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:456 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:32 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler.func1 /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:169 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:31 github.com/hyperledger/fabric/common/grpclogging.UnaryServerInterceptor.func1 /opt/gopath/src/github.com/hyperledger/fabric/common/grpclogging/server.go:91 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34 github.com/hyperledger/fabric/common/grpcmetrics.UnaryServerInterceptor.func1 /opt/gopath/src/github.com/hyperledger/fabric/common/grpcmetrics/interceptor.go:30 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:39 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:171 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:982 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1208 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333```

yacovm (Mon, 17 Dec 2018 23:39:47 GMT):
doesn't ring a bell, sorry

MikeEmery (Mon, 17 Dec 2018 23:42:25 GMT):
it feels like it doesn't even really get started. I can point this as already instantiated chaincodes (expecting an error) but those time out also

MikeEmery (Mon, 17 Dec 2018 23:42:25 GMT):
it feels like it doesn't even really get started. I can point this at already instantiated chaincodes (expecting an error) but those time out also

yacovm (Mon, 17 Dec 2018 23:43:01 GMT):
try to install a golang chaincode @MikeEmery

yacovm (Mon, 17 Dec 2018 23:43:03 GMT):
and tell if that works

MikeEmery (Mon, 17 Dec 2018 23:47:20 GMT):
:thumbsup: will try shortly

MikeEmery (Tue, 18 Dec 2018 01:14:01 GMT):
no joy with golang cc, however deleting all of the peer files and letting it catch back up from the orderer appears to be working (still catching up, however lscc calls on the hashcc example immediately return now)

MikeEmery (Tue, 18 Dec 2018 01:14:01 GMT):
no joy with golang cc, however deleting all of the peer files and letting it catch back up from the orderer/other peers appears to be working (still catching up, however lscc calls on the hashcc example immediately return now)

rickr (Tue, 18 Dec 2018 17:56:19 GMT):
In the `Chaincode-Package-Metadata.json` does `Path` need to be present for languages other than GOLANG ?

rickr (Tue, 18 Dec 2018 18:02:21 GMT):
Also the type will be Type will be the same as ChaincodeSpec proto but all lower case; however, the code payload filename is ChaincodeSpec all upper case with suffix '-Code-Package.tar.gz' ?

rickr (Tue, 18 Dec 2018 18:02:21 GMT):
Also Type will be the same as ChaincodeSpec proto but all lower case; however, the code payload filename is ChaincodeSpec Type all upper case with suffix '-Code-Package.tar.gz' ?

rickr (Tue, 18 Dec 2018 18:02:41 GMT):
@wlahti @jyellick ^^^

MikeEmery (Tue, 18 Dec 2018 18:12:13 GMT):
Running peers on version v1.4.0-rc1 it appears that only the anchor peer is sending events back to the java SDK? is this a configuration setting or a change or am I way off base here?

wlahti (Tue, 18 Dec 2018 18:15:01 GMT):
@rickr As mentioned before, the naming of the code package tar.gz does not matter, and I can update the peer CLI to simply package it without the chaincode type in the file.

wlahti (Tue, 18 Dec 2018 18:15:01 GMT):
@rickr As mentioned before, the naming of the code package tar.gz does not matter, and I can update the peer CLI to simply package it without the chaincode type in the file name.

wlahti (Tue, 18 Dec 2018 18:15:01 GMT):
@rickr As mentioned before, the naming of the code package tar.gz does not matter, and I can update the peer CLI to simply package it without the chaincode type in the file name. Let me look into the specifics for your path question.

wlahti (Tue, 18 Dec 2018 18:15:01 GMT):
@rickr As mentioned before, the naming of the code package tar.gz does not matter, and I can update the peer CLI to simply package it without the chaincode type in the file name. Let me look into the specifics for your path question. I know it's required at the moment, just not familiar with what it should be set to for other languages.

wlahti (Tue, 18 Dec 2018 18:25:36 GMT):
Let me look into the specifics for your path question.

rickr (Tue, 18 Dec 2018 18:56:13 GMT):
Maybe I misunderstood ... so basically anything other than the Chaincode-Package-Metadata.json file is considered to be the codepackage payload ?

wlahti (Tue, 18 Dec 2018 19:01:27 GMT):
Correct, and if it is not a code package payload, the server will return an error.

wlahti (Tue, 18 Dec 2018 19:26:27 GMT):
Regarding the path, on the server side, it needs to be there for each language other than CAR.

chuda (Thu, 20 Dec 2018 13:07:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=AL4Ah9TMe6Cw4PJpv) @wlahti hi can u help here,,details are...in fabcar example i have inserted 20 cars ..iam retriving using query.js ,function queryall cars here calling query allcarsbyrange(startkey,endkey), iam passing these values explicitly,,when i have given startkey as 1 and endkey as 16 ..output is like this this..car1,car2,car11,car12,car1,car14,...which is unexpected output..if its not clear i will explain it further

rahulhegde (Thu, 20 Dec 2018 13:39:02 GMT):
In fabric on using couch database as state ledger, how does PEER ensure the complete operation at a ledger transaction is atomic? Couch database does provide atomic operation at document level however a single endorsement response could have multiple write operation. How does peer recover in case if not all documents are written to couch database?

dave.enyeart (Thu, 20 Dec 2018 13:42:18 GMT):
@rahulhegde updates are committed to couchdb and then a savepoint is written to couchdb. in crash scenario, peer restart will look for the savepoint, and if not there, re-write the last block (writes are idempotent). for full details see https://github.com/hyperledger/fabric/blob/release-1.4/core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go#L568-L574

rahulhegde (Thu, 20 Dec 2018 13:51:39 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=o4p93xfi9pctiKFY4) @dave.enyeart thank you.

anjalinaik (Mon, 24 Dec 2018 11:29:44 GMT):
Hi experts.. if we need to create a invoke request, do we need to redirect the request to only endorsing peers?

anjalinaik (Thu, 27 Dec 2018 06:30:39 GMT):
Hi experts..if the endorsment policy is not satisfied then the block shouldnt be added to the chain, correct? `org1peer2.1.t5ttto5ct9bp@CPU92 | 2018-12-27 06:13:57.935 UTC [committer/txvalidator] validateTx -> ERRO 019 VSCCValidateTx for transaction txId = 52e73a5c8f2d75062b6fe06e877559138a285aba5204466ca2dd40489c0088cb returned error: validation of endorsement policy for chaincode fabcarand in tx 48:0 failed: signature set did not satisfy policy org1peer2.1.t5ttto5ct9bp@CPU92 | 2018-12-27 06:14:05.253 UTC [gossip/privdata] StoreBlock -> INFO 01a [mychannel] Received block [49] from buffer`

anjalinaik (Thu, 27 Dec 2018 06:30:39 GMT):
Hi experts..if the endorsment policy is not satisfied then the block shouldnt be added to the chain, correct? ``` `org1peer2.1.t5ttto5ct9bp@CPU92 | 2018-12-27 06:13:57.935 UTC [committer/txvalidator] validateTx -> ERRO 019 VSCCValidateTx for transaction txId = 52e73a5c8f2d75062b6fe06e877559138a285aba5204466ca2dd40489c0088cb returned error: validation of endorsement policy for chaincode fabcarand in tx 48:0 failed: signature set did not satisfy policy org1peer2.1.t5ttto5ct9bp@CPU92 | 2018-12-27 06:14:05.253 UTC [gossip/privdata] StoreBlock -> INFO 01a [mychannel] Received block [49] from buffer` ```

anjalinaik (Thu, 27 Dec 2018 06:30:39 GMT):
Hi experts..if the endorsment policy is not satisfied then the block shouldnt be added to the chain, correct?However from below peer logs i see that the blocks are being added inspite of endorsement policy failure.Any explanation would be helpful. ``` org1peer2.1.t5ttto5ct9bp@CPU92 | 2018-12-27 06:13:57.935 UTC [committer/txvalidator] validateTx -> ERRO 019 VSCCValidateTx for transaction txId = 52e73a5c8f2d75062b6fe06e877559138a285aba5204466ca2dd40489c0088cb returned error: validation of endorsement policy for chaincode fabcarand in tx 48:0 failed: signature set did not satisfy policy org1peer2.1.t5ttto5ct9bp@CPU92 | 2018-12-27 06:14:05.253 UTC [gossip/privdata] StoreBlock -> INFO 01a [mychannel] Received block [49] from buffer ```

ShobhitSrivastava (Thu, 27 Dec 2018 12:11:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=5h5ssaZEuGiMSZGWg) @anjalinaik It goes in transaction log. Refer to it https://hyperledger-fabric.readthedocs.io/en/release-1.3/ledger/ledger.html

akshay.sood (Fri, 28 Dec 2018 09:00:13 GMT):
Hi Alll

akshay.sood (Fri, 28 Dec 2018 09:00:26 GMT):
anyone knows this error ```$ peer node start 2018-12-28 14:23:57.663 IST [main] InitCmd -> ERRO 001 Cannot run peer because error when setting up MSP of type bccsp from directory /home/akshay/dev/fabric-ca/fabric-ca-client/peerOrg/msp: could not initialize BCCSP Factories: %!s() Could not find default `PKCS11` BCCSP``` SoftHSM is enabled for peer

akshay.sood (Fri, 28 Dec 2018 09:00:32 GMT):
in `core.yaml` file

akshay.sood (Fri, 28 Dec 2018 09:00:48 GMT):
```BCCSP: Default: pkcs11 pkcs11: Library: /usr/local/lib/softhsm/libsofthsm2.so Pin: 98765432 Label: ForFabric hash: SHA2 security: 256 # Location of Key Store FileKeyStore: # If "", defaults to 'mspConfigPath'/keystore # TODO: Ensure this is read with fabric/core/config.GetPath() once ready KeyStore:```

StefanKosc (Thu, 03 Jan 2019 15:31:24 GMT):
Has joined the channel.

asaningmaxchain123 (Fri, 04 Jan 2019 01:08:25 GMT):
@wlahti the `CORE_PEER_TLS_SERVERHOSTOVERRIDE=false` doesn't support?

asaningmaxchain123 (Fri, 04 Jan 2019 01:08:55 GMT):
when i set the `CORE_PEER_TLS_SERVERHOSTOVERRIDE=false` but it doesn't work for me, can you help me?

x4e-salvi (Fri, 04 Jan 2019 18:54:39 GMT):
Has joined the channel.

asaningmaxchain123 (Sun, 06 Jan 2019 10:16:01 GMT):
@jyellick when i want to update the config value,it's policy which need majority policy,so these policy shoud sign in orderer?

asaningmaxchain123 (Sun, 06 Jan 2019 10:16:01 GMT):
@jyellick when i want to update the config value,it's policy which need majority policy,so shoud i sign in orderer?

asaningmaxchain123 (Sun, 06 Jan 2019 15:45:22 GMT):
@dave.enyeart can you tell me what's the `Organizational Units` in MSP

asaningmaxchain123 (Sun, 06 Jan 2019 15:45:22 GMT):
can you tell me what's the `Organizational Units` in MSP

asaningmaxchain123 (Sun, 06 Jan 2019 15:45:57 GMT):
and what's the function of the it

dave.enyeart (Sun, 06 Jan 2019 15:50:38 GMT):
@asaningmaxchain123 see https://hyperledger-fabric.readthedocs.io/en/latest/msp.html#identity-classification and how it can be used for endorser roles at https://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html#setting-chaincode-level-endorsement-policie

dave.enyeart (Sun, 06 Jan 2019 15:50:38 GMT):
@asaningmaxchain123 see https://hyperledger-fabric.readthedocs.io/en/latest/msp.html#identity-classification and how it can be used for endorser roles at https://hyperledger-fabric.readthedocs.io/en/latest/endorsement-policies.html#setting-chaincode-level-endorsement-policies

igor-egorov (Wed, 09 Jan 2019 10:19:09 GMT):
Has left the channel.

akshay.lawange (Fri, 11 Jan 2019 13:17:15 GMT):
Hi, I am getting an connection error to peer0 of org when i am trying to invoke even if the proposal is correct. Can anyone help why it is unable to connect? Error `error: [Remote.js]: Error: Failed to connect before the deadline URL:grpcs://10.10.6.16:7051`

sstone1 (Fri, 11 Jan 2019 13:26:14 GMT):
@akshay.lawange are you 100% sure that the machine you're running the SDK on can access port 7051 on that IP address? you can test this using `ping 10.10.6.16` and `nc 10.10.6.16 7051`. if you're using some kind of cloud hosting, then you may need to open up the ports.

akshay.lawange (Fri, 11 Jan 2019 13:33:35 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=BAXP9xx9nApFebmJh) @sstone1 yes i am sure, cause it registers and enrolls user succesfully. that means it is able to get affiliations from orderer

akshay.lawange (Fri, 11 Jan 2019 13:33:35 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=BAXP9xx9nApFebmJh) @sstone1 yes i am sure, cause it registers and enrolls user succesfully. that means it is able to get affiliations from same server

sstone1 (Fri, 11 Jan 2019 13:34:32 GMT):
no, that means it can access the CA port on the server (7054?) - can it access port 7051?

akshay.lawange (Fri, 11 Jan 2019 13:36:25 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=zBPx2uoWDiKJyqyJj) @sstone1 ohh yes..so when i tried nc command i did not get any response its blank

akshay.lawange (Fri, 11 Jan 2019 13:38:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=sPL6pqxwvqhmW2nHz) but till yesterday it was able to connect..when i tried today it did not

sstone1 (Fri, 11 Jan 2019 13:42:57 GMT):
``` $ nc -v -G 5 10.10.6.16 7051 nc: connectx to 10.10.6.16 port 7051 (tcp) failed: Operation timed out ```

sstone1 (Fri, 11 Jan 2019 13:43:16 GMT):
are you sure the peer is even running then? is the docker container still running on that system? are there any errors in the docker container logs?

akshay.lawange (Fri, 11 Jan 2019 13:46:29 GMT):
yeah, container is running and there is no error in the log

akshay.lawange (Fri, 11 Jan 2019 13:48:19 GMT):
nc -v 10.10.6.16 7051 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 10.10.6.16:7051.

akshay.lawange (Fri, 11 Jan 2019 13:48:23 GMT):
got this

akshay.lawange (Fri, 11 Jan 2019 13:59:14 GMT):
any clue?

chinmsay213211 (Fri, 11 Jan 2019 22:20:34 GMT):
Has joined the channel.

dan13 (Mon, 14 Jan 2019 17:43:54 GMT):
Has joined the channel.

MikeEmery (Mon, 14 Jan 2019 21:49:06 GMT):
Could someone please verify that the peer chaincode config `deploytimeout` is now defunct (1.4)? Is it fully replaced by `requesttimeout` or is there a different approach I should be taking?

iramiller (Mon, 14 Jan 2019 21:57:13 GMT):
Addendum to @MikeEmery's question above ... the config files in the cluster example folder and the sampleconfig folder of the 1.4 release branch are not in sync. Would be nice if the peer config file had a little more structure like the `orderer.yaml` file does.

yacovm (Mon, 14 Jan 2019 22:14:06 GMT):
what do you mean? they are both yaml files

iramiller (Mon, 14 Jan 2019 22:21:06 GMT):
@yacovm ... I am referring to minor stuff like ``` # timeout in millisecs for starting up a container and waiting for Register # to come through. 1sec should be plenty for chaincode unit tests startuptimeout: 300000 # timeout in millisecs for invokes and initialize commands # this timeout is used by all chaincodes in all the channels including # system chaincodes. Default is 30000ms (30 seconds) executetimeout: 30000 #timeout in millisecs for deploying chaincode from a remote repository. deploytimeout: 30000 ``` in the cluster config core.yaml file which is quite out of date. The sampleconfig/core.yaml seems to be the most current.

iramiller (Mon, 14 Jan 2019 22:21:55 GMT):
deploytimeout was removed sometime in early 2017 based on this commit : https://github.com/FigureTechnologies/fabric/commit/dff87f934df4e67b20fbe61b038c2b24b218380c

yacovm (Mon, 14 Jan 2019 22:22:32 GMT):
I understand, but what do you mean by structure?

iramiller (Mon, 14 Jan 2019 22:22:35 GMT):
These files would probably stay cleaner and more current if they were validated like the orderer.yaml file is... but I certainly understand that there is no shortage of clean up work to do

yacovm (Mon, 14 Jan 2019 22:22:47 GMT):
you mean having defaults, etc. ?

iramiller (Mon, 14 Jan 2019 22:22:49 GMT):
(that validation comment is what I mean about structure)

iramiller (Mon, 14 Jan 2019 22:23:15 GMT):
If I add sections to orderer.yaml file that are not supported it faults

yacovm (Mon, 14 Jan 2019 22:23:19 GMT):
right

yacovm (Mon, 14 Jan 2019 22:23:25 GMT):
oh... i see now

yacovm (Mon, 14 Jan 2019 22:23:35 GMT):
you want the peer parsing to be fail-fast like the orderer?

iramiller (Mon, 14 Jan 2019 22:23:55 GMT):
That is what I was getting at

yacovm (Mon, 14 Jan 2019 22:23:59 GMT):
it doesn't work the other direction though

iramiller (Mon, 14 Jan 2019 22:24:03 GMT):
(and a pony too since I am so needy)

yacovm (Mon, 14 Jan 2019 22:24:07 GMT):
if we *add* a value it doesn't fail

yacovm (Mon, 14 Jan 2019 22:24:31 GMT):
what size do you want the pony?

iramiller (Mon, 14 Jan 2019 22:24:44 GMT):
I encountered the orderer.yaml validation in the middle of the testing of the new metrics stuff

iramiller (Mon, 14 Jan 2019 22:25:02 GMT):
I had an old config with the new code base ... was bad ...

iramiller (Mon, 14 Jan 2019 22:25:19 GMT):
very helpful at the time once I figured out what was up

yacovm (Mon, 14 Jan 2019 22:25:29 GMT):
you can open a JIRA

yacovm (Mon, 14 Jan 2019 22:25:42 GMT):
to ignite a discussion about it

iramiller (Mon, 14 Jan 2019 22:25:43 GMT):
I could ...

iramiller (Mon, 14 Jan 2019 22:25:50 GMT):
if you think it is worth while

yacovm (Mon, 14 Jan 2019 22:26:06 GMT):
I think anything that makes the user's life easier or more productive or safe is worthwhile

yacovm (Mon, 14 Jan 2019 22:26:22 GMT):
you are a user, are you not?

yacovm (Mon, 14 Jan 2019 22:26:27 GMT):
so yes :)

iramiller (Mon, 14 Jan 2019 22:26:52 GMT):
eh ... my solution to much of this is to have my fork open and review the code base when I have questions ...

iramiller (Mon, 14 Jan 2019 22:26:59 GMT):
I wouldn't expect that to be normal

iramiller (Mon, 14 Jan 2019 22:27:13 GMT):
even if effective

yacovm (Mon, 14 Jan 2019 22:27:28 GMT):
wouldn't expect what to be normal? reviewing the code?

iramiller (Mon, 14 Jan 2019 22:28:08 GMT):
yes ... tracing out usage of config file parameters in the code base when there are differences between the examples and the sample config file to determine which is the current correct approach

iramiller (Mon, 14 Jan 2019 22:28:24 GMT):
that is probably a step farther than most users go

yacovm (Mon, 14 Jan 2019 22:28:32 GMT):
why did you use the cluster file in the 1st place?

iramiller (Mon, 14 Jan 2019 22:28:33 GMT):
given the many questions that appear here

yacovm (Mon, 14 Jan 2019 22:29:03 GMT):
@dave.enyeart what are we going to do about the cluster sample? it's outdated....

iramiller (Mon, 14 Jan 2019 22:29:10 GMT):
I didn't use it ... I saw a reference to a config parameter in our old stuff that wasn't in the current sample ... searched and found it only occurred in a unit test and the example cluster

yacovm (Mon, 14 Jan 2019 22:30:39 GMT):
anyway I am sorry for your inconvenience and loss of time debugging fabric :) you are right that it shouldn't be that way... are you using though v1.4 or master branch?

iramiller (Mon, 14 Jan 2019 22:31:33 GMT):
minor points overall ... I am working on a 1.4 release branch based update to our environments

iramiller (Mon, 14 Jan 2019 22:32:45 GMT):
looking forward to statsd and updated logging improvements ... I'm expecting a much nicer experience in production with those updates.

yacovm (Mon, 14 Jan 2019 22:36:02 GMT):
all right. anyway - you can always (apart from debugging the code yourself, which is actually not a bad solution)- ask in rocket chat , open a JIRA, or send an email to the mailing list

iramiller (Mon, 14 Jan 2019 22:36:29 GMT):
:thumbsup:

yacovm (Mon, 14 Jan 2019 22:37:34 GMT):
and, just as an "action item" - @dave.enyeart I think we should either remove or update the cluster examples as people use it and get burned...

yacovm (Mon, 14 Jan 2019 22:37:44 GMT):
@sykesm ^

dave.enyeart (Mon, 14 Jan 2019 22:51:32 GMT):
@yacovm I don't have background with the cluster example, but it seems it could be completely removed in favor of BYFN

dave.enyeart (Mon, 14 Jan 2019 22:52:55 GMT):
@lehors has volunteered to clean up /examples, I think the cluster example is an easy delete

QwertyJack (Tue, 15 Jan 2019 00:57:22 GMT):
Has joined the channel.

QwertyJack (Tue, 15 Jan 2019 00:58:59 GMT):
Hi there. I want to debug peer but my Goland says 'could not launch process: could not get .debug_frame section: could not find .debug_frame section'. I m using Goland with release 1.3.0 . Both golang 1.10 & 1.11 tried. Thanks for help.

QwertyJack (Tue, 15 Jan 2019 00:58:59 GMT):
Hi there. I want to debug peer but my Goland says 'could not launch process: could not get .debug_frame section: could not find .debug_frame section'. I m using Goland with release 1.3.0 . Both golang 1.10 & 1.11 tried with failure, while sdk-go works like a charm. Thanks for help.

jrosmith (Tue, 15 Jan 2019 15:41:13 GMT):
hey all, looking for some help reconfiguring the peer docker contain in the byfn example. i'm using a custom chaincode which i have successfully deployed on fabric 1.1 and 1.2. i've skipped 1.3 and am now integrating 1.4. when i go to install the chaincode, i receive the following error in my client: `Error: 8 RESOURCE_EXHAUSTED: grpc: received message larger than max (133963831 vs. 104857600)` i've looked through the docs and i've seen i can update env vars for the peer in `peer-base.yml` and I'm assuming I can just set a var of `GRPC_MAX_RECEIVE_SIZE=-1`?

jrosmith (Tue, 15 Jan 2019 15:41:13 GMT):
hey all, looking for some help reconfiguring the peer docker container in the byfn example. i'm using a custom chaincode which i have successfully deployed on fabric 1.1 and 1.2. i've skipped 1.3 and am now upgrading my applications to work against 1.4. when i go to install the chaincode, i receive the following error in my client: `Error: 8 RESOURCE_EXHAUSTED: grpc: received message larger than max (133963831 vs. 104857600)` i've looked through the docs and i've seen i can update env vars for the peer in `peer-base.yml` and I'm assuming I can just set a var of `GRPC_MAX_RECEIVE_SIZE=-1`? also curious as to why there is a limit where im assuming previously one did not exist

jrosmith (Tue, 15 Jan 2019 15:41:13 GMT):
hey all, looking for some help reconfiguring the peer docker container in the byfn example. i'm using a custom chaincode which i have successfully deployed on fabric 1.1 and 1.2. i've skipped 1.3 and am now upgrading my applications to work against 1.4. when i go to install the chaincode, i receive the following error in my client: `Error: 8 RESOURCE_EXHAUSTED: grpc: received message larger than max (133963831 vs. 104857600)` i've looked through the docs and i've seen i can update env vars for the peer in `peer-base.yml` and I'm assuming I can just set a var of `GRPC_MAX_RECEIVE_SIZE=-1`? also curious as to why there is a limit where im assuming previously one did not exist update: i tried setting the env var as above, it did not resolve my issue. how can i increase the max message size for the peer?

toddinpal (Tue, 15 Jan 2019 19:36:14 GMT):
@aso I just listed to your state based endorsement talk and it seems that this completely conflates consensus and authorization. What is the use case that chaincode and the existing endorsement policy doesn't handle?

toddinpal (Tue, 15 Jan 2019 19:36:14 GMT):
@aso I just listened to your state based endorsement talk and it seems that this completely conflates consensus and authorization. What is the use case that chaincode and the existing endorsement policy doesn't handle?

aso (Tue, 15 Jan 2019 20:50:35 GMT):
@toddinpal : state-based endorsement is just a way to express an endorsement policy at the level of an individual ledger key. Without this feature, it is far more complicated to handle a ledger namespace with a more diverse security model that can't be expressed by a single, global policy

aso (Tue, 15 Jan 2019 20:50:35 GMT):
@toddinpal : state-based endorsement is just a way to express an endorsement policy at the level of an individual ledger key. Without this feature, it is far more complicated to handle a ledger namespace with a more diverse security model that can't be captured by a single, global policy

jrosmith (Wed, 16 Jan 2019 14:33:21 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=X9zvoo5JErDgo2JCG) so i've found where the limit of 104857600 comes from. fabric/core/comm/config.go line 23 has a default config var set: `MaxRecvMsgSize = 100 * 1024 * 1024`. still trying to figure out how to override the config for both the binary and docker container.

toddinpal (Wed, 16 Jan 2019 15:19:32 GMT):
@aso I understand the change in granularity. What I don't understand is when might this be useful and how it relates to security? I've always viewed endorsement policies as a matter of trust and not security. As well, now chaincode has to have specific knowledge about these trust arrangements whereas with the normal endorsement policy mechanism the chaincode is (or at least can be) completely ignorant of the trust issues as they are handled outside the chaincode in a declarative manner.

aso (Wed, 16 Jan 2019 15:26:17 GMT):
this (https://github.com/hyperledger/fabric-samples/tree/release-1.4/interest_rate_swaps) is an example in which state-based endorsement is useful. In general, state-based endorsement is applicable whenever a chaincode-wide endorsement policy cannot assure the integrity and correctness of the entirety of the chaincode state.

aso (Wed, 16 Jan 2019 15:26:57 GMT):
(...and breaking down the state into multiple chaincodes is undesirable/not applicable)

gaijinviki (Thu, 17 Jan 2019 04:46:58 GMT):
Has joined the channel.

WouterVanHecke (Thu, 17 Jan 2019 14:02:47 GMT):
Has joined the channel.

amendafernando (Fri, 18 Jan 2019 05:26:32 GMT):
Has joined the channel.

amendafernando (Fri, 18 Jan 2019 05:34:15 GMT):
I'm trying to connect to an existing channel from newly created peer. But I'm getting exception as ``` root@56ef49d1347f:/etc/hyperledger/configtx# peer channel join -o orderer.example.com:7050 --blockpath composerchannel_config.block 2019-01-17 14:27:49.893 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2019-01-17 14:27:49.893 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2019-01-17 14:27:49.896 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2019-01-17 14:27:49.897 UTC [msp/identity] Sign -> DEBU 004 Sign: plaintext: 0A9C070A5C08011A0C08E5A182E20510...48DE8AA89E1E1A080A000A000A000A00 2019-01-17 14:27:49.897 UTC [msp/identity] Sign -> DEBU 005 Sign: digest: E4BB7028F4F6483A94DCD0BF992F73F41D7A48EB5C496E5C5E4F2A29B56425BD Error: proposal failed (err: rpc error: code = Unknown desc = chaincode error (status: 500, message: "JoinChain" request failed authorization check for channel [composerchannel]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [This identity is not an admin]])) ``` someone please help me with this.

sanket1211 (Sat, 19 Jan 2019 10:02:18 GMT):
Has joined the channel.

sanket1211 (Sat, 19 Jan 2019 10:03:34 GMT):
2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist peer2.org1.example.com | 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist peer2.org1.example.com | 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist

sanket1211 (Sat, 19 Jan 2019 10:04:09 GMT):
peer2.org1.example.com | 2019-01-19 07:06:56.818 UTC [main] InitCmd -> ERRO 001 Cannot run peer because cannot init crypto, folder "/etc/hyperledger/crypto/peer/msp" does not exist ....this error shows up when i try to add new peer...

sanket1211 (Sat, 19 Jan 2019 10:04:53 GMT):
plz revert back for solution...thank you

WouterVanHecke (Mon, 21 Jan 2019 10:25:46 GMT):
The fabric network is running correctly, but when I try to restart to peer, the chaincode doesn't work anymore. I know that the dev containers gets put down and then restarted together with the peer container. But it doesn't work anymore. When I try to invoke a function. That function is not found anymore, so I'm getting a time-out every time. Can someone help me with this problem?

WouterVanHecke (Mon, 21 Jan 2019 10:26:15 GMT):
Log of the peer after restarting: ``` ... 2019-01-21 10:09:28.360 UTC [gossip/service] func1 -> INFO 012 Initialize gossip with endpoint 172.22.0.5:7051 and bootstrap set [127.0.0.1:7051] 2019-01-21 10:09:28.362 UTC [gossip/gossip] NewGossipService -> INFO 013 Creating gossip service with self membership of {peer0.org1.example.com:7051 [] [7 28 82 74 12 2 191 205 247 212 85 142 28 4 220 110 7 37 159 95 164 241 229 238 15 213 151 178 253 175 214 101] 172.22.0.5:7051 } 2019-01-21 10:09:28.363 UTC [gossip/gossip] start -> INFO 014 Gossip instance 172.22.0.5:7051 started 2019-01-21 10:09:28.363 UTC [sccapi] deploySysCC -> INFO 015 system chaincode lscc/(github.com/hyperledger/fabric/core/scc/lscc) deployed 2019-01-21 10:09:28.364 UTC [cscc] Init -> INFO 016 Init CSCC 2019-01-21 10:09:28.364 UTC [sccapi] deploySysCC -> INFO 017 system chaincode cscc/(github.com/hyperledger/fabric/core/scc/cscc) deployed 2019-01-21 10:09:28.364 UTC [qscc] Init -> INFO 018 Init QSCC 2019-01-21 10:09:28.364 UTC [sccapi] deploySysCC -> INFO 019 system chaincode qscc/(github.com/hyperledger/fabric/core/scc/qscc) deployed 2019-01-21 10:09:28.365 UTC [sccapi] deploySysCC -> INFO 01a system chaincode +lifecycle/(github.com/hyperledger/fabric/core/chaincode/lifecycle) deployed 2019-01-21 10:09:28.365 UTC [nodeCmd] serve -> INFO 01b Deployed system chaincodes 2019-01-21 10:09:28.366 UTC [peer] Initialize -> INFO 01c Loading chain mychannel 2019-01-21 10:09:28.366 UTC [ledgermgmt] OpenLedger -> INFO 01d Opening ledger with id = mychannel 2019-01-21 10:09:28.375 UTC [ledgermgmt] OpenLedger -> INFO 01e Opened ledger with id = mychannel 2019-01-21 10:09:28.382 UTC [gossip/gossip] JoinChan -> INFO 01f Joining gossip network of channel mychannel with 1 organizations 2019-01-21 10:09:28.382 UTC [gossip/gossip] learnAnchorPeers -> INFO 020 No configured anchor peers of Org1MSP for channel mychannel to learn about 2019-01-21 10:09:28.395 UTC [gossip/state] NewGossipStateProvider -> INFO 021 Updating metadata information, current ledger sequence is at = 2, next expected block is = 3 2019-01-21 10:09:28.395 UTC [sccapi] deploySysCC -> INFO 022 system chaincode lscc/mychannel(github.com/hyperledger/fabric/core/scc/lscc) deployed 2019-01-21 10:09:28.395 UTC [cscc] Init -> INFO 023 Init CSCC 2019-01-21 10:09:28.396 UTC [sccapi] deploySysCC -> INFO 024 system chaincode cscc/mychannel(github.com/hyperledger/fabric/core/scc/cscc) deployed 2019-01-21 10:09:28.396 UTC [qscc] Init -> INFO 025 Init QSCC 2019-01-21 10:09:28.396 UTC [sccapi] deploySysCC -> INFO 026 system chaincode qscc/mychannel(github.com/hyperledger/fabric/core/scc/qscc) deployed 2019-01-21 10:09:28.396 UTC [sccapi] deploySysCC -> INFO 027 system chaincode +lifecycle/mychannel(github.com/hyperledger/fabric/core/chaincode/lifecycle) deployed 2019-01-21 10:09:28.404 UTC [discovery] NewService -> INFO 028 Created with config TLS: true, authCacheMaxSize: 1000, authCachePurgeRatio: 0.750000 2019-01-21 10:09:28.404 UTC [nodeCmd] registerDiscoveryService -> INFO 029 Discovery service activated 2019-01-21 10:09:28.405 UTC [nodeCmd] serve -> INFO 02a Starting peer with ID=[name:"peer0.org1.example.com" ], network ID=[dev], address=[172.22.0.5:7051] 2019-01-21 10:09:28.405 UTC [nodeCmd] serve -> INFO 02b Started peer with ID=[name:"peer0.org1.example.com" ], network ID=[dev], address=[172.22.0.5:7051] 2019-01-21 10:09:34.399 UTC [gossip/election] beLeader -> INFO 02c [7 28 82 74 12 2 191 205 247 212 85 142 28 4 220 110 7 37 159 95 164 241 229 238 15 213 151 178 253 175 214 101] : Becoming a leader 2019-01-21 10:09:34.399 UTC [gossip/service] func1 -> INFO 02d Elected as a leader, starting delivery service for channel mychannel 2019-01-21 10:21:45.854 UTC [endorser] callChaincode -> INFO 02e [mychannel][404963fe] Entry chaincode: name:"MyChainCode" 2019-01-21 10:22:17.240 UTC [endorser] callChaincode -> INFO 02f [mychannel][404963fe] Exit chaincode: name:"MyChainCode" (31386ms) 2019-01-21 10:22:17.241 UTC [endorser] SimulateProposal -> ERRO 030 [mychannel][404963fe] failed to invoke chaincode name:"MyChainCode" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute ... ```

WouterVanHecke (Mon, 21 Jan 2019 10:26:18 GMT):
Log of the dev container: ``` (node:19) UnhandledPromiseRejectionWarning: Error: function not found: publishResource at Chaincode._callee$ (/usr/local/src/dist/MyChainCode.js:90:23) at tryCatch (/usr/local/src/node_modules/regenerator-runtime/runtime.js:62:40) at Generator.invoke [as _invoke] (/usr/local/src/node_modules/regenerator-runtime/runtime.js:296:22) at Generator.prototype.(anonymous function) [as next] (/usr/local/src/node_modules/regenerator-runtime/runtime.js:114:21) at asyncGeneratorStep (/usr/local/src/dist/MyChainCode.js:35:103) at _next (/usr/local/src/dist/MyChainCode.js:37:194) at /usr/local/src/dist/MyChainCode.js:37:364 at new Promise () at Chaincode. (/usr/local/src/dist/MyChainCode.js:37:97) at Chaincode.Invoke (/usr/local/src/dist/MyChainCode.js:119:24) (node:19) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) ```

WouterVanHecke (Mon, 21 Jan 2019 10:27:10 GMT):
Cut out some logs of the peer that had no benefit to the question because the message was to long

JaccobSmith (Mon, 21 Jan 2019 11:45:58 GMT):
Hello all,How could I invoke the lscc/GetDeploymentSpec?

ycarmel (Tue, 22 Jan 2019 08:47:12 GMT):
Has joined the channel.

SahithiDyavarashetti (Tue, 22 Jan 2019 11:17:45 GMT):
Has joined the channel.

SahithiDyavarashetti (Tue, 22 Jan 2019 11:17:49 GMT):
can anyone help me with this? Starting business network definition. This may take a minute... Error: Error trying to start business network. Error: Peer localhost:7051 has rejected transaction '8d53f47f01efa13c5124a019ca7bfaa83622f0ba7e043bafdded1bf388c8ffe6' with code ENDORSEMENT_POLICY_FAILURE Command failed

Jamie (Tue, 22 Jan 2019 17:08:30 GMT):
Has joined the channel.

incarose (Wed, 23 Jan 2019 00:23:59 GMT):
Has joined the channel.

SahithiDyavarashetti (Wed, 23 Jan 2019 07:06:00 GMT):
``` Starting business network definition. This may take a minute... Error: Error trying to start business network. Error: Failed to receive commit notification from 192.168.1.164:9051 for transaction 'da77cb6ecd57396622d318005d78f5b6805a5545ed6c7ea75bd116fa8531cf86' within the timeout period Command failed ```

AkhilKura (Wed, 23 Jan 2019 09:26:00 GMT):
Has joined the channel.

unlimited (Wed, 23 Jan 2019 17:42:32 GMT):
Has joined the channel.

unlimited (Wed, 23 Jan 2019 17:44:32 GMT):
Hey Gurus! I understand that the Kafka mechanism ensures transactions are stored in logical order. However is there a way to reference the transactions in chronological order, since transactions may not arrive in order due to network latency?

unlimited (Wed, 23 Jan 2019 17:44:46 GMT):
(arrive in order of submission)

kelvinzhong (Fri, 25 Jan 2019 02:04:44 GMT):
@dave.enyeart @yacovm hi, i'm confusing that seems fabric try to implement a raft-based ordering service then move on to BFT-based ordering service, but as i know, the consensus of fabric is based on a transaction flow and the ordering service can't altered any transaction on it's own, why fabric care the consensus between the orderer nodes? even the BFT-based ordering service is delivered, i can't tell what's the different between Kaffka-based ordering service, even worse the BFT-based ordering service might slower in ordering.

adamhardie (Fri, 25 Jan 2019 09:34:00 GMT):
Has joined the channel.

adamhardie (Fri, 25 Jan 2019 09:34:21 GMT):
hey! have been installing chaincode happily for a while now,. but have just setup a new network... When i try to instantiate a chaincode from the cli container, with the command: peer chaincode instantiate -o orderer0.company:7050 -C messagebus -n nodecode -l "golang" -v 4.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')" i get this error: API error (500): Could not attach to network company-new_net: rpc error: code = NotFound desc = network company-new_net not found My question is where is company-new_net coming from? The peer is connected to a network called node_node. I have run a network called company_new_net previously; but have since changed all instances within the configuration files. So i am wondering how the chaincode script is picking that name up. Hope you can help!

adamhardie (Fri, 25 Jan 2019 09:34:49 GMT):
i have tried removing all volumes, images, networks and services and starting from scratch, but no luck

dave.enyeart (Fri, 25 Jan 2019 10:12:57 GMT):
@kelvinzhong The benefit of going to Raft is that it removes the Kafka dependency. The benefit of eventual BFT is that ordering can be run by a group of non-trusting organizations. See some discussion of this at https://lists.hyperledger.org/g/fabric/message/5295. If you want to drill deep I'll refer you to #fabric-orderer where the ordering service experts hang out.

yacovm (Fri, 25 Jan 2019 10:19:58 GMT):
Right, and to add to what Dave said - Raft work actually entails 2 independent parts: - The Raft consensus core itself, which uses the etcd/raft library and translates its input/output to Fabric language - Communication and replication support for orderers that have leader based consensus, that is independent of consensus type and can be re-used for BFT as well

yacovm (Fri, 25 Jan 2019 10:20:41 GMT):
So in a way - a considerable of work put into Raft orderer is going to be reused

adamhardie (Fri, 25 Jan 2019 16:28:21 GMT):
i have also restarted docker completely and i still get this strange network name! only when instantiating the chaincode do i see that name!

adamhardie (Fri, 25 Jan 2019 16:34:10 GMT):
and regenerated all crypto, everything Error: could not assemble transaction, err proposal response was not successful, error code 500, msg error starting container: error starting container: API error (500): Could not attach to network company-new_net: rpc error: code = NotFound desc = network company-new_net not found

adamhardie (Fri, 25 Jan 2019 16:34:21 GMT):
can someone tell me where i can find the cause of the above error?

adamhardie (Fri, 25 Jan 2019 16:34:51 GMT):
i cant see it in logs anywhere, im trying to find where the instantiate command is getting a random network name from

lip-inagora (Mon, 28 Jan 2019 00:22:39 GMT):
Has joined the channel.

kelvinzhong (Mon, 28 Jan 2019 04:49:17 GMT):
@yacovm @dave.enyeart thx for the reply, i can see the benefit of raft / BFT, but somehow the idea of consensus between the orderers might have misleading many people that make them believed the consensus of orderer is equal to the consensus of the fabric, even worse they believe the Crash Fault Tolerence(CFT) offered by kaffa is the consensus of fabric. I think it's better to point out kaffka/raft/BFT have nothing to do with the consensus of fabric in the introduction of fabric :joy:

kelvinzhong (Mon, 28 Jan 2019 04:57:43 GMT):
my point is, as I know fabric v0.6 is using orderer to achieve the consensus, and indeed using BFT as the consensus method, but v1.X or v2.X is not, which is using a transaction flow the achieve the consensus, but still many people(as I know in china) believe the consensus of v1.X or v2.X is also based on orderer to achieve the consensus, even the first time when i found the raft/bft orderer service is going to provide in 2.X, I was quite confused about the definition of the consensus of fabric.

kelvinzhong (Mon, 28 Jan 2019 04:57:43 GMT):
my point is, as I know fabric v0.6 is using orderer to achieve the consensus, and indeed using BFT as the consensus method, but v1.X or v2.X is not, which is using a transaction flow to achieve the consensus, but still many people(as I know in china) believe the consensus of v1.X or v2.X is also based on orderer to achieve the consensus, even the first time when i found the raft/bft orderer service is going to provide in 2.X, I was quite confused about the definition of the consensus of fabric.

kelvinzhong (Mon, 28 Jan 2019 04:57:43 GMT):
my point is, as I know fabric v0.6 is using orderer to achieve the consensus, and indeed using BFT as the consensus method, but v1.X or v2.X is not, which is using a transaction flow to achieve the consensus, but still many people(as I know in china) believe the consensus of v1.X or v2.X is also based on orderer to achieve the consensus, even the first time when i found the raft/bft orderer service is going to provide in 2.X, I was quite confused about the definition of the consensus.

knagware9 (Mon, 28 Jan 2019 13:11:58 GMT):
Hi ,, anybody face this issue , when transaction send for proposal to endorser peer , chaincode conatiner get exited with error panic: runtime error: index out of range panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x94e086] goroutine 60 [running]: github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).triggerNextState(0xc00007db00, 0x0, 0xc0000872c0) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:35 +0x26 github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction.func1.1(0xc00007db00, 0xc0001e7eb0, 0xc0000872c0) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:247 +0x42 panic(0xadf180, 0x12fbc80) /opt/go/src/runtime/panic.go:513 +0x1b9 main.(*SimpleChaincode).addProduct(0x136d380, 0xc5cd80, 0xc0001ce000, 0xc0001e0010, 0x7, 0x7, 0x0, 0x0, 0x0, 0x0, ...) /chaincode/input/src/github.com/example_cc/go/rolex.go:131 +0x707 main.(*SimpleChaincode).Invoke(0x136d380, 0xc5cd80, 0xc0001ce000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /chaincode/input/src/github.com/example_cc/go/rolex.go:84 +0x5fe github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction.func1(0xc00007db00, 0xc0000872c0, 0xc000464480) /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:273 +0x4eb created by github.com/hyperledger/fabric/core/chaincode/shim.(*Handler).handleTransaction /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/handler.go:242 +0x53 and all the peer which are given in endrosment policy get exited and strange is that when I use curl this invoke transaction successful , I am getting this only when I use any web UI to invoke the same transact

yacovm (Mon, 28 Jan 2019 13:13:38 GMT):
@sykesm

edisinovcic (Mon, 28 Jan 2019 13:15:50 GMT):
Has joined the channel.

gravity (Mon, 28 Jan 2019 13:23:37 GMT):
hi all what is the recommended expiration time for the certificates for peers and orderers? is it a good practice to leave expiry time 1 year and re-enroll them before they expire?

knagware9 (Mon, 28 Jan 2019 13:40:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=f6w7f62hSFWwwuDBJ) please check someone , I am getting this issue and not able to find out why this strange behavious

knagware9 (Mon, 28 Jan 2019 13:40:48 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=f6w7f62hSFWwwuDBJ) please check someone , I am getting this issue and not able to find out why this strange behaviour

adamhardie (Mon, 28 Jan 2019 14:11:52 GMT):
hey all, when I try to instantiate chaincode, i see this printed: Error: could not assemble transaction, err proposal response was not successful, error code 500, msg timeout expired while starting chaincode ccode:1.0 for transaction seems some error when creating the peer container . in peer logs i can see the chaincode container being created, then.. "stopping due to error while launching: timeout expired while starting chaincode ccode:1.0 for transaction" logged here too, with a stack trace

adamhardie (Mon, 28 Jan 2019 14:13:03 GMT):
the stacktrace shows 2019-01-25 16:49:06.180 UTC [endorser] SimulateProposal -> ERRO 7a4 [messagebus][b5e77bba] failed to invoke chaincode name:"lscc" , error: timeout expired while starting chaincode ccode:1.0 for transaction github.com/hyperledger/fabric/core/chaincode.(*RuntimeLauncher).Launch

pankajcheema (Mon, 28 Jan 2019 16:47:22 GMT):
@knagware9 it seems you are trying to access null pointer in your chaincode

pankajcheema (Mon, 28 Jan 2019 16:48:43 GMT):
This is not related to Hyperledger this is totally related to your chaincode

pankajcheema (Mon, 28 Jan 2019 16:48:50 GMT):
Code

pankajcheema (Mon, 28 Jan 2019 16:53:06 GMT):
@adamhardie it’s coming from the base directory of you sample if using fabric sample

pankajcheema (Mon, 28 Jan 2019 16:53:27 GMT):
If using your own then let me know

knagware9 (Tue, 29 Jan 2019 04:52:10 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ayuBsvfh7jP6zFJ6z7) @pankajcheema but how the same chaincode function invoked successfully using CURL

knagware9 (Tue, 29 Jan 2019 08:13:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wok6rHrEwmKQZK3mW) @yacovm @sykesm ..Its strange to me same chaincode invoke function fine but when i use any UI API call , chaincode container get exited when propsoal request send out to endorser peer , and chaincode container get exited.. some one please help me out

knagware9 (Tue, 29 Jan 2019 08:13:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=wok6rHrEwmKQZK3mW) @yacovm @sykesm ..Its strange to me same chaincode invoke function works fine using CURL but when i use any UI API call(AJAX REST CALL) even my GET request running fine , chaincode container get exited when propsoal request send out to endorser peer , and chaincode container get exited.. some one please help me out

SahithiDyavarashetti (Tue, 29 Jan 2019 08:59:06 GMT):
Can anyone help me with this error ? ``` Error: Error trying to ping. Error: 2 UNKNOWN: access denied: channel [composerchannel] creator org [Org1MSP] Command failed ```

adamhardie (Tue, 29 Jan 2019 11:20:34 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7MCihwzOaXSbHlPCfG) @pankajcheema Hey @pankajcheema thanks for the reply. On my first question, i solved the problem (about the unknown network name) . It was a mistake on my part that was in one of the docker files. my current issue however seems to be peer-container related. - when instantiating chaincode.. 2019-01-25 16:49:06.180 UTC [endorser] SimulateProposal -> ERRO 7a4 [messagebus][b5e77bba] failed to invoke chaincode name:"lscc" , error: timeout expired while starting chaincode ccode:1.0 for transaction i am not based on fabric-samples anymore

adamhardie (Tue, 29 Jan 2019 11:21:10 GMT):
i have the whole network running on docker swarm with kafka, chaincode deployment is the final piece to complete!

khudeja (Tue, 29 Jan 2019 11:29:52 GMT):
Has joined the channel.

knagware9 (Wed, 30 Jan 2019 10:35:24 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=FRaWg3LpxijrmYXdZ) My fault ,Issue is resolved now. Invoke function was missing one chaincode variable And that is the reason chaincode container were failing but there should be proper error message instead of exit the container.

adamhardie (Thu, 31 Jan 2019 10:45:53 GMT):
what is the purpose of CORE_PEER_NETWORKID on the peer environment?

jeffgarratt (Thu, 31 Jan 2019 14:12:15 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=PkJvBig2TnyDiovwf) @adamhardie It is used to create a naming context (scope) for the peer for its subsequent container control (i.e. naming the containers for chaincode isolation).

adamhardie (Thu, 31 Jan 2019 16:11:56 GMT):
awesome, thanks for the info!

gravity (Sun, 03 Feb 2019 08:25:38 GMT):
Hi @yacovm There is a case: I have a running network with one channel, three peers joined this channel. No one of them is an anchor peer. Is it possible to turn one of them into an anchor peer?

yacovm (Sun, 03 Feb 2019 08:27:15 GMT):
yes

gravity (Sun, 03 Feb 2019 21:33:38 GMT):
To do so, an update channel configuration transaction should be issued, shouldn't it?

yacovm (Sun, 03 Feb 2019 23:38:39 GMT):
yes

gravity (Mon, 04 Feb 2019 09:43:40 GMT):
thanks

gaijinviki (Wed, 06 Feb 2019 09:09:05 GMT):
Hello, I have a Fabric Org with *3 Peer* connected to *mychannel*. Each peer is connected to it's own Couchdb instance. Peer0 has the chaincode installed, and when I execute a query, the state is updated in *CouchDB0*. I can see a gossip message to the other peer like so `2019-02-06 08:53:57.457 UTC [blocksProvider] DeliverBlocks -> DEBU 4f2b4 [mychannel] Gossiping block [3], peers number [2]`, but *CouchDB1 and CouchDB2* do *not* have any information about the state. Is this normal behaviour or have I configured something wrong ?

gaijinviki (Wed, 06 Feb 2019 09:09:05 GMT):
Hello, I have a Fabric Org with *3 Peer* connected to *mychannel*. Each peer is connected to it's own Couchdb instance. Peer0 has the chaincode installed, and when I execute a query, the state is updated in CouchDB0. I can see a gossip message to the other peer like so `2019-02-06 08:53:57.457 UTC [blocksProvider] DeliverBlocks -> DEBU 4f2b4 [mychannel] Gossiping block [3], peers number [2]`, but CouchDB1 and CouchDB2 do not have any information about the state. Is this normal behaviour or have I configured something wrong ?

gaijinviki (Wed, 06 Feb 2019 09:21:19 GMT):
In the logs of Peer1, I can see that it is updating CouchDB1. But in the CouchDB UI, I cannot see the Database or the records.

dave.enyeart (Wed, 06 Feb 2019 18:42:30 GMT):
@gaijinviki peer ensures commit in couchdb before moving on to next block, the committed data will be visible in UI. Capture peer debug and look at the `couchdb` debug statements to see exactly what is going on.

gaijinviki (Thu, 07 Feb 2019 03:59:57 GMT):
@dave.enyeart

gaijinviki (Thu, 07 Feb 2019 03:59:57 GMT):
@dave.enyeart I do see in the logs that the commit is made, but still nothing in the UI of `couchdb1`. I can see the data in the UI of `couchdb0` only. Here is the log for `couchdb1` ``` 2019-02-06 08:53:57.367 UTC [statecouchdb] executeBatches -> DEBU 1772 Executing batches = [%!s(*statecouchdb.nsCommittersBuilder=&{map[1_1_1:0xc002d569c0] 0xc003d47000 map[] []})] 2019-02-06 08:53:57.367 UTC [statecouchdb] addRevisionsForMissingKeys -> DEBU 1773 Pulling revisions for the [1] keys for namsespace [mychannel_pta$demo] that were not part of the readset 2019-02-06 08:53:57.367 UTC [statecouchdb] executeBatches -> DEBU 1774 Executing batches = [subNsMetadataRetriever:ns=, num keys=1] 2019-02-06 08:53:57.367 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 1775 [mychannel_pta$demo] Entering BatchRetrieveDocumentMetadata() keys=[1_1_1] 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1776 Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1777 Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_all_docs?include_docs=true 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1778 HTTP Request: POST /mychannel_pta$demo/_all_docs?include_docs=true HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 18 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.370 UTC [couchdb] handleRequest -> DEBU 1779 Exiting handleRequest() 2019-02-06 08:53:57.370 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 177a [mychannel_pta$demo] HTTP Response: HTTP/1.1 200 OK | Transfer-Encoding: chunked | Cache-Control: must-revalidate | Content-Type: application/json | Date: Wed, 06 Feb 2019 08:53:56 GMT | Server: CouchDB/2.2.0 (Erlang OTP/18) | X-Couch-Request-Id: c33d00b2bd | X-Couchdb-Body-Time: 0 | | 2019-02-06 08:53:57.370 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 177b [mychannel_pta$demo] Exiting BatchRetrieveDocumentMetadata() 2019-02-06 08:53:57.370 UTC [statecouchdb] executeBatches -> DEBU 177c Executing batches = [%!s(*statecouchdb.subNsCommitter=&{0xc003d47000 map[1_1_1:0xc002d56d80]})] 2019-02-06 08:53:57.370 UTC [couchdb] BatchUpdateDocuments -> DEBU 177d [mychannel_pta$demo] Entering BatchUpdateDocuments() document ids=[1_1_1] 2019-02-06 08:53:57.370 UTC [couchdb] handleRequest -> DEBU 177e Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.371 UTC [couchdb] handleRequest -> DEBU 177f Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_bulk_docs 2019-02-06 08:53:57.371 UTC [couchdb] handleRequest -> DEBU 1780 HTTP Request: POST /mychannel_pta$demo/_bulk_docs HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 312 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1781 Exiting handleRequest() 2019-02-06 08:53:57.375 UTC [couchdb] BatchUpdateDocuments -> DEBU 1782 [mychannel_pta$demo] HTTP Response: HTTP/1.1 201 Created | Content-Length: 70 | Cache-Control: must-revalidate | Content-Type: application/json | Date: Wed, 06 Feb 2019 08:53:56 GMT | Server: CouchDB/2.2.0 (Erlang OTP/18) | X-Couch-Request-Id: fff767e735 | X-Couchdb-Body-Time: 0 | | 2019-02-06 08:53:57.375 UTC [couchdb] BatchUpdateDocuments -> DEBU 1783 [mychannel_pta$demo] Exiting BatchUpdateDocuments() _bulk_docs response=[[{"ok":true,"id":"1_1_1","rev":"2-c7a1977afbaab2cb062e03cbb7ea18ed"}] 2019-02-06 08:53:57.375 UTC [statecouchdb] executeBatches -> DEBU 1784 Executing batches = [%!s(*statecouchdb.nsFlusher=&{0xc003d47000})] 2019-02-06 08:53:57.375 UTC [couchdb] EnsureFullCommit -> DEBU 1785 [mychannel_pta$demo] Entering EnsureFullCommit() 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1786 Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1787 Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_ensure_full_commit 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1788 HTTP Request: POST /mychannel_pta$demo/_ensure_full_commit HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 0 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.376 UTC [couchdb] handleRequest -> DEBU 1789 Exiting handleRequest() 2019-02-06 08:53:57.376 UTC [couchdb] EnsureFullCommit -> DEBU 178a [mychannel_pta$demo] Exiting EnsureFullCommit() ```

gaijinviki (Thu, 07 Feb 2019 03:59:57 GMT):
@dave.enyeart I do see in the logs that the commit is made, but still nothing in the UI of couchdb1. I can see the data in the UI of couchdb0 only. Here is the log``` 2019-02-06 08:53:57.367 UTC [statecouchdb] executeBatches -> DEBU 1772 Executing batches = [%!s(*statecouchdb.nsCommittersBuilder=&{map[1_1_1:0xc002d569c0] 0xc003d47000 map[] []})] 2019-02-06 08:53:57.367 UTC [statecouchdb] addRevisionsForMissingKeys -> DEBU 1773 Pulling revisions for the [1] keys for namsespace [mychannel_pta$demo] that were not part of the readset 2019-02-06 08:53:57.367 UTC [statecouchdb] executeBatches -> DEBU 1774 Executing batches = [subNsMetadataRetriever:ns=, num keys=1] 2019-02-06 08:53:57.367 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 1775 [mychannel_pta$demo] Entering BatchRetrieveDocumentMetadata() keys=[1_1_1] 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1776 Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1777 Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_all_docs?include_docs=true 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1778 HTTP Request: POST /mychannel_pta$demo/_all_docs?include_docs=true HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 18 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.370 UTC [couchdb] handleRequest -> DEBU 1779 Exiting handleRequest() 2019-02-06 08:53:57.370 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 177a [mychannel_pta$demo] HTTP Response: HTTP/1.1 200 OK | Transfer-Encoding: chunked | Cache-Control: must-revalidate | Content-Type: application/json | Date: Wed, 06 Feb 2019 08:53:56 GMT | Server: CouchDB/2.2.0 (Erlang OTP/18) | X-Couch-Request-Id: c33d00b2bd | X-Couchdb-Body-Time: 0 | | 2019-02-06 08:53:57.370 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 177b [mychannel_pta$demo] Exiting BatchRetrieveDocumentMetadata() 2019-02-06 08:53:57.370 UTC [statecouchdb] executeBatches -> DEBU 177c Executing batches = [%!s(*statecouchdb.subNsCommitter=&{0xc003d47000 map[1_1_1:0xc002d56d80]})] 2019-02-06 08:53:57.370 UTC [couchdb] BatchUpdateDocuments -> DEBU 177d [mychannel_pta$demo] Entering BatchUpdateDocuments() document ids=[1_1_1] 2019-02-06 08:53:57.370 UTC [couchdb] handleRequest -> DEBU 177e Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.371 UTC [couchdb] handleRequest -> DEBU 177f Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_bulk_docs 2019-02-06 08:53:57.371 UTC [couchdb] handleRequest -> DEBU 1780 HTTP Request: POST /mychannel_pta$demo/_bulk_docs HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 312 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1781 Exiting handleRequest() 2019-02-06 08:53:57.375 UTC [couchdb] BatchUpdateDocuments -> DEBU 1782 [mychannel_pta$demo] HTTP Response: HTTP/1.1 201 Created | Content-Length: 70 | Cache-Control: must-revalidate | Content-Type: application/json | Date: Wed, 06 Feb 2019 08:53:56 GMT | Server: CouchDB/2.2.0 (Erlang OTP/18) | X-Couch-Request-Id: fff767e735 | X-Couchdb-Body-Time: 0 | | 2019-02-06 08:53:57.375 UTC [couchdb] BatchUpdateDocuments -> DEBU 1783 [mychannel_pta$demo] Exiting BatchUpdateDocuments() _bulk_docs response=[[{"ok":true,"id":"1_1_1","rev":"2-c7a1977afbaab2cb062e03cbb7ea18ed"}] 2019-02-06 08:53:57.375 UTC [statecouchdb] executeBatches -> DEBU 1784 Executing batches = [%!s(*statecouchdb.nsFlusher=&{0xc003d47000})] 2019-02-06 08:53:57.375 UTC [couchdb] EnsureFullCommit -> DEBU 1785 [mychannel_pta$demo] Entering EnsureFullCommit() 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1786 Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1787 Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_ensure_full_commit 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1788 HTTP Request: POST /mychannel_pta$demo/_ensure_full_commit HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 0 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.376 UTC [couchdb] handleRequest -> DEBU 1789 Exiting handleRequest() 2019-02-06 08:53:57.376 UTC [couchdb] EnsureFullCommit -> DEBU 178a [mychannel_pta$demo] Exiting EnsureFullCommit() ```

gaijinviki (Thu, 07 Feb 2019 03:59:57 GMT):
@dave.enyeart I do see in the logs that the commit is made, but still nothing in the UI of couchdb1. I can see the data in the UI of couchdb0 only. Here is the log for couchdb1``` 2019-02-06 08:53:57.367 UTC [statecouchdb] executeBatches -> DEBU 1772 Executing batches = [%!s(*statecouchdb.nsCommittersBuilder=&{map[1_1_1:0xc002d569c0] 0xc003d47000 map[] []})] 2019-02-06 08:53:57.367 UTC [statecouchdb] addRevisionsForMissingKeys -> DEBU 1773 Pulling revisions for the [1] keys for namsespace [mychannel_pta$demo] that were not part of the readset 2019-02-06 08:53:57.367 UTC [statecouchdb] executeBatches -> DEBU 1774 Executing batches = [subNsMetadataRetriever:ns=, num keys=1] 2019-02-06 08:53:57.367 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 1775 [mychannel_pta$demo] Entering BatchRetrieveDocumentMetadata() keys=[1_1_1] 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1776 Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1777 Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_all_docs?include_docs=true 2019-02-06 08:53:57.367 UTC [couchdb] handleRequest -> DEBU 1778 HTTP Request: POST /mychannel_pta$demo/_all_docs?include_docs=true HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 18 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.370 UTC [couchdb] handleRequest -> DEBU 1779 Exiting handleRequest() 2019-02-06 08:53:57.370 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 177a [mychannel_pta$demo] HTTP Response: HTTP/1.1 200 OK | Transfer-Encoding: chunked | Cache-Control: must-revalidate | Content-Type: application/json | Date: Wed, 06 Feb 2019 08:53:56 GMT | Server: CouchDB/2.2.0 (Erlang OTP/18) | X-Couch-Request-Id: c33d00b2bd | X-Couchdb-Body-Time: 0 | | 2019-02-06 08:53:57.370 UTC [couchdb] BatchRetrieveDocumentMetadata -> DEBU 177b [mychannel_pta$demo] Exiting BatchRetrieveDocumentMetadata() 2019-02-06 08:53:57.370 UTC [statecouchdb] executeBatches -> DEBU 177c Executing batches = [%!s(*statecouchdb.subNsCommitter=&{0xc003d47000 map[1_1_1:0xc002d56d80]})] 2019-02-06 08:53:57.370 UTC [couchdb] BatchUpdateDocuments -> DEBU 177d [mychannel_pta$demo] Entering BatchUpdateDocuments() document ids=[1_1_1] 2019-02-06 08:53:57.370 UTC [couchdb] handleRequest -> DEBU 177e Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.371 UTC [couchdb] handleRequest -> DEBU 177f Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_bulk_docs 2019-02-06 08:53:57.371 UTC [couchdb] handleRequest -> DEBU 1780 HTTP Request: POST /mychannel_pta$demo/_bulk_docs HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 312 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1781 Exiting handleRequest() 2019-02-06 08:53:57.375 UTC [couchdb] BatchUpdateDocuments -> DEBU 1782 [mychannel_pta$demo] HTTP Response: HTTP/1.1 201 Created | Content-Length: 70 | Cache-Control: must-revalidate | Content-Type: application/json | Date: Wed, 06 Feb 2019 08:53:56 GMT | Server: CouchDB/2.2.0 (Erlang OTP/18) | X-Couch-Request-Id: fff767e735 | X-Couchdb-Body-Time: 0 | | 2019-02-06 08:53:57.375 UTC [couchdb] BatchUpdateDocuments -> DEBU 1783 [mychannel_pta$demo] Exiting BatchUpdateDocuments() _bulk_docs response=[[{"ok":true,"id":"1_1_1","rev":"2-c7a1977afbaab2cb062e03cbb7ea18ed"}] 2019-02-06 08:53:57.375 UTC [statecouchdb] executeBatches -> DEBU 1784 Executing batches = [%!s(*statecouchdb.nsFlusher=&{0xc003d47000})] 2019-02-06 08:53:57.375 UTC [couchdb] EnsureFullCommit -> DEBU 1785 [mychannel_pta$demo] Entering EnsureFullCommit() 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1786 Entering handleRequest() method=POST url=http://couchdb1_org1:5984 dbName=mychannel_pta$demo 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1787 Request URL: http://couchdb1_org1:5984/mychannel_pta$demo/_ensure_full_commit 2019-02-06 08:53:57.375 UTC [couchdb] handleRequest -> DEBU 1788 HTTP Request: POST /mychannel_pta$demo/_ensure_full_commit HTTP/1.1 | Host: couchdb1_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 0 | Accept: application/json | Content-Type: application/json | Accept-Encoding: gzip | | 2019-02-06 08:53:57.376 UTC [couchdb] handleRequest -> DEBU 1789 Exiting handleRequest() 2019-02-06 08:53:57.376 UTC [couchdb] EnsureFullCommit -> DEBU 178a [mychannel_pta$demo] Exiting EnsureFullCommit() ```

dave.enyeart (Thu, 07 Feb 2019 07:20:53 GMT):
@gaijinviki The debug says document 1_1_1 got committed to CouchDB. It will be there. Maybe the UI is not pointing to the db that you think it is. Or perhaps there is some glitch in the CouchDB UI...try using curl.

knagware9 (Thu, 07 Feb 2019 10:38:06 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=aAXaA7XqgLf3pJxpY) @dave.enyeart http://localhost:/_utils/#/_all_dbs --check here ,,there will be one database of named as your channel name

knagware9 (Thu, 07 Feb 2019 10:38:43 GMT):
@gaijinviki http://localhost:/_utils/#/_all_dbs --check here ,,there will be one database of named as your channel name

gaijinviki (Thu, 07 Feb 2019 13:56:12 GMT):
@knagware9 there isn't one. Not in `couchdb1` atleast. That is what I am trying to figure out why. `couchdb0` has the database and the records.

gaijinviki (Thu, 07 Feb 2019 13:56:45 GMT):

CouchDB0

gaijinviki (Thu, 07 Feb 2019 13:56:52 GMT):

Couchdb1

plato (Thu, 07 Feb 2019 18:11:02 GMT):
Has joined the channel.

plato (Thu, 07 Feb 2019 18:19:47 GMT):
@dave.enyeart I have 6 orgs and 12 peers and the endorsement policy is to get the signature of each member of each orgs. I'm sending 12 proposal thru all peers and receiving the signature of each and then Ithe sending the transaction and it happen successfully but once I'm checking the state db ( couchdb for all 12 peers there is the db name like my chaincode name but there is not data in any collection but once the endorsmnet policy is for only one org I can see the stat on the specific state db )

plato (Thu, 07 Feb 2019 18:19:47 GMT):
@dave.enyeart I have 6 orgs and 12 peers and the endorsement policy is to get the signature of each member of each orgs. I'm sending 12 proposal thru all peers and receiving the signature of each peers and then I'm sending the transaction thru orderer, result coming back successfully but once I'm checking the state db ( couchdb for all 12 peers there is the db name like my chaincode name but there is not data in any of collection which I expect once the gossip protocol update everybody! in another scenario once I'm changing the endorsement policy to get only one signature for only one org I can see the state updating on the specific state db for that org ) any idea where and what i'm doing wrong ?

dave.enyeart (Thu, 07 Feb 2019 19:08:25 GMT):
@plato First check if peer log has any errors or warnings. If not, then you must enable debug to see what is going on during block commit timeframe:

dave.enyeart (Thu, 07 Feb 2019 19:08:29 GMT):
v1.0 to v1.3: `CORE_LOGGING_GOSSIP=debug CORE_LOGGING_LEVEL=info:transientstore,kvledger,ledgerstorage,pvtdatastorage,gossip/privdata,statecouchdb=debug peer node start` v1.4: `FABRIC_LOGGING_SPEC=info:transientstore,kvledger,ledgerstorage,pvtdatastorage,gossip.privdata,gossip.discovery,statecouchdb=debug peer node start`

dave.enyeart (Thu, 07 Feb 2019 19:08:29 GMT):
v1.0 to v1.3: `CORE_LOGGING_GOSSIP=debug CORE_LOGGING_LEVEL=info:transientstore,kvledger,ledgerstorage,pvtdatastorage,gossip/privdata,statecouchdb=debug peer node start` v1.4: `FABRIC_LOGGING_SPEC=info:transientstore,kvledger,ledgerstorage,pvtdatastorage,gossip.privdata,statecouchdb=debug peer node start`

dave.enyeart (Thu, 07 Feb 2019 19:08:29 GMT):
v1.0 to v1.3: `CORE_LOGGING_GOSSIP=debug CORE_LOGGING_LEVEL=info:transientstore,kvledger,ledgerstorage,pvtdatastorage,gossip/privdata,statecouchdb,couchdb=debug peer node start` v1.4: `FABRIC_LOGGING_SPEC=info:transientstore,kvledger,ledgerstorage,pvtdatastorage,gossip.privdata,statecouchdb,couchdb=debug peer node start`

plato (Thu, 07 Feb 2019 23:16:02 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=H7ZoGjB6A7s5Rbk9Z) @dave.enyeart thanks Dave, I found this issue which some how one org has some and the other one can not reach this, the eeror was this issue and the TLS handshake failed with error remote error: tls: bad certificate {"server": "PeerServer", "remote address":

gaijinviki (Fri, 08 Feb 2019 06:19:12 GMT):
Hello, One of my peers keep crashing with `panic` after a few minutes. When I start it, it runs normally for a while, and then it panics without me doing anything. Here is the stacktrace: ``` ^[[36m2019-02-08 06:11:43.528 UTC [grpc] watcher -> DEBU 105b^[[0m ccResolverWrapper: sending new addresses to cc: [{peer0:8051 0 }] ^[[36m2019-02-08 06:11:43.528 UTC [grpc] switchBalancer -> DEBU 105c^[[0m ClientConn switching balancer to "pick_first" ^[[36m2019-02-08 06:11:43.528 UTC [grpc] HandleSubConnStateChange -> DEBU 105d^[[0m pickfirstBalancer: HandleSubConnStateChange: 0xc002ff0150, CONNECTING fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7efc442e9259] runtime stack: runtime.throw(0x123f0ff, 0x2a) /opt/go/src/runtime/panic.go:608 +0x72 runtime.sigpanic() /opt/go/src/runtime/signal_unix.go:374 +0x2f2 goroutine 1582 [syscall]: runtime.cgocall(0xe1bdc0, 0xc00030ee00, 0x29) /opt/go/src/runtime/cgocall.go:128 +0x5e fp=0xc00030edc8 sp=0xc00030ed90 pc=0x4039ee net._C2func_getaddrinfo(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x0, 0x0, 0x0) _cgo_gotypes.go:92 +0x55 fp=0xc00030ee00 sp=0xc00030edc8 pc=0x615b95 net.cgoLookupIPCNAME.func1(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x1d, 0x1d, 0x40c94f) /opt/go/src/net/cgo_unix.go:149 +0x131 fp=0xc00030ee48 sp=0xc00030ee00 pc=0x61b2b1 net.cgoLookupIPCNAME(0xc0026d7530, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /opt/go/src/net/cgo_unix.go:149 +0x153 fp=0xc00030ef38 sp=0xc00030ee48 pc=0x617153 net.cgoIPLookup(0xc002c15aa0, 0xc0026d7530, 0x1c) /opt/go/src/net/cgo_unix.go:201 +0x4d fp=0xc00030efc8 sp=0xc00030ef38 pc=0x61780d 5004,2-9 78% created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x177 goroutine 7 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xd3 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x40c goroutine 8 [select]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0xe7 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x42e goroutine 9 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:834 +0x331 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x58c ``` Any ideas on how to solve this ?

gaijinviki (Fri, 08 Feb 2019 06:19:12 GMT):
Hello, One of my peers keep crashing with `panic` after a few minutes. When I start it, it runs normally for a while, and then it panics without me doing anything. Here is the stacktrace: ``` ^[[36m2019-02-08 06:11:43.528 UTC [grpc] watcher -> DEBU 105b^[[0m ccResolverWrapper: sending new addresses to cc: [{stg-apaymol401z.stg.jp.local:8051 0 }] ^[[36m2019-02-08 06:11:43.528 UTC [grpc] switchBalancer -> DEBU 105c^[[0m ClientConn switching balancer to "pick_first" ^[[36m2019-02-08 06:11:43.528 UTC [grpc] HandleSubConnStateChange -> DEBU 105d^[[0m pickfirstBalancer: HandleSubConnStateChange: 0xc002ff0150, CONNECTING fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7efc442e9259] runtime stack: runtime.throw(0x123f0ff, 0x2a) /opt/go/src/runtime/panic.go:608 +0x72 runtime.sigpanic() /opt/go/src/runtime/signal_unix.go:374 +0x2f2 goroutine 1582 [syscall]: runtime.cgocall(0xe1bdc0, 0xc00030ee00, 0x29) /opt/go/src/runtime/cgocall.go:128 +0x5e fp=0xc00030edc8 sp=0xc00030ed90 pc=0x4039ee net._C2func_getaddrinfo(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x0, 0x0, 0x0) _cgo_gotypes.go:92 +0x55 fp=0xc00030ee00 sp=0xc00030edc8 pc=0x615b95 net.cgoLookupIPCNAME.func1(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x1d, 0x1d, 0x40c94f) /opt/go/src/net/cgo_unix.go:149 +0x131 fp=0xc00030ee48 sp=0xc00030ee00 pc=0x61b2b1 net.cgoLookupIPCNAME(0xc0026d7530, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /opt/go/src/net/cgo_unix.go:149 +0x153 fp=0xc00030ef38 sp=0xc00030ee48 pc=0x617153 net.cgoIPLookup(0xc002c15aa0, 0xc0026d7530, 0x1c) /opt/go/src/net/cgo_unix.go:201 +0x4d fp=0xc00030efc8 sp=0xc00030ef38 pc=0x61780d 5004,2-9 78% created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x177 goroutine 7 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xd3 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x40c goroutine 8 [select]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0xe7 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x42e goroutine 9 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:834 +0x331 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x58c ```

gaijinviki (Fri, 08 Feb 2019 06:19:12 GMT):
Hello, One of my peers keep crashing with `panic` after a few minutes. When I start it, it runs normally for a while, and then it panics without me doing anything. Here is the stacktrace: ``` ^[[36m2019-02-08 06:11:43.528 UTC [grpc] watcher -> DEBU 105b^[[0m ccResolverWrapper: sending new addresses to cc: [{stg-apaymol401z.stg.jp.local:8051 0 }] ^[[36m2019-02-08 06:11:43.528 UTC [grpc] switchBalancer -> DEBU 105c^[[0m ClientConn switching balancer to "pick_first" ^[[36m2019-02-08 06:11:43.528 UTC [grpc] HandleSubConnStateChange -> DEBU 105d^[[0m pickfirstBalancer: HandleSubConnStateChange: 0xc002ff0150, CONNECTING fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7efc442e9259] runtime stack: runtime.throw(0x123f0ff, 0x2a) /opt/go/src/runtime/panic.go:608 +0x72 runtime.sigpanic() /opt/go/src/runtime/signal_unix.go:374 +0x2f2 goroutine 1582 [syscall]: runtime.cgocall(0xe1bdc0, 0xc00030ee00, 0x29) /opt/go/src/runtime/cgocall.go:128 +0x5e fp=0xc00030edc8 sp=0xc00030ed90 pc=0x4039ee net._C2func_getaddrinfo(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x0, 0x0, 0x0) _cgo_gotypes.go:92 +0x55 fp=0xc00030ee00 sp=0xc00030edc8 pc=0x615b95 net.cgoLookupIPCNAME.func1(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x1d, 0x1d, 0x40c94f) /opt/go/src/net/cgo_unix.go:149 +0x131 fp=0xc00030ee48 sp=0xc00030ee00 pc=0x61b2b1 net.cgoLookupIPCNAME(0xc0026d7530, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /opt/go/src/net/cgo_unix.go:149 +0x153 fp=0xc00030ef38 sp=0xc00030ee48 pc=0x617153 net.cgoIPLookup(0xc002c15aa0, 0xc0026d7530, 0x1c) /opt/go/src/net/cgo_unix.go:201 +0x4d fp=0xc00030efc8 sp=0xc00030ef38 pc=0x61780d 5004,2-9 78% created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x177 goroutine 7 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xd3 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x40c goroutine 8 [select]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0xe7 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x42e goroutine 9 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:834 +0x331 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x58c ```

gaijinviki (Fri, 08 Feb 2019 06:19:12 GMT):
Hello, One of my peers keep crashing with `panic` after a few minutes. When I start it, it runs normally for a while, and then it panics without me doing anything. Here is the stacktrace: ``` ^[[36m2019-02-08 06:11:43.528 UTC [grpc] watcher -> DEBU 105b^[[0m ccResolverWrapper: sending new addresses to cc: [{stg-apaymol401z.stg.jp.local:8051 0 }] ^[[36m2019-02-08 06:11:43.528 UTC [grpc] switchBalancer -> DEBU 105c^[[0m ClientConn switching balancer to "pick_first" ^[[36m2019-02-08 06:11:43.528 UTC [grpc] HandleSubConnStateChange -> DEBU 105d^[[0m pickfirstBalancer: HandleSubConnStateChange: 0xc002ff0150, CONNECTING fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7efc442e9259] runtime stack: runtime.throw(0x123f0ff, 0x2a) /opt/go/src/runtime/panic.go:608 +0x72 runtime.sigpanic() /opt/go/src/runtime/signal_unix.go:374 +0x2f2 goroutine 1582 [syscall]: runtime.cgocall(0xe1bdc0, 0xc00030ee00, 0x29) /opt/go/src/runtime/cgocall.go:128 +0x5e fp=0xc00030edc8 sp=0xc00030ed90 pc=0x4039ee net._C2func_getaddrinfo(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x0, 0x0, 0x0) _cgo_gotypes.go:92 +0x55 fp=0xc00030ee00 sp=0xc00030edc8 pc=0x615b95 net.cgoLookupIPCNAME.func1(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x1d, 0x1d, 0x40c94f) /opt/go/src/net/cgo_unix.go:149 +0x131 fp=0xc00030ee48 sp=0xc00030ee00 pc=0x61b2b1 net.cgoLookupIPCNAME(0xc0026d7530, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /opt/go/src/net/cgo_unix.go:149 +0x153 fp=0xc00030ef38 sp=0xc00030ee48 pc=0x617153 net.cgoIPLookup(0xc002c15aa0, 0xc0026d7530, 0x1c) /opt/go/src/net/cgo_unix.go:201 +0x4d fp=0xc00030efc8 sp=0xc00030ef38 pc=0x61780d 5004,2-9 78% created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x177 goroutine 7 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xd3 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x40c goroutine 8 [select]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0xe7 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x42e goroutine 9 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:834 +0x331 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x58c ``` Any ideas on how to solve this ?

gaijinviki (Fri, 08 Feb 2019 06:19:12 GMT):
Hello, One of my peers keep crashing with `panic` after a few minutes. When I start it, it runs normally for a while, and then it panics without me doing anything. Here is the stacktrace: ``` ^[[36m2019-02-08 06:11:43.528 UTC [grpc] watcher -> DEBU 105b^[[0m ccResolverWrapper: sending new addresses to cc: [{peer0:8051 0 }] ^[[36m2019-02-08 06:11:43.528 UTC [grpc] switchBalancer -> DEBU 105c^[[0m ClientConn switching balancer to "pick_first" ^[[36m2019-02-08 06:11:43.528 UTC [grpc] HandleSubConnStateChange -> DEBU 105d^[[0m pickfirstBalancer: HandleSubConnStateChange: 0xc002ff0150, CONNECTING fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7efc442e9259] runtime stack: runtime.throw(0x123f0ff, 0x2a) /opt/go/src/runtime/panic.go:608 +0x72 runtime.sigpanic() /opt/go/src/runtime/signal_unix.go:374 +0x2f2 goroutine 1582 [syscall]: runtime.cgocall(0xe1bdc0, 0xc00030ee00, 0x29) /opt/go/src/runtime/cgocall.go:128 +0x5e fp=0xc00030edc8 sp=0xc00030ed90 pc=0x4039ee net._C2func_getaddrinfo(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x0, 0x0, 0x0) _cgo_gotypes.go:92 +0x55 fp=0xc00030ee00 sp=0xc00030edc8 pc=0x615b95 net.cgoLookupIPCNAME.func1(0xc00296dd80, 0x0, 0xc002cdc060, 0xc0000be988, 0x1d, 0x1d, 0x40c94f) /opt/go/src/net/cgo_unix.go:149 +0x131 fp=0xc00030ee48 sp=0xc00030ee00 pc=0x61b2b1 net.cgoLookupIPCNAME(0xc0026d7530, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /opt/go/src/net/cgo_unix.go:149 +0x153 fp=0xc00030ef38 sp=0xc00030ee48 pc=0x617153 net.cgoIPLookup(0xc002c15aa0, 0xc0026d7530, 0x1c) /opt/go/src/net/cgo_unix.go:201 +0x4d fp=0xc00030efc8 sp=0xc00030ef38 pc=0x61780d 5004,2-9 78% created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util.NewBufferPool /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/util/buffer_pool.go:237 +0x177 goroutine 7 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:90 +0xd3 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:142 +0x40c goroutine 8 [select]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_state.go:101 +0xe7 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:143 +0x42e goroutine 9 [select, 7 minutes]: github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction(0xc0000c5a00) /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db_compaction.go:834 +0x331 created by github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb.openDB /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/syndtr/goleveldb/leveldb/db.go:149 +0x58c ``` Any ideas on how to solve this ?peer

yacovm (Fri, 08 Feb 2019 07:27:29 GMT):
@gaijinviki set the following environment variable: ` GODEBUG=netdns=go`

chill37 (Tue, 12 Feb 2019 04:44:33 GMT):
ENDORSEMENT policy loading without service discovery. Is it possible to load the endorsement policy layout without the service discovery in fabric JAVA Sdk? I can't seem to find it....if anyone could give me a hint on this, I would greatly appreciate it.

gaijinviki (Tue, 12 Feb 2019 05:19:29 GMT):
Hello, Does anyone know the limit for the maximum number of `transaction proposal requests` that a single endorsing peer can handle `simultaneously`?

gaijinviki (Tue, 12 Feb 2019 05:19:29 GMT):
Hello, Does anyone know the limit for the maximum number of `proposal requests` that a single endorsing peer can handle `simultaneously`?

gaijinviki (Wed, 13 Feb 2019 01:37:36 GMT):
Hello, can someone guide on how can I make my committing peer emit a `Transaction Committed Event` ?

gaijinviki (Wed, 13 Feb 2019 01:37:36 GMT):
Hello, can someone guide on how can I make my committing peer emit a `Transaction Committed Event` ? In my current peer logs, I do not see any `commit event` ``` 2019-02-13 01:08:45.035 UTC [couchdb] handleRequest -> DEBU b73c50 Exiting handleRequest() 2019-02-13 01:08:45.036 UTC [couchdb] ReadDoc -> DEBU b73c51 [mychannel2_] Exiting ReadDoc() 2019-02-13 01:08:45.036 UTC [couchdb] handleRequest -> DEBU b73c52 Entering handleRequest() method=PUT url=http://couchdb0_org1:5984 dbName=mychannel2_ 2019-02-13 01:08:45.036 UTC [couchdb] handleRequest -> DEBU b73c53 Request URL: http://couchdb0_org1:5984/mychannel2_/statedb_savepoint 2019-02-13 01:08:45.036 UTC [couchdb] handleRequest -> DEBU b73c54 HTTP Request: PUT /mychannel2_/statedb_savepoint HTTP/1.1 | Host: couchdb0_org1:5984 | User-Agent: Go-http-client/1.1 | Content-Length: 27 | Accept: application/json | Content-Type: application/json | If-Match: 5590-17e8dfbe42ff7392117c2a1918e9ec57 | Accept-Encoding: gzip | | 2019-02-13 01:08:45.051 UTC [couchdb] handleRequest -> DEBU b73c55 Exiting handleRequest() 2019-02-13 01:08:45.051 UTC [couchdb] WarmIndexAllIndexes -> DEBU b73c56 [mychannel2_pta$demo2] Exiting WarmIndexAllIndexes() 2019-02-13 01:08:45.059 UTC [couchdb] handleRequest -> DEBU b73c57 Exiting handleRequest() 2019-02-13 01:08:45.060 UTC [couchdb] SaveDoc -> DEBU b73c58 [mychannel2_] Exiting SaveDoc() 2019-02-13 01:08:45.060 UTC [statecouchdb] ClearCachedVersions -> DEBU b73c59 Clear Cache 2019-02-13 01:08:45.060 UTC [lockbasedtxmgr] Commit -> DEBU b73c5a Updates committed to state database and the write lock is released 2019-02-13 01:08:45.060 UTC [pvtstatepurgemgmt] prepareWorkingsetFor -> DEBU b73c5b Preparing potential purge list working-set for expiringAtBlk [5591] 2019-02-13 01:08:45.060 UTC [leveldbhelper] GetIterator -> DEBU b73c5c Getting iterator for range [[]byte{0x6d, 0x79, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0x2f, 0x30, 0x0, 0x31, 0x2, 0x15, 0xd7, 0x0}] - [[]byte{0x6d, 0x79, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0x2f, 0x30, 0x0, 0x31, 0x2, 0x15, 0xd8, 0x0}] 2019-02-13 01:08:45.060 UTC [lockbasedtxmgr] func1 -> DEBU b73c5d launched the background routine for preparing keys to purge with the next block 2019-02-13 01:08:45.060 UTC [statecouchdb] executeBatches -> DEBU b73c5e Executing batches = [] 2019-02-13 01:08:45.060 UTC [statecouchdb] LoadCommittedVersions -> DEBU b73c5f nsKeysMap=map[] 2019-02-13 01:08:45.060 UTC [statecouchdb] LoadCommittedVersions -> DEBU b73c60 nsMetadataMap=map[] 2019-02-13 01:08:45.060 UTC [kvledger] CommitWithPvtData -> DEBU b73c61 [mychannel2] Committing block [5590] transactions to history database 2019-02-13 01:08:45.060 UTC [pvtstatepurgemgmt] prepareWorkingsetFor -> DEBU b73c62 No expiry entry found for expiringAtBlk [5591] 2019-02-13 01:08:45.060 UTC [historyleveldb] Commit -> DEBU b73c63 Channel [mychannel2]: Updating history database for blockNo [5590] with [7] transactions 2019-02-13 01:08:45.062 UTC [historyleveldb] Commit -> DEBU b73c64 Channel [mychannel2]: Updates committed to history database for blockNo [5590] 2019-02-13 01:08:45.062 UTC [kvledger] CommitWithPvtData -> INFO b73c65 [mychannel2] Committed block [5590] with 7 transaction(s) in 131ms (state_validation=29ms block_commit=9ms state_commit=90ms) 2019-02-13 01:08:45.180 UTC [peer.gossip.mcs] VerifyByChannel -> DEBU b73c66 Got policy manager for channel [mychannel2] with flag [true] 2019-02-13 01:08:45.180 UTC [peer.gossip.mcs] VerifyByChannel -> DEBU b73c67 Got reader policy for channel [mychannel2] with flag [true] 2019-02-13 01:08:45.180 UTC [policies] Evaluate -> DEBU b73c68 == Evaluating *policies.implicitMetaPolicy Policy /Channel/Application/Readers == 2019-02-13 01:08:45.180 UTC [policies] Evaluate -> DEBU b73c69 This is an implicit meta policy, it will trigger other policy evaluations, whose failures may be benign ```

vtech (Wed, 13 Feb 2019 04:41:56 GMT):
Has joined the channel.

JayJong (Wed, 13 Feb 2019 11:05:56 GMT):
Has joined the channel.

chuda (Wed, 13 Feb 2019 11:50:24 GMT):
while using ./startFabric.sh script peer container exited at the time of channel creation,any one check this

gravity (Tue, 19 Feb 2019 21:29:39 GMT):
Hello. How to handle the situation when the enrollment certificates for peers are expired? can I issue the reenroll request for peers from an application and expect that peer's enrollment cert will be renewed? are there any recommended practices how to handle this? thanks in advance

aleksandar.nasuovski (Tue, 26 Feb 2019 14:54:26 GMT):
Has joined the channel.

bibek54 (Wed, 27 Feb 2019 04:09:03 GMT):
Has joined the channel.

aatkddny (Wed, 27 Feb 2019 16:52:20 GMT):
This may not be the right place, but it at least says peer... Is there a way to tell what's causing this? `2019-02-27 14:23:51.231 UTC [eventhub_producer] Chat -> ERRO 136 error during Chat, stopping handler: rpc error: code = Canceled desc = context canceled `

aatkddny (Wed, 27 Feb 2019 16:52:20 GMT):
This may not be the right place, but it at least says peer... Is there a way to tell what's causing this? `2019-02-27 14:23:51.231 UTC [eventhub_producer] Chat -> ERRO 136 error during Chat, stopping handler: rpc error: code = Canceled desc = context canceled`

jeffgarratt (Fri, 01 Mar 2019 01:11:14 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7z22XnEMSJKjxHPa8) @aatkddny that is an eventHub client disconnecting, and the peer is denoting this process.

jeffgarratt (Fri, 01 Mar 2019 01:11:14 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7z22XnEMSJKjxHPa8) @aatkddny that is an eventHub client disconnecting without properly closing the channel (or at least not waiting long enough for this process to complete), and the peer is denoting this process.

jeffgarratt (Fri, 01 Mar 2019 01:11:14 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=7z22XnEMSJKjxHPa8) @aatkddny that is an eventHub client disconnecting without properly closing the stream (or at least not waiting long enough for this process to complete), and the peer is denoting this process

duwenhui (Fri, 01 Mar 2019 08:55:31 GMT):
Has joined the channel.

duwenhui (Fri, 01 Mar 2019 08:59:05 GMT):
At present, there is a need to design an Org, and specify the Org peer to implement a special endorsement function, such as the deduction in the billing function in the process of endorsement, and the deduction information need to be on the chain. I know that the fabric supports the plugin way to modify the endorsement smart contract. Can fabric support and achieve such a function?

qizhang (Mon, 04 Mar 2019 23:05:47 GMT):
I am trying to build a fabric-peer that uses Golang1.11.1, by the following two approaches: 1. replace the Go in `hyperledger/fabric-baseimage:s390x-0.4.14` with Go 1.11.1, commit such change to a new fabric-baseimage, then build the fabric-peer using the updated fabric-baseimage 2. change the command in fabric-baseimage/scripts/common/setup.sh to use Go 1.11.1, rebuild the fabric-baseimage, and then build the fabric-peer using the updated fabric-baseimage. However, when running the experiments, both approaches ended up with the same same error: From the chaincode container: ```2019-03-04 22:32:32.451 UTC [ccperf] Info -> INFO 001 CCPerf chaincode started 2019-03-04 22:32:32.635 UTC [shim] chatWithPeer -> ERRO 002 Received error from server, ending chaincode stream: rpc error: code = Unavailable desc = transport is closing receive failed github.com/hyperledger/fabric/core/chaincode/shim.chatWithPeer /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:364 github.com/hyperledger/fabric/core/chaincode/shim.Start /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:158 main.main /chaincode/input/src/ccperf/ccperf.go:399 runtime.main /opt/go/src/runtime/proc.go:201 runtime.goexit /opt/go/src/runtime/asm_s390x.s:782 2019-03-04 22:32:32.635 UTC [ccperf] Errorf -> ERRO 003 Failed to start chaincode: receive failed: rpc error: code = Unavailable desc = transport is closing 2019-03-04 22:32:32.636 UTC [ccperf] Info -> INFO 004 CCPerf chaincode finished``` from the peer container: ```^[[34m2019-03-04 22:32:20.669 UTC [endorser] callChaincode -> INFO 414^[[0m [mychannel1][76476fb5] Exit chaincode: name:"ccperf" (30000ms) ^[[31m2019-03-04 22:32:20.669 UTC [endorser] SimulateProposal -> ERRO 415^[[0m [mychannel1][76476fb5] failed to invoke chaincode name:"ccperf" , error: timeout expired while executing transaction```

braduf (Tue, 05 Mar 2019 00:06:49 GMT):
Has joined the channel.

qizhang (Wed, 06 Mar 2019 21:00:19 GMT):
can peers from the same organization join different channels?

yacovm (Wed, 06 Mar 2019 21:01:44 GMT):
yes

qizhang (Wed, 06 Mar 2019 21:04:07 GMT):
@yacovm thanks! I got the following error when invoking a chaincode, what could be the cause? `Error: error endorsing chaincode: rpc error: code = Unknown desc = access denied: channel [mychannel2] creator org [PeerOrg1]`

yacovm (Wed, 06 Mar 2019 21:06:17 GMT):
look at the peer log

braduf (Thu, 07 Mar 2019 15:18:54 GMT):
Hi all, I am using the fabric-cli to create a channel. I have the create channel transaction, and in the CORE_PEER_MSPCONFIGPATH variable on the cli host I point to the msp of a network admin (included in the admincerts of an organization included in the system channel). The error that I get is ``` Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating DeltaSet: policy for [Group] /Channel/Application not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining ```

braduf (Thu, 07 Mar 2019 15:18:54 GMT):
Hi all, I am using the fabric-cli to create a channel. I have the create channel transaction, and in the CORE_PEER_MSPCONFIGPATH variable on the cli host I point to the msp of a network admin (included in the admincerts of an organization included in the system channel). The error that I get is ``` Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating DeltaSet: policy for [Group] /Channel/Application not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining ``` Should I point to the msp of an admin of the peer the cli is pointing to instead of a network admin? Or what is the exact policy that I am not satisfying? Thanks in advance!

braduf (Thu, 07 Mar 2019 15:39:49 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=paGAsmiXphSBsQ359) @jyellick , I read an answer from you on a similar problem: "This error indicates that the certificate you are signing with was not appropriately issued by any of the CAs that the orderer is aware of. Did you set the CORE_PEER_MSPCONFIGPATH to point to an orderer certificate before executing the fetch command? For example, in the first-network example, you can see it is set to: CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/users/Admin@.../msp" What exactly do you mean with an orderer certificate? The signcert of an orderer node, or one of the admincerts of the orderer's msp, or one of the admincerts from the organization's MSPs in the system channel genesis block?

braduf (Thu, 07 Mar 2019 19:05:55 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=GzrSEhC8hM6xqsahY) Could it be because in the profile for the system channel genesis block, we included an application section? Should we remove this?

jyellick (Thu, 07 Mar 2019 20:06:21 GMT):
@braduf We discourage including an application section in the orderer system channel. It sounds like your config update is attempting to modify that section without the appropriate signatures.

braduf (Thu, 07 Mar 2019 20:15:11 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZE3uSF8TWmNjNkX7A) @jyellick Thanks @jyellick , we removed the application section in the orderer system now and it still gave the same error. Are we using the wrong msp on the CLI? We are using the msp of an identity that is included in the admincerts of our org and so that is known in the genesisblock...

braduf (Thu, 07 Mar 2019 20:15:11 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ZE3uSF8TWmNjNkX7A) @jyellick Thanks @jyellick , we removed the application section in the orderer system now and it still gave the same error. Are we using the wrong msp on the CLI? We are using the msp of an identity that is included in the admincerts of our org and so that is known in the genesisblock... In the byfn sample they use one and the same Admin identity for all admincerts and also as the CORE_PEER_MSPCONFIGPATH on the CLI. We have different identities as admincerts on the localMSPs of the orderer and peer, is that a problem? (so we have 3 identities in the admincerts for our MSP of the system channel, and then we have another peeradmin and ordereradmin in the admincerts of the localMSPs of the peer and orderer respectively). Another possible reason I am thinking about is if it has something to do with MAJORITY Admins policies, while we are just trying to create the channel with one admin...could it be that?

braduf (Thu, 07 Mar 2019 20:49:23 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ACJaQfqQpARLEf54r) We changed MAJORITY Admins to ANY Admins in all the policies just to check if the problem was there, but still gives the same error about sub-policies that were not satisfied. So removing application section and changing MAJORITY for ANY didn't work

stephenman (Fri, 08 Mar 2019 11:19:58 GMT):
Has joined the channel.

stephenman (Fri, 08 Mar 2019 11:31:32 GMT):
Hi all, I'm starting up my fabric blockchain network components for the example "first-network" one by one, I can startup orderer, however, my peer0-org1-example-com cannot start and have errors as below. is there anyone got the idea? Thanks! 2019-03-08 11:24:03.274 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 00b Exit with ccEndpoint: peer0-org1-example-com:7052 2019-03-08 11:24:03.274 UTC [nodeCmd] createChaincodeServer -> WARN 00c peer.chaincodeListenAddress is not set, using peer0-org1-example-com:7052 2019-03-08 11:24:03.282 UTC [nodeCmd] createChaincodeServer -> ERRO 00d Error creating GRPC server: listen tcp: lookup peer0-org1-example-com on 172.30.0.2:53: server misbehaving 2019-03-08 11:24:03.282 UTC [nodeCmd] startChaincodeServer -> PANI 00e Failed to create chaincode server: listen tcp: lookup peer0-org1-example-com on 172.30.0.2:53: server misbehaving panic: Failed to create chaincode server: listen tcp: lookup peer0-org1-example-com on 172.30.0.2:53: server misbehaving

chill37 (Mon, 11 Mar 2019 11:49:17 GMT):
When instantiating with POLICY, what's the difference between Org1.Member, Org1.Client, Org1.Peer? I've read the document, but it doesn't say much other than the name itself? Could anyone clarify? Thx!

chill37 (Mon, 11 Mar 2019 12:02:57 GMT):
I just tried example of First-Network with OR(Org1.Member, Org2.Member) and it said invalid policy. same with Org1.Client

jyellick (Mon, 11 Mar 2019 15:56:30 GMT):
@chill37 Try lower case, like `Org1.member`

jyellick (Mon, 11 Mar 2019 15:56:30 GMT):
@chill37 Try lower case, like `Org1.member` (an example would be `"OR('SampleOrg.member')"`

jyellick (Mon, 11 Mar 2019 15:56:30 GMT):
@chill37 Try lower case, like `Org1.member` (an example would be `"OR('SampleOrg.member')"` )

chill37 (Tue, 12 Mar 2019 01:15:49 GMT):
@jyellick Thanks Jason. It worked! I don't even know why I tried it with Uppercase in first place. lol

KyunghoKim (Tue, 12 Mar 2019 03:10:16 GMT):
Has joined the channel.

Pradeep_Pentakota (Tue, 12 Mar 2019 12:42:47 GMT):
Has joined the channel.

gravity (Tue, 12 Mar 2019 13:05:41 GMT):
hi all is it possible to tamper peer's state db if state db is a LevelDB? thanks in advance

gaijinviki (Wed, 13 Mar 2019 00:35:06 GMT):
Hello all, I am running a hyperledger network with 3 peer nodes and 2 kafka based orderers. All components are running on separate VMs, connected by a docker swarm network. I am doing a test to put data into the hyperledger network via `Hyperledger Java SDK`. The test is putting about `10 million records` at `500TPS`, so it is a long running test (about 5-6 hours). After a few hours of the test running, my `anchor peer` panics and crashes. Here is the error log: ``` panic: error during commit to txmgr: error reading response body: invalid byte in chunk length goroutine 13188777 [running]: github.com/hyperledger/fabric/core/ledger/kvledger.(*kvLedger).CommitWithPvtData(0xc003502ba0, 0xc00e534980, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger.go:320 +0xac7 github.com/hyperledger/fabric/core/committer.(*LedgerCommitter).CommitWithPvtData(0xc0039e1060, 0xc00e534980, 0xc01287bd78, 0x2ad) /opt/gopath/src/github.com/hyperledger/fabric/core/committer/committer_impl.go:93 +0x6b github.com/hyperledger/fabric/gossip/privdata.(*coordinator).StoreBlock(0xc001d818c0, 0xc00661ac00, 0x0, 0x0, 0x0, 0xc01287beb0, 0x793230) /opt/gopath/src/github.com/hyperledger/fabric/gossip/privdata/coordinator.go:233 +0x114a github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock(0xc003ada400, 0xc00661ac00, 0x0, 0x0, 0x0, 0x3, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:771 +0x6c github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads(0xc003ada400) /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:558 +0x3d5 created by github.com/hyperledger/fabric/gossip/state.NewGossipStateProvider /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:239 +0x62e ``` Can someone please help to determine what could be the issue? P.S. - I am running v1.4.0.

gaijinviki (Wed, 13 Mar 2019 00:35:06 GMT):
Hello all, I am running a hyperledger network with 3 peer nodes and 2 kafka based orderers. All components are running on separate VMs, connected by a docker swarm network. I am doing a test to put data into the hyperledger network via `Hyperledger Java SDK`. The test is putting about `10 million records` at `500TPS`, so it is a long running test (about 5-6 hours). After a few hours of the test running, my `anchor peer` panics and crashes. Here is the error log: ``` panic: error during commit to txmgr: error reading response body: invalid byte in chunk length goroutine 13188777 [running]: github.com/hyperledger/fabric/core/ledger/kvledger.(*kvLedger).CommitWithPvtData(0xc003502ba0, 0xc00e534980, 0x0, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger.go:320 +0xac7 github.com/hyperledger/fabric/core/committer.(*LedgerCommitter).CommitWithPvtData(0xc0039e1060, 0xc00e534980, 0xc01287bd78, 0x2ad) /opt/gopath/src/github.com/hyperledger/fabric/core/committer/committer_impl.go:93 +0x6b github.com/hyperledger/fabric/gossip/privdata.(*coordinator).StoreBlock(0xc001d818c0, 0xc00661ac00, 0x0, 0x0, 0x0, 0xc01287beb0, 0x793230) /opt/gopath/src/github.com/hyperledger/fabric/gossip/privdata/coordinator.go:233 +0x114a github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock(0xc003ada400, 0xc00661ac00, 0x0, 0x0, 0x0, 0x3, 0x0) /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:771 +0x6c github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads(0xc003ada400) /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:558 +0x3d5 created by github.com/hyperledger/fabric/gossip/state.NewGossipStateProvider /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:239 +0x62e ``` Can someone please help to determine what could be the issue?

yacovm (Wed, 13 Mar 2019 00:37:04 GMT):
@dave.enyeart @manish-sethi ^

manish-sethi (Wed, 13 Mar 2019 02:01:58 GMT):
@gaijinviki - this appears to be caused by a commiunication problem during commit between peer and couchdb

dave.enyeart (Wed, 13 Mar 2019 02:10:46 GMT):
@gaijinviki If peer can't commit to the database it can't proceed with block processing and has no choice but to panic and hope an administrator or a restart can fix it. Is there anything in the couchdb log around that time?

gaijinviki (Wed, 13 Mar 2019 02:12:00 GMT):
@dave.enyeart Thanks for the info, let me check the couchdb log

gaijinviki (Wed, 13 Mar 2019 03:46:18 GMT):
@dave.enyeart , I found some error logs in couchdb ``` {"log":"[info] 2019-03-12T18:25:19.926585Z nonode@nohost \u003c0.3329.5260\u003e -------- Starting index update for db: shards/20000000-3fffffff/mychannel2_pta$demo2.1551854584 idx: _design/indexCompkeyDoc\n","stream":"stderr","time":"2019-03-12T18:25:19.927619212Z"} {"log":"[error] 2019-03-12T18:25:29.889194Z nonode@nohost \u003c0.2895.7310\u003e b1380371dd req_err(1114665363) badmatch : timeout\n","stream":"stderr","time":"2019-03-12T18:25:57.297092859Z"} {"log":" [\u003c\u003c\"fabric_view_all_docs:go/5 L107\"\u003e\u003e,\u003c\u003c\"chttpd_db:all_docs_view/4 L690\"\u003e\u003e,\u003c\u003c\"chttpd:handle_req_after_auth/2 L317\"\u003e\u003e,\u003c\u003c\"chttpd:process_request/1 L300\"\u003e\u003e,\u003c\u003c\"chttpd:handle_request_int/1 L240\"\u003e\u003e,\u003c\u003c\"mochiweb_http:headers/6 L124\"\u003e\u003e,\u003c\u003c\"proc_lib:init_p_do_apply/3 L240\"\u003e\u003e]\n","stream":"stderr","time":"2019-03-12T18:25:57.297136914Z"} {"log":"[notice] 2019-03-12T18:25:29.889626Z nonode@nohost \u003c0.2895.7310\u003e b1380371dd couchdb0_org1:5984 10.0.0.11 undefined POST /mychannel_pta$demo/_all_docs?include_docs=true 500 ok 10041\n","stream":"stderr","time":"2019-03-12T18:25:57.297156819Z"} {"log":"[notice] 2019-03-12T18:25:57.416695Z nonode@nohost \u003c0.31100.7311\u003e a1331dd791 couchdb0_org1:5984 10.0.0.11 undefined PUT /mychannel2_/statedb_savepoint 201 ok 37490\n","stream":"stderr","time":"2019-03-12T18:25:57.418367552Z"} {"log":"[info] 2019-03-12T18:25:57.447407Z nonode@nohost \u003c0.7328.5260\u003e -------- Index update finished for db: shards/60000000-7fffffff/mychannel2_pta$demo2.1551854584 idx: _design/indexCompkeyDoc\n","stream":"stderr","time":"2019-03-12T18:25:57.447874185Z"} ```

chill37 (Wed, 13 Mar 2019 05:43:04 GMT):
Hi, In Endorsement Policy, I see that there are more classification than the basic MSP Role. is there an example where it uses ORGANIZATION UNIT or IDENTITY/ANONYMITY instead of MSPROLE for MSP Classification? I would like to know how to approach the data

iamdm (Wed, 13 Mar 2019 10:25:52 GMT):
Hi, is it possible to start peer without tls, but it must communicate with orderer with tls?

gravity (Fri, 15 Mar 2019 09:51:16 GMT):
Hi all I have a question regarding endorsement policies for example, if a chaincode has a policy like `AND("Org1.peer", "Org2.peer")`, but Org2 has no endorser peers (all peers from Org2 in this channel have no installed chaincodes). would this policy work? thanks in advance

knagware9 (Fri, 15 Mar 2019 13:10:25 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=PrYpAbepvMscu5xgn) @gravity no , It wont work, chaincode should be installed on endorser peer

ChaviArora (Mon, 18 Mar 2019 10:14:15 GMT):
Has joined the channel.

adamhardie (Wed, 20 Mar 2019 10:32:38 GMT):
hey, I have a stable network running ontop of kafka. We have 2 orderers, 1 channel, 1 anchor peer and 1 chaincode deployed

adamhardie (Wed, 20 Mar 2019 10:33:03 GMT):
Before switching to kafka and multiple orderers, we had barely any latency

adamhardie (Wed, 20 Mar 2019 10:33:39 GMT):
However, now the same transactions can take up to 1 hour for some applications to receive a newly created block from the channel

adamhardie (Wed, 20 Mar 2019 10:34:16 GMT):
I cant really see much in the way of logging, but have confirmed there is 1 hour wait in some cases between the SDK commit and the receipt of the block on the channel

adamhardie (Wed, 20 Mar 2019 10:34:40 GMT):
can you suggest the best way to debug this? the orderer logs do not give much information..

adamhardie (Wed, 20 Mar 2019 13:56:37 GMT):
it appears that one application on the channel receives the block, and the others dont

adamhardie (Wed, 20 Mar 2019 13:56:49 GMT):
receives the block immediately *

aatkddny (Wed, 20 Mar 2019 15:39:14 GMT):
So I'm trying to install chaincode. Not something new - but the error is. ``` 2019-03-20 15:22:54.435 UTC [endorser] SimulateProposal -> ERRO 3bf [][6d64d4ab] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:179 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction 6d64d4ab82809dc6afe5d9932de2e15b59762e47d971dd52a1bb7e6786a26278 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 ``` It looks like it's working on 3 of 6 peers but failing on the other 3. Logs give the above from the peer, orderers and kafkas don't show anything. Anyone know why it's started doing this off the top of their head?

aatkddny (Wed, 20 Mar 2019 15:39:14 GMT):
So I'm trying to install chaincode. Not something new - but the error is. ``` 2019-03-20 15:22:54.435 UTC [endorser] SimulateProposal -> ERRO 3bf [][6d64d4ab] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:179 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction 6d64d4ab82809dc6afe5d9932de2e15b59762e47d971dd52a1bb7e6786a26278 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 ``` It looks like it's working on 3 of 6 peers but failing on the other 3. Logs give the above from the peer, orderers and kafkas don't show anything. Anyone know why it's started doing this off the top of their head?

aatkddny (Wed, 20 Mar 2019 15:39:14 GMT):
So I'm trying to install chaincode. Not something new - but the error is. ``` 2019-03-20 15:22:54.435 UTC [endorser] SimulateProposal -> ERRO 3bf [][6d64d4ab] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:179 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction 6d64d4ab82809dc6afe5d9932de2e15b59762e47d971dd52a1bb7e6786a26278 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 ``` It looks like it's working on 3 of 6 peers but failing on the other 3. Logs give the above from the peer, orderers and kafkas don't show anything. Anyone know why it's started doing this off the top of their head?

aatkddny (Wed, 20 Mar 2019 15:41:56 GMT):
My logs look like this: ``` 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Chaincode will be installed from /opt/blockchain/chaincode-install/sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : Copying /opt/blockchain/chaincode-install/sacc to src/sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : sacc/sacc.go 2019-03-20 11:37:09.085 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : Copying /opt/blockchain/chaincode-install/sacc/sacc.go to src/sacc/sacc.go 2019-03-20 11:37:09.089 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : 84374 bytes copied 2019-03-20 11:37:09.090 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Checking installed chaincode: sacc, at version: 3.1, on peer: peer1-org1 2019-03-20 11:37:09.110 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Checking installed chaincode: sacc, at version: 3.1, on peer: peer0-org1 2019-03-20 11:37:09.130 INFO 28904 --- [nio-8095-exec-5] o.h.f.s.t.InstallProposalBuilder : Installing 'sacc::sacc::3.1' Go chaincode chaincodePath:'sacc' from input stream 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536 from peer peer0-org2 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536 from peer peer1-org2 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response 16bb8d90f44607a9209b6a4a06a54940c11840dd6bff015d00fad284f1a578a1 from peer peer0-org3 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 16bb8d90f44607a9209b6a4a06a54940c11840dd6bff015d00fad284f1a578a1 from peer peer1-org3 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response a387afbd685a0a8fd747ba689d687717a29643ac48e4be71235e326370b2e07e from peer peer1-org1 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response a387afbd685a0a8fd747ba689d687717a29643ac48e4be71235e326370b2e07e from peer peer0-org1 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Transmitted 6 install proposals. Received 6 responses. Successful+verified: 3 . Failed: 3 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed chaincode install: failed to execute transaction 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536: error sending: timeout expired while executing transaction 2019-03-20 11:37:12.530 DEBUG 28904 --- [nio-8095-exec-5] o.s.b.w.s.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@fa1641a ```

aatkddny (Wed, 20 Mar 2019 15:41:56 GMT):
My logs look like this: ``` 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Chaincode will be installed from /opt/blockchain/chaincode-install/sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : Copying /opt/blockchain/chaincode-install/sacc to src/sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : sacc/sacc.go 2019-03-20 11:37:09.085 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : Copying /opt/blockchain/chaincode-install/sacc/sacc.go to src/sacc/sacc.go 2019-03-20 11:37:09.089 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : 84374 bytes copied 2019-03-20 11:37:09.090 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Checking installed chaincode: sacc, at version: 3.1, on peer: peer1-org1 2019-03-20 11:37:09.110 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Checking installed chaincode: sacc, at version: 3.1, on peer: peer0-org1 2019-03-20 11:37:09.130 INFO 28904 --- [nio-8095-exec-5] o.h.f.s.t.InstallProposalBuilder : Installing 'sacc::sacc::3.1' Go chaincode chaincodePath:'sacc' from input stream 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536 from peer peer0-org2 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536 from peer peer1-org2 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response 16bb8d90f44607a9209b6a4a06a54940c11840dd6bff015d00fad284f1a578a1 from peer peer0-org3 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 16bb8d90f44607a9209b6a4a06a54940c11840dd6bff015d00fad284f1a578a1 from peer peer1-org3 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response a387afbd685a0a8fd747ba689d687717a29643ac48e4be71235e326370b2e07e from peer peer1-org1 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response a387afbd685a0a8fd747ba689d687717a29643ac48e4be71235e326370b2e07e from peer peer0-org1 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Transmitted 6 install proposals. Received 6 responses. Successful+verified: 3 . Failed: 3 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed chaincode install: failed to execute transaction 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536: error sending: timeout expired while executing transaction 2019-03-20 11:37:12.530 DEBUG 28904 --- [nio-8095-exec-5] o.s.b.w.s.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@fa1641a ```

aatkddny (Wed, 20 Mar 2019 15:41:56 GMT):
Timeouts in the SDK are set crazy high so I don't think it's that, but my logs look like this: ``` 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Chaincode will be installed from /opt/blockchain/chaincode-install/sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : Copying /opt/blockchain/chaincode-install/sacc to src/sacc 2019-03-20 11:37:09.084 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : sacc/sacc.go 2019-03-20 11:37:09.085 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : Copying /opt/blockchain/chaincode-install/sacc/sacc.go to src/sacc/sacc.go 2019-03-20 11:37:09.089 INFO 28904 --- [nio-8095-exec-5] com.mo.fabric.utils.Util : 84374 bytes copied 2019-03-20 11:37:09.090 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Checking installed chaincode: sacc, at version: 3.1, on peer: peer1-org1 2019-03-20 11:37:09.110 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Checking installed chaincode: sacc, at version: 3.1, on peer: peer0-org1 2019-03-20 11:37:09.130 INFO 28904 --- [nio-8095-exec-5] o.h.f.s.t.InstallProposalBuilder : Installing 'sacc::sacc::3.1' Go chaincode chaincodePath:'sacc' from input stream 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536 from peer peer0-org2 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536 from peer peer1-org2 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response 16bb8d90f44607a9209b6a4a06a54940c11840dd6bff015d00fad284f1a578a1 from peer peer0-org3 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed install proposal response 16bb8d90f44607a9209b6a4a06a54940c11840dd6bff015d00fad284f1a578a1 from peer peer1-org3 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response a387afbd685a0a8fd747ba689d687717a29643ac48e4be71235e326370b2e07e from peer peer1-org1 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Successful install proposal response a387afbd685a0a8fd747ba689d687717a29643ac48e4be71235e326370b2e07e from peer peer0-org1 2019-03-20 11:37:09.221 INFO 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Transmitted 6 install proposals. Received 6 responses. Successful+verified: 3 . Failed: 3 2019-03-20 11:37:09.221 ERROR 28904 --- [nio-8095-exec-5] c.m.f.e.p.chaincode.ChaincodeProcessor : Failed chaincode install: failed to execute transaction 4031aa55740c7067965823ba769c33e64d40fdf5b4d21d2cb5e198ea6f7ed536: error sending: timeout expired while executing transaction 2019-03-20 11:37:12.530 DEBUG 28904 --- [nio-8095-exec-5] o.s.b.w.s.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@fa1641a ```

aatkddny (Thu, 21 Mar 2019 13:15:59 GMT):
Is there a way to up this timeout? ``` 2019-03-21 13:13:19.188 UTC [endorser] callChaincode -> DEBU ff0 [][c53bf5bdbd7827c0923c952f6491d4b9d2c18d9ead197640b80b1a110170d891] Exit 2019-03-21 13:13:19.188 UTC [endorser] SimulateProposal -> ERRO ff1 [][c53bf5bd] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:179 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction c53bf5bdbd7827c0923c952f6491d4b9d2c18d9ead197640b80b1a110170d891 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 2019-03-21 13:13:19.189 UTC [endorser] SimulateProposal -> DEBU ff2 [][c53bf5bd] Exit ```

aatkddny (Thu, 21 Mar 2019 13:15:59 GMT):
Is there a way to up this timeout? Every time it happens my peers go TU and I have to restart them. It's proving troublesome... ``` 2019-03-21 13:13:19.188 UTC [endorser] callChaincode -> DEBU ff0 [][c53bf5bdbd7827c0923c952f6491d4b9d2c18d9ead197640b80b1a110170d891] Exit 2019-03-21 13:13:19.188 UTC [endorser] SimulateProposal -> ERRO ff1 [][c53bf5bd] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:179 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction c53bf5bdbd7827c0923c952f6491d4b9d2c18d9ead197640b80b1a110170d891 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 2019-03-21 13:13:19.189 UTC [endorser] SimulateProposal -> DEBU ff2 [][c53bf5bd] Exit ```

aatkddny (Thu, 21 Mar 2019 13:15:59 GMT):
Is there a way to up this timeout? Or better - have this code fixed to retry. Every time it happens my peers go TU and I have to restart them. It's proving troublesome... ``` 2019-03-21 13:13:19.188 UTC [endorser] SimulateProposal -> ERRO ff1 [][c53bf5bd] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:179 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction c53bf5bdbd7827c0923c952f6491d4b9d2c18d9ead197640b80b1a110170d891 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:287 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:501 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:31 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 2019-03-21 13:13:19.189 UTC [endorser] SimulateProposal -> DEBU ff2 [][c53bf5bd] Exit ```

aatkddny (Thu, 21 Mar 2019 13:15:59 GMT):
Is there a way to up this timeout? Or better - have this code fixed to retry. Every time it happens my peers go TU and I have to restart them. It's proving troublesome... ``` 2019-03-21 13:13:19.188 UTC [endorser] SimulateProposal -> ERRO ff1 [][c53bf5bd] failed to invoke chaincode name:"lscc" , error: timeout expired while executing transaction github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:919 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:253 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 *blah blah blah* github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 error sending failed to execute transaction c53bf5bdbd7827c0923c952f6491d4b9d2c18d9ead197640b80b1a110170d891 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:181 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:141 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:136 *blah blah blah* /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:112 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:923 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1148 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:637 runtime.goexit /opt/go/src/runtime/asm_amd64.s:2361 2019-03-21 13:13:19.189 UTC [endorser] SimulateProposal -> DEBU ff2 [][c53bf5bd] Exit ``` Happens when installing chaincode if that helps.

muralisr (Fri, 22 Mar 2019 14:22:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-maintainers?msg=wpRRsyMqBAXHWTKq8) I found in the docs, and was told about `FABRIC_LOGGING_SPEC` which I used as `export FABRIC_LOGGING_SPEC=FATAL` to get some peace and quiet.

muralisr (Fri, 22 Mar 2019 14:22:19 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-maintainers?msg=wpRRsyMqBAXHWTKq8) from @MHBauer -> I found in the docs, and was told about `FABRIC_LOGGING_SPEC` which I used as `export FABRIC_LOGGING_SPEC=FATAL` to get some peace and quiet.

muralisr (Fri, 22 Mar 2019 14:23:02 GMT):
@MHBauer redirected your question to here ...( @wlahti may be able to help ?)

MHBauer (Fri, 22 Mar 2019 14:23:02 GMT):
Has joined the channel.

wlahti (Fri, 22 Mar 2019 15:46:25 GMT):
@MHBauer Which tests are you referring to? And yes, for the peer and orderer, you can use `FABRIC_LOGGING_SPEC` to control the log level for all loggers or just for certain loggers. Let me know if you still have any questions and I'll be glad to help!

MHBauer (Fri, 22 Mar 2019 18:08:06 GMT):
what's this channel for?

MHBauer (Fri, 22 Mar 2019 18:32:05 GMT):
I was looking at txvalidator tests

MHBauer (Fri, 22 Mar 2019 18:32:20 GMT):
seems to be an imprettyportant part of the lifeciycle

wlahti (Fri, 22 Mar 2019 18:38:39 GMT):
so you're looking to mute logging while running unit tests via `go test ./... -v`?

MHBauer (Fri, 22 Mar 2019 18:43:05 GMT):
yup, problem already solved.

MHBauer (Fri, 22 Mar 2019 18:43:07 GMT):
mostly.

MHBauer (Fri, 22 Mar 2019 18:43:13 GMT):
there's some rando print statements

MHBauer (Fri, 22 Mar 2019 18:43:39 GMT):
I had a different question about the feelings about some tests, but I can't remember which ones.

aatkddny (Fri, 22 Mar 2019 19:15:01 GMT):
So we are having an issue with chaincode and peer endorsement. Lets keep it simple - 2 orgs, 2 peers each. Or endorsement policy Org1 or Org 2. Channel between orgs. It goes something like this: We try to install and instantiate new chaincode at a specific version - say 1.0 not he mutual channel. It fails due to the timeout issue i listed about 7 posts up. We restart the peer that it fails on and reinstall same chaincode at a different version - say 1.01 or something. No changes, just a restart. All storage is outside of the containers in NFS. This reports that it went in just fine. But there's a problem. Now the proposal responses from the two peers are coming back inconsistent. They both come back with an OK return code, but the payload differs slightly. Which means the Tx won't commit. 1. Why? 2. Nothing - and I mean nothing, from installing chaincode again to bouncing the whole network to deleting the ledger and couched storage for this peer fixes it. Is there something we can do that we missed? We've hit this twice now. Twice we had to reconstitute the entire network.

aatkddny (Fri, 22 Mar 2019 19:15:01 GMT):
So we are having an issue with chaincode and peer endorsement. Lets keep it simple - 2 orgs, 2 peers each. Or endorsement policy - Org1 or Org 2. Channel between orgs, all peers endorse. It goes something like this: We try to install and instantiate new chaincode at a specific version - say 1.0 not he mutual channel. It fails due to the timeout issue i listed about 7 posts up. We restart the peer that it fails on and reinstall same chaincode at a different version - say 1.01 or something. No changes, just a restart. All storage is outside of the containers in NFS. This reports that it went in just fine. But there's a problem. Now the proposal responses from the two peers in the org - org1 say - are coming back inconsistent. They both come back with an OK return code, but the payload differs slightly. Which means the Tx won't commit. 1. Why? 2. Nothing - and I mean nothing, from installing chaincode again to bouncing the whole network to deleting the ledger and couched storage for this peer fixes it. Is there something we can do that we missed? We've hit this twice now. Twice we had to reconstitute the entire network.

aatkddny (Fri, 22 Mar 2019 19:15:01 GMT):
So we are having an issue with chaincode and peer endorsement. Lets keep it simple - 2 orgs, 2 peers each. Or endorsement policy - Org1 or Org 2. Channel between orgs, all peers endorse. It goes something like this: We try to install and instantiate new chaincode at a specific version - say 1.0 on the mutual channel. It fails due to the timeout issue i listed about 7 posts up. We restart the peer that it fails on and reinstall same chaincode at a different version - say 1.01 or something. No changes, just a restart. All storage is outside of the containers in NFS. This reports that it went in just fine. But there's a problem. Now the proposal responses from the two peers in the org - org1 say - are coming back inconsistent. They both come back with an OK return code, but the payload differs slightly. Which means the Tx won't commit. 1. Why? 2. Nothing - and I mean nothing, from installing chaincode again to bouncing the whole network to deleting the ledger and couched storage for this peer fixes it. Is there something we can do that we missed? We've hit this twice now. Twice we had to reconstitute the entire network.

yacovm (Fri, 22 Mar 2019 19:15:56 GMT):
you are missing the most important information part... what fabric version?

aatkddny (Fri, 22 Mar 2019 19:16:01 GMT):
1.2.0

aatkddny (Fri, 22 Mar 2019 19:16:16 GMT):
Can't move to 1.4 until BMX does same.

yacovm (Fri, 22 Mar 2019 19:17:24 GMT):
so about the chaincode not instantiating

yacovm (Fri, 22 Mar 2019 19:17:43 GMT):
https://github.com/hyperledger/fabric/blob/release-1.4/sampleconfig/core.yaml#L420

yacovm (Fri, 22 Mar 2019 19:17:47 GMT):
put this to true and try again

aatkddny (Fri, 22 Mar 2019 19:20:08 GMT):
I guess that'll resolve to `CORE_PEER_VM_ATTACHSTDOUT`? I just spent two hours reconstituting this thing so I'm not doing it now. I'll do it if it fails again - right now we have someone replaying Tx through it to reconstitute.

yacovm (Fri, 22 Mar 2019 19:20:16 GMT):
yes. and - and you can't install a chaincode with different version

yacovm (Fri, 22 Mar 2019 19:20:19 GMT):
it should not work

yacovm (Fri, 22 Mar 2019 19:20:32 GMT):
the chaincode version has to match the one instantiated

aatkddny (Fri, 22 Mar 2019 19:20:40 GMT):
I can do an upgrade, no?

yacovm (Fri, 22 Mar 2019 19:20:50 GMT):
but did you?

aatkddny (Fri, 22 Mar 2019 19:21:01 GMT):
Yes. You have to.

yacovm (Fri, 22 Mar 2019 19:21:17 GMT):
i know, i thought you perhaps did not

aatkddny (Fri, 22 Mar 2019 19:21:21 GMT):
As you said it doesn't allow you to install over the top.

yacovm (Fri, 22 Mar 2019 19:21:28 GMT):
ok

yacovm (Fri, 22 Mar 2019 19:21:54 GMT):
so after the upgrade do both peers have the 1.0.1 version?

aatkddny (Fri, 22 Mar 2019 19:22:09 GMT):
Yes.

yacovm (Fri, 22 Mar 2019 19:22:23 GMT):
hmm and they are inconsistent... weird, but you can look what is different no?

yacovm (Fri, 22 Mar 2019 19:22:26 GMT):
compare the results

aatkddny (Fri, 22 Mar 2019 19:23:00 GMT):
4 extra bytes of 0x0 on the end

aatkddny (Fri, 22 Mar 2019 19:23:08 GMT):
Otherwise identical.

yacovm (Fri, 22 Mar 2019 19:23:16 GMT):
oh... hmmm... interesting. do you know in what field?

aatkddny (Fri, 22 Mar 2019 19:23:32 GMT):
No it's a byte array at that point.

yacovm (Fri, 22 Mar 2019 19:23:52 GMT):
it's a proposal response protobuf message no?

yacovm (Fri, 22 Mar 2019 19:24:02 GMT):
so you can unmarshal it recursively

aatkddny (Fri, 22 Mar 2019 19:26:23 GMT):
By time I get to it it's where it fails in the SDK. I could intercept when I get the proposal response, but I don't have a sample right now.

yacovm (Fri, 22 Mar 2019 19:26:46 GMT):
yeah you can also do that too

aatkddny (Fri, 22 Mar 2019 19:28:27 GMT):
What exactly should I be looking for - assuming this repeats?

yacovm (Fri, 22 Mar 2019 19:35:07 GMT):
name of the field that adds these zeros

aatkddny (Sun, 24 Mar 2019 03:01:57 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ythiZF4dvSiHih2wu) @yacovm So as I said, I'm restricted as to where I get access to these things.

aatkddny (Sun, 24 Mar 2019 03:01:57 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=ythiZF4dvSiHih2wu) @yacovm So as I said, I'm restricted as to where I get access to these things. My best intercept point gives me something like this when I get the responses back, before I submit them to the SDK to go to the orderer: ``` 2019-03-23 22:53:36.082 INFO 18890 --- [nio-8095-exec-2] c.m.fabric.processor.ChaincodeProcessor : ProposalResponseField: protos.ProposalResponse.version Value: 1 2019-03-23 22:53:36.082 INFO 18890 --- [nio-8095-exec-2] c.m.fabric.processor.ChaincodeProcessor : ProposalResponseField: protos.ProposalResponse.response Value: status: 200 payload: "\n\005asset\022\0041.01\032\004escc\"\004vscc*<\022\022\022\020\b\001\022\f\022\n\b\001\022\002\b\000\022\002\b\001\032\021\022\017\n\rMyChangedOrgsMSP\032\023\022\021\n\rMyChangedOrgsMSP\020\0012D\n \332\315\265\277\270\214?\253\226;R\335\n\346I\360iKosR\213\201\313\217\210\225\214\275\034\311\233\022 X@\t\"\354E\344\256\242\250\375y\372J\373G\332\221\321\351\361\021\216\275r\350f\312\310\251\320.: \335\017\377\254\216\241\r\324S\366\353k\340\215\231\310\323\324o\344\240d\302l\333Gu\031\212S\310\nB\037\022\b\022\006\b\001\022\002\b\000\032\023\022\021\n\rMyChangedOrgsMSP\020\001" ``` Is that sufficient to tell what's messing it up or is there a way - which I can't readily see in the SDK code - to further break down the payload? This one is on my local instance and it worked, I'm asking to make sure if this happens again I capture enough detail to figure out what's going wrong.

yacovm (Sun, 24 Mar 2019 08:01:08 GMT):
@aatkddny no it's not enough... if you want you can just capture both outputs to files and send them to me and i can look whenever i have time

yanli133 (Mon, 25 Mar 2019 06:56:12 GMT):
Has joined the channel.

gravity (Tue, 26 Mar 2019 20:10:09 GMT):
Hi all. I have a question regarding the `validatorPoolSize` property for peers: should I override this property? if yes, what is a recommended value for it?

gravity (Wed, 27 Mar 2019 09:18:26 GMT):
hello @yacovm is there any guide on how to enable parallel `vscc` for a single channel? does parallel `vscc` depend on the value of `validatorPoolSize`? in my case, every peer has single vCPU and according to the documentation, `validatorPoolSize` will be `1`, right? thanks in advance

yacovm (Wed, 27 Mar 2019 09:40:01 GMT):
it's always parallel

yacovm (Wed, 27 Mar 2019 09:40:29 GMT):
why do you only have a single CPU in a peer?

yacovm (Wed, 27 Mar 2019 09:40:33 GMT):
that's very low

gravity (Wed, 27 Mar 2019 10:03:55 GMT):
@yacovm we have low resources on a dev environment and currently I'm updating the environment for peers and adding more resources for them and there is one more question: according to this report https://arxiv.org/pdf/1805.11390.pdf peers serve requests for several channels. is it recommended to have shared peers (for example 6 peers that are joined to 4 channels and serve requests for 4 channels) or have isolated peers (for example we have 8 peers, two peers per channel)?

adamhardie (Thu, 28 Mar 2019 11:26:39 GMT):
hi channel, I have attempted to deploy an updated config to a channel but received an failed response back from the orderer 2 days ago. Now when I try to connect a new peer i see the following -: peer channel fetch config config_block.pb -o orderer0.group:7050 -c channelone 2019-03-28 11:23:01.360 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2019-03-28 11:23:01.364 UTC [cli.common] readBlock -> INFO 002 Received block: 8929 2019-03-28 11:23:01.365 UTC [cli.common] readBlock -> INFO 003 Got status: &{NOT_FOUND} Error: can't read the block: &{NOT_FOUND}

adamhardie (Thu, 28 Mar 2019 11:26:52 GMT):
do i need to remove the channel from the orderer (as it is corrupted) ?

stone-ch (Fri, 29 Mar 2019 03:10:48 GMT):
Has left the channel.

stephenman (Fri, 29 Mar 2019 04:18:40 GMT):
Hi, I have tried to run ./byfn.sh of first-network, it went well, however, right after it finished the right, I go to the cli (Fabric-tools) container, and like to execute "peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'" again with CORE_PEER_LOCALMSPID, CORE_PEER_TLS_ROOTCERT_FILE, CORE_PEER_ADDRESS, CORE_PEER_MSPCONFIGPATH have been set. The result has error: Error: endorsement failure during query. response: status:500 message:"cannot retrieve package for chaincode mycc/1.0, error open /var/hyperledger/production/chaincodes/mycc.1.0: no such file or directory" Could anyone help? thanks!

jeffgarratt (Fri, 29 Mar 2019 15:05:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=8nwYccKpdhDxJLygW) @stephenman looks like the "install" needs to be performed and verified, or you need to verify you are supplying the correct name and version for chaincode.

smallant (Fri, 29 Mar 2019 15:18:13 GMT):
Hi to everyone

smallant (Fri, 29 Mar 2019 15:18:21 GMT):
Currently have a small network in one machine. We were doing some tests and got this error: GET_STATE failed: transaction ID: 6d7fac50d4c921a98e604b0c1fe2b7b964b91d00471fe67bf81464de86be99ad: Get http://peer2-org1-CouchDB:5984/BC_lscc/BC?attachments=true: dial tcp: lookup peer2-org1-CouchDB on 127.0.0.11:53: dial udp 127.0.0.11:53: socket: too many open files. We are making the calls trough java sdk and the network is 1.4

dave.enyeart (Sun, 31 Mar 2019 02:39:02 GMT):
Sounds like you need to increase the ulimit on your host

dave.enyeart (Sun, 31 Mar 2019 02:39:02 GMT):
@smallant Sounds like you need to increase the ulimit on your host

smallant (Sun, 31 Mar 2019 17:40:06 GMT):
@dave.enyeart I have the unlimited on the AWS VM when i do ulimit

stephenman (Mon, 01 Apr 2019 06:17:03 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=3uKELuZKssonWfhSc) @jeffgarratt Thank you Jeff! Will have a check on it, thanks for the advice!

klkumar369 (Tue, 02 Apr 2019 18:39:01 GMT):
Has joined the channel.

luckforzhang (Wed, 03 Apr 2019 01:04:14 GMT):
Has joined the channel.

luckforzhang (Wed, 03 Apr 2019 01:09:11 GMT):
Hi team, when I am using node SDK to updateChannel, I have got error like this : ` result: { status: 'BAD_REQUEST', info: 'error authorizing update: unexpected EOF' } ` is there anything I can refer to? I have followed the test in `fabric-samples/fabric-sdk-node/test/integration/configtxlator.js` , nearlly the same, but it won't work at the last step 'client.updateChannel(request)', I have got the data used to update, and the signatures of OrdererAdmin, Org1Admin. I am using the `fabric-samples/basic-network` to test and no TLS ``` 2019-04-02 08:48:25.787 UTC [grpc] infof -> DEBU 4cf transport: loopyWriter.run returning. connection error: desc = "transport is closing" 2019-04-02 08:50:53.282 UTC [orderer.common.server] Broadcast -> DEBU 4d0 Starting new Broadcast handler 2019-04-02 08:50:53.282 UTC [orderer.common.broadcast] Handle -> DEBU 4d1 Starting new broadcast loop for 172.18.0.1:48646 2019-04-02 08:50:53.282 UTC [orderer.common.broadcast] ProcessMessage -> DEBU 4d2 [channel: mychannel] Broadcast is processing config update message from 172.18.0.1:48646 2019-04-02 08:50:53.282 UTC [orderer.common.msgprocessor] ProcessConfigUpdateMsg -> DEBU 4d3 Processing config update message for channel mychannel 2019-04-02 08:50:53.282 UTC [policies] Evaluate -> DEBU 4d4 == Evaluating *policies.implicitMetaPolicy Policy /Channel/Writers == 2019-04-02 08:50:53.282 UTC [policies] Evaluate -> DEBU 4d5 This is an implicit meta policy, it will trigger other policy evaluations, whose failures may be benign 2019-04-02 08:50:53.282 UTC [policies] Evaluate -> DEBU 4d6 == Evaluating *policies.implicitMetaPolicy Policy /Channel/Orderer/Writers == 2019-04-02 08:50:53.282 UTC [policies] Evaluate -> DEBU 4d7 This is an implicit meta policy, it will trigger other policy evaluations, whose failures may be benign 2019-04-02 08:50:53.282 UTC [policies] Evaluate -> DEBU 4d8 == Evaluating *cauthdsl.policy Policy /Channel/Orderer/OrdererOrg/Writers == 2019-04-02 08:50:53.283 UTC [cauthdsl] func1 -> DEBU 4d9 0xc000b2e5a0 gate 1554195053283007832 evaluation starts 2019-04-02 08:50:53.283 UTC [cauthdsl] func2 -> DEBU 4da 0xc000b2e5a0 signed by 0 principal evaluation starts (used [false]) 2019-04-02 08:50:53.283 UTC [cauthdsl] func2 -> DEBU 4db 0xc000b2e5a0 processing identity 0 with bytes of a0af20 2019-04-02 08:50:53.283 UTC [cauthdsl] func2 -> DEBU 4dc 0xc000b2e5a0 principal matched by identity 0 2019-04-02 08:50:53.283 UTC [msp.identity] Verify -> DEBU 4dd Verify: digest = 00000000 55 4a 07 82 b4 63 54 ac b5 ae 1e a9 ac 3b cb 00 |UJ...cT......;..| 00000010 ca 0d cc b1 06 3c aa 8f d9 d7 f0 8f 2b 17 5e 0b |.....<......+.^.| 2019-04-02 08:50:53.283 UTC [msp.identity] Verify -> DEBU 4de Verify: sig = 00000000 30 44 02 20 70 83 ee 46 ac 0e 83 13 ef 4d bd d7 |0D. p..F.....M..| 00000010 14 5f 33 c6 52 55 39 e5 78 b7 c1 af 75 fb df a6 |._3.RU9.x...u...| 00000020 c5 72 36 06 02 20 0c 51 73 fa 9b 6c c0 5a 29 32 |.r6.. .Qs..l.Z)2| 00000030 29 ac fb ac 9d 6a 70 b7 0e 22 86 60 d1 2b 0e 3c |)....jp..".`.+.<| 00000040 50 66 ce c1 a3 78 |Pf...x| 2019-04-02 08:50:53.283 UTC [cauthdsl] func2 -> DEBU 4df 0xc000b2e5a0 principal evaluation succeeds for identity 0 2019-04-02 08:50:53.283 UTC [cauthdsl] func1 -> DEBU 4e0 0xc000b2e5a0 gate 1554195053283007832 evaluation succeeds 2019-04-02 08:50:53.283 UTC [policies] Evaluate -> DEBU 4e1 Signature set satisfies policy /Channel/Orderer/OrdererOrg/Writers 2019-04-02 08:50:53.283 UTC [policies] Evaluate -> DEBU 4e2 == Done Evaluating *cauthdsl.policy Policy /Channel/Orderer/OrdererOrg/Writers 2019-04-02 08:50:53.283 UTC [policies] Evaluate -> DEBU 4e3 Signature set satisfies policy /Channel/Orderer/Writers 2019-04-02 08:50:53.283 UTC [policies] Evaluate -> DEBU 4e4 == Done Evaluating *policies.implicitMetaPolicy Policy /Channel/Orderer/Writers 2019-04-02 08:50:53.283 UTC [policies] Evaluate -> DEBU 4e5 Signature set satisfies policy /Channel/Writers 2019-04-02 08:50:53.283 UTC [policies] Evaluate -> DEBU 4e6 == Done Evaluating *policies.implicitMetaPolicy Policy /Channel/Writers 2019-04-02 08:50:53.283 UTC [orderer.common.broadcast] ProcessMessage -> WARN 4e7 [channel: mychannel] Rejecting broadcast of config message from 172.18.0.1:48646 because of error: error authorizing update: unexpected EOF ``` And here is the debug infos from orderer Not so sure if this infomation is too much, sorry...

gravity (Wed, 03 Apr 2019 10:40:27 GMT):
Hi all what resources should be allocated for kafka and orderer nodes for not being a bottleneck if we speak about performance? Because in our app we've run 4 peers (every node has 16 GB RAM, 8 vCPU). commit time and validateTx time take from 5 to 20 ms in average so that means that peers are doing well, but performance is poor if I set (in JMeter) constant throughput timer to 300 TPS and 100 threads, the actual TPS is ~50-60. and after 3-5 minutes, transactions start failing

gravity (Wed, 03 Apr 2019 10:41:26 GMT):
Block timeout in this case is 1s and max-message-count had different values (5, 10, 30, 50, 100). the best performance was when the max-message-count was 5

adamhardie (Thu, 04 Apr 2019 14:19:09 GMT):
getting a weird issue when loading a chaincode in one environment `2019-04-04 14:17:07.879 UTC [container] lockContainer -> DEBU 43f waiting for container(ccode-1.0) lock 2019-04-04 14:17:07.880 UTC [container] lockContainer -> DEBU 440 got container (ccode-1.0) lock 2019-04-04 14:17:07.880 UTC [dockercontroller] stopInternal -> DEBU 441 stopping container id=dev-peer0.testing-ccode-1.0 2019-04-04 14:17:07.881 UTC [dockercontroller] stopInternal -> DEBU 442 stop container result error="Container not running: dev-peer0.testing-ccode-1.0" 2019-04-04 14:17:07.882 UTC [dockercontroller] stopInternal -> DEBU 443 killing container id=dev-peer0.testing-ccode-1.0 2019-04-04 14:17:07.883 UTC [dockercontroller] stopInternal -> DEBU 444 kill container result id=dev-peer0.testing-ccode-1.0 error="Container not running: dev-peer0.testing-ccode-1.0" 2019-04-04 14:17:07.883 UTC [dockercontroller] stopInternal -> DEBU 445 removing container id=dev-peer0.testing-ccode-1.0 2019-04-04 14:17:07.891 UTC [dockercontroller] stopInternal -> DEBU 446 remove container result id=dev-peer0.testing-ccode-1.0 error=null 2019-04-04 14:17:07.891 UTC [container] unlockContainer -> DEBU 447 container lock deleted(ccode-1.0) 2019-04-04 14:17:07.892 UTC [chaincode] Launch -> DEBU 448 launch complete 2019-04-04 14:17:07.892 UTC [chaincode] Deregister -> DEBU 449 deregister handler: ccode:1.0 2019-04-04 14:17:07.892 UTC [endorser] callChaincode -> INFO 44a [messagebus][586adf37] Exit chaincode: name:"lscc" (31286ms) 2019-04-04 14:17:07.892 UTC [endorser] SimulateProposal -> ERRO 44b [messagebus][586adf37] failed to invoke chaincode name:"lscc" , error: container exited with 0 github.com/hyperledger/fabric/core/chaincode.(*RuntimeLauncher).Launch.func1 /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/runtime_launcher.go:63 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 chaincode registration failed`

gravity (Mon, 08 Apr 2019 12:43:00 GMT):
hi @yacovm could you please explain how to set kafka version for orderer correctly? because it is not very clear from the documentation. in our case fabric version is 1.4.0. is this `ORDERER_KAFKA_VERSION: 1.0.0` property correct? thanks in advance

yacovm (Mon, 08 Apr 2019 12:54:39 GMT):
you can put any kafka version you want....

yacovm (Mon, 08 Apr 2019 12:54:43 GMT):
doesn't depend on the fabric version

yacovm (Mon, 08 Apr 2019 12:55:11 GMT):
what the kafka version in the `orderer.yaml` does is simply pass it to the kafka client library

gravity (Mon, 08 Apr 2019 12:57:02 GMT):
I see thanks

gravity (Mon, 08 Apr 2019 12:58:24 GMT):
@yacovm initially I thought that this version might be somehow connected to these warning that orderers spam after the network restart ``` 2019-04-08 12:29:54.487 UTC [common.deliver] deliverBlocks -> WARN 627 [channel: channel01554211419025] Rejecting deliver request for 10.150.101.64:52322 because of consenter error ```

yacovm (Mon, 08 Apr 2019 13:10:33 GMT):
no no

yacovm (Mon, 08 Apr 2019 13:10:53 GMT):
it is only related because you probably can't connect to kafka

yacovm (Mon, 08 Apr 2019 13:10:57 GMT):
because of a wrong version

gravity (Mon, 08 Apr 2019 13:18:32 GMT):
@yacovm wrong version of kafka passed to the client library? how to know which version should be passed?

yacovm (Mon, 08 Apr 2019 13:20:18 GMT):
you check the kafka version....

yacovm (Mon, 08 Apr 2019 13:20:28 GMT):
you do know the version of kafka you use, right?

yacovm (Mon, 08 Apr 2019 13:20:39 GMT):
but honestly Raft is out... why not use it instead of Kafka? :)

yacovm (Mon, 08 Apr 2019 13:20:43 GMT):
give it a try ;)

gravity (Mon, 08 Apr 2019 15:36:08 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=NQ4RDfWR58Z4CaWAo) @yacovm as I can see 1.4.1 is not released yet, the latest version is v1.4.1-rc1

gravity (Mon, 08 Apr 2019 15:36:08 GMT):
@yacovm as I can see 1.4.1 is not released yet, the latest version is v1.4.1-rc1

gravity (Mon, 08 Apr 2019 15:36:08 GMT):
@yacovm as I can see 1.4.1 is not released yet, the latest version is v1.4.1-rc1

gravity (Mon, 08 Apr 2019 15:36:08 GMT):
@yacovm as I can see 1.4.1 is not released yet, the latest version is v1.4.1-rc1

gravity (Mon, 08 Apr 2019 19:26:06 GMT):
@yacovm we cannot try raft right now because we are going to production in a few days. and there is a question: will ut be possible to migrate all the data from kafka to raft?

yacovm (Mon, 08 Apr 2019 20:58:19 GMT):
@gravity eventually yes, but it will take downtime

yacovm (Mon, 08 Apr 2019 20:58:29 GMT):
i really suggest to you to just start use Raft

yacovm (Mon, 08 Apr 2019 20:58:36 GMT):
and not Kafka

yacovm (Mon, 08 Apr 2019 20:58:52 GMT):
i think it's very stable :)

gravity (Tue, 09 Apr 2019 08:05:33 GMT):
@yacovm does raft have better performance compared to kafka? also, as I see in the documentation, it works only when TLS is enabled, doesn't it?

stephenman (Tue, 09 Apr 2019 09:28:49 GMT):
Hi all, I have replaced my certs for admin and peer, and then tried to create channel, however, it throws error as below: ** Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating DeltaSet: policy for [Group] /Channel/Application not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining ** can anyone give a hand? Thanks!

stephenman (Tue, 09 Apr 2019 09:28:49 GMT):
Hi all, I have replaced my certs for admin and peer, while creating channel, it throws error in orderer as below: 2019-04-12 02:46:06.798 UTC [orderer.common.broadcast] ProcessMessage -> WARN 011 [channel: mychannel] Rejecting broadcast of config message from 10.0.0.196:38572 because of error: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied 2019-04-12 02:46:06.798 UTC [comm.grpc.server] 1 -> INFO 012 streaming call completed {"grpc.start_time": "2019-04-12T02:46:06.796Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Broadcast", "grpc.peer_address": "10.0.0.196:38572", "grpc.code": "OK", "grpc.call_duration": "2.107804ms"} 2019-04-12 02:46:06.801 UTC [common.deliver] Handle -> WARN 013 Error reading from 10.0.0.196:38570: rpc error: code = Canceled desc = context canceled 2019-04-12 02:46:06.801 UTC [comm.grpc.server] 1 -> INFO 014 streaming call completed {"grpc.start_time": "2019-04-12T02:46:06.794Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Deliver", "grpc.peer_address": "10.0.0.196:38570", "error": "rpc error: code = Canceled desc = context canceled", "grpc.code": "Canceled", "grpc.call_duration": "7.115516ms"} can anyone help? Thanks!

yacovm (Tue, 09 Apr 2019 10:04:33 GMT):
@gravity I am not sure about the performance, we are currently evaluating that

yacovm (Tue, 09 Apr 2019 10:04:41 GMT):
and yeah it only works wit TLS

gravity (Tue, 09 Apr 2019 13:22:13 GMT):
@yacovm understood, thanks

adamhardie (Tue, 09 Apr 2019 13:25:17 GMT):
my java program is currently experiencing timeouts for some transactions. the process is this... 1) send transaction proposal to 1 peer 2) receive valid response 3) send signed response to orderer 4) receive acknowledgement of send 5) await 5 seconds for Deliver Response 6) timeout

adamhardie (Tue, 09 Apr 2019 13:25:39 GMT):
what may cause the failure of a deliver response. I can see the block is created successfully

kariyappal (Wed, 10 Apr 2019 12:27:47 GMT):
Has joined the channel.

kariyappal (Wed, 10 Apr 2019 12:27:58 GMT):
Does anyone know why fabric-ca-peer image is discontinued from 1.4 version

braduf (Wed, 10 Apr 2019 20:46:26 GMT):
I am not able to instantiate chaincode and I think the problem is not with the chaincode itself, but with the peer. The error I get from the chaincode container before it is stopped and removed is: ``` Error creating new Smart Contract: error trying to connect to local peer ```runs on a AWS EC-2 machine in

braduf (Wed, 10 Apr 2019 20:46:26 GMT):
I am not able to instantiate chaincode and I think the problem is not with the chaincode itself, but with the peer. The error I get from the chaincode container before it is stopped and removed is: ``` Error creating new Smart Contract: error trying to connect to local peer ``` My peer is a container running a fabric-peer image on an AWS EC2 machine with TLS enabled. The CouchDB for the world state is running on the same EC2 machine and there seems to be no problems between the peer and the CouchDB. But it seems between the chaincode containers and the peer there is a connection problem, but I can't figure out what it is...

stephenman (Fri, 12 Apr 2019 02:52:42 GMT):
Hi all, I have replaced my certs for admin and a peer, and now while creating channel, it throws error as below, could anyone help? Thanks! 2019-04-12 02:46:06.798 UTC [orderer.common.broadcast] ProcessMessage -> WARN 011 [channel: mychannel] Rejecting broadcast of config message from 10.0.0.196:38572 because of error: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining: permission denied 2019-04-12 02:46:06.798 UTC [comm.grpc.server] 1 -> INFO 012 streaming call completed {"grpc.start_time": "2019-04-12T02:46:06.796Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Broadcast", "grpc.peer_address": "10.0.0.196:38572", "grpc.code": "OK", "grpc.call_duration": "2.107804ms"} 2019-04-12 02:46:06.801 UTC [common.deliver] Handle -> WARN 013 Error reading from 10.0.0.196:38570: rpc error: code = Canceled desc = context canceled 2019-04-12 02:46:06.801 UTC [comm.grpc.server] 1 -> INFO 014 streaming call completed {"grpc.start_time": "2019-04-12T02:46:06.794Z", "grpc.service": "orderer.AtomicBroadcast", "grpc.method": "Deliver", "grpc.peer_address": "10.0.0.196:38570", "error": "rpc error: code = Canceled desc = context canceled", "grpc.code": "Canceled", "grpc.call_duration": "7.115516ms"}

gravity (Fri, 12 Apr 2019 13:25:31 GMT):
hi all is it correct to assume that only endorser peers will have `/var/hyperledger/production/ledgersData/stateLeveldb` growing only if peer is an endorser peer?

qsmen (Fri, 19 Apr 2019 05:47:19 GMT):
experts here, Would you please tell me how to obtain an org's root certificate in application chaincde? I know if it is possible because system chaincodes need root certificate to verify the correctness of certificates. Thank you

rahulhegde (Sun, 21 Apr 2019 22:03:43 GMT):
hello, Q: During a single endorsement request processing by chaincode, if there is sequence of Shim GetState -> PutState -> GetState, will the 3rd GetState call have the data as 1st GetState (original) or 2nd PutState (modified)?

yacovm (Sun, 21 Apr 2019 22:20:07 GMT):
@rahulhegde you don't read your own writes

rahulhegde (Mon, 22 Apr 2019 00:35:13 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-peer-endorser-committer?msg=pq7QXHti9uut3BQrr) @yacovm Thanks - so it is the 1st GetState (original) value stored in the ledger irrespective of PutState or DeleteState called on the same key in the same endorsement request.

KartikChauhan (Mon, 22 Apr 2019 08:59:43 GMT):
Has joined the channel.

KartikChauhan (Mon, 22 Apr 2019 08:59:58 GMT):
When a transaction's r/w set is sent to committing peers, how do peers perform MVCC verification? Do they check if the values from read set and current values in state db are equal or not or do they verify by any unique id? If they check from the read set, what happens when a transaction's read set is very large?

stephenman (Tue, 23 Apr 2019 07:07:03 GMT):
Hi all, I'm trying to use node SDK to query chaincode, however, it throws the error: *[Remote.js]: Error: Failed to connect before the deadline URL:grpcs://localhost:7051* But I execute a script to query chaincode successfully, could anyone help? Thanks!!

stephenman (Thu, 25 Apr 2019 09:43:51 GMT):
Hi all, could you advise what the below error is? * instantiate proposal resulted in an error :: Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP] *

stephenman (Thu, 25 Apr 2019 09:44:17 GMT):
I'm trying to instantiate chaincode by SDK

KartikChauhan (Thu, 25 Apr 2019 12:52:53 GMT):
I'm trying to get status of a transaction by using node.js sdk. I know about `queryTransaction` method which returns the transaction data and in it, I can find transaction response. But its limitation is that it only returns response `200` if the transaction gets succeeded or _Failed to get transaction_ message if the transaction is invalid or hasn't mined yet. `queryTransaction` method queries ledger data present on the peers and then gives a binary response. But what if I want to know a transaction is in process or not? How can I get the response _pending_ if a transaction id is valid but hasn't mined yet? I found this stackoverflow question https://stackoverflow.com/questions/51163023/hyperledger-transaction-mempool which is somewhat related to my question. Is it even possible to do that in Hyperledger Fabric or not?

sejalpawar (Sun, 28 Apr 2019 10:24:04 GMT):
Has joined the channel.

sejalpawar (Sun, 28 Apr 2019 10:24:36 GMT):
Hey there, chaincode dev peers show exited status after trying to invoke the very first transaction:

sejalpawar (Sun, 28 Apr 2019 10:25:03 GMT):
UTC [chaincode] ProcessStream -> ERRO 172 handling chaincode support stream: rpc error: code = Canceled desc = context canceled receive failed github.com/hyperledger/fabric/core/chaincode.(*Handler).ProcessStream /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:427 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).HandleChaincodeStream /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:190 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Register /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:195 github.com/hyperledger/fabric/core/chaincode/accesscontrol.(*interceptor).Register /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/accesscontrol/interceptor.go:57 github.com/hyperledger/fabric/protos/peer._ChaincodeSupport_Register_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/chaincode_shim.pb.go:1066 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processStreamingRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1124 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1212 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 runtime.goexit

sejalpawar (Sun, 28 Apr 2019 10:25:18 GMT):
Any solution for this issue?

AshishMishra 1 (Tue, 30 Apr 2019 06:10:25 GMT):
Hi experts, I have setup a fabric cluster on kubernetes using helm charts. I could join the peers to a channel and install chaincode on it. However when I 'm instantiating the chaincode, I am not getting any error the chaincode container also starts successfully on the peer node but it's not registering himself with the peer container somehow. So when I do peer chaincode list --instantiated -C mychannel... I don't see anything. Am I missing some env here?

Shivi (Thu, 02 May 2019 12:05:56 GMT):
Has joined the channel.

tongli (Wed, 08 May 2019 16:05:42 GMT):
@AshishMishra 1 seems that the chaincode container can not find way back.

tongli (Wed, 08 May 2019 16:05:42 GMT):
@AshishMishra 1 seems that the chaincode container can not find way back to the peer.

tongli (Wed, 08 May 2019 16:06:28 GMT):
not sure how you set things up, but you have to make sure that peer and chaincode containers can reach each other,

tongli (Wed, 08 May 2019 16:07:09 GMT):
check your dns entries and see if you can ping from one to another.

AshishMishra 1 (Tue, 14 May 2019 09:39:42 GMT):
@tongli thanks. The DNS and networking was fine between the containers. It was a configtx issue with incorrect orderer endpoint.

andkononykhin (Wed, 15 May 2019 08:44:22 GMT):
Has left the channel.

sejalpawar (Fri, 17 May 2019 09:27:59 GMT):
Has left the channel.

hfr1994 (Mon, 20 May 2019 01:38:15 GMT):
Has joined the channel.

hfr1994 (Mon, 20 May 2019 01:38:17 GMT):
Hi experts, we have two identical peers mounted on a Kubernets env. The only thing that differ between both peers are certificates. When we try to invoke a transaction on peer1 we get the following errror: Error: endorsement failure during invoke. chaincode result: while on the peer2 we get a success transaction. Query transaction work on both peer

smallant (Tue, 21 May 2019 12:23:31 GMT):
hi to all, I'm using the java sdk to connect to my network and i received a peculiar error: May 20, 2019 @ 15:34:01.216 peer1 [33m2019-05-20 13:34:01.216 UTC [valimpl] preprocessProtoBlock -> WARN 0ed[0m Channel [mychannel]: Block [13] Transaction index [0] TxId [6adad972827e6296f14a6bcca79855ada25f2ccd0403980383155bf9dac7c95] marked as invalid by committer. Reason code [DUPLICATE_TXID] How can this happen?? PS: I'm using the txID as a key when I store my data

SashaPESIC (Wed, 22 May 2019 14:43:26 GMT):
Has joined the channel.

risc (Mon, 03 Jun 2019 13:36:54 GMT):
Has joined the channel.

risc (Mon, 03 Jun 2019 13:36:55 GMT):
Guys l have a little issue with CC endorsement. Every time that we add a new organisation to the network we need to reinstall and reinstantiate the CC, in order to accept new transactions . We are instantiating with NO endorsement policy . As far as documentation says it should by Any Org can endorse. But looks that it just is true for Orgs already in the network and not new ones. So anyone knows what policy should we use? Can use meta policy’s? Such a Any Members?

knagware9 (Thu, 06 Jun 2019 07:38:12 GMT):
you can try service discovery , it will help to find endorsment policy of the network and send the transanctions to the endorser

smallant (Thu, 06 Jun 2019 09:07:29 GMT):
Any ideias on why this happens?

root10 (Thu, 06 Jun 2019 14:12:01 GMT):
Has joined the channel.

root10 (Thu, 06 Jun 2019 14:12:02 GMT):
Hi guys. I have a problem invoking chaincode. I'm running a lot of insert using goroutine. I've tried with 10.000 without problem, but if I try 25.000, some requests are lost giving me back this error: [fabsdk/fab] 2019/06/06 13:29:47 UTC - peer.(*peerEndorser).sendProposal -> ERRO process proposal failed [rpc error: code = DeadlineExceeded desc = context deadline exceeded] [fabsdk/util] 2019/06/06 13:29:47 UTC - lazyref.(*Reference).refreshValue -> WARN Error - initializer returned error: QueryBlockConfig failed: queryChaincode failed: Transaction processing for endorser [localhost:7051]: gRPC Transport Status Code: (4) DeadlineExceeded. Description: context deadline exceeded. Will retry again later This is block configuration: ```yaml Orderer: &OrdererDefaults OrdererType: solo BatchTimeout: 2s BatchSize: MaxMessageCount: 100 AbsoluteMaxBytes: 99 MB PreferredMaxBytes: 512 KB ``` Have I to configure the network in a different way? Thanks

root10 (Thu, 06 Jun 2019 14:16:22 GMT):
This are some errors in peer log: ```bash 2019-06-06 13:27:52.711 UTC [chaincode] HandleTransaction -> ERRO 28e8e [5803343e] Failed to handle PUT_STATE. error: no ledger context github.com/hyperledger/fabric/core/chaincode.(*Handler).isValidTxSim /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:545 github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleTransaction /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:259 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 PUT_STATE failed: transaction ID: 5803343ead5d8c64f26a3a98f08cd214c47236c5c23cf9be69d562e2cd477431 github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleTransaction /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:276 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 ``` ```bash 2019-06-06 13:25:34.840 UTC [chaincode] HandleTransaction -> ERRO 24328 [7e618958] Failed to handle GET_STATE. error: no ledger context github.com/hyperledger/fabric/core/chaincode.(*Handler).isValidTxSim /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:545 github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleTransaction /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:259 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 GET_STATE failed: transaction ID: 7e6189587bb77a72ab9e911402de1a46f0b2653e00280072ed2719a0b43a6c48 github.com/hyperledger/fabric/core/chaincode.(*Handler).HandleTransaction /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:276 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 ``` ```bash error sending failed to execute transaction 56efc78ac84f99c44d79dc43441ff4b2b88434b27775f3f2f003e209a4555592 github.com/hyperledger/fabric/core/chaincode.processChaincodeExecutionResult /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:244 github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:239 github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/support.go:147 github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:142 github.com/hyperledger/fabric/core/endorser.(*Endorser).SimulateProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:237 github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/endorser/endorser.go:456 github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61 github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal /opt/gopath/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:32 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler.func1 /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:169 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:31 github.com/hyperledger/fabric/common/grpclogging.UnaryServerInterceptor.func1 /opt/gopath/src/github.com/hyperledger/fabric/common/grpclogging/server.go:91 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34 github.com/hyperledger/fabric/common/grpcmetrics.UnaryServerInterceptor.func1 /opt/gopath/src/github.com/hyperledger/fabric/common/grpcmetrics/interceptor.go:30 github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:39 github.com/hyperledger/fabric/protos/peer._Endorser_ProcessProposal_Handler /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/peer.pb.go:171 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processUnaryRPC /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:982 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1208 github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 ```

ShobhitSrivastava (Fri, 14 Jun 2019 10:08:06 GMT):
Hi Kartik, per my knowledge there is no concept of mining in fabric. Create transaction is based on proposal response from the endorsing peers. If all the the response are same then it gets to ordering state and eventually to committer state. For query you can query from your your respective peer. If you want to check response from all peers then you have to query from all peers.

hanubc7743 (Wed, 19 Jun 2019 19:36:45 GMT):
Has joined the channel.

hanubc7743 (Wed, 19 Jun 2019 19:36:56 GMT):
Hi Can we integrate oracle db instead of couch db in hyperledger fabric?

qizhang (Wed, 19 Jun 2019 20:15:43 GMT):
Hi, is the `BASEIMAGE_RELEASE = 0.4.15` option in `Makefile` under `fabric` used to specify which version of `fabric-baseimage` will be used to compile `fabric-peer` image?

HLFPOC (Thu, 20 Jun 2019 05:20:05 GMT):
Has joined the channel.

raj_shekhar (Thu, 20 Jun 2019 09:00:36 GMT):
Has joined the channel.

aviralwal (Fri, 21 Jun 2019 13:57:12 GMT):
Has joined the channel.

troyronda (Wed, 26 Jun 2019 19:34:45 GMT):
I'm wondering if there is a status update on the cache work (e.g., https://gerrit.hyperledger.org/r/c/fabric/+/31360)... thanks :)

handy (Thu, 27 Jun 2019 08:28:53 GMT):
Has joined the channel.

handy (Thu, 27 Jun 2019 09:08:03 GMT):
Hi, so I have 1 orderer 3 peers (`peer0.org1.com`, `peer1.org1.com`, and `peer0.org2.com`) and I have problem with the endorsement policy. In the `crypto-config.yaml` I enable `EnableNodeOUs: true` for all of the `OrdererOrgs` and `PeerOrgs` member My chaincode structure is similar with https://github.com/IBM/car-auction-network-fabric-node-sdk/blob/master/chaincode/carauction.js with seperate `Init(stub)` and `initLedger(stub, args)`. After I install the chaincode to all peers, I instantiate my chaincode on `peer0.org1.com` with: ``` peer chaincode instantiate -C $CC_CHANNEL_ID -n $CC_NAME -v $CC_VERSION -c '{"Args":[""]}' -l node -P "AND ('Org1.peer','Org2.peer')" sleep 5s peer chaincode invoke -C $CC_CHANNEL_ID -n $CC_NAME -c '{"Args":["initLedger","a","100","b","200"]}' ``` The command run without error: ``` 2019-06-27 07:08:22.466 UTC [chaincodeCmd] InitCmdFactory -> INFO 003 Retrieved channel (airline-channel) orderer endpoint: SO.ME.I.P:7050 2019-06-27 07:08:22.471 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default escc 2019-06-27 07:08:22.471 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 005 Using default vscc 2019-06-27 07:09:24.359 UTC [chaincodeCmd] InitCmdFactory -> INFO 003 Retrieved channel (airline-channel) orderer endpoint: SO.ME.I.P:7050 2019-06-27 07:09:24.387 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 004 Chaincode invoke successful. result: status:200 payload:"-\347`z\270\247\212\330\232\226,\336" ``` But when I run `peer chaincode query -C $CC_CHANNEL_ID -n $CC_NAME -c '{"Args":["query","a"]}'` on `peer0.org1.com`, it returns: ``` Error: endorsement failure during query. response: status:500 message:"transaction returned with failure: Error: Failed to get state for a" ``` what cause the endorsement failure?

KartikChauhan (Fri, 28 Jun 2019 19:47:10 GMT):
I'm running a Fabric 1.4.1 network with one peer and one orderer. I'm using Prometheus to monitor them. The targets are up and Prometheus is able to scrape the metrics. But I think I'm not getting all the metrics that are listed on https://hyperledger-fabric.readthedocs.io/en/latest/metrics_reference.html Plus many of the metrics names look different than the ones mentioned in the list. This probably could be because the documentation is of version 1.4 and I'm running a network of 1.4.1. Just want to confirm if this is the sole reason or if there could be any other reason as well.

KartikChauhan (Mon, 01 Jul 2019 07:18:47 GMT):
Can a newly added organization create its own channel? I know how to add an organization to a running fabric network. But can that organization create a channel of its own?

mfaisaltariq (Tue, 02 Jul 2019 13:20:36 GMT):
Has joined the channel.

seokm0 (Tue, 02 Jul 2019 23:14:43 GMT):
Has joined the channel.

sstone1 (Wed, 03 Jul 2019 16:16:58 GMT):
@KartikChauhan if the new organization is added into the ordering service configuration (not just the configuration of an existing channel), then that new organization can also create channels

KartikChauhan (Wed, 03 Jul 2019 16:32:29 GMT):
Can we do that without stopping and restarting our orderer?

sstone1 (Wed, 03 Jul 2019 16:33:29 GMT):
yes - you need to edit the config of the orderer system channel (badly named testchainid in v1.4)

KartikChauhan (Wed, 03 Jul 2019 16:37:06 GMT):
But what profile will I provide during channel creation?

aatkddny (Thu, 11 Jul 2019 00:34:03 GMT):
There are two things you need to do. I'm going to answer the second one because I think that's the question you are asking here. The first is to add the new org into the system channel. There's instructions on how to do that all over the place, but the trick is to use the crypto from an orderer to sign the channel update. The second is the same as creating a channel when you initialize the network - you need to create a profile insane ide a configtx.yaml file and then run configtxgen to create a channel genesis block (and possibly anchor peer updates). configtxgen doesn't seem to mind too much if you append channel profiles to configtx.yaml and rerun it - we do it all the time. If the org is new iirc you need to also add the org definition into the `Organizations` piece of configtx.yaml too. I'm being vague because I automated it all and I don't feel like tracing through the code.

aatkddny (Thu, 11 Jul 2019 00:34:03 GMT):
There are two things you need to do. I'm going to answer the second one because I think that's the question you are asking here. The first is to add the new org into the system channel. There's instructions on how to do that all over the place, but the trick is to use the crypto from an orderer to sign the channel update. The second is the same as creating a channel when you initialize the network - you need to create a profile inside a configtx.yaml file and then run configtxgen to create a channel genesis block (and possibly anchor peer updates). configtxgen doesn't seem to mind too much if you append channel profiles to configtx.yaml and rerun it - we do it all the time. If the org is new iirc you need to also add the org definition into the `Organizations` piece of configtx.yaml too. I'm being vague because I automated it all and I don't feel like tracing through the code.

soumyanayak (Thu, 11 Jul 2019 12:11:50 GMT):
Has joined the channel.

soumyanayak (Thu, 11 Jul 2019 12:13:50 GMT):
Hi All, How to increase the timeout period when trying the query on the peer from node SDK . I was trying to query and its getting timeout in 20-25 seconds. Regards, Soumya

krabradosty (Thu, 11 Jul 2019 16:23:16 GMT):
Hello. Sometimes peers just freeze and doesn't react on any interaction (send proposal, subscribe to channel blocks). Only restart on container helps. Here you can find logs output of one of the peer: https://pastebin.com/e4uC5cB2. Other peers work fine. Grps error message continue to emerge infinitely until I restart container: ``` streaming call completed grpc.service=protos.Deliver grpc.method=DeliverFiltered grpc.peer_address=172.19.0.1:43574 error="context canceled" grpc.code=Unknown grpc.call_duration=44.945012168s ```

krabradosty (Thu, 11 Jul 2019 16:23:16 GMT):
Hello. Sometimes peers just freeze and doesn't react on any interaction (send proposal, subscribe to channel blocks). Only restart on container helps. Here you can find logs output of one of the peer: https://pastebin.com/e4uC5cB2. Other peers work fine. Grps error message continue to emerge infinitely until I restart container: ``` streaming call completed grpc.service=protos.Deliver grpc.method=DeliverFiltered grpc.peer_address=172.19.0.1:43574 error="context canceled" grpc.code=Unknown grpc.call_duration=44.945012168s ``` What can cause this problem?

krabradosty (Thu, 11 Jul 2019 16:23:16 GMT):
Hello. Sometimes peers just freeze and doesn't react on any interaction (send proposal, subscribe to channel blocks). Only restart of container helps. Here you can find logs output of one of the peer: https://pastebin.com/e4uC5cB2. Other peers work fine. Grpc error message continue to emerge infinitely until I restart container: ``` streaming call completed grpc.service=protos.Deliver grpc.method=DeliverFiltered grpc.peer_address=172.19.0.1:43574 error="context canceled" grpc.code=Unknown grpc.call_duration=44.945012168s ``` What can cause this problem?

Utsav_Solanki (Mon, 15 Jul 2019 06:19:15 GMT):
Has joined the channel.

Utsav_Solanki (Mon, 15 Jul 2019 06:19:17 GMT):
UTC [gossip.comm] createConnection -> WARN 15effc Remote endpoint claims to be a different peer, expected fsdfdsfdfdfgdgfsdgfdsg but got fdsfdsgfdgfdfsdfs

Utsav_Solanki (Mon, 15 Jul 2019 06:22:13 GMT):
hello, i found this warninig in HLF fabric peer0 docker logs [UTC [gossip.comm] createConnection -> WARN 15effc Remote endpoint claims to be a different peer, expected djslkflsdfndskjfla but got fnldfnsdfnlsdf ] , can any one have solution / idea for why its happening

Utsav_Solanki (Mon, 15 Jul 2019 06:22:13 GMT):
hello, i found this warninig in HLF fabric peer0 docker logs [UTC [gossip.comm] createConnection -> WARN 89eddsc Remote endpoint claims to be a different peer, expected djslkflsdfndskjfla but got fnldfnsdfnlsdf ] , can any one have solution / idea for why its happening

shrugupt (Mon, 15 Jul 2019 08:12:10 GMT):
Has joined the channel.

yacovm (Mon, 15 Jul 2019 09:55:01 GMT):
You have a network misconfiguration, or the peer changed its certificate.

Utsav_Solanki (Mon, 15 Jul 2019 11:36:14 GMT):
Thanks for reply but how can i change this PKI ID to exact peer

Utsav_Solanki (Mon, 15 Jul 2019 11:40:58 GMT):
because as i compared [ expected key and PKI ID key with my peers ca, tls, msp in located directory but no mach found ]

yacovm (Mon, 15 Jul 2019 12:01:08 GMT):
just don't change the certificate

Utsav_Solanki (Mon, 15 Jul 2019 12:21:02 GMT):
i do not change certificate but what other changes i have to do in my peer

Utsav_Solanki (Mon, 15 Jul 2019 12:21:55 GMT):
can i have steps to do that

yacovm (Mon, 15 Jul 2019 12:33:17 GMT):
ah just restart it

Utsav_Solanki (Mon, 15 Jul 2019 12:41:05 GMT):
i did before that before,

Utsav_Solanki (Mon, 15 Jul 2019 12:41:05 GMT):
i did before this logs errors,

Utsav_Solanki (Mon, 15 Jul 2019 12:41:05 GMT):
exact peer logs are

Utsav_Solanki (Mon, 15 Jul 2019 12:45:22 GMT):
2019-07-15 11:29:06.186 UTC [gossip.comm] createConnection -> WARN 16e4f6 Remote endpoint claims to be a different peer, expected asdsafsdfdf6dfs6cb6f809ae3436 but got 4d1f0f020429089928b5f36f5c7e1b9fc19b23f521aaa6161f33c7be4a0f5c53 2019-07-15 11:29:06.186 UTC [gossip.comm] sendToEndpoint -> WARN 16e4f7 Failed obtaining connection for ip:port, PKIid:asdsafsdfdf6dfs6cb6f809ae3436 reason: authentication failure 2019-07-15 11:29:06.186 UTC [gossip.discovery] expireDeadMembers -> WARN 16e4f8 Entering [asdsafsdfdf6dfs6cb6f809ae3436] 2019-07-15 11:29:06.186 UTC [gossip.discovery] expireDeadMembers -> WARN 16e4f9 Closing connection to Endpoint: ip:port, InternalEndpoint: , PKI-ID: asdsafsdfdf6dfs6cb6f809ae3436, Metadata: 2019-07-15 11:29:06.187 UTC [gossip.discovery] expireDeadMembers -> WARN 16e4fb Exiting

Utsav_Solanki (Mon, 15 Jul 2019 12:48:09 GMT):
does peers change their certificate automatically because none of PKIid:asdsafsdfdf6dfs6cb6f809ae3436 and Entering [1bc2a17b1e8b6fa32311c9b5fce3255cb6f809ae34365bf25a1391bd277cff0b]

Utsav_Solanki (Mon, 15 Jul 2019 12:48:09 GMT):
does peers change their certificate automatically because none of PKIid:asdsafsdfdf6dfs6cb6f809ae3436 and Entering [1bc2a17b1e8b6fa32311c9b5fce3255cb6f809ae34365bf25a1391bd277cff0b] i am using

Utsav_Solanki (Mon, 15 Jul 2019 12:48:09 GMT):
does peers change their certificate automatically because NONE OF KEY / CERTS I AM USING AS PKIid:asdsafsdfdf6dfs6cb6f809ae3436 and Entering [1bc2a17b1e8b6fa32311c9b5fce3255cb6f809ae34365bf25a1391bd277cff0b] BUT STILL IN LOGS ITS COMING THESE PKI AND ENTERING

Utsav_Solanki (Tue, 16 Jul 2019 06:26:38 GMT):
any idea ?

Utsav_Solanki (Tue, 16 Jul 2019 06:26:38 GMT):
any idea on above issue ?

soumyanayak (Sat, 20 Jul 2019 03:04:17 GMT):
Hi all, when i am trying to do "peer node status" from the fabric-tools container the below error -- root@0d473a576d81:/opt/scripts# peer node status 2019-07-20 02:55:14.105 UTC [nodeCmd] status -> INFO 001 Error trying to get status from local peer: rpc error: code = Unavailable desc = transport is closing status:UNKNOWN Error: Error trying to connect to local peer: rpc error: code = Unavailable desc = transport is closing the mspconfigpath is set to peer admin msp while running the above command

Utsav_Solanki (Sat, 20 Jul 2019 07:26:17 GMT):
how can i access peers ledger?

Utsav_Solanki (Sat, 20 Jul 2019 07:26:17 GMT):
how can i access peers ledger? i want to see older hash and data that maintained in peer ledger.

mfaisaltariq (Tue, 23 Jul 2019 07:32:46 GMT):
``` 2019-07-22 15:48:53.998 UTC [blocksProvider] DeliverBlocks -> ERRO 032 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:48:54.116 UTC [blocksProvider] DeliverBlocks -> ERRO 033 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:48:54.336 UTC [blocksProvider] DeliverBlocks -> ERRO 034 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:48:54.748 UTC [blocksProvider] DeliverBlocks -> ERRO 035 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:48:55.569 UTC [blocksProvider] DeliverBlocks -> ERRO 036 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:48:57.157 UTC [blocksProvider] DeliverBlocks -> ERRO 037 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:49:00.383 UTC [blocksProvider] DeliverBlocks -> ERRO 038 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:49:06.796 UTC [blocksProvider] DeliverBlocks -> ERRO 039 [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:49:16.815 UTC [blocksProvider] DeliverBlocks -> ERRO 03a [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:49:26.813 UTC [blocksProvider] DeliverBlocks -> ERRO 03b [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:49:36.837 UTC [blocksProvider] DeliverBlocks -> ERRO 03c [linuxctlchannel] Got error &{FORBIDDEN} 2019-07-22 15:49:36.837 UTC [blocksProvider] DeliverBlocks -> ERRO 03d [linuxctlchannel] Wrong statuses threshold passed, stopping block provider ``` Getting this error on Peer Join

Utsav_Solanki (Wed, 24 Jul 2019 07:52:09 GMT):
2019-07-24 07:35:35.535 UTC [gossip.comm] sendToEndpoint -> WARN 5673 Failed obtaining connection for ip:port, PKIid:4d1f0f020429089928b5f36f5adasfa1aaa6161f33c7be4a0f5c53 reason: context deadline exceeded 2019-07-24 07:35:35.535 UTC [gossip.discovery] expireDeadMembers -> WARN 5674 Entering [4d1f0f020429089928b5f36f5adasfa1aaa6161f33c7be4a0f5c53] 2019-07-24 07:35:35.535 UTC [gossip.discovery] expireDeadMembers -> WARN 5675 Closing connection to Endpoint: ip:port, InternalEndpoint: ip:port, PKI-ID: 4d1f0f020429089928b5f36f5adasfa1aaa6161f33c7be4a0f5c53, Metadata: 2019-07-24 07:35:35.535 UTC [gossip.discovery] expireDeadMembers -> WARN 5676 Exiting i am getting peers logs and my peers getting exited becoz of memory drained

Utsav_Solanki (Wed, 24 Jul 2019 07:52:16 GMT):
any solution

krabradosty (Tue, 30 Jul 2019 06:59:26 GMT):
Hi all! I faced surprising bug, maybe will be useful for somebody. Peers reject signatures of identities with type of `client` and with affiliation also `client`. In certificate it looks like this: `OU=client+OU=client`. I have no idea what is the resason of the bug, but everything starts working as expected when I change affiliation. Error messages from peers don't contain any unusual comments: ``` [33m2019-07-29 18:20:01.784 UTC [common.deliver] deliverBlocks -> WARN 18e [channel: main-kyc] Client authorization revoked for deliver request from 10.17.39.246:52876: Failed evaluating policy on signed data during check policy on channel [main-kyc] with policy [/Channel/Application/Readers]: [implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 1 of the 'Readers' sub-policies to be satisfied] ```

Utsav_Solanki (Wed, 31 Jul 2019 07:23:24 GMT):
this is peer_org1 container logs but why is giving [ isn't responsive: EOF ] in logs

Utsav_Solanki (Wed, 31 Jul 2019 07:23:26 GMT):
so all logs are

Utsav_Solanki (Wed, 31 Jul 2019 07:23:29 GMT):
2019-07-31 06:59:16.585 UTC [gossip.comm] func1 -> WARN 064 peer0.org2.example.com:7051, PKIid:33b6c19d1fffb3dd55d37531865fb940be3dc0fa42944a19e853088282894114 isn't responsive: EOF 2019-07-31 06:59:16.585 UTC [gossip.discovery] expireDeadMembers -> WARN 065 Entering [33b6c19d1fffb3dd55d37531865fb940be3dc0fa42944a19e853088282894114] 2019-07-31 06:59:16.586 UTC [gossip.discovery] expireDeadMembers -> WARN 066 Closing connection to Endpoint: peer0.org2.example.com:7051, InternalEndpoint: , PKI-ID: 33b6c19d1fffb3dd55d3753186sdfsdfsgs44a19e853088282894114, Metadata: 2019-07-31 06:59:16.586 UTC [gossip.discovery] expireDeadMembers -> WARN 067 Exiting

soumyanayak (Fri, 09 Aug 2019 11:19:05 GMT):
In CouchDB the order is going lexically , is it the default behavior or we can have any sorting order like numerical order - ascending based on key?

aatkddny (Mon, 12 Aug 2019 13:28:05 GMT):
Getting a lot of these. Network allows me to create channels and install and instantiate chaincode, so it can't be too badly messed up. Are they expected or a symptom that something - I'd guess gossip between peers - isn't working correctly. ``` 2019-08-12 13:19:27.755 UTC [grpc] DialContext -> DEBU c04 parsed scheme: "" 2019-08-12 13:19:27.755 UTC [grpc] DialContext -> DEBU c05 scheme "" not registered, fallback to default scheme 2019-08-12 13:19:27.755 UTC [grpc] watcher -> DEBU c06 ccResolverWrapper: sending new addresses to cc: [{peer0-someorg:7051 0 }] 2019-08-12 13:19:27.756 UTC [grpc] switchBalancer -> DEBU c07 ClientConn switching balancer to "pick_first" 2019-08-12 13:19:27.756 UTC [grpc] HandleSubConnStateChange -> DEBU c08 pickfirstBalancer: HandleSubConnStateChange: 0xc00a2bf7f0, CONNECTING 2019-08-12 13:19:27.765 UTC [grpc] HandleSubConnStateChange -> DEBU c09 pickfirstBalancer: HandleSubConnStateChange: 0xc00a2bf7f0, READY 2019-08-12 13:19:27.787 UTC [comm.grpc.server] 1 -> INFO c0a unary call completed grpc.service=gossip.Gossip grpc.method=Ping grpc.request_deadline=2019-08-12T13:19:29.786Z grpc.peer_address=10.1.0.1:34820 grpc.peer_subject="CN=peer0-someorg,L=San Francisco,ST=California,C=US" grpc.code=OK grpc.call_duration=196.8µs 2019-08-12 13:19:27.793 UTC [grpc] infof -> DEBU c0b transport: loopyWriter.run returning. connection error: desc = "transport is closing" 2019-08-12 13:19:27.793 UTC [grpc] infof -> DEBU c0c transport: loopyWriter.run returning. connection error: desc = "transport is closing" 2019-08-12 13:19:27.793 UTC [comm.grpc.server] 1 -> INFO c0d streaming call completed grpc.service=gossip.Gossip grpc.method=GossipStream grpc.peer_address=10.1.0.1:34820 grpc.peer_subject="CN=peer0-someorg,L=San Francisco,ST=California,C=US" error="rpc error: code = Canceled desc = context canceled" grpc.code=Canceled grpc.call_duration=5.0578ms ```

yacovm (Mon, 12 Aug 2019 14:41:51 GMT):
@aatkddny wthere are DEBUG and not warnings

yacovm (Mon, 12 Aug 2019 14:41:57 GMT):
you shouldn't care

aatkddny (Mon, 12 Aug 2019 14:45:41 GMT):
k. thx.

joeljhanster (Tue, 13 Aug 2019 06:01:09 GMT):
Has joined the channel.

indirajith (Thu, 15 Aug 2019 20:23:56 GMT):
Hi all, I encounter an error when I try to join peer2 to a channel from cli container I get the following: ```[grpc] createTransport -> DEBU 03b grpc: addrConn.createTransport failed to connect to {peer2-org1.local:7051 0 }. Err :connection error: desc = "transport: error while dialing: dial tcp 192.168.176.104:7051: connect: connection refused". Reconnecting... 2019-08-15 19:59:43.051 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc00023ac50, TRANSIENT_FAILURE Error: error getting endorser client for channel: endorser client failed to connect to peer2-org1..local:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp 192.168.176.104:7051: connect: connection refused" ``` in the CLI cointainer. The logs of peer2-org1.local I got the following: ~~~ HandleSubConnStateChange -> DEBU 727 pickfirstBalancer: HandleSubConnStateChange: 0xc00012cb00, TRANSIENT_FAILURE 2019-08-08 08:46:50.511 UTC [grpc] func1 -> DEBU 728 Failed to dial peer1-org1.inuit.local:7051: context canceled; please retry. 2019-08-08 08:46:50.511 UTC [gossip.discovery] func1 -> WARN 729 Could not connect to Endpoint: peer1-org1.inuit.local:7051, InternalEndpoint: peer1-org1.inuit.local:7051, PKI-ID: , Metadata: : context deadline exceeded ~~~ Is it something to do with the CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE value specified in the docker-compose.yml file? What does this environment variable does? I have multi host setup. Thanks in advance

indirajith (Thu, 15 Aug 2019 20:23:56 GMT):
Hi all, I encounter an error when I try to join peer2 to a channel from cli container I get the following: ```[grpc] createTransport -> DEBU 03b grpc: addrConn.createTransport failed to connect to {peer2-org1.local:7051 0 }. Err :connection error: desc = "transport: error while dialing: dial tcp 192.168.176.104:7051: connect: connection refused". Reconnecting... 2019-08-15 19:59:43.051 UTC [grpc] HandleSubConnStateChange -> DEBU 03c pickfirstBalancer: HandleSubConnStateChange: 0xc00023ac50, TRANSIENT_FAILURE Error: error getting endorser client for channel: endorser client failed to connect to peer2-org1..local:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp 192.168.176.104:7051: connect: connection refused" ``` in the CLI cointainer. The logs of peer2-org1.local I got the following: ```HandleSubConnStateChange -> DEBU 727 pickfirstBalancer: HandleSubConnStateChange: 0xc00012cb00, TRANSIENT_FAILURE 2019-08-08 08:46:50.511 UTC [grpc] func1 -> DEBU 728 Failed to dial peer1-org1.local:7051: context canceled; please retry. 2019-08-08 08:46:50.511 UTC [gossip.discovery] func1 -> WARN 729 Could not connect to Endpoint: peer1-org1.local:7051, InternalEndpoint: peer1-org1.local:7051, PKI-ID: , Metadata: : context deadline exceeded ``` Is it something to do with the CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE value specified in the docker-compose.yml file? What does this environment variable does? I have multi host setup. Thanks in advance

soumyanayak (Fri, 16 Aug 2019 08:38:23 GMT):
CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE -- docker supports multiple types of networking. This var is used for the type of networking that you intend to use -- host, bridge, ipvlan, none. You can check this link for this value - https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.con.doc/q131010_.htm

indirajith (Fri, 16 Aug 2019 16:24:08 GMT):
Thank you @soumyanayak but, as I am not using docker swarm, and have cli and peer on different hosts, I just want to iuse their IPs to communicate. I get connection refused, error while dialing on CLI and, context deadline exceeded error on peer2 while joining a channel. I think the error is not due to any networking problem. Could you shed some more light on this?

soumyanayak (Fri, 16 Aug 2019 21:26:24 GMT):
Indrajit , i am also not using the docker swarm, instead i am using something as "network_mode" = host in docker compose file. so from your CLI host machine just run the command nc -vz 7051 --- see if its connecting? If not then the ports are not exposed. If connecting then try running the same above command again from the cli docker container

ItaloCarrasco (Mon, 19 Aug 2019 20:00:55 GMT):
Has joined the channel.

ItaloCarrasco (Mon, 19 Aug 2019 20:00:57 GMT):
hello can anyone explain what does that error mean? 2019-08-19 19:56:14.044 UTC [statebasedval] ValidateAndPrepareBatch -> WARN 041 Block [7] Transaction index [0] TxId [fae901aee17d0ad8ff0349e6b165acd499c24e48ce238f8fd67fc8d2b732bf94] marked as invalid by state validator. Reason code [MVCC_READ_CONFLICT]

iramiller (Mon, 19 Aug 2019 22:38:04 GMT):
@#it

iramiller (Mon, 19 Aug 2019 22:38:04 GMT):
@ItaloCarrasco your state changed in the middle of your transaction https://en.wikipedia.org/wiki/Multiversion_concurrency_control

galaxystar (Tue, 20 Aug 2019 01:23:42 GMT):
Has joined the channel.

Adam_Hardie (Tue, 20 Aug 2019 10:31:18 GMT):
Has joined the channel.

Adam_Hardie (Tue, 20 Aug 2019 10:34:29 GMT):
hi all! I have setup a simple raft network, on docker swarm mode. I have been basing my config from byfn raft sample. Orderer and Peer containers startup, and I can see Ordering nodes logging Raft consensus between them. so, i now want to setup a channel for my Organisation. but it fails. the below error is printed in Orderer : 2019-08-20 10:23:30.894 UTC [core.comm] ServerHandshake -> ERRO 5d7 TLS handshake failed with error tls: failed to verify client's certificate: x509: certificate signed by unknown authority server=Orderer remoteaddress=10.0.0.4:32788 Easy enough to understand, however I have followed the examples.. Its hard to know where I went wrong. My channel creation is as follows: docker exec $PEER_NAME peer channel create -o orderer0.company:7050 --tls --cafile /etc/hyperledger/fabric/ordererCerts/tlsca.company-cert.pem -c messagebus -f /etc/hyperledger/configtx/channel.tx --keyfile /etc/hyperledger/msp/users/Admin\@company/tls/client.key --certfile /etc/hyperledger/msp/users/Admin\@company/tls/client.crt --clientauth

Adam_Hardie (Tue, 20 Aug 2019 10:41:01 GMT):
in case it helps here are some of my configs : orderer: https://pastebin.com/jjcmZGZc peer: https://pastebin.com/azTnxNUA

indirajith (Thu, 22 Aug 2019 11:23:21 GMT):
Thank you Soumya! it makes sense to me now. But I have one more doubt. For CLI containers when peers of an organisation are on different networks, which port do we need to expose? I still quite don't get the environement variable we provide in CLI docker-compose file. we provide CORE_PEER_ADDRESS=peer1-org2:7051 fin CLI. Can you please explain me a bit more on this?

soumyanayak (Thu, 22 Aug 2019 11:29:01 GMT):
in my case the CORE_PEER_ADDRESS=:7051 and 7051 is what you expose in ports.

indirajith (Thu, 22 Aug 2019 11:32:38 GMT):
Okay, but the same port was also used by a peer on the same host and I have a second peer running on another host. Now the peer and the cli on the same host wouldn't it create any port conflict? Sorry for the repeated questions.

soumyanayak (Thu, 22 Aug 2019 11:35:20 GMT):
you should give a different one like 8051 under ports section peer 1 --> 7050

soumyanayak (Thu, 22 Aug 2019 11:35:23 GMT):
HOST:CONTAINER

soumyanayak (Thu, 22 Aug 2019 11:35:33 GMT):
7050:7050 -- peer1

soumyanayak (Thu, 22 Aug 2019 11:35:53 GMT):
8050:7050 -- peer2

soumyanayak (Thu, 22 Aug 2019 11:36:18 GMT):
in the same machine you have to change the ports

indirajith (Thu, 22 Aug 2019 11:37:42 GMT):
Yeah, my doubt was as we use the same peer address for both cli and peer I am confused whether to use same port for both peer and cli on the same host or not.

indirajith (Thu, 22 Aug 2019 21:53:13 GMT):
Soumyanayak, I have found the solution. Thank you!

isilvalepe (Fri, 23 Aug 2019 14:46:51 GMT):
Has joined the channel.

isilvalepe (Fri, 23 Aug 2019 14:46:51 GMT):
https://chat.hyperledger.org/channel/fabric-questions?msg=WcivZdBQoCp7F2GPP

sarapaul (Sun, 25 Aug 2019 22:11:32 GMT):
Has joined the channel.

Utsav_Solanki (Mon, 26 Aug 2019 04:53:43 GMT):
in HLF peers container if we not perform any transaction for few days, does it automatically exited from HLF Network

Utsav_Solanki (Mon, 26 Aug 2019 04:53:43 GMT):
in HLF peers container if we not perform any transaction for few days, does it automatically exited from HLF Network,

Utsav_Solanki (Mon, 26 Aug 2019 04:53:43 GMT):
in HLF peers (peer0, peer1) container if we not perform any transaction for few days, does it automatically exited from HLF Network, my peer1, couchdb containers automatically exited(0)

Utsav_Solanki (Mon, 26 Aug 2019 05:05:18 GMT):
anyone knows why this happens?

Deepakshinde (Mon, 26 Aug 2019 12:14:42 GMT):
Has joined the channel.

Deepakshinde (Mon, 26 Aug 2019 12:14:44 GMT):
Peer machine IP changed, how to update transaction file and genesis block without regenerating artifacts?

akshay.lawange (Mon, 26 Aug 2019 12:32:14 GMT):

Clipboard - August 26, 2019 6:02 PM

akshay.lawange (Mon, 26 Aug 2019 12:32:16 GMT):
Hi all, I am using fabric 1.3.0, it works fine. However, sometime when a bigger transaction comes in (transaction json contains 2000-3000 json) it disconnects from peer and say `no ledger context`. Below is the error capture in peer0 of a node, which says invalid transaction but in fact it is not. Can someone help with this? its urgent. Thanks.

akshay.lawange (Mon, 26 Aug 2019 12:32:16 GMT):
Hi all, I am using fabric 1.3.0, it works fine. However, sometime when a bigger transaction comes in (transaction json contains 2000-3000 json) it disconnects from peer and say `no ledger context`. Above is the error capture in peer0 of a node, which says invalid transaction but in fact it is not. Can someone help with this? its urgent. Thanks.

dan13 (Mon, 26 Aug 2019 15:31:06 GMT):
Maybe something thought-provoking https://jira.hyperledger.org/browse/FABG-309?jql=text%20~%20%22%5C%22no%20ledger%20context%5C%22%22 but doesn't look like much here :(

dan13 (Mon, 26 Aug 2019 15:31:06 GMT):
Maybe something thought-provoking https://jira.hyperledger.org/browse/FABG-309?jql=text%20~%20%22%5C%22no%20ledger%20context%5C%22%22 but doesn't look like much here :( Googling "no ledger context" also gets some hits -- good luck!

akshay.lawange (Mon, 26 Aug 2019 15:41:38 GMT):
Thanks @dan13 ..i will check what i can find out..and it gets resolved i will post here.

akshay.lawange (Mon, 26 Aug 2019 15:41:38 GMT):
Thanks @dan13 ..i will check what i can find out..and if it gets resolved, i will post it here.

sstone1 (Tue, 27 Aug 2019 12:50:19 GMT):
`no ledger context` means that the chaincode is still running and trying to interact with the world state/ledger, but the peer has given up on the transaction. this can happen if the chaincode takes too long to run and the peer times the transaction out, or if the chaincode launches processing in other threads that it doesn't wait for.

akshay.lawange (Tue, 27 Aug 2019 16:04:10 GMT):
ok..thanks @sstone1 . So do we have to increase the transaction time in core.yaml?

aatkddny (Thu, 29 Aug 2019 13:34:09 GMT):
So we just started a new channel. First Tx update didn't go so well. We can read it what we added. So that triggers the code to try an update (rather than an add). When we do that we get a "Not enough endorsers" error where one (of multiple) returns with "Item not found". Looking at the peer you can see this - `response status 500 for txid: 2d4f4a2c82b4785917b9822295296d3778b1072847ab9d81b687dd8b7daaffb1` I'm guessing this means the CC failed to instantiate in time, but the logs aren't showing a failure message. *So my question is how do I fix this?* Reinstall the CC? Restart the peers? Also I'm seeing a lot of these: ``` 2019-08-27 18:50:36.014 UTC [grpc] HandleSubConnStateChange -> DEBU 19b8 pickfirstBalancer: HandleSubConnStateChange: 0xc003d50420, TRANSIENT_FAILURE 2019-08-27 18:50:36.502 UTC [grpc] func1 -> DEBU 19b9 Failed to dial peer0-org2:30030: context canceled; please retry. 2019-08-27 18:50:36.502 UTC [grpc] func1 -> DEBU 19ba Failed to dial peer0-org3:30050: context canceled; please retry. 2019-08-27 18:50:52.279 UTC [core.comm] ServerHandshake -> ERRO 19bb TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.42.6.102:42518 2019-08-27 18:50:52.279 UTC [grpc] handleRawConn -> DEBU 19bc grpc: Server.Serve failed to complete security handshake from "10.42.6.102:42518": remote error: tls: bad certificate 2019-08-27 18:50:53.279 UTC [core.comm] ServerHandshake -> ERRO 19bd TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.42.6.102:42526 2019-08-27 18:50:53.279 UTC [grpc] handleRawConn -> DEBU 19be grpc: Server.Serve failed to complete security handshake from "10.42.6.102:42526": remote error: tls: bad certificate 2019-08-27 18:50:54.666 UTC [core.comm] ServerHandshake -> ERRO 19bf TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.42.6.102:42536 2019-08-27 18:50:54.666 UTC [grpc] handleRawConn -> DEBU 19c0 grpc: Server.Serve failed to complete security handshake from "10.42.6.102:42536": remote error: tls: bad certificate ``` I have multiple orgs inside this cluster. The SAN for all of them is set to be the node names, which allows me to bring them up and instantiate chaincode. Not sure why it's failing here - is there some easy way to tell what it doesn't like in the cert?

yacovm (Thu, 29 Aug 2019 13:40:12 GMT):
> is there some easy way to tell what it doesn't like in the cert? yeah... make the logging be `grpc=debug` as well and then it prints what is exactly wrong with the certificate @aatkddny

yacovm (Thu, 29 Aug 2019 13:40:19 GMT):
https://hyperledger-fabric.readthedocs.io/en/release-1.4/logging-control.html

yacovm (Thu, 29 Aug 2019 13:40:45 GMT):
`FABRIC_LOGGING_SPEC=grpc=debug:debug`

yacovm (Thu, 29 Aug 2019 13:40:48 GMT):
something like that

aatkddny (Thu, 29 Aug 2019 13:50:30 GMT):
It was. ``` "name": "FABRIC_LOGGING_SPEC", "value": "grpc=debug" ``` Guess I need the second `:debug`?

aatkddny (Thu, 29 Aug 2019 13:50:30 GMT):
It was. ``` "name": "FABRIC_LOGGING_SPEC", "value": "grpc=debug" ``` Guess I need the second `:debug`? edit: Nope that doesn't change things.

aatkddny (Thu, 29 Aug 2019 13:50:30 GMT):
It was. ``` "name": "FABRIC_LOGGING_SPEC", "value": "grpc=debug" ``` Guess I need the second `:debug`? edit: Nope that doesn't change things. Any other ideas?

yacovm (Thu, 29 Aug 2019 14:02:38 GMT):
you don't see any gRPC logging? :/

yacovm (Thu, 29 Aug 2019 14:02:41 GMT):
ah wait

yacovm (Thu, 29 Aug 2019 14:02:44 GMT):
you already have it

yacovm (Thu, 29 Aug 2019 14:02:47 GMT):
sorry... i didn't notice

yacovm (Thu, 29 Aug 2019 14:03:16 GMT):
ok so you can capture the communication via `tcpdump` and you can open it with `wireshark` and look :(

yacovm (Thu, 29 Aug 2019 14:03:32 GMT):
i don't know how to debug it from Fabric in a different way

aatkddny (Thu, 29 Aug 2019 15:20:00 GMT):
K. And for the benefit of future generations restarting the peer fixed the out of sync error.

aatkddny (Thu, 29 Aug 2019 15:23:56 GMT):
Back to the tls filed to dial problem. This is the peer trying to talk start communications across multiple orgs. Is there anything that describes the correct way to do this? I'm guessing I need to provide it a cert from the server it's trying to talk to somehow? But I'm really really guessing here... Or is this expected and I just ignore it. It still seems to all work.

aatkddny (Thu, 29 Aug 2019 15:23:56 GMT):
Back to the tls `failed to dial` problem. This is the peer trying to talk start communications across multiple orgs. Is there anything that describes the correct way to do this? I'm guessing I need to provide it a cert from the server it's trying to talk to somehow? But I'm really really guessing here... Or is this expected and I just ignore it. It still seems to all work.

indirajith (Fri, 30 Aug 2019 11:34:07 GMT):
How to modify the logging levels dynamically without restarting peers and orderers? Is there a way for this? Like we can change the log levels if we encounter any problems then revert back.

wlahti (Fri, 30 Aug 2019 12:27:59 GMT):
Starting in fabric v1.4, the operations service was introduced and can be used to change the logging spec dynamically: https://hyperledger-fabric.readthedocs.io/en/release-1.4/operations_service.html

indirajith (Fri, 30 Aug 2019 13:05:19 GMT):
Thank you wlahti!

abel23 (Sat, 31 Aug 2019 11:36:50 GMT):
Has joined the channel.

guoger (Wed, 04 Sep 2019 08:35:10 GMT):
[this method](https://github.com/hyperledger/fabric/blob/d9b0ac2c38fc6ce9384a29dc35d6724cc65e0f51/core/common/validation/statebased/validator_keylevel.go#L184-L194) is not entirely clear to me. IIUC, it ultimately builds the `depsByLedgerKeyIDMap` within `validationContext` for a specific block, which can be done *in parallel*. And this method *proactively* builds dependencies for transactions *preceding*(incl.) current `tIdx`. However, the `mutex` there kills the concurrency in _worst case_ (`PreValidate` is called with ascending `txNum`), and profiling shows that this consumes a significant amount of time when a block contains a large number of txs. I wonder why couldn't we build dependencies map in parallel once for all? thx @aso @yacovm ``` func (klv *KeyLevelValidator) invokeOnce(block *common.Block, txnum uint64) *sync.Once { klv.blockDep.mutex.Lock() defer klv.blockDep.mutex.Unlock() if klv.blockDep.blockNum != block.Header.Number { klv.blockDep.blockNum = block.Header.Number klv.blockDep.txDepOnce = make([]sync.Once, len(block.Data.Data)) } return &klv.blockDep.txDepOnce[txnum] } ```

guoger (Wed, 04 Sep 2019 08:37:37 GMT):
also, why couldn't we create a new validator per block to avoid state tracking and locks? excessive gc? just trying to understand the rationale here

guoger (Wed, 04 Sep 2019 09:51:41 GMT):
essentially i'm proposing this https://gerrit.hyperledger.org/r/c/fabric/+/33366, which is fairly small, doesn't introduce extra locks, but reduces validation time by more than 50%. Of course it's very likely that i'm overlooking something which breaks actually invariants in that area...

guoger (Wed, 04 Sep 2019 09:53:33 GMT):
(while reading the code, i also feel the validator can be further simplified and optimized...)

Utsav_Solanki (Wed, 04 Sep 2019 13:30:26 GMT):
my all peer1 containers and all couchDB contaners are getting exited (0) with out any error in 7 days after HLF NW up, i am using hyperledger fabric 1.4.2.

Utsav_Solanki (Wed, 04 Sep 2019 13:30:26 GMT):
my all orgs peer1 containers and all couchDB contaners are getting exited (0) with out any error in 7 days after HLF NW up, i am using hyperledger fabric 1.4.2.

Utsav_Solanki (Wed, 04 Sep 2019 13:32:42 GMT):
peer1 exited container logs are

Utsav_Solanki (Wed, 04 Sep 2019 13:32:59 GMT):
2019-08-30 13:19:01.474 UTC [ledger] CommitWithPvtData -> INFO 83f [newchnl] Committed block [663] with 1 transaction(s) in 80ms (state_validation=7ms block_and_pvtdata_commit=45ms state_commit=24ms) commitHash=[a684e2a781eefdsfdffsd76d] 2019-09-04 09:45:50.270 UTC [nodeCmd] handleSignals -> INFO 840 Received signal: 15 (terminated) 2019-09-04 09:45:50.270 UTC [gossip.service] Stop -> INFO 841 Stopping chain newchnl 2019-09-04 09:45:50.270 UTC [gossip.gossip] Stop -> INFO 842 Stopping gossip 2019-09-04 09:45:50.270 UTC [gossip.discovery] Stop -> INFO 843 Stopping 2019-09-04 09:45:50.270 UTC [gossip.discovery] Stop -> INFO 844 Stopped 2019-09-04 09:45:50.270 UTC [gossip.comm] Stop -> INFO 845 Stopping 2019-09-04 09:45:50.270 UTC [gossip.comm] Stop -> INFO 846 Stopped

Utsav_Solanki (Wed, 04 Sep 2019 13:32:59 GMT):
2019-08-30 13:19:01.474 UTC [ledger] CommitWithPvtData -> INFO 83f [newchnl] Committed block [663] with 1 transaction(s) in 80ms (state_validation=7ms block_and_pvtdata_commit=45ms state_commit=24ms) commitHash=[a684e2a781eefdsfdffsd76d] 2019-09-04 09:45:50.270 UTC [nodeCmd] handleSignals -> INFO 840 Received signal: 15 (terminated) 2019-09-04 09:45:50.270 UTC [gossip.service] Stop -> INFO 841 Stopping chain newchnl 2019-09-04 09:45:50.270 UTC [gossip.gossip] Stop -> INFO 842 Stopping gossip 2019-09-04 09:45:50.270 UTC [gossip.discovery] Stop -> INFO 843 Stopping 2019-09-04 09:45:50.270 UTC [gossip.discovery] Stop -> INFO 844 Stopped 2019-09-04 09:45:50.270 UTC [gossip.comm] Stop -> INFO 845 Stopping 2019-09-04 09:45:50.270 UTC [gossip.comm] Stop -> INFO 846 Stopped , also you can see the difference of date change in logs

Utsav_Solanki (Wed, 04 Sep 2019 13:34:35 GMT):
any soluiton, Thank you

Utsav_Solanki (Wed, 04 Sep 2019 13:34:35 GMT):
any solution, Thank you

soumyanayak (Thu, 05 Sep 2019 06:32:33 GMT):
i am getting the below error *configtxlator: error: Error decoding: message of type %!s() unknown* the command i executed was - configtxlator proto_decode --input config_block.pb --type common.block | jq .data.data[0].payload.data.config > config.json

soumyanayak (Thu, 05 Sep 2019 12:22:20 GMT):
From the CLI how to check whether a peer is anchor peer or not ?

phantom.assasin (Fri, 06 Sep 2019 07:16:15 GMT):
Has joined the channel.

phantom.assasin (Fri, 06 Sep 2019 07:16:16 GMT):
How do i remove a peer from a channel?

mastersingh24 (Sun, 08 Sep 2019 20:10:16 GMT):
There is currently no API call that will allow you to do this ... the only option is to manually edit and remove the ledger files associated with the channel on the peer filesystem. There is a JIRA open to add a proper API for this

phantom.assasin (Mon, 09 Sep 2019 11:09:48 GMT):
Meanwhile one can also remove an org from channel by updating channel configurations

mastersingh24 (Mon, 09 Sep 2019 11:12:00 GMT):
Yes ... you can remove an organization from a channel via a config update and at that point peers from that org will no longer get blocks for that channel. But if you just want one peer from an org to "unjoin" a channel, there's no API for that.

phantom.assasin (Mon, 09 Sep 2019 11:31:00 GMT):
Yes. I am removing org as a workaround until the real API is available

soumyanayak (Fri, 13 Sep 2019 11:46:00 GMT):
While running the configtxgen tool for generating the genesis block from configtx.yaml i am getting the below error -- 2019-09-13 10:08:16.668 UTC [common.tools.configtxgen.localconfig] Load -> PANI 08a Error unmarshaling config into struct: 2 error(s) decoding: 'Orderer.Policies[Capabilities]' has invalid keys: V1_1, V1_3, V1_4_3 'Profiles[LegalDescriptionGenesis].Orderer.Policies[Capabilities]' has invalid keys: V1_1, V1_3, V1_4_3 2019-09-13 10:08:16.672 UTC [common.tools.configtxgen] func1 -> PANI 08b Error unmarshaling config into struct: 2 error(s) decoding:

generak (Sun, 15 Sep 2019 11:44:52 GMT):
Has joined the channel.

KartikChauhan (Tue, 17 Sep 2019 09:52:27 GMT):
How can I install and instantiate a typescript chaincode? This is what I did so far to try to make it work: 1) Installed npm packages in local environment. 2) Compiled my typescript project to js. Chaincode installed successfully but during instantiation I got the error `Error: could not assemble transaction, err proposal response was not successful, error code 500, msg chaincode registration failed: container exited with 0`. I then removed all my ts files and kept only js files and package.json in the folder. Again, the chaincode installed successfully but got the above-mentioned error again during instantiation.

soumyanayak (Tue, 17 Sep 2019 11:11:57 GMT):
Hi All, v1.4.3 Fabric - RAFT Orderer set up The installation and instantiation of the chaincode is happening on the peer. But when from the tools container i am running the command *peer chaincode list –instantiated -C legaldescriptionchannel* *the chaincode containers are exiting. * i had installed thrice with different versions and using upgraded using upgrade command but still the above issue lies.

soumyanayak (Tue, 17 Sep 2019 11:11:57 GMT):
Hi All, v1.4.3 Fabric - RAFT Orderer set up The installation and instantiation of the chaincode is happening on the peer. But when from the tools container i am running the command *peer chaincode list –instantiated -C legaldescriptionchannel* *the chaincode containers are exiting. * i had installed thrice with different versions and upgraded using upgrade command but still the above issue lies.

soumyanayak (Tue, 17 Sep 2019 11:11:57 GMT):
Hi All, v1.4.3 Fabric - RAFT Orderer set up The installation and instantiation of the chaincode is happening on the peer. But when from the tools container i am running the command *peer chaincode list –instantiated -C legaldescriptionchannel* *the chaincode containers are exiting. * i had installed thrice with different versions and upgraded using upgrade command but still the above issue lies. The peer logs are as shown below

soumyanayak (Tue, 17 Sep 2019 11:50:26 GMT):

Clipboard - September 17, 2019 5:20 PM

KartikChauhan (Tue, 17 Sep 2019 12:06:51 GMT):
How can I know the role of a peer? I mean how can I know which peer is endorsing and which which one is committing/validating peer in a hyperledger fabric network?

tommyjay (Tue, 17 Sep 2019 20:01:56 GMT):
Has joined the channel.

soumyanayak (Wed, 18 Sep 2019 04:41:04 GMT):
anybody any idea about this issue

soumyanayak (Wed, 18 Sep 2019 09:11:14 GMT):
This issue is resolved . Actually there was an issue in the configtx.yaml where the allignment of the key - Organization under Application section was not proper it was under the ACLs. Configtxgen tool generated the genesis file successfully, but that was the issue. So its a advice to everybody . Check the proper spacing and allignment in configtx.yaml before generating the artifacts

nleut (Wed, 18 Sep 2019 15:59:23 GMT):
Has joined the channel.

rahulhegde (Mon, 23 Sep 2019 23:02:02 GMT):
Hello - I am getting a orderer panic upon enabling promethus + mutual TLS on a different port for RAFT communication. ``` 2019-09-23 22:59:43.612 UTC [orderer.common.cluster] loadVerifier -> INFO 00b Loaded verifier for channel goldsac from config block at index 2 2019-09-23 22:59:43.634 UTC [orderer.common.cluster] loadVerifier -> INFO 00c Loaded verifier for channel public from config block at index 5 2019-09-23 22:59:43.640 UTC [orderer.common.cluster] loadVerifier -> INFO 00d Loaded verifier for channel testchainid from config block at index 7 2019-09-23 22:59:43.640 UTC [orderer.common.server] initializeServerConfig -> INFO 00e Starting orderer with TLS enabled panic: duplicate metrics collector registration attempted goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc0000d5d10, 0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:387 +0xad github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.MustRegister(0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:172 +0x53 github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus.NewCounterFrom(0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, 0x0, ...) /go/src/github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus/prometheus.go:24 +0xe3 github.com/hyperledger/fabric/common/metrics/prometheus.(*Provider).NewCounter(0x1de4b18, 0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, ...) /go/src/github.com/hyperledger/fabric/common/metrics/prometheus/provider.go:20 +0x138 github.com/hyperledger/fabric/core/comm.NewServerStatsHandler(0x15bde60, 0x1de4b18, 0x2) /go/src/github.com/hyperledger/fabric/core/comm/metrics.go:29 +0x74 github.com/hyperledger/fabric/core/comm.NewGRPCServerFromListener(0x15c3820, 0xc0000b4958, 0x12a05f200, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:152 +0x87e github.com/hyperledger/fabric/core/comm.NewGRPCServer(0xc0006d1980, 0xc, 0x0, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:55 +0x14b github.com/hyperledger/fabric/orderer/common/server.configureClusterListener(0xc000203200, 0x0, 0xc0001ca240, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, 0x2, ...) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:376 +0x78c github.com/hyperledger/fabric/orderer/common/server.Start(0x148462a, 0x5, 0xc000203200) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:141 +0xdf9 github.com/hyperledger/fabric/orderer/common/server.Main() /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:91 +0x1ce main.main() /go/src/github.com/hyperledger/fabric/orderer/main.go:15 +0x20 ``` ``` - ORDERER_OPERATIONS_LISTENADDRESS=:36001 - ORDERER_METRICS_PROVIDER=prometheus ``` If i disable metric provider, orderer stands up and works. ``` ```

rahulhegde (Mon, 23 Sep 2019 23:02:02 GMT):
Hello - I am getting a orderer panic upon enabling promethus + mutual TLS on a different port for RAFT communication. ``` 2019-09-23 22:59:43.612 UTC [orderer.common.cluster] loadVerifier -> INFO 00b Loaded verifier for channel goldsac from config block at index 2 2019-09-23 22:59:43.634 UTC [orderer.common.cluster] loadVerifier -> INFO 00c Loaded verifier for channel public from config block at index 5 2019-09-23 22:59:43.640 UTC [orderer.common.cluster] loadVerifier -> INFO 00d Loaded verifier for channel testchainid from config block at index 7 2019-09-23 22:59:43.640 UTC [orderer.common.server] initializeServerConfig -> INFO 00e Starting orderer with TLS enabled panic: duplicate metrics collector registration attempted goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc0000d5d10, 0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:387 +0xad github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.MustRegister(0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:172 +0x53 github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus.NewCounterFrom(0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, 0x0, ...) /go/src/github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus/prometheus.go:24 +0xe3 github.com/hyperledger/fabric/common/metrics/prometheus.(*Provider).NewCounter(0x1de4b18, 0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, ...) /go/src/github.com/hyperledger/fabric/common/metrics/prometheus/provider.go:20 +0x138 github.com/hyperledger/fabric/core/comm.NewServerStatsHandler(0x15bde60, 0x1de4b18, 0x2) /go/src/github.com/hyperledger/fabric/core/comm/metrics.go:29 +0x74 github.com/hyperledger/fabric/core/comm.NewGRPCServerFromListener(0x15c3820, 0xc0000b4958, 0x12a05f200, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:152 +0x87e github.com/hyperledger/fabric/core/comm.NewGRPCServer(0xc0006d1980, 0xc, 0x0, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:55 +0x14b github.com/hyperledger/fabric/orderer/common/server.configureClusterListener(0xc000203200, 0x0, 0xc0001ca240, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, 0x2, ...) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:376 +0x78c github.com/hyperledger/fabric/orderer/common/server.Start(0x148462a, 0x5, 0xc000203200) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:141 +0xdf9 github.com/hyperledger/fabric/orderer/common/server.Main() /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:91 +0x1ce main.main() /go/src/github.com/hyperledger/fabric/orderer/main.go:15 +0x20 ``` ``` - ORDERER_OPERATIONS_LISTENADDRESS=:36001 - ORDERER_METRICS_PROVIDER=prometheus ``` If i disable metric provider, orderer stands up and works.

rahulhegde (Mon, 23 Sep 2019 23:02:02 GMT):
Hello - I am getting a orderer panic upon enabling promethus + mutual TLS on a different port for RAFT communication. ``` 2019-09-23 22:59:43.612 UTC [orderer.common.cluster] loadVerifier -> INFO 00b Loaded verifier for channel goldsac from config block at index 2 2019-09-23 22:59:43.634 UTC [orderer.common.cluster] loadVerifier -> INFO 00c Loaded verifier for channel public from config block at index 5 2019-09-23 22:59:43.640 UTC [orderer.common.cluster] loadVerifier -> INFO 00d Loaded verifier for channel testchainid from config block at index 7 2019-09-23 22:59:43.640 UTC [orderer.common.server] initializeServerConfig -> INFO 00e Starting orderer with TLS enabled panic: duplicate metrics collector registration attempted goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc0000d5d10, 0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:387 +0xad github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.MustRegister(0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:172 +0x53 github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus.NewCounterFrom(0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, 0x0, ...) /go/src/github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus/prometheus.go:24 +0xe3 github.com/hyperledger/fabric/common/metrics/prometheus.(*Provider).NewCounter(0x1de4b18, 0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, ...) /go/src/github.com/hyperledger/fabric/common/metrics/prometheus/provider.go:20 +0x138 github.com/hyperledger/fabric/core/comm.NewServerStatsHandler(0x15bde60, 0x1de4b18, 0x2) /go/src/github.com/hyperledger/fabric/core/comm/metrics.go:29 +0x74 github.com/hyperledger/fabric/core/comm.NewGRPCServerFromListener(0x15c3820, 0xc0000b4958, 0x12a05f200, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:152 +0x87e github.com/hyperledger/fabric/core/comm.NewGRPCServer(0xc0006d1980, 0xc, 0x0, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:55 +0x14b github.com/hyperledger/fabric/orderer/common/server.configureClusterListener(0xc000203200, 0x0, 0xc0001ca240, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, 0x2, ...) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:376 +0x78c github.com/hyperledger/fabric/orderer/common/server.Start(0x148462a, 0x5, 0xc000203200) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:141 +0xdf9 github.com/hyperledger/fabric/orderer/common/server.Main() /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:91 +0x1ce main.main() /go/src/github.com/hyperledger/fabric/orderer/main.go:15 +0x20 ``` ``` - ORDERER_OPERATIONS_LISTENADDRESS=:36001 - ORDERER_METRICS_PROVIDER=prometheus - ORDERER_OPERATIONS_TLS_ENABLED=false - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tlsintermediatecerts/tls.ca01.cit.clsnet.pem] - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_LISTENPORT=5555 - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0 ``` If i disable metric provider, orderer stands up and works. ``` #- ORDERER_OPERATIONS_LISTENADDRESS=:36001 #- ORDERER_METRICS_PROVIDER=prometheus - ORDERER_OPERATIONS_TLS_ENABLED=false - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tlsintermediatecerts/tls.ca01.cit.clsnet.pem] - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_LISTENPORT=5555 - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0 ```

rahulhegde (Mon, 23 Sep 2019 23:02:02 GMT):
Hello - I am getting a orderer panic upon enabling promethus with different TLS certificate for client & server part for RAFT node. ``` 2019-09-23 22:59:43.612 UTC [orderer.common.cluster] loadVerifier -> INFO 00b Loaded verifier for channel goldsac from config block at index 2 2019-09-23 22:59:43.634 UTC [orderer.common.cluster] loadVerifier -> INFO 00c Loaded verifier for channel public from config block at index 5 2019-09-23 22:59:43.640 UTC [orderer.common.cluster] loadVerifier -> INFO 00d Loaded verifier for channel testchainid from config block at index 7 2019-09-23 22:59:43.640 UTC [orderer.common.server] initializeServerConfig -> INFO 00e Starting orderer with TLS enabled panic: duplicate metrics collector registration attempted goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc0000d5d10, 0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:387 +0xad github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.MustRegister(0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:172 +0x53 github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus.NewCounterFrom(0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, 0x0, ...) /go/src/github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus/prometheus.go:24 +0xe3 github.com/hyperledger/fabric/common/metrics/prometheus.(*Provider).NewCounter(0x1de4b18, 0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, ...) /go/src/github.com/hyperledger/fabric/common/metrics/prometheus/provider.go:20 +0x138 github.com/hyperledger/fabric/core/comm.NewServerStatsHandler(0x15bde60, 0x1de4b18, 0x2) /go/src/github.com/hyperledger/fabric/core/comm/metrics.go:29 +0x74 github.com/hyperledger/fabric/core/comm.NewGRPCServerFromListener(0x15c3820, 0xc0000b4958, 0x12a05f200, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:152 +0x87e github.com/hyperledger/fabric/core/comm.NewGRPCServer(0xc0006d1980, 0xc, 0x0, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:55 +0x14b github.com/hyperledger/fabric/orderer/common/server.configureClusterListener(0xc000203200, 0x0, 0xc0001ca240, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, 0x2, ...) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:376 +0x78c github.com/hyperledger/fabric/orderer/common/server.Start(0x148462a, 0x5, 0xc000203200) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:141 +0xdf9 github.com/hyperledger/fabric/orderer/common/server.Main() /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:91 +0x1ce main.main() /go/src/github.com/hyperledger/fabric/orderer/main.go:15 +0x20 ``` ``` - ORDERER_OPERATIONS_LISTENADDRESS=:36001 - ORDERER_METRICS_PROVIDER=prometheus - ORDERER_OPERATIONS_TLS_ENABLED=false - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tlsintermediatecerts/tls.ca01.cit.clsnet.pem] - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_LISTENPORT=5555 - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0 ``` If i disable metric provider, orderer stands up and works. ``` #- ORDERER_OPERATIONS_LISTENADDRESS=:36001 #- ORDERER_METRICS_PROVIDER=prometheus - ORDERER_OPERATIONS_TLS_ENABLED=false - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tlsintermediatecerts/tls.ca01.cit.clsnet.pem] - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_LISTENPORT=5555 - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0 ```

rahulhegde (Mon, 23 Sep 2019 23:02:02 GMT):
Hello - I am getting a orderer panic upon enabling promethus with different client + server TLS certificate for RAFT node. ``` 2019-09-23 22:59:43.612 UTC [orderer.common.cluster] loadVerifier -> INFO 00b Loaded verifier for channel goldsac from config block at index 2 2019-09-23 22:59:43.634 UTC [orderer.common.cluster] loadVerifier -> INFO 00c Loaded verifier for channel public from config block at index 5 2019-09-23 22:59:43.640 UTC [orderer.common.cluster] loadVerifier -> INFO 00d Loaded verifier for channel testchainid from config block at index 7 2019-09-23 22:59:43.640 UTC [orderer.common.server] initializeServerConfig -> INFO 00e Starting orderer with TLS enabled panic: duplicate metrics collector registration attempted goroutine 1 [running]: github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc0000d5d10, 0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:387 +0xad github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus.MustRegister(0xc00097d9b0, 0x1, 0x1) /go/src/github.com/hyperledger/fabric/vendor/github.com/prometheus/client_golang/prometheus/registry.go:172 +0x53 github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus.NewCounterFrom(0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, 0x0, ...) /go/src/github.com/hyperledger/fabric/vendor/github.com/go-kit/kit/metrics/prometheus/prometheus.go:24 +0xe3 github.com/hyperledger/fabric/common/metrics/prometheus.(*Provider).NewCounter(0x1de4b18, 0x148371a, 0x4, 0x148363a, 0x4, 0x1489869, 0xb, 0x14c6470, 0x4f, 0x0, ...) /go/src/github.com/hyperledger/fabric/common/metrics/prometheus/provider.go:20 +0x138 github.com/hyperledger/fabric/core/comm.NewServerStatsHandler(0x15bde60, 0x1de4b18, 0x2) /go/src/github.com/hyperledger/fabric/core/comm/metrics.go:29 +0x74 github.com/hyperledger/fabric/core/comm.NewGRPCServerFromListener(0x15c3820, 0xc0000b4958, 0x12a05f200, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:152 +0x87e github.com/hyperledger/fabric/core/comm.NewGRPCServer(0xc0006d1980, 0xc, 0x0, 0xc0001ca2d0, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, ...) /go/src/github.com/hyperledger/fabric/core/comm/server.go:55 +0x14b github.com/hyperledger/fabric/orderer/common/server.configureClusterListener(0xc000203200, 0x0, 0xc0001ca240, 0x1d86bc0, 0xc000521ca0, 0x2, 0x2, 0xc000521cb0, 0x2, 0x2, ...) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:376 +0x78c github.com/hyperledger/fabric/orderer/common/server.Start(0x148462a, 0x5, 0xc000203200) /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:141 +0xdf9 github.com/hyperledger/fabric/orderer/common/server.Main() /go/src/github.com/hyperledger/fabric/orderer/common/server/main.go:91 +0x1ce main.main() /go/src/github.com/hyperledger/fabric/orderer/main.go:15 +0x20 ``` ``` - ORDERER_OPERATIONS_LISTENADDRESS=:36001 - ORDERER_METRICS_PROVIDER=prometheus - ORDERER_OPERATIONS_TLS_ENABLED=false - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tlsintermediatecerts/tls.ca01.cit.clsnet.pem] - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_LISTENPORT=5555 - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0 ``` If i disable metric provider, orderer stands up and works. ``` #- ORDERER_OPERATIONS_LISTENADDRESS=:36001 #- ORDERER_METRICS_PROVIDER=prometheus - ORDERER_OPERATIONS_TLS_ENABLED=false - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tlsclient/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tlsintermediatecerts/tls.ca01.cit.clsnet.pem] - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.pem - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tlsserver/ord03.clsorder.cit.clsnet.sk - ORDERER_GENERAL_CLUSTER_LISTENPORT=5555 - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0 ```

Deepakshinde (Wed, 25 Sep 2019 11:01:20 GMT):
Hi All, I am using fabric 1.4.3 with raft orderer getting error on executing below commands

Deepakshinde (Wed, 25 Sep 2019 11:01:34 GMT):
peer chaincode install -n ldbc -v 1.2 -p ldbc

Deepakshinde (Wed, 25 Sep 2019 11:01:55 GMT):
peer chaincode upgrade -o $ORDERER_ADDRESS --tls --cafile $ORDERER_ROOTCA_CERT -C legaldescriptionchannel -n ldbc -v 1.2 -c '{"Args":[]}' --clientauth --keyfile $ORDERER_TLS_CLIENTKEY_FILE --certfile $ORDERER_TLS_CLIENTCERT_FILE

Deepakshinde (Wed, 25 Sep 2019 11:02:16 GMT):
Error screnshot attaching

Deepakshinde (Wed, 25 Sep 2019 11:03:19 GMT):

chaincodeUpgradeError.JPG

Deepakshinde (Wed, 25 Sep 2019 11:04:47 GMT):
Then i want to upgrade endorsing parameter with the above command -

Deepakshinde (Wed, 25 Sep 2019 11:04:53 GMT):
peer chaincode upgrade -o $ORDERER_ADDRESS --tls --cafile $CORE_PEER_TLS_ROOTCERT_FILE -C legaldescriptionchannel -n ldbc -v 1.2 -c '{"Args":[]}' --clientauth --keyfile $CORE_PEER_TLS_CLIENTKEY_FILE --certfile $CORE_PEER_TLS_CLIENTCERT_FILE -P "AND('Org1.member', 'Org3.member')"

unlimited (Thu, 26 Sep 2019 02:05:52 GMT):
Hi, I'm trying to understand endorsements. In the PaperNet trading example, say A sells a stock to B. Both A and B have to agree on the price and accept the trade, and this can be set through endorsements. However it seems like endorsements is done automatically on the back end, instead of, say something pops up on the B user interface and alerts them to press the agree button or something?

Utsav_Solanki (Mon, 30 Sep 2019 05:56:36 GMT):
while joining channel i am getting Error: proposal failed (err: bad proposal response 500: cannot create ledger from genesis block: LedgerID already exists)

knagware9 (Mon, 30 Sep 2019 12:23:08 GMT):
channel already exist , try to remove existing containers and retry

Utsav_Solanki (Mon, 30 Sep 2019 12:24:32 GMT):
i removed container but same error

Utsav_Solanki (Mon, 30 Sep 2019 12:28:25 GMT):
i am looking for location of ledgerID location directory

soumyanayak (Tue, 01 Oct 2019 06:09:06 GMT):
when tried joining a peer to the channel its giving the below error peer1 | 2019-10-01 06:06:29.053 UTC [gossip.service] updateAnchors -> ERRO 321 Tried joining channel legaldescriptionchannel but our org( OrgA ), isn't among the orgs of the channel: [Org1] , aborting. What does it mean

knagware9 (Tue, 01 Oct 2019 06:41:16 GMT):
try docker network prune and then restrat

Utsav_Solanki (Tue, 01 Oct 2019 06:53:12 GMT):
s

soumyanayak (Tue, 01 Oct 2019 09:38:51 GMT):
actually resolved this issue -- it comes when a config update is done adding anew org .. so Org1 was initially there and later orgA was added .. this issue was gone as per yacovm we can ignore this . it came for once twice and fater sync up with orderer everything ran fine

soumyanayak (Tue, 01 Oct 2019 13:33:50 GMT):
Hi All, Any idea from CLI how to run the invoke chaincode command to send to multiple anchor peers from different orgs for endorsement?

soumyanayak (Tue, 01 Oct 2019 13:33:50 GMT):
Hi All, Any idea from CLI how to run the invoke chaincode command to send to multiple anchor peers from different orgs for endorsement in Mutual TLS fabric set up?

indirajith (Wed, 02 Oct 2019 12:15:43 GMT):
Hi all, anyone has encountered the following error when instantiating chaincode? " Error: could not assemble transaction, err proposal response was not successful, error code 500, msg chaincode registration failed: container exited with 2 ". I already have the following line for peers, orderers and cli in docker-compose file: GODEBUG=netdns=go .

indirajith (Wed, 02 Oct 2019 13:17:46 GMT):
Fixed this. the problem was with docker networking and its mode. Made sure the chaincode container and their peers are on the same docker network, it fixed the error.

soumyanayak (Thu, 03 Oct 2019 07:13:08 GMT):
Now am Able to invoke using the *--peerAddresses* and *--tlsRootCertFiles* attributes

soumyanayak (Thu, 03 Oct 2019 07:14:26 GMT):
But one more doubt i had was - lets say OrgA and OrgB peers have to endorse a transaction --- and OrgA initiates a transaction , so how orgA would be aware of the root certificate file for OrgB?

sanket1211 (Sat, 05 Oct 2019 09:14:42 GMT):
if there are three endorsers and i want to execute a transaction.i want a transaction proposal sent to three endorsers to accept or reject the transaction manually.can it be done? if yes plz let me know.

soumyanayak (Thu, 10 Oct 2019 13:02:38 GMT):
Hi All,

soumyanayak (Thu, 10 Oct 2019 13:06:25 GMT):
Hi All, I am trying to set up Private Data between two orgs. So when i am installing the chaincode for private data communication and instantiating from one of the orgs - the chaincode shows as instantiated from both the orgs but i could see the docker container of chaincode created only in one org but when checked in another machine for the other org the chaincode container is not getting created. I am not sure why. Can anybody help on this

soumyanayak (Thu, 10 Oct 2019 13:06:25 GMT):
Hi All, Fabric - v1.4.3 I am trying to set up Private Data between two orgs. So when i am installing the chaincode for private data communication and instantiating from one of the orgs - the chaincode shows as instantiated from both the orgs but i could see the docker container of chaincode created only in one org but when checked in another machine for the other org the chaincode container is not getting created. I am not sure why. Can anybody help on this

soumyanayak (Tue, 15 Oct 2019 10:16:26 GMT):
Any update anybody - This is the issue i am getting Error: endorsement failure during query. response: status:500 message:"failed to execute transaction e77af488e03537a465c30e56c6c13330f4c7f8aae8eae1a92656607c91c8df83: [channel legaldescriptionchannel] failed to get chaincode container info for ldbc:1.0: could not get chaincode code: chaincode fingerprint mismatch: data mismatch"

soumyanayak (Tue, 15 Oct 2019 11:04:13 GMT):
Resolved the issue . The chaincode folder structure should be exactly same in both the peers to get the same hash fingerprintID which will create chaincode conatiners for both the org peers

soumyanayak (Tue, 15 Oct 2019 13:10:48 GMT):
When i am installing the private chaincode - i checked in both the peer org machines the IDs of the installed chaincode is same but still the container was only created in the machine from where the instantiate command was run for only one org.

aatkddny (Wed, 16 Oct 2019 16:22:49 GMT):
so the couchedb instances on two of our peers have got themselves out of synch somehow. an asset is missing so one thinks it's an upsert and the other thinks it isn't there. this is causing "issues" as you can imagine. if i take down the offending peer, delete the ledger and the couchdb storage and bring it back up it's supposed to catch itself back up and self-sync. other than reinstalling chaincode is there anything else that needs to be done to get this to work?

yacovm (Wed, 16 Oct 2019 16:39:58 GMT):
@aatkddny - what version of Fabric are you using?

yacovm (Wed, 16 Oct 2019 16:41:28 GMT):
there is a rollback command https://hyperledger-fabric.readthedocs.io/en/release-1.4/commands/peernode.html

yacovm (Wed, 16 Oct 2019 16:41:39 GMT):
starting from some Fabric version ( I don't remember... 1.4.2 ? )

aatkddny (Wed, 16 Oct 2019 17:31:41 GMT):
1.4 - thx, I'll look and see if that does the trick.

yacovm (Wed, 16 Oct 2019 18:17:31 GMT):
@aatkddny can you somehow help us investigate why it happened?

yacovm (Wed, 16 Oct 2019 18:17:41 GMT):
do you have logs of the peers, perhaps?

yacovm (Wed, 16 Oct 2019 18:18:13 GMT):
if you have any information that can help investigate, please open a JIRA

aatkddny (Wed, 16 Oct 2019 18:52:59 GMT):
they were overwritten when we restarted the peer. the problem started in event processing we think. there's a bunch of workflow that's non germane to do with the order things can be added, but in essence we add an asset and throw an event that then goes and looks for orphan children and adds references to them to the original asset. i don't work on this part of the application, so this is second hand. what we saw was a tx for peer1 passing the proposal and the same for peer0 failing for one org. it passed the policy so went to the orderer. there it hung until it timed out. which isn't really a great way to handle things imo, but i digress. looking inside the logs for peer0 we saw this: ``` 10/16/2019 11:31:23 AM 2019-10-16 15:31:23.101 UTC [chaincode] HandleTransaction -> ERRO 155a [2cc0fa7a] Failed to handle GET_STATE. error: no revision tag detected 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/util/couchdb.getRevisionHeader 10/16/2019 11:31:23 AM /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:735 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchDatabase).ReadDoc 10/16/2019 11:31:23 AM /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:788 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb.(*VersionedDB).GetState 10/16/2019 11:31:23 AM /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go:297 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/privacyenabledstate.(*CommonStorageDB).GetState ``` A little google-is-your-friend let to a stackoverflow post about reads on empty strings in couchdb throwing this error - which let to the supposition above. As an aside we got round it by taking down peer0, running the same transaction in the channel and starting peer0 after it completed. Next time I'll try the rollback though. Not much help to you, but the best I have.

aatkddny (Wed, 16 Oct 2019 18:52:59 GMT):
@yacovm they were overwritten when we restarted the peer. the problem started in event processing we think. there's a bunch of workflow that's non germane to do with the order things can be added, but in essence we add an asset and throw an event that then goes and looks for orphan children and adds references to them to the original asset. i don't work on this part of the application, so this is second hand. what we saw was a tx for peer1 passing the proposal and the same for peer0 failing for one org. it passed the policy so went to the orderer. there it hung until it timed out. which isn't really a great way to handle things imo, but i digress. looking inside the logs for peer0 we saw this: ``` 10/16/2019 11:31:23 AM 2019-10-16 15:31:23.101 UTC [chaincode] HandleTransaction -> ERRO 155a [2cc0fa7a] Failed to handle GET_STATE. error: no revision tag detected 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/util/couchdb.getRevisionHeader 10/16/2019 11:31:23 AM /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:735 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/util/couchdb.(*CouchDatabase).ReadDoc 10/16/2019 11:31:23 AM /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/util/couchdb/couchdb.go:788 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb.(*VersionedDB).GetState 10/16/2019 11:31:23 AM /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go:297 10/16/2019 11:31:23 AM github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/privacyenabledstate.(*CommonStorageDB).GetState ``` A little google-is-your-friend let to a stackoverflow post about reads on empty strings in couchdb throwing this error - which let to the supposition above. As an aside we got round it by taking down peer0, running the same transaction in the channel and starting peer0 after it completed. Next time I'll try the rollback though. Not much help to you, but the best I have.

yacovm (Wed, 16 Oct 2019 20:31:13 GMT):
@dave.enyeart ^

aatkddny (Thu, 17 Oct 2019 18:24:20 GMT):
so installing chaincode for the first time that builds a set of indexes. it says it built them ok and instantiates fine, but then when we try to invoke it we get this: ```2019-10-17 18:09:14.265 UTC [chaincode] ProcessStream -> ERRO 320c handling chaincode support stream: rpc error: code = Canceled desc = context canceled 10/17/2019 2:09:14 PM receive failed 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*Handler).ProcessStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:427 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).HandleChaincodeStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:191 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Register 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:196 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode/accesscontrol.(*interceptor).Register 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/accesscontrol/interceptor.go:57 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/protos/peer._ChaincodeSupport_Register_Handler 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/chaincode_shim.pb.go:1066 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processStreamingRPC 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1124 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1212 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 10/17/2019 2:09:14 PM runtime.goexit 10/17/2019 2:09:14 PM /opt/go/src/runtime/asm_amd64.s:1333``` Never saw this before. Anyone know why it is doing this off the top of their head?

aatkddny (Thu, 17 Oct 2019 18:24:20 GMT):
so installing some GO chaincode for the first time that builds a set of indexes in couchDB. it says it built them ok and instantiates fine, but then when we try to invoke it we get this: ```2019-10-17 18:09:14.265 UTC [chaincode] ProcessStream -> ERRO 320c handling chaincode support stream: rpc error: code = Canceled desc = context canceled 10/17/2019 2:09:14 PM receive failed 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*Handler).ProcessStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:427 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).HandleChaincodeStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:191 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Register 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:196 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode/accesscontrol.(*interceptor).Register 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/accesscontrol/interceptor.go:57 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/protos/peer._ChaincodeSupport_Register_Handler 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/chaincode_shim.pb.go:1066 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processStreamingRPC 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1124 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1212 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 10/17/2019 2:09:14 PM runtime.goexit 10/17/2019 2:09:14 PM /opt/go/src/runtime/asm_amd64.s:1333``` Never saw this before. Anyone know why it is doing this off the top of their head?

aatkddny (Thu, 17 Oct 2019 18:24:20 GMT):
so installing some GO chaincode for the first time that builds a set of indexes in couchDB. it says it built them ok and instantiates fine, but then when we try to invoke it we get this: ```2019-10-17 18:09:14.265 UTC [chaincode] ProcessStream -> ERRO 320c handling chaincode support stream: rpc error: code = Canceled desc = context canceled 10/17/2019 2:09:14 PM receive failed 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*Handler).ProcessStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/handler.go:427 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).HandleChaincodeStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:191 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Register 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:196 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/core/chaincode/accesscontrol.(*interceptor).Register 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/accesscontrol/interceptor.go:57 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/protos/peer._ChaincodeSupport_Register_Handler 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/protos/peer/chaincode_shim.pb.go:1066 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).processStreamingRPC 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1124 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).handleStream 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1212 10/17/2019 2:09:14 PM github.com/hyperledger/fabric/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1 10/17/2019 2:09:14 PM /opt/gopath/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:686 10/17/2019 2:09:14 PM runtime.goexit 10/17/2019 2:09:14 PM /opt/go/src/runtime/asm_amd64.s:1333``` Never saw this before. Anyone know why it is doing this off the top of their head? Chaincode is unchanged. The only thing that's new is the json to define the indexes in a META-INF folder.

metadata (Fri, 18 Oct 2019 06:52:51 GMT):
Has joined the channel.

SamYuan1990 (Wed, 30 Oct 2019 13:47:01 GMT):
Has joined the channel.

SamYuan1990 (Wed, 30 Oct 2019 13:47:02 GMT):
Hi all, I have go vandor folder in my chaincode install path and the peer returns 200 in install, but during Instantiating, it says 500, error can not find xxx in vendor tree

braduf (Fri, 01 Nov 2019 17:52:20 GMT):
Hi @SamYuan1990 , did you do a go get for xxx and are you sure it is in your vendor folder?

SamYuan1990 (Tue, 05 Nov 2019 04:48:24 GMT):
sorry for reply late, I noticed that I can't use latest image(2.0-xxx image) to build a chaincode in 1.4 version

jyxie2007 (Mon, 18 Nov 2019 03:59:52 GMT):
Has joined the channel.

SamYuan1990 (Mon, 18 Nov 2019 07:29:17 GMT):
Having questions about gossip between peer nodes apperciate for answer. Following 1.4 code, it seems that gossip leader comparing a fixed id base on peer node's msp. (github.com/hyperledger/fabric@v1.4.3/gossip/election/election.go, NewLeaderElectionService) So, if we have 5 peer, with msp, the leader will be the one having smallest or biggest ID from msp? Here is how I tracing the source code. peer node start ( peer.Initialize(func(cid string) -> peer.go service.GetGossipService().InitializeChannel... )

yacovm (Mon, 18 Nov 2019 11:54:37 GMT):
yep that is correct

yacovm (Mon, 18 Nov 2019 11:54:54 GMT):
the smallest / largest ID (don't remember which one)

RyanMathison (Mon, 25 Nov 2019 18:58:28 GMT):
Has joined the channel.

RyanMathison (Mon, 25 Nov 2019 18:58:32 GMT):
I am running into issues when trying commit a transaction when there is an "AND" policy on the channel. ``` ```

RyanMathison (Mon, 25 Nov 2019 19:08:28 GMT):
I am running into issues when trying commit a transaction when there is an "AND" policy on the channel. ``` We have built on top of the balance transfer node app and previously we had no policy on the channel. ``` ``` In order to make the node app more reliable and dynamic I have started using service discovery. ``` ``` Everything worked fine, so I decided to see what would happen when I used a policy. ``` ``` Now everything still works fine when I use an OR policy or a OutOf 1 policy, but if I use an AND policy or a OutOf 2+ then I get "signature set did not satisfy policy"``` Thinking this was due somehow to service discovery, I went back to the previous version of the node app and it still failed.``` I don't believe this is an issue of missing signatures as service discovery gets signatures from each org and in our previous app we were defaulting to signatures from each org as well.``` I have seen a stack overflow thread, https://stackoverflow.com/questions/54033274/hyperledger-endorsement-failure-when-invoking-chaincode-failed-signature-set?rq=1, where the same issue was seen with balance``` I have turned debugging on at the peer and am printing out everything we are sending to the orderer and everything seems to be there. Has anyone run into something similar? ``` transfer.``` ``` ``` ``` ``` ```

RyanMathison (Mon, 25 Nov 2019 19:08:28 GMT):
I am running into issues when trying commit a transaction when there is an "AND" policy on the channel. We have built on top of the balance transfer node app and previously we had no policy on the channel. In order to make the node app more reliable and dynamic I have started using service discovery. Everything worked fine, so I decided to see what would happen when I used a policy. Now everything still works fine when I use an OR policy or a OutOf 1 policy, but if I use an AND policy or a OutOf 2+ then I get "signature set did not satisfy policy" Thinking this was due somehow to service discovery, I went back to the previous version of the node app and it still failed. I don't believe this is an issue of missing signatures as service discovery gets signatures from each org and in our previous app we were defaulting to signatures from each org as well. I have seen a stack overflow thread, https://stackoverflow.com/questions/54033274/hyperledger-endorsement-failure-when-invoking-chaincode-failed-signature-set?rq=1, where the same issue was seen with balance I have turned debugging on at the peer and am printing out everything we are sending to the orderer and everything seems to be there. Has anyone run into something similar? ``` transfer.``` ``` ``` ``` ``` ```

RyanMathison (Mon, 25 Nov 2019 19:08:28 GMT):
I am running into issues when trying commit a transaction when there is an "AND" policy on the channel. We have built on top of the balance transfer node app and previously we had no policy on the channel. In order to make the node app more reliable and dynamic I have started using service discovery. Everything worked fine, so I decided to see what would happen when I used a policy. Now everything still works fine when I use an OR policy or a OutOf 1 policy, but if I use an AND policy or a OutOf 2+ then I get "signature set did not satisfy policy" Thinking this was due somehow to service discovery, I went back to the previous version of the node app and it still failed. I don't believe this is an issue of missing signatures as service discovery gets signatures from each org and in our previous app we were defaulting to signatures from each org as well. I have seen a stack overflow thread, https://stackoverflow.com/questions/54033274/hyperledger-endorsement-failure-when-invoking-chaincode-failed-signature-set?rq=1, where the same issue was seen with balance transfer. I have turned debugging on at the peer and am printing out everything we are sending to the orderer and everything seems to be there. Has anyone run into something similar? ``` ``` ``` ```

RyanMathison (Mon, 25 Nov 2019 19:08:28 GMT):
I am running into issues when trying commit a transaction when there is an "AND" policy on the channel. We have built on top of the balance transfer node app and previously we had no policy on the channel. In order to make the node app more reliable and dynamic I have started using service discovery. Everything worked fine, so I decided to see what would happen when I used a policy. Now everything still works fine when I use an OR policy or a OutOf 1 policy, but if I use an AND policy or a OutOf 2+ then I get "signature set did not satisfy policy" Thinking this was due somehow to service discovery, I went back to the previous version of the node app and it still failed. I don't believe this is an issue of missing signatures as service discovery gets signatures from each org and in our previous app we were defaulting to signatures from each org as well. I have seen a stack overflow thread, https://stackoverflow.com/questions/54033274/hyperledger-endorsement-failure-when-invoking-chaincode-failed-signature-set?rq=1, where the same issue was seen with balance transfer. I have turned debugging on at the peer and am printing out everything we are sending to the orderer and everything seems to be there. Has anyone run into something similar?

yacovm (Mon, 25 Nov 2019 21:26:39 GMT):
@RyanMathison you can try to use the discovery CLI https://hyperledger-fabric.readthedocs.io/en/release-1.4/discovery-cli.html

yacovm (Mon, 25 Nov 2019 21:26:48 GMT):
and query the peer, imitating the SDK

yacovm (Mon, 25 Nov 2019 21:26:58 GMT):
and then you can tell me what is the result you get back from the peer

yacovm (Mon, 25 Nov 2019 21:27:55 GMT):
in any case what you say is weird, because Noutof(2, '0', '1') is basically an AND

yacovm (Mon, 25 Nov 2019 21:28:02 GMT):
which is super basic... it should work

yacovm (Mon, 25 Nov 2019 21:29:32 GMT):
make an endorsers query to the peer to ask it and then tell what you get

RyanMathison (Mon, 25 Nov 2019 22:09:03 GMT):
Will do, thank you

RyanMathison (Tue, 26 Nov 2019 22:15:46 GMT):
@yacovm Thank you for your help. It turns out the issue was with the chaincode. The chaincode we are using has been around a while and apparently had never been had an "AND" policy set on it. Internally the chaincode was generating an event time and adding it to the write set. So once we required more than 1 endorsement each peer generated a different write set, there was just no good way to see that it was the issue in the logs. I was able to confirm it was a read/write mismatch in the node app by using channel.compareProposalResponseResults(proposalResponses). I was also able to find a JIRA issue, https://jira.hyperledger.org/browse/FAB-14145, that pointed me in the write direction and talks about the poor log messages. Thanks again for the help.

yacovm (Wed, 27 Nov 2019 06:23:55 GMT):
@RyanMathison are you saying the node SDK doesn't compare it automatically ?

davidkel (Wed, 27 Nov 2019 08:04:12 GMT):
@yacovm No the node sdk (and I assume the other sdks as well) don't compare automatically as some consider it a performance impact so not something to be mandatory

yacovm (Wed, 27 Nov 2019 08:04:32 GMT):
how can it impact performance?

yacovm (Wed, 27 Nov 2019 08:04:37 GMT):
it's byte by byte comparison!!

davidkel (Wed, 27 Nov 2019 08:06:55 GMT):
It's always been separate, but we used to use it in composer by default but performance analysis showed it having an impact on the client so it got made optional.

yacovm (Wed, 27 Nov 2019 08:07:25 GMT):
but it's comparing bytes in memory, it should be at the worst - micro-seconds

davidkel (Wed, 27 Nov 2019 08:08:41 GMT):
I guess the performance tests were putting a lot of load on the client code with many txns and I guess the RW sets where not small

davidkel (Wed, 27 Nov 2019 08:09:13 GMT):
Also node.js is effectively single threaded

yacovm (Wed, 27 Nov 2019 08:10:06 GMT):
if you don't compare the results it means you are sending stuff with the wrong signatures

yacovm (Wed, 27 Nov 2019 08:10:21 GMT):
and there is no way the client will understand that this is the reason

yacovm (Wed, 27 Nov 2019 08:11:25 GMT):
also, most payloads are not large... you should aim to work well in the average case, not in the extreme case ;)

yacovm (Wed, 27 Nov 2019 08:11:56 GMT):
not blaming you, btw

davidkel (Wed, 27 Nov 2019 08:12:49 GMT):
Personally I like the idea of doing checks like this in the client code (plus some other checks such as determining peer disagreements at validation time) but to also make them optional in case of performance issues

davidkel (Wed, 27 Nov 2019 08:12:49 GMT):
Personally I like the idea of doing checks like this in the client code (plus some other checks such as determining peer disagreements at validation time) but to also make them optional in case of performance issues. So maybe something that's enabled by default but could turn them off.

yacovm (Wed, 27 Nov 2019 08:14:19 GMT):
@mastersingh24 your opinion ?

mastersingh24 (Wed, 27 Nov 2019 09:13:46 GMT):
The "average" case is the green path not the "bad path" - meaning there is generally no reason why as long as you collect enough endorsements with a proper setup your transaction(s) will not be valid. The SDKs have always had the `verifyProposalResponse` method which is heavyweight as it checks signatures, etc. They also have the `compareProposalResponseResults` which just does the comparison on the results - which is what you are looking for here. For the lower-level APIs, there's not reason to do this by default; it should be up to the developer to properly compose the API calls they want to use. I do agree that our samples should include these calls such that users are aware they exist and why/why not they might use them. When it comes to the higher level programming model, I think we should automatically do the `compareProposalResponseResults` since we are already wrapping the lower level API

yacovm (Wed, 27 Nov 2019 09:15:00 GMT):
why not `compareProposalResponseResults` automatically?

mastersingh24 (Wed, 27 Nov 2019 09:15:17 GMT):
As an aside, there is a reason why I intentionally removed the balance transfer sample ;)

mastersingh24 (Wed, 27 Nov 2019 09:17:28 GMT):
I am not a fan of all of the hidden stuff we do in the low level API ... the reason for the higher level programming model was to hide all of the complexities ... so this is where we should do things like automatically call `compareProposalResponseResults`

david_dornseifer (Thu, 05 Dec 2019 16:01:19 GMT):
Hi everyone, just wondering how the key-level-endorsement is supposed to be used. Since that the discovery service cannot lookup the required orgs (and their peers) it seems to be up to the user to call the peers manually. Is that assumption correct?

yacovm (Thu, 05 Dec 2019 16:01:56 GMT):
you can query the chaincode for the organizations of a specific key

yacovm (Thu, 05 Dec 2019 16:02:09 GMT):
and then you can query discovery for a mapping of org -> peer list

yacovm (Thu, 05 Dec 2019 16:02:14 GMT):
and then deduce who you should contact

david_dornseifer (Thu, 05 Dec 2019 16:41:53 GMT):
@yacovm thanks for the fast answer. That means the standard way of chaincode / endorsement lookup via the discovery service cannot be used for key-level-endorsements.

david_dornseifer (Thu, 05 Dec 2019 16:43:47 GMT):
Basically all calls would require a query call first to check if a particular key that would be modified has a key level endorsement policy or not, if not the standard way to parameterize the SDK via the discovery service can be used. Otherwise, the peer endpoints need to be passed into the SDK manually.

yacovm (Thu, 05 Dec 2019 18:27:12 GMT):
@david_dornseifer are you stating something or asking me something?

david_dornseifer (Thu, 05 Dec 2019 19:23:15 GMT):
@yacovm that was just a conclusion how you would handle endorsements for chaincodes that have a combination of both, key- and chaincode-level endorsement :) . Was that conclusion correct?

yacovm (Thu, 05 Dec 2019 19:24:38 GMT):
yeah

david_dornseifer (Fri, 06 Dec 2019 04:41:44 GMT):
@yacovm thanks :)

karthiknvlr (Fri, 06 Dec 2019 05:53:44 GMT):
Has joined the channel.

indirajith (Mon, 09 Dec 2019 14:58:16 GMT):
Hi all. I get the following error when instantiating chaincode. Any help to rectify this problem? ``` Error: error endorsing chaincode: rpc error: code = Unknown desc = access denied: channel [twoorgschannel] creator org [/etc/hyperledger/org1/msp] ```

indirajith (Mon, 09 Dec 2019 14:58:16 GMT):
Hi all. I get the following error when instantiating chaincode. Any help to rectify this problem? ``` Error: could not assemble transaction, err proposal response was not successful, error code 500, msg chaincode registration failed: container exited with 2 ```

RyanMathison (Thu, 12 Dec 2019 22:30:26 GMT):
@yacovm , @davidkel , @mastersingh24 Ok, so after resolving the chaincode issues, with a 4 org network I am now able to use OR and OutOf 1, 2 and 3 policies. However I am still unable to use OutOf 4 or AND policies as I get the following error, "No endorsement plan available for {"chaincodes":[{"name":"mycc". Now this makes it sound like anchor peers are not setup, https://cloud.ibm.com/docs/services/blockchain/howto?topic=blockchain-ibp-v2-troubleshooting&locale=zh-TW#ibp-v2-troubleshooting-anchor-peer, however we have setup anchor peers in each organization. Any idea what the issue may be

yacovm (Thu, 12 Dec 2019 22:31:19 GMT):
perform a peer query and see if it sees peers from other orgs

RyanMathison (Thu, 12 Dec 2019 22:52:20 GMT):
@yacovm Well I am logging the configuration returned from service discovery and it shows all 8 peers in the network, 2 per each org

yacovm (Thu, 12 Dec 2019 22:52:45 GMT):
then probably the chaincode is not installed on all of them

RyanMathison (Thu, 12 Dec 2019 22:55:54 GMT):
All anchor peers show that the chaincode is installed and instantiated

yacovm (Thu, 12 Dec 2019 22:56:25 GMT):
huh?

yacovm (Thu, 12 Dec 2019 22:56:33 GMT):
what does that even mean "all anchor peers show it"?

RyanMathison (Thu, 12 Dec 2019 22:57:00 GMT):
In the CLI I ran peer chaincode list --instantiated

RyanMathison (Thu, 12 Dec 2019 22:57:14 GMT):
For each anchor peer

yacovm (Thu, 12 Dec 2019 22:57:25 GMT):
please do a discovery peer query

yacovm (Thu, 12 Dec 2019 22:57:32 GMT):
it also tells you if the chiancode is installed :(

yacovm (Thu, 12 Dec 2019 22:57:36 GMT):
and on what peers

yacovm (Thu, 12 Dec 2019 22:57:49 GMT):
instead of doing the lousy `peer chaincode list` on several peers

yacovm (Thu, 12 Dec 2019 22:57:54 GMT):
you can do it on 1 peer only

RyanMathison (Thu, 12 Dec 2019 23:11:16 GMT):
I will have to look at it tomorrow, I keep getting failed to create new connection: context deadline exceeded

RyanMathison (Fri, 13 Dec 2019 14:00:57 GMT):
@yacovm So the results from discovery show that there are 8 peers in the network, 2 from each org, and they all have the mycc chaincode.

yacovm (Fri, 13 Dec 2019 14:10:24 GMT):
@RyanMathison - so it should work.... can you try an endorsement query and tell me what is logged in the peers?

yacovm (Fri, 13 Dec 2019 14:11:12 GMT):
use the discover CLI, not the SDK

RyanMathison (Fri, 13 Dec 2019 14:40:03 GMT):
@yacovm I get server returned: failed constructing descriptor for chaincodes:

yacovm (Fri, 13 Dec 2019 14:42:02 GMT):
What is the chaincore version installed on all peers? Is it thr same?

RyanMathison (Fri, 13 Dec 2019 14:43:51 GMT):
All are version 1.0 and we have chaincode installs scripted so that every peer gets the exact same chaincode and version installed

RyanMathison (Fri, 13 Dec 2019 16:11:53 GMT):
@yacovm I finally got the right debugging level turned on in the peers and found that it was caused by an issue in one of our configuration files. Thank you for your help and for introducing me to the discover CLI. I do have a question about discover CLI. Do you have any idea why the peer commands and discover commands can't use the same configuration? It seems to me that it is repetitive to define ENV variables for the peer command and a cofig file for the discover command when both are just looking for the certificates to contact a peer.

yacovm (Fri, 13 Dec 2019 17:14:33 GMT):
@RyanMathison i wrote the discover CLI myself

yacovm (Fri, 13 Dec 2019 17:14:49 GMT):
Because the peer CLI is unusable :joy:

yacovm (Fri, 13 Dec 2019 17:20:44 GMT):
It has zero code intersection with the peer CLI

indirajith (Mon, 16 Dec 2019 15:16:31 GMT):
Hi all, when instantiating chainode using CLI, I encounter the following error. It says the chanel's lscc is not found on couchDB. Can anyone help me understand this problem? ``` [couchdb] ReadDoc -> DEBU 804c90 [twoorgschannel_lscc] Entering ReadDoc() id=[mycc3] 2019-12-16 14:50:45.156 UTC [couchdb] handleRequest -> DEBU 804c91 Entering handleRequest() method=GET url=http://couchdbp1o1:5984 dbName=twoorgschannel_lscc 2019-12-16 14:50:45.156 UTC [couchdb] handleRequest -> DEBU 804c92 Request URL: http://couchdbp1o1:5984/twoorgschannel_lscc/mycc3?attachments=true 2019-12-16 14:50:45.156 UTC [couchdb] handleRequest -> DEBU 804c93 HTTP Request: GET /twoorgschannel_lscc/mycc3?attachments=true HTTP/1.1 | Host: couchdbp1o1:5984 | User-Agent: Go-http-client/1.1 | Accept: m ultipart/related | Authorization: Basic cGVlcjEtb3JnMTpwMW8xY2RicHc= | Accept-Encoding: gzip | | 2019-12-16 14:50:45.162 UTC [couchdb] handleRequest -> DEBU 804c94 Error handling CouchDB request. Error:not_found, Status Code:404, Reason:missing 2019-12-16 14:50:45.162 UTC [couchdb] ReadDoc -> DEBU 804c95 [twoorgschannel_lscc] Document not found (404), returning nil value instead of 404 error ```

AbhijeetSamanta (Thu, 19 Dec 2019 05:09:08 GMT):
Has joined the channel.

AbhijeetSamanta (Tue, 24 Dec 2019 19:57:44 GMT):
Hi All, I am trying to setup on HLF on EKS. I had setup till generate artefact and cryto material. also raft orderer running, but when I am creating the peers its give error as " Could not connect to Endpoint: peer1-org1-service:7051, InternalEndpoint: peer1-org1-service:7051, PKI-ID: , Metadata: : context deadline exceeded" Anybody help me to fix this issue. Let me know there is any further info. need?

konda.kalyan (Thu, 26 Dec 2019 06:00:50 GMT):
Has joined the channel.

root10 (Tue, 31 Dec 2019 14:43:02 GMT):
Has left the channel.

indirajith (Wed, 08 Jan 2020 13:25:04 GMT):
Hi all. iit seems like shim packages, peer proto packages and others are moved/ re structured. Is there any plac where I can find these changes? I am trying to run a very very basic chaincode with just two key values(a,b, 20, 100) and stuck with it instantiation failure for a long time. I am using binaries version 1.4.4 and is it necessary to package chaincode?

rahulhegde (Thu, 09 Jan 2020 13:30:45 GMT):
Hello - need clarification - @dave.enyeart I am trying to understand, the commit to the ledger by peer & endorsement of proposal are two distinct activities and can execute during the same time period. This is also true if the commit & endorsement are working on the same keys. Say current state of the ledger K1-V1, K2-V1 Commit will move the K1-V2, K2-V2 (fact: world state transaction scope is at the key update level) Endorsement is received during the same time of commit that uses K1, K2. Would the peer ensure [1] endorsement happens in a deterministic way such that endorsement proposal will be executed either on (K1-V1, K2-V1) such that the commit is put on-hold OR (K1-V2, K2-V2) i.e. commit is executed successfully and endorsement is put on-hold OR [2] endorsement proposal happens in a non-determinsitic way endorsement & commit can execute in parallel i.e. endorsement RW set could have (K1-V2, K2-V1). Thanks.

rahulhegde (Thu, 09 Jan 2020 13:30:45 GMT):
Hello - need clarification - @dave.enyeart I am trying to understand, the commit to the ledger by peer & endorsement of proposal by peer are two distinct activities and can execute during the same time period. This is also true if the commit & endorsement are working on the same keys. Say current state of the ledger K1-V1, K2-V1 Commit will move the K1-V2, K2-V2 (fact: world state transaction scope is at the key update level) Endorsement is received during the same time of commit that uses K1, K2. Would the peer ensure [1] endorsement happens in a deterministic way such that endorsement proposal will be executed either on (K1-V1, K2-V1) such that the commit is put on-hold OR (K1-V2, K2-V2) i.e. commit is executed successfully and endorsement is put on-hold OR [2] endorsement proposal happens in a non-determinsitic way endorsement & commit can execute in parallel i.e. endorsement RW set could have (K1-V2, K2-V1). Thanks.

rahulhegde (Thu, 09 Jan 2020 13:30:45 GMT):
Hello - need clarification - @dave.enyeart I am trying to understand, the commit to the ledger by peer & endorsement of proposal by peer are two distinct activities and can execute during the same time period. This is also true if the commit & endorsement are working on the same keys. Say current state of the ledger K1-V1, K2-V1 Commit will move the K1-V2, K2-V2 (fact: world state transaction scope is at the key update level) Endorsement is received during the same time of commit that uses K1, K2. Would the peer ensure [1] endorsement happens in a deterministic way such that endorsement proposal will be executed either on (K1-V1, K2-V1) such that the commit is put on-hold OR (K1-V2, K2-V2) i.e. commit is executed successfully and endorsement is put on-hold OR [2] endorsement proposal happens in a non-determinsitic way endorsement & commit can execute in parallel i.e. endorsement RW set could have (K1-V2, K2-V1). Did the Peer behavior changed from Fabric v1.0 v/s Fabric v1.4? Thanks.

rahulhegde (Thu, 09 Jan 2020 13:30:45 GMT):
Hello - need clarification - @dave.enyeart I am trying to understand, the commit to the ledger by peer & endorsement of proposal by peer are two distinct activities and can execute during the same time period. This is also true if the commit & endorsement are working on the same keys. Say current state of the ledger K1-V1, K2-V1 Commit will move the K1-V2, K2-V2 (fact: world state transaction scope is at the key update level) Endorsement is received during the same time of commit that uses K1, K2. Would the peer ensure [1] endorsement happens in a deterministic way such that endorsement proposal will be executed either on (K1-V1, K2-V1) such that the commit is put on-hold OR (K1-V2, K2-V2) i.e. commit is executed successfully and endorsement is put on-hold OR [2] endorsement proposal happens in a non-determinsitic way endorsement & commit can execute in parallel i.e. endorsement RW set could have (K1-V2, K2-V1). [3] Did the Peer behavior changed from Fabric v1.0 v/s Fabric v1.4? Thanks.

dave.enyeart (Fri, 10 Jan 2020 16:14:53 GMT):
@rahulhegde [2] is not possible, you are guaranteed that endorsements will be based on a stable snapshot of the data. if the endorsement arrives before the commit starts, you'll get (K1-V1,K2-V1), if the endorsement arrives after commit starts, it will wait until commit is done and will return (K1-V2,K2-V2)

dave.enyeart (Fri, 10 Jan 2020 16:15:05 GMT):
This behavior has not changed since v1.0

rahulhegde (Fri, 10 Jan 2020 18:08:44 GMT):
Thanks Dave for the response.

joaquimpedrooliveira (Mon, 13 Jan 2020 15:23:09 GMT):
Hello all. I'm trying to build the peer docker image with HSM support, but I'm getting an error. Here are the steps: - git clone https://github.com/hyperledger/fabric.git - edited `Makefile` to include `GO_TAGS ?= pkcs11` - edited `images/peer/Dockerfile.in` to add my HSM lib install instructions and ENV vars in peer image - edited `sampleconfig/core.yaml` to add BCCSP/PKCS11 configs and changed BCCSP/Default to `PKCS11` - built peer with `make peer-docker` - tested with `docker run hyperledger/fabric-peer:latest` but get the following error: ``` 2020-01-13 15:20:46.554 UTC [main] InitCmd -> ERRO 001 Cannot run peer because error when setting up MSP of type bccsp from directory /etc/hyperledger/fabric/msp: could not initialize BCCSP Factories: Failed initializing SW.BCCSP: Could not initialize BCCSP SW [Failed to initialize software key store: An invalid KeyStore path provided. Path cannot be an empty string.] ```

joaquimpedrooliveira (Mon, 13 Jan 2020 15:23:09 GMT):
But the `Keystore` is configured in `core.yaml`: ``` BCCSP: debug: true Default: PKCS11 # Settings for the SW crypto provider (i.e. when DEFAULT: SW) SW: # TODO: The default Hash and Security level needs refactoring to be # fully configurable. Changing these defaults requires coordination # SHA2 is hardcoded in several places, not only BCCSP Hash: SHA2 Security: 256 # Location of Key Store FileKeyStore: # If "", defaults to 'mspConfigPath'/keystore KeyStore: # Settings for the PKCS#11 crypto provider (i.e. when DEFAULT: PKCS11) PKCS11: # Location of the PKCS11 module library Library: /usr/lib/libtacndp11.so # Token Label Label: Dinamo HSM # User PIN Pin: abcd1234 Hash: SHA2 Security: 256 FileKeyStore: KeyStore: msp/keystore ```

joaquimpedrooliveira (Mon, 13 Jan 2020 15:35:59 GMT):
Hi, all! I'm trying to create peer docker images with HSM support, but I'm getting an error. The steps I followed: - git clone https://github.com/hyperledger/fabric.git - edited `Makefile` to add `GO_TAGS ?= pkcs11` - edited `sampleconfig/core.yaml` to add BCCSP/Default to `PKCS11` and configured the BCSSP/PKCS11 section as: ``` # Settings for the PKCS#11 crypto provider (i.e. when DEFAULT: PKCS11) PKCS11: # Location of the PKCS11 module library Library: /usr/lib/libtacndp11.so # Token Label Label: Dinamo HSM # User PIN Pin: abcd1234 Hash: SHA2 Security: 256 FileKeyStore: KeyStore: msp/keystore ``` - edited images/peer/Dockerfile.in to add my HSM lib install instructions and ENV vars - generated peer docker image with `make -B peer-docker` But when I test with 'docker run --rm -it hyperledger/fabric-peer:latest` I get the folling message: ``` 2020-01-13 15:20:46.554 UTC [main] InitCmd -> ERRO 001 Cannot run peer because error when setting up MSP of type bccsp from directory /etc/hyperledger/fabric/msp: could not initialize BCCSP Factories: Failed initializing SW.BCCSP: Could not initialize BCCSP SW [Failed to initialize software key store: An invalid KeyStore path provided. Path cannot be an empty string.] ``` What could be missing?

joaquimpedrooliveira (Mon, 13 Jan 2020 17:51:17 GMT):
Additional info: I'm using the `v1.4.4` tag

rahulhegde (Wed, 15 Jan 2020 22:56:04 GMT):
Hello - I am using Fabric v1.4 Peer CLI that allows to collate the endorsement proposal response from multiple peers. Peer CLI has protection which checks for proposal response bytes. Is creating the proposal response bytes deterministic from chaincode that uses maps as world state (write set), as some properties like iterate over map is not deterministic. Does peer ensure deterministic behavior always? ``` 2020-01-13 23:50:57.816 UTC [msp.identity] Sign -> DEBU 049 Sign: digest: 9FA53D62C6F94CEAF5E6119C400D05F8C909A3F87639CFE5BE2230B0C00FE89D Error: could not assemble transaction: ProposalResponsePayloads do not match - proposal response: version:1 response: ```

yacovm (Thu, 16 Jan 2020 00:58:18 GMT):
map iteration in Go isn't deterministic

rahulhegde (Thu, 16 Jan 2020 17:36:39 GMT):
Iteration is true and it would be chaincode' responsibility to ensure deterministic processing. However the question here is any chaincode write operation involving a map (PutState) that becomes part of the RW set, would Peer be constructing the endorsement proposal response in a deterministic way? Chaincode uses json.marshal to create a byte stream that becomes the input and as per https://golang.org/pkg/encoding/json/#Marshal ``` Map values encode as JSON objects. The map's key type must either be a string, an integer type, or implement encoding.TextMarshaler. The map keys are sorted and used as JSON object keys by applying the following rules, ```

rahulhegde (Thu, 16 Jan 2020 17:36:39 GMT):
Iteration is true and it would be chaincode' responsibility to ensure deterministic processing. However the question here is any chaincode write operation involving a map (PutState) that becomes part of the RW set or hash attached to the endorsement proposal response, would Peer be constructing the endorsement proposal response in a deterministic way? Chaincode uses json.marshal to create a byte stream that becomes the input and as per https://golang.org/pkg/encoding/json/#Marshal ``` Map values encode as JSON objects. The map's key type must either be a string, an integer type, or implement encoding.TextMarshaler. The map keys are sorted and used as JSON object keys by applying the following rules, ```

rahulhegde (Thu, 16 Jan 2020 17:36:39 GMT):
If you can check too @dave.enyeart Iteration is true and it would be chaincode' responsibility to ensure deterministic processing. However the question here is any chaincode write operation involving a map (PutState) that becomes part of the RW set or hash attached to the endorsement proposal response, would Peer be constructing the endorsement proposal response in a deterministic way? Chaincode uses json.marshal to create a byte stream that becomes the input and as per https://golang.org/pkg/encoding/json/#Marshal ``` Map values encode as JSON objects. The map's key type must either be a string, an integer type, or implement encoding.TextMarshaler. The map keys are sorted and used as JSON object keys by applying the following rules, ```

rahulhegde (Thu, 16 Jan 2020 17:36:39 GMT):
If you can check too please @dave.enyeart Iteration is true and it would be chaincode' responsibility to ensure deterministic processing. However the question here is any chaincode write operation involving a map (PutState) that becomes part of the RW set or hash attached to the endorsement proposal response, would Peer be constructing the endorsement proposal response in a deterministic way? Chaincode uses json.marshal to create a byte stream that becomes the input and as per https://golang.org/pkg/encoding/json/#Marshal ``` Map values encode as JSON objects. The map's key type must either be a string, an integer type, or implement encoding.TextMarshaler. The map keys are sorted and used as JSON object keys by applying the following rules, ```

dave.enyeart (Fri, 17 Jan 2020 16:03:00 GMT):
I agree with Yacov - map iteration in Go isn't deterministic

dave.enyeart (Fri, 17 Jan 2020 16:03:49 GMT):
Chaincode must ensure deterministic value in PutState()

dave.enyeart (Fri, 17 Jan 2020 16:03:49 GMT):
Chaincode must ensure deterministic value in PutState(). If the value in PutState() is deterministic, peer will package the chaincode results deterministically (obviously things like the peer signature will be different from each peer in the proposal response)

rahulhegde (Fri, 17 Jan 2020 17:29:06 GMT):
Thanks for response. 1. Map that is serialized using Json Marshal API and then passed to PutState by chaincode, would this be a deterministic endorsement proposal response? Or if I have to rephrase the same question Consider the PutState value as map[string] int = { "abc" : 1, "123" : 2 } However - Peer 1 serializes the map map[string] int = { "abc" : 1, "123" : 2 } - Peer 2 serializes the map map[string] int = { "123" : 1, "abc" : 2 } Would this be handled to create a deterministic endorsement proposal response across peer? Note: Please ignore the syntax error. 2. Does the order of PutState matter in constructing the Endorsement Proposal Response across peer Peer1 -> call 1 - PutState(K1, V1) call 2 - PutState(K2, V2) Peer2 -> call 1 - PutState(K2, V2) call 2 - PutState(K1, V1)

rahulhegde (Fri, 17 Jan 2020 17:29:06 GMT):
Thanks for response. 1. Map that is serialized using Json Marshal API and then passed to PutState by chaincode, would this be a deterministic endorsement proposal response? Or if I have to rephrase the same question Consider the PutState value as map[string] int = { "abc" : 1, "123" : 2 } However - Peer 1 serializes the map map[string] int = { "abc" : 1, "123" : 2 } - Peer 2 serializes the map map[string] int = { "123" : 2, "abc" : 1 } Would this be handled to create a deterministic endorsement proposal response across peer? Note: Please ignore the syntax error. 2. Does the order of PutState matter in constructing the Endorsement Proposal Response across peer Peer1 -> call 1 - PutState(K1, V1) call 2 - PutState(K2, V2) Peer2 -> call 1 - PutState(K2, V2) call 2 - PutState(K1, V1)

rahulhegde (Fri, 17 Jan 2020 17:29:06 GMT):
Thanks for response. 1. Map that is serialized using Json Marshal API and then passed to PutState by chaincode, would this be a deterministic endorsement proposal response? Or if I have to rephrase the same question Consider the PutState value as map[string] int = { "abc" : 1, "123" : 2 } However - Peer 1 serializes the map map[string] int = { "abc" : 1, "123" : 2 } - Peer 2 serializes the map map[string] int = { "123" : 2, "abc" : 1 } Would this be handled to create a deterministic endorsement proposal response across peer? Note: Please ignore the syntax error. 2. Does the order of PutState matter in constructing the Endorsement Proposal Response across peer Peer1 -> call 1 at t1 - PutState(K1, V1) call 2 at t2 - PutState(K2, V2) Peer2 -> call 1 at t1 - PutState(K2, V2) call 2 at t2 - PutState(K1, V1)

rahulhegde (Fri, 17 Jan 2020 17:29:06 GMT):
Thanks for response. 1. Map that is serialized using Json Marshal API and then passed to PutState by chaincode, would this action across peers resulting in a deterministic endorsement proposal response? Or if I have to rephrase the same question - Consider the PutState value as map[string] int = { "abc" : 1, "123" : 2 } However - Peer 1 serializes the map map[string] int = { "abc" : 1, "123" : 2 } - Peer 2 serializes the map map[string] int = { "123" : 2, "abc" : 1 } Would this be handled to create a deterministic endorsement proposal response across peer? Note: Please ignore the syntax error. 2. Does the order of PutState matter in constructing the Endorsement Proposal Response across peer Peer1 -> call 1 at t1 - PutState(K1, V1) call 2 at t2 - PutState(K2, V2) Peer2 -> call 1 at t1 - PutState(K2, V2) call 2 at t2 - PutState(K1, V1)

rahulhegde (Fri, 17 Jan 2020 17:29:06 GMT):
Thanks for response. 1. Map that is serialized using Json Marshal API and then passed to PutState by chaincode, would this action across peers resulting in a deterministic endorsement proposal response? Or if I have to rephrase the same question - Consider the PutState value as map[string] int = { "abc" : 1, "123" : 2 } However - Peer 1 serializes the map map[string] int = { "abc" : 1, "123" : 2 } - Peer 2 serializes the map map[string] int = { "123" : 2, "abc" : 1 } Would this be handled to create a deterministic endorsement proposal response across peers? Note: Please ignore the syntax errors. 2. Does the order of PutState matter in constructing the Endorsement Proposal Response across peer Peer1 -> call 1 at t1 - PutState(K1, V1) call 2 at t2 - PutState(K2, V2) Peer2 -> call 1 at t1 - PutState(K2, V2) call 2 at t2 - PutState(K1, V1)

dave.enyeart (Sat, 18 Jan 2020 03:07:16 GMT):
@rahulhegde 1. per the doc you provided, although maps are not ordered in Go, and although JSON spec does not guarantee an order of elements, the Go Marshal() function does sort them lexicographically.

dave.enyeart (Sat, 18 Jan 2020 03:07:49 GMT):
2. order of PutState() does not matter... peer orders the keys lexicographically when building the final read-write set.

rahulhegde (Sun, 19 Jan 2020 01:44:03 GMT):
In Fabric v1.4.x, on Chaincode GetState API call, does Fabric Peer respond from its own cache or perform massaging/modification to the response before sending it to chaincode or it is just pass through?

dave.enyeart (Mon, 20 Jan 2020 01:07:08 GMT):
Pass through... chaincode GetState() will request the value from peer, peer will retrieve the value from state database and pass it back to chaincode

rahulhegde (Mon, 20 Jan 2020 02:08:28 GMT):
thanks @dave.enyeart for your response.

braduf (Thu, 23 Jan 2020 15:08:37 GMT):
Hi all, is there a way to start a peer without having it's msp folder yet? We are looking on how to automate infrastructure deployment and provisioning and we think it would be easier if we can first deploy the peer container and then provision the machine with the msp.

yacovm (Thu, 23 Jan 2020 15:12:14 GMT):
@braduf do you have access to the peer's file system?

yacovm (Thu, 23 Jan 2020 15:12:48 GMT):
if yes, then it should be straight forward to add a `time.Sleep` to the `main` of the peer and compile your own Fabric version

braduf (Thu, 23 Jan 2020 15:32:44 GMT):
Ok, thank you, we will try some things, maybe we can add a goroutine that checks for the msp when a configuration is set that says that the peer is started without msp. And when the goroutine returns a `wait` is interrupted and the peer continues booting normally...

braduf (Thu, 23 Jan 2020 15:32:44 GMT):
Ok, thank you, we will try some things, maybe we can add a goroutine that checks for the msp when a configuration is set that says that the peer is started without msp. And when the goroutine returns a 'wait' is interrupted and the peer continues booting normally...

thiliniweeray (Tue, 28 Jan 2020 06:34:27 GMT):
Has joined the channel.

guoger (Tue, 04 Feb 2020 07:31:14 GMT):
from @Jeremy > I am testing a disaster recovery scenario where I am restoring snapshots of a network that was live and not shut down first so there were transactions in flight and the orderers or peers are ahead. In the case where the orderers are ahead, they come up fine, but the peers are missing private data so encounter errors as they catch up from the missing blocks. I was hoping I could truncate the orderer data to bring them in line with the latest peer data to avoid issues with missing private data. it's not currently possible to revert blocks on orderers and i don't think we should attempt to that. In case of missing private data, don't we mark those transactions invalid? cc @yacovm

Jeremy (Tue, 04 Feb 2020 07:31:14 GMT):
Has joined the channel.

yacovm (Tue, 04 Feb 2020 07:40:29 GMT):
Of course not @guoger otherwise it'd be non-deterministic

yacovm (Tue, 04 Feb 2020 07:40:37 GMT):
if peer A has private data but peer B doesn't...

guoger (Tue, 04 Feb 2020 08:06:11 GMT):
does B keep polling A for missing data?

yacovm (Tue, 04 Feb 2020 08:07:10 GMT):
it will eventually give up

guoger (Tue, 04 Feb 2020 08:08:22 GMT):
also, is there a way to re-inject private data into its store? since B would find out its own signature on that tx, private data must be missing for some reason

yacovm (Tue, 04 Feb 2020 08:09:06 GMT):
the peer go back and try to pull the private data for prior committed blocks

guoger (Tue, 04 Feb 2020 08:21:48 GMT):
how does private data for prior committed blocks help here?

yacovm (Tue, 04 Feb 2020 08:44:59 GMT):
well if you committed a block but you couldn't collect the required private data then you can collect it later in the future

guoger (Tue, 04 Feb 2020 10:32:00 GMT):
by "later in the future", do you mean after committing subsequent blocks?

yacovm (Tue, 04 Feb 2020 10:36:29 GMT):
yes

Jeremy (Tue, 04 Feb 2020 18:41:21 GMT):
from @Jeremy > I am testing a disaster recovery scenario where I am restoring snapshots of a network that was live and not shut down first

adianimesh (Thu, 06 Feb 2020 00:28:24 GMT):
Has joined the channel.

adianimesh (Thu, 06 Feb 2020 00:28:24 GMT):
Trying setup Hyperledger fabric with Safenet Gemalto Cloud HSM using PKCS11 and running into issues. Has anyone tried it before ?

adianimesh (Thu, 06 Feb 2020 00:28:49 GMT):
`Cannot run peer because error when setting up MSP of type bccsp from directory /u01/fd895b99-7e3a-4e0a-8dd8-f33163c1bce2/cm/msp: KeyMaterial not found in SigningIdentityInfo The command that is used is peer channel create -t 1800s -o 96eec90a-54b1-44cc-84e9-d5ede782f52a-orderer1:7050 -c default -f /u01/96eec90a-54b1-44cc-84e9-d5ede782f52a/cm/channel.tx --outputBlock /u01/96eec90a-54b1-44cc-84e9-d5ede782f52a/cm/channel.block`

adianimesh (Thu, 06 Feb 2020 00:29:10 GMT):
`2020-04-02 17:08:33.633 UTC [viperutil] EnhancedExactUnmarshalKey -> DEBU 017 map[peer.BCCSP:map[Default:PKCS11 PKCS11:map[FileKeyStore:map[KeyStore:msp/keystore] Hash:SHA2 Label:obp-test Library:/etc/hyperledger/fabric/dpod/obp-test/libs/64/libCryptoki2.so Pin:PasswordPO1 Security:256 SensitiveKeys:true SoftwareVerify:true]]] 2020-04-02 17:08:33.633 UTC [bccsp] initBCCSP -> DEBU 018 Initialize BCCSP [SW] 2020-04-02 17:08:33.633 UTC [bccsp_sw] createKeyStoreIfNotExists -> DEBU 019 KeyStore path [msp/keystore] missing [true]: [] 2020-04-02 17:08:33.633 UTC [bccsp_sw] createKeyStore -> DEBU 01a Creating KeyStore at [msp/keystore]... 2020-04-02 17:08:33.633 UTC [bccsp_sw] createKeyStore -> DEBU 01b KeyStore created at [msp/keystore]. 2020-04-02 17:08:33.633 UTC [bccsp_sw] openKeyStore -> DEBU 01c KeyStore opened at [msp/keystore]...done 2020-04-02 17:08:33.633 UTC [bccsp_p11] loadLib -> DEBU 01d Loading pkcs11 library [/etc/hyperledger/fabric/dpod/obp-test/libs/64/libCryptoki2.so] 2020-04-02 17:08:43.237 UTC [bccsp_p11] loadLib -> DEBU 01e Looking for obp-test, found label obp-test 2020-04-02 17:08:43.879 UTC [bccsp_p11] loadLib -> DEBU 01f Created new pkcs11 session 1 on slot 3 2020-04-02 17:08:46.037 UTC [bccsp] initBCCSP -> DEBU 020 Initialize BCCSP [PKCS11] 2020-04-02 17:08:46.037 UTC [msp] getPemMaterialFromDir -> DEBU 021 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/signcerts 2020-04-02 17:08:46.037 UTC [msp] getPemMaterialFromDir -> DEBU 022 Inspecting file /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/signcerts/cert.pem 2020-04-02 17:08:46.037 UTC [msp] getPemMaterialFromDir -> DEBU 023 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/cacerts 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 024 Inspecting file /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/cacerts/da683817-fb3c-4e73-9f64-26666c1d6ef8-ca.pem 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 025 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/admincerts 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 026 Inspecting file /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/admincerts/cert.pem 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 027 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/intermediatecerts 2020-04-02 17:08:46.038 UTC [msp] getMspConfig -> DEBU 028 Intermediate certs folder not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/intermediatecerts]. Skipping. [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/intermediatecerts: no such file or directory] 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 029 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/tlscacerts 2020-04-02 17:08:46.038 UTC [msp] getMspConfig -> DEBU 02a TLS CA certs folder not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/tlsintermediatecerts]. Skipping and ignoring TLS intermediate CA folder. [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/tlscacerts: no such file or directory] 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 02b Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/crls 2020-04-02 17:08:46.038 UTC [msp] getMspConfig -> DEBU 02c crls folder not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/crls]. Skipping. [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/crls: no such file or directory] 2020-04-02 17:08:46.039 UTC [msp] getMspConfig -> DEBU 02d MSP configuration file not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/config.yaml]: [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/config.yaml: no such file or directory] 2020-04-02 17:08:46.039 UTC [msp] newBccspMsp -> DEBU 02e Creating BCCSP-based MSP instance 2020-04-02 17:08:46.039 UTC [msp] New -> DEBU 02f Creating Cache-MSP instance 2020-04-02 17:08:46.039 UTC [msp] loadLocaMSP -> DEBU 030 Created new local MSP 2020-04-02 17:08:46.040 UTC [msp] Setup -> DEBU 031 Setting up MSP instance F20`

adianimesh (Thu, 06 Feb 2020 00:29:28 GMT):
```` 2020-04-02 17:08:33.633 UTC [viperutil] EnhancedExactUnmarshalKey -> DEBU 017 map[peer.BCCSP:map[Default:PKCS11 PKCS11:map[FileKeyStore:map[KeyStore:msp/keystore] Hash:SHA2 Label:obp-test Library:/etc/hyperledger/fabric/dpod/obp-test/libs/64/libCryptoki2.so Pin:PasswordPO1 Security:256 SensitiveKeys:true SoftwareVerify:true]]] 2020-04-02 17:08:33.633 UTC [bccsp] initBCCSP -> DEBU 018 Initialize BCCSP [SW] 2020-04-02 17:08:33.633 UTC [bccsp_sw] createKeyStoreIfNotExists -> DEBU 019 KeyStore path [msp/keystore] missing [true]: [] 2020-04-02 17:08:33.633 UTC [bccsp_sw] createKeyStore -> DEBU 01a Creating KeyStore at [msp/keystore]... 2020-04-02 17:08:33.633 UTC [bccsp_sw] createKeyStore -> DEBU 01b KeyStore created at [msp/keystore]. 2020-04-02 17:08:33.633 UTC [bccsp_sw] openKeyStore -> DEBU 01c KeyStore opened at [msp/keystore]...done 2020-04-02 17:08:33.633 UTC [bccsp_p11] loadLib -> DEBU 01d Loading pkcs11 library [/etc/hyperledger/fabric/dpod/obp-test/libs/64/libCryptoki2.so] 2020-04-02 17:08:43.237 UTC [bccsp_p11] loadLib -> DEBU 01e Looking for obp-test, found label obp-test 2020-04-02 17:08:43.879 UTC [bccsp_p11] loadLib -> DEBU 01f Created new pkcs11 session 1 on slot 3 2020-04-02 17:08:46.037 UTC [bccsp] initBCCSP -> DEBU 020 Initialize BCCSP [PKCS11] 2020-04-02 17:08:46.037 UTC [msp] getPemMaterialFromDir -> DEBU 021 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/signcerts 2020-04-02 17:08:46.037 UTC [msp] getPemMaterialFromDir -> DEBU 022 Inspecting file /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/signcerts/cert.pem 2020-04-02 17:08:46.037 UTC [msp] getPemMaterialFromDir -> DEBU 023 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/cacerts 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 024 Inspecting file /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/cacerts/da683817-fb3c-4e73-9f64-26666c1d6ef8-ca.pem 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 025 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/admincerts 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 026 Inspecting file /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/admincerts/cert.pem 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 027 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/intermediatecerts 2020-04-02 17:08:46.038 UTC [msp] getMspConfig -> DEBU 028 Intermediate certs folder not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/intermediatecerts]. Skipping. [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/intermediatecerts: no such file or directory] 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 029 Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/tlscacerts 2020-04-02 17:08:46.038 UTC [msp] getMspConfig -> DEBU 02a TLS CA certs folder not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/tlsintermediatecerts]. Skipping and ignoring TLS intermediate CA folder. [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/tlscacerts: no such file or directory] 2020-04-02 17:08:46.038 UTC [msp] getPemMaterialFromDir -> DEBU 02b Reading directory /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/crls 2020-04-02 17:08:46.038 UTC [msp] getMspConfig -> DEBU 02c crls folder not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/crls]. Skipping. [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/crls: no such file or directory] 2020-04-02 17:08:46.039 UTC [msp] getMspConfig -> DEBU 02d MSP configuration file not found at [/u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/config.yaml]: [stat /u01/da683817-fb3c-4e73-9f64-26666c1d6ef8/cm/msp/config.yaml: no such file or directory] 2020-04-02 17:08:46.039 UTC [msp] newBccspMsp -> DEBU 02e Creating BCCSP-based MSP instance 2020-04-02 17:08:46.039 UTC [msp] New -> DEBU 02f Creating Cache-MSP instance 2020-04-02 17:08:46.039 UTC [msp] loadLocaMSP -> DEBU 030 Created new local MSP 2020-04-02 17:08:46.040 UTC [msp] Setup -> DEBU 031 Setting up MSP instance F20 ``` `

adianimesh (Thu, 06 Feb 2020 00:29:56 GMT):
``` 2020-04-02 17:08:46.042 UTC [msp.identity] newIdentity -> DEBU 032 Creating identity instance for cert -----BEGIN CERTIFICATE----- MIIBfzCCASWgAwIBAgIUVN3bthNL3GjHuakUsZwW0D47d0QwCgYIKoZIzj0EAwIw HDEMMAoGA1UEChMDRjIwMQwwCgYDVQQDEwNGMjAwHhcNMTkxMjIwMTQ1NTAwWhcN MzQxMjE2MTQ1NTAwWjAcMQwwCgYDVQQKEwNGMjAxDDAKBgNVBAMTA0YyMDBZMBMG ByqGSM49AgEGCCqGSM49AwEHA0IABEpt5B7JfclGyr1FIebB/yJbyuSCEEzxC7kc 0lXDYTmBoJx+2fpn5f1Ky7ickPr0ZregZp+Krw5FS3FXIA8QZUSjRTBDMA4GA1Ud DwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBS02nub+XCj h0cZr5va/IGu9fqeTzAKBggqhkjOPQQDAgNIADBFAiEAsHLKErPuU2BLSUGvXCYl Etp7YZ476pwbVrJ503TuyXwCIAjj+synjR0epXftCmwBasW+k480/J82seJpRo/M ALdw -----END CERTIFICATE----- 2020-04-02 17:08:46.043 UTC [msp.identity] newIdentity -> DEBU 033 Creating identity instance for cert -----BEGIN CERTIFICATE----- MIIB1zCCAX6gAwIBAgIUG7ursFvwI5MjHXZYVzWmNKhtqW0wCgYIKoZIzj0EAwIw HDEMMAoGA1UEChMDRjIwMQwwCgYDVQQDEwNGMjAwHhcNMTkxMjIwMTQ1NTAwWhcN MjAxMjE5MTUwMDAwWjAmMQ8wDQYDVQQLEwZjbGllbnQxEzARBgNVBAMTCkFuaW1l c2hCUE0wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASRFMaoN195CP4hEhG1nX9u 93V6zVVXysmHnSBUjoopUzbn638R/ZaOiJiulu8EVtFk1yIE+jIQ78+YD9bFPKyx o4GTMIGQMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBST 7Uo2EPcgqLaibLwQ+XZvPp9CGTAfBgNVHSMEGDAWgBS02nub+XCjh0cZr5va/IGu 9fqeTzAwBgNVHREEKTAngglsb2NhbGhvc3SCGmFuYWRpdHlhLW1hYy5pbi5vcmFj bGUuY29tMAoGCCqGSM49BAMCA0cAMEQCIAhGUWG69c/lxG4pqU6eo5dg3sh7zSJf lGD442InVC6dAiBU9lhM7UBVGmLPHDElwfmDBivuisQFpxToJPd30lklHA== -----END CERTIFICATE----- 2020-04-02 17:08:46.044 UTC [msp.identity] newIdentity -> DEBU 034 Creating identity instance for cert -----BEGIN CERTIFICATE----- MIIB1zCCAX6gAwIBAgIUG7ursFvwI5MjHXZYVzWmNKhtqW0wCgYIKoZIzj0EAwIw HDEMMAoGA1UEChMDRjIwMQwwCgYDVQQDEwNGMjAwHhcNMTkxMjIwMTQ1NTAwWhcN MjAxMjE5MTUwMDAwWjAmMQ8wDQYDVQQLEwZjbGllbnQxEzARBgNVBAMTCkFuaW1l c2hCUE0wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASRFMaoN195CP4hEhG1nX9u 93V6zVVXysmHnSBUjoopUzbn638R/ZaOiJiulu8EVtFk1yIE+jIQ78+YD9bFPKyx o4GTMIGQMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBST 7Uo2EPcgqLaibLwQ+XZvPp9CGTAfBgNVHSMEGDAWgBS02nub+XCjh0cZr5va/IGu 9fqeTzAwBgNVHREEKTAngglsb2NhbGhvc3SCGmFuYWRpdHlhLW1hYy5pbi5vcmFj bGUuY29tMAoGCCqGSM49BAMCA0cAMEQCIAhGUWG69c/lxG4pqU6eo5dg3sh7zSJf lGD442InVC6dAiBU9lhM7UBVGmLPHDElwfmDBivuisQFpxToJPd30lklHA== -----END CERTIFICATE----- 2020-04-02 17:08:46.044 UTC [bccsp_p11] getSession -> DEBU 035 Reusing existing pkcs11 session 1 on slot 3 2020-04-02 17:08:48.906 UTC [bccsp_p11] getECKey -> DEBU 036 Private key not found [Key not found [00000000 42 da bd a2 79 2b 97 11 a1 9e 4e d5 c0 20 e2 c3 |B...y+....N.. ..| 00000010 f9 c2 36 4f 74 d7 c9 e5 82 bb cf 71 b3 33 c0 ef |..6Ot......q.3..| ]] for SKI [42dabda2792b9711a19e4ed5c020e2c3f9c2364f74d7c9e582bbcf71b333c0ef], looking for Public key Failed getting key for SKI [[66 218 189 162 121 43 151 17 161 158 78 213 192 32 226 195 249 194 54 79 116 215 201 229 130 187 207 113 179 51 192 239]] ```

indirajith (Mon, 17 Feb 2020 13:36:04 GMT):
Hi all, I an getting an error when I try to commit chaincode package. I have got approvals from both the orgs. But still commit throws `2020-02-17 13:19:29.534 UTC [chaincodeCmd] ClientWait -> INFO 04d txid [2af110a86314c707e1246d25292af419888e63d52f00dc10187947826faa6c38] committed with status (ENDORSEMENT_POLICY_FAILURE) at peer1-org2.inuit.local:7051 2020-02-17 13:19:29.544 UTC [chaincodeCmd] ClientWait -> INFO 04e txid [2af110a86314c707e1246d25292af419888e63d52f00dc10187947826faa6c38] committed with status (ENDORSEMENT_POLICY_FAILURE) at peer1-org1.inuit.local:7051 Error: transaction invalidated with status (ENDORSEMENT_POLICY_FAILURE)` checkcommitreadiness `{ "approvals": { "org1MSP": true, "org2MSP": true } } `

indirajith (Mon, 17 Feb 2020 13:36:04 GMT):
Hi all, I an getting an error when I try to commit chaincode package. I have got approvals from both the orgs. But still commit throws ```2020-02-17 13:19:29.534 UTC [chaincodeCmd] ClientWait -> INFO 04d txid [2af110a86314c707e1246d25292af419888e63d52f00dc10187947826faa6c38] committed with status (ENDORSEMENT_POLICY_FAILURE) at peer1-org2.inuit.local:7051 2020-02-17 13:19:29.544 UTC [chaincodeCmd] ClientWait -> INFO 04e txid [2af110a86314c707e1246d25292af419888e63d52f00dc10187947826faa6c38] committed with status (ENDORSEMENT_POLICY_FAILURE) at peer1-org1.inuit.local:7051 Error: transaction invalidated with status (ENDORSEMENT_POLICY_FAILURE)``` checkcommitreadiness ```{ "approvals": { "org1MSP": true, "org2MSP": true } } ```

indirajith (Mon, 17 Feb 2020 13:37:40 GMT):
Can anyone help fixing this issue?

indirajith (Mon, 17 Feb 2020 13:48:49 GMT):
Peer logs PEER1_ORG2 ``` 2020-02-17 13:40:32.589 UTC [lifecycle] CheckCommitReadiness -> INFO 0c6 Successfully checked commit readiness of chaincode name 'cctest' on channel 'twoorgschannel' with definition {sequence: 1, endorsement info: (version: '1', plugin: 'escc', init required: true), validation info: (plugin: 'vscc', policy: '12202f4368616e6e656c2f4170706c69636174696f6e2f456e646f7273656d656e74'), collections: ()} 2020-02-17 13:40:32.595 UTC [lifecycle] CommitChaincodeDefinition -> INFO 0c7 Successfully endorsed commit for chaincode name 'cctest' on channel 'twoorgschannel' with definition {sequence: 1, endorsement info: (version: '1', plugin: 'escc', init required: true), validation info: (plugin: 'vscc', policy: '12202f4368616e6e656c2f4170706c69636174696f6e2f456e646f7273656d656e74'), collections: ()} 2020-02-17 13:40:32.595 UTC [endorser] callChaincode -> INFO 0c8 finished chaincode: _lifecycle duration: 24ms channel=twoorgschannel txID=9cae9eca 2020-02-17 13:40:32.596 UTC [comm.grpc.server] 1 -> INFO 0c9 unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=192.168.176.103:37306 grpc.code=OK grpc.call_duration=26.626315ms 2020-02-17 13:40:34.650 UTC [gossip.privdata] StoreBlock -> INFO 0ca [twoorgschannel] Received block [15] from buffer 2020-02-17 13:40:34.651 UTC [vscc] Validate -> ERRO 0cb VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode _lifecycle in tx 15:0 failed: implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 2 of the 'Endorsement' sub-policies to be satisfied 2020-02-17 13:40:34.651 UTC [committer.txvalidator] validateTx -> ERRO 0cc Dispatch for transaction txId = 9cae9eca8ff21e30bbf8e9be2afeef63c88a76178b7e9da077b4012b322c6521 returned error: validation of endorsement policy for chaincode _lifecycle in tx 15:0 failed: implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 2 of the 'Endorsement' sub-policies to be satisfied 2020-02-17 13:40:34.651 UTC [committer.txvalidator] Validate -> INFO 0cd [twoorgschannel] Validated block [15] in 1ms 2020-02-17 13:40:34.652 UTC [gossip.privdata] prepareBlockPvtdata -> INFO 0ce Successfully fetched all eligible collection private write sets for block [15] channel=twoorgschannel 2020-02-17 13:40:34.652 UTC [valimpl] preprocessProtoBlock -> WARN 0cf Channel [twoorgschannel]: Block [15] Transaction index [0] TxId [9cae9eca8ff21e30bbf8e9be2afeef63c88a76178b7e9da077b4012b322c6521] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE] 2020-02-17 13:40:34.713 UTC [kvledger] CommitLegacy -> INFO 0d0 [twoorgschannel] Committed block [15] with 1 transaction(s) in 61ms (state_validation=0ms block_and_pvtdata_commit=43ms state_commit=15ms) commitHash=[9d588ecb38fbb6e9b566d58287c642ca7cde5c0fa7d4e354027724eceb7248e9] 2020-02-17 13:40:34.724 UTC [comm.grpc.server] 1 -> INFO 0d1 streaming call completed grpc.service=protos.Deliver grpc.method=DeliverFiltered grpc.request_deadline=2020-02-17T13:41:02.599Z grpc.peer_address=192.168.176.103:37308 error="context finished before block retrieved: context canceled" grpc.code=Unknown grpc.call_duration=2.125516881s```

indirajith (Mon, 17 Feb 2020 13:49:32 GMT):
PEER2_ORG1 ``` 2020-02-17 13:40:32.563 UTC [lifecycle] CheckCommitReadiness -> INFO 09d Successfully checked commit readiness of chaincode name 'cctest' on channel 'twoorgschannel' with definition {sequence: 1, endorsement info: (version: '1', plugin: 'escc', init required: true), validation info: (plugin: 'vscc', policy: '12202f4368616e6e656c2f4170706c69636174696f6e2f456e646f7273656d656e74'), collections: ()} 2020-02-17 13:40:32.566 UTC [lifecycle] CommitChaincodeDefinition -> INFO 09e Successfully endorsed commit for chaincode name 'cctest' on channel 'twoorgschannel' with definition {sequence: 1, endorsement info: (version: '1', plugin: 'escc', init required: true), validation info: (plugin: 'vscc', policy: '12202f4368616e6e656c2f4170706c69636174696f6e2f456e646f7273656d656e74'), collections: ()} 2020-02-17 13:40:32.566 UTC [endorser] callChaincode -> INFO 09f finished chaincode: _lifecycle duration: 80ms channel=twoorgschannel txID=9cae9eca 2020-02-17 13:40:32.567 UTC [comm.grpc.server] 1 -> INFO 0a0 unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=192.168.176.103:56972 grpc.code=OK grpc.call_duration=82.034915ms 2020-02-17 13:40:34.657 UTC [gossip.privdata] StoreBlock -> INFO 0a1 [twoorgschannel] Received block [15] from buffer 2020-02-17 13:40:34.658 UTC [vscc] Validate -> ERRO 0a2 VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode _lifecycle in tx 15:0 failed: implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 2 of the 'Endorsement' sub-policies to be satisfied 2020-02-17 13:40:34.659 UTC [committer.txvalidator] validateTx -> ERRO 0a3 Dispatch for transaction txId = 9cae9eca8ff21e30bbf8e9be2afeef63c88a76178b7e9da077b4012b322c6521 returned error: validation of endorsement policy for chaincode _lifecycle in tx 15:0 failed: implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 2 of the 'Endorsement' sub-policies to be satisfied 2020-02-17 13:40:34.659 UTC [committer.txvalidator] Validate -> INFO 0a4 [twoorgschannel] Validated block [15] in 1ms 2020-02-17 13:40:34.659 UTC [gossip.privdata] prepareBlockPvtdata -> INFO 0a5 Successfully fetched all eligible collection private write sets for block [15] channel=twoorgschannel 2020-02-17 13:40:34.659 UTC [valimpl] preprocessProtoBlock -> WARN 0a6 Channel [twoorgschannel]: Block [15] Transaction index [0] TxId [9cae9eca8ff21e30bbf8e9be2afeef63c88a76178b7e9da077b4012b322c6521] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE] 2020-02-17 13:40:34.720 UTC [kvledger] CommitLegacy -> INFO 0a7 [twoorgschannel] Committed block [15] with 1 transaction(s) in 60ms (state_validation=0ms block_and_pvtdata_commit=41ms state_commit=17ms) commitHash=[9d588ecb38fbb6e9b566d58287c642ca7cde5c0fa7d4e354027724eceb7248e9] 2020-02-17 13:40:34.724 UTC [comm.grpc.server] 1 -> INFO 0a8 streaming call completed grpc.service=protos.Deliver grpc.method=DeliverFiltered grpc.request_deadline=2020-02-17T13:41:02.598Z grpc.peer_address=192.168.176.103:56974 error="context finished before block retrieved: context canceled" grpc.code=Unknown grpc.call_duration=2.125825689s```

braduf (Mon, 02 Mar 2020 23:53:27 GMT):
Hi all, i am trying to use the operations server for health checks of my peers. When I send to the /healthz endpoint however, I get the following message:

braduf (Mon, 02 Mar 2020 23:53:27 GMT):
Hi all, i am trying to use the operations server for health checks of my peers. When I send to the /healthz endpoint however, I get the following message: ``` { "status": "Service Unavailable", "time": "2020-03-02T23:42:14.990847103Z", "failed_checks": [ { "component": "docker", "reason": "failed to ping to Docker daemon: Get http://unix.sock/_ping: dial unix /var/run/docker.sock: connect: no such file or directory" } ] } ``` I didn't change anything in the VM section of the core.yaml file. Could that be the reason and what should I verify there? Thanks a lot in advance!

braduf (Tue, 03 Mar 2020 14:55:24 GMT):
Found my problem, I didn't had the docker.sock mounted in the container...

Antimttr (Wed, 11 Mar 2020 18:21:54 GMT):
Has joined the channel.

Antimttr (Wed, 11 Mar 2020 18:29:30 GMT):
Hello, I had a question about NodeOUs, if you use them they confer roles on identities with certs matching the OU int he Node's MSP. So if you don't use them how do you confer these roles?

dave.enyeart (Thu, 12 Mar 2020 11:52:15 GMT):
If you don't use them there are no such roles to distinguish peer from client from admin from orderer - each identity would simply be a 'member' of their org, and you'd have to define all roles using *.member, and identify admins using the adminscerts msp directory.

dave.enyeart (Thu, 12 Mar 2020 11:52:15 GMT):
If you don't use them there are no such roles to distinguish peer from client from admin from orderer within their org - each identity would simply be a 'member' of their org, and you'd have to define all roles using *.member, and identify admins using the adminscerts msp directory.

tommyjay (Thu, 12 Mar 2020 15:57:29 GMT):
got the classic `MSP error: the supplied identity is not valid: x509: certificate signed by unknown authority` error. i started a peer without an msp dir but i added `CORE_PEER_TLS_ENABLED`, `CORE_PEER_TLS_CERT_FILE`, `CORE_PEER_TLS_KEY_FILE` and `CORE_PEER_TLS_ROOTCERT_FILE` in the environment variables.

tommyjay (Thu, 12 Mar 2020 15:58:02 GMT):
i noticed it checks my org admin's cert just before it says that

tommyjay (Thu, 12 Mar 2020 15:58:02 GMT):
i noticed it checks my org admin's cert just before it logs the error

Abhishekkishor (Thu, 12 Mar 2020 19:28:49 GMT):
Has joined the channel.

tommyjay (Fri, 13 Mar 2020 19:19:48 GMT):
msp dir is needed

rahulhegde (Mon, 16 Mar 2020 20:26:45 GMT):
@dave.enyeart - I should have updated this before - we did find the issue in our chaincode. But this is specifically the way json.unmarshal for GO Map is implemented. GO JSON unmarshal preserves the previous elements in the map. Chaincode having Iteration over the map with Unmarshal call resulted endorsement proposal mismatch.

dan13 (Tue, 17 Mar 2020 21:29:58 GMT):
For the case where there is a desire to index current world state in Lucene, is exporting CouchDb as described in https://stackoverflow.com/questions/11639534/couchdb-dump-to-file-and-load-from-file reasonable, or is there some other approach suggested? This would *not* be a nightly process, and presumably normal transaction/event handling processing will keep the Lucene index current under normal conditions, but ultimately the source data is on the network, so looking for an approach. Thanks!

dave.enyeart (Wed, 18 Mar 2020 01:23:14 GMT):
No, I wouldn't recommend such workarounds, when there is a supported Fabric API for listening for block events as they occur, see the doc and sample:

dave.enyeart (Wed, 18 Mar 2020 01:23:31 GMT):
Doc: https://hyperledger-fabric.readthedocs.io/en/release-1.4/peer_event_services.html Sample: https://github.com/hyperledger/fabric-samples/tree/master/off_chain_data

dan13 (Wed, 18 Mar 2020 01:30:14 GMT):
Thanks for the links Dave. We have a chaincode event listener, so taking your suggestion to logical conclusion, if we did need to rebuild index from scratch to match current world state, we could replay all the blocks. That should work, but seems like it would be much less efficient than dumping just the current state. I'll read through the off chain link in detail to pick up tips there -- thanks again.

dave.enyeart (Wed, 18 Mar 2020 01:34:29 GMT):
If you want to continuously index from CouchDB, the changes feed would likely be a better option than a full dump: https://docs.couchdb.org/en/stable/api/database/changes.html

dan13 (Wed, 18 Mar 2020 01:44:31 GMT):
Thank you, I will look into that as well!

rahulhegde (Thu, 19 Mar 2020 16:06:57 GMT):
Hello @dave.enyeart - In our production environment, we saw unusual case. There was configuration block update that included CRL information only. This block was event'ed out across all the client. The problem part, It was noticed, another block that was 2 days old was also event'ed out soon after the configuration block across all the client. This (receiving old block) continued multiple times until a new block was added to the channel. We saw the same behavior across multiple channel. Release Information: using Fabric v1.4.2 with Kafka Consensus, Java Client running on Fabric Java SDK 1.4.4 have we seen this issue or is there a way to understand why it happened

rahulhegde (Thu, 19 Mar 2020 16:06:57 GMT):
Hello @dave.enyeart - In our production environment, we saw unusual case. There was configuration block update that included CRL information only. This block was event'ed out across all the client. The problem part, It was noticed, another block that was 2 days old was also event'ed out soon after the configuration block across all the client. This (receiving old block) continued multiple times until a new block was added to the channel. We saw the same behavior across multiple channel. Release Information: using Fabric v1.4.2 with Kafka Consensus, Java Client running on Fabric Java SDK 1.4.4 Have we seen this issue on the said release or can you help us way to debug?

rahulhegde (Thu, 19 Mar 2020 16:06:57 GMT):
Hello @dave.enyeart @jyellick - In our production environment, we saw unusual case. There was configuration block update that included CRL information only. This block was event'ed out across all the client. The problem part, It was noticed, another block that was 2 days old was also event'ed out soon after the configuration block across all the client. The receipt of the same old block continued multiple times until a new block was added to that channel. We saw the same behavior across multiple channel. Release Information: using Fabric v1.4.2 with Kafka Consensus, Java Client running on Fabric Java SDK 1.4.4 Have we seen this issue on the said release or can you help us to way debug this problem?

gokulalex (Fri, 20 Mar 2020 12:09:52 GMT):
Has joined the channel.

aberwag (Tue, 24 Mar 2020 08:09:18 GMT):
Has joined the channel.

tommyjay (Thu, 26 Mar 2020 16:22:07 GMT):
how do you setup mutual tls between the peers and orderer? where do the client cert and keys for peer come from?

yacovm (Thu, 26 Mar 2020 16:34:11 GMT):
just use the server cert/key one

yacovm (Thu, 26 Mar 2020 16:34:13 GMT):
@tommyjay

yacovm (Thu, 26 Mar 2020 16:34:25 GMT):
cryptogen produces them to fit both client/server roles

tommyjay (Thu, 26 Mar 2020 16:41:26 GMT):
thanks, how about when cryptogen isn't being used

yacovm (Thu, 26 Mar 2020 16:41:38 GMT):
then you need to take care of it...

yacovm (Thu, 26 Mar 2020 16:41:51 GMT):
i mean it's your crafted stuff right?

root10 (Fri, 27 Mar 2020 15:51:01 GMT):
Has joined the channel.

root10 (Thu, 02 Apr 2020 11:14:55 GMT):
Hi guys. After some requests, I get the error: ```bash # peer (1.4.6) 2020-04-01 16:53:35.518 UTC [comm.grpc.server] 1 -> INFO 20489cc unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.request_deadline=2020-04-01T16:53:35.518Z grpc.peer_address=172.28.0.6:60232 error="context canceled" grpc.code=Unknown grpc.call_duration=2m59.99990063s ``` ```bash # fabric-go-sdk (alpha-5) [fabsdk/fab] 2020/04/01 16:53:35 UTC - peer.(*peerEndorser).sendProposal -> ERRO process proposal failed [rpc error: code = DeadlineExceeded desc = context deadline exceeded] ```

matanyahu (Mon, 06 Apr 2020 17:49:50 GMT):
Has left the channel.

tommyjay (Wed, 08 Apr 2020 17:30:24 GMT):
getting this error after my peer joins a channel and tries to get blocks from the orderer: ``` 2020-04-08 17:28:54.686 UTC [grpc] createTransport -> DEBU 3ba grpc: addrConn.createTransport failed to connect to {orderer.example.com:7050 0 }. Err :connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority". Reconnecting... ```

tommyjay (Wed, 08 Apr 2020 17:30:24 GMT):
getting this error after my peer joins a channel and tries to get blocks from the orderer: ``` 2020-04-08 17:28:54.686 UTC [grpc] createTransport -> DEBU 3ba grpc: addrConn.createTransport failed to connect to {orderer.example.com:7050 0 }. Err :connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority". Reconnecting... ``` this happens whether mutual auth is enabled or not. what i understand by this is that during tls handshake, the orderer sends it's server cert and the peer is unable to verify that the cert is signed by a ca that it trusts. what do i need to do

MHBauer (Thu, 16 Apr 2020 21:19:29 GMT):
Has left the channel.

xhens (Thu, 16 Apr 2020 23:19:01 GMT):
Has joined the channel.

rahulhegde (Fri, 17 Apr 2020 18:42:22 GMT):
hello @dave.enyeart Can you help what does this error mean in Peer Log during Chaincode Instantiation operation ``` 2020-04-17 18:36:13.843 UTC [endorser] callChaincode -> INFO 0c1 [public][ad1ca7ae] Exit chaincode: name:"lscc" (148ms) 2020-04-17 18:36:13.843 UTC [endorser] SimulateProposal -> ERRO 0c2 [public][ad1ca7ae] failed to invoke chaincode name:"lscc" , error: Failed to generate platform-specific docker build: Error uploading input to container: API error (404): Could not find the file /chaincode/input in container 0297ce0e29a41a7fa997ab4ac15f83b35883bb7ff25deffbb267a122b04bf779 error starting container error starting container ```

Ashish (Fri, 24 Apr 2020 10:33:43 GMT):
Hi Regardless of whatever consensus mechanism we choose, the endorsement policy ( yaml based) is always going to be there in fabric?? I mean we can't have PBFT at transaction endorsement level??

tommyjay (Wed, 06 May 2020 16:04:07 GMT):
how do i find out who `identity 0` is

tommyjay (Wed, 06 May 2020 16:04:51 GMT):

peer logs

rahulhegde (Thu, 07 May 2020 02:28:13 GMT):
Hello - Every peer joined to a channel can have a different commit time for a transaction. Is this data persisted and if yes, is there a way to get this information in fabric v1.4.x?

rahulhegde (Thu, 07 May 2020 02:28:13 GMT):
Hello @dave.enyeart - Every peer joined to a channel can have a different commit time for a transaction. Is this data persisted and if yes, is there a way to get this information in fabric v1.4.x?

rahulhegde (Thu, 07 May 2020 02:28:13 GMT):
Hello @dave.enyeart - Every peer joined to a channel can have a different commit time for a transaction. Is this data persisted and if yes, is there a way to get this information in fabric v1.4.x? Can you please sugges if there is way.

tommyjay (Fri, 08 May 2020 17:34:25 GMT):
hey there, why's it important to mount my /var/run/docker.sock into the peer container?

tommyjay (Fri, 08 May 2020 17:34:25 GMT):
hey there, why's it important to mount my /var/run/docker.sock into the peer container? my peer is unable to bring up the chaincode docker container

rahulhegde (Sat, 09 May 2020 14:10:07 GMT):
Peer container uses the Docker API to launch the chaincode as a docker container.

tommyjay (Mon, 11 May 2020 13:04:10 GMT):
is this a security risk? for a container to have access to the host's docker.sock? the folder `/var/run` contains more than just docker configs i.e. other apps on the host's machine use this folder. if a container is compromised and it has access to `var/run` then the host is also compromised

rahulhegde (Tue, 12 May 2020 00:15:35 GMT):
Check this 2 links - https://jira.hyperledger.org/browse/FAB-11453 https://hyperledger-fabric.readthedocs.io/en/release-2.0/cc_service.html?highlight=external%20deployment#chaincode-as-an-external-service

rahulhegde (Tue, 12 May 2020 00:15:35 GMT):
Check these 2 links - https://jira.hyperledger.org/browse/FAB-11453 https://hyperledger-fabric.readthedocs.io/en/release-2.0/cc_service.html?highlight=external%20deployment#chaincode-as-an-external-service

tommyjay (Tue, 12 May 2020 13:10:28 GMT):
thanks, is there an external service approach for 1.4?

dave.enyeart (Fri, 15 May 2020 12:22:17 GMT):
There are metrics for commit time that you can monitor and persist. See https://hyperledger-fabric.readthedocs.io/en/release-1.4/operations_service.html#metrics and https://hyperledger-fabric.readthedocs.io/en/release-1.4/metrics_reference.html

rsherwood (Tue, 19 May 2020 12:38:21 GMT):
Hi I've a question about endorsement certificate expiry. I know the peers can't check certificate expiry on ledger transaction for timing reasons , however does the fabric check the expiry time in other places. For example are the Local MSP certificates checked when a peer or orderer starts, and does the ordererer check the submitters cert when a transaction is received ?

wlahti (Tue, 19 May 2020 13:40:04 GMT):
I'm not an expert in this area, but I've looked into some of this code recently (while working on the new configtx library). The MSP code (used by the peer and the orderer) does not check the expiration of CA certificates. As far as the orderers go, based on this [doc](https://hyperledger-fabric.readthedocs.io/en/release-2.0/raft_configuration.html?highlight=expiration#certificate-expiration-related-authentication), it sounds like we do check for expiration of submitting certs for transactions unless you've enabled `NoExpirationChecks` as noted.

wlahti (Tue, 19 May 2020 13:40:04 GMT):
I'm not an expert in this area, but I've looked into some of this code recently (while working on the new configtx library). The MSP code (used by the peer and the orderer) does not check the expiration of CA certificates. As far as the orderers go, based on this [doc](https://hyperledger-fabric.readthedocs.io/en/release-2.0/raft_configuration.html?highlight=expiration#certificate-expiration-related-authentication), it sounds like we do check for expiration of submitting certs for transactions unless you've enabled `NoExpirationChecks` as noted. edit: also, I looked into the history of the `NoExpirationChecks` flag and it was added in 2.0.0 and backported to the release-1.4 branch.

rsherwood (Tue, 19 May 2020 14:11:34 GMT):
Thanks for that. I don't suppose you know if a peer connecting to an orderer to receive block distribution counts as a "transaction" and respects the expiry ( assume that a peer as to sends some signed message to prove its eligibility for blocks).

wlahti (Tue, 19 May 2020 14:15:18 GMT):
I'm fairly sure the expiration is checked for peers connecting to the deliver service but let me double check...

rsherwood (Tue, 19 May 2020 14:16:42 GMT):
We are still on 1.4 so could do with a response based on that version.

wlahti (Tue, 19 May 2020 14:17:23 GMT):
Yep, it does. I see the same check for the new `NoExpirationChecks` flag in the deliver service code.

wlahti (Tue, 19 May 2020 14:17:23 GMT):
Yep, it does. I see the same check for the new `NoExpirationChecks` flag in the deliver service code so by default it ensures the cert has not yet expired before sending blocks.

risc (Tue, 19 May 2020 16:58:27 GMT):
Has left the channel.

pritam_01 (Fri, 22 May 2020 08:24:33 GMT):
Has joined the channel.

pritam_01 (Fri, 22 May 2020 08:25:26 GMT):
no

tommyjay (Thu, 04 Jun 2020 17:52:23 GMT):
how fast is chanincode instantiation through the peer cli/binary?

tommyjay (Thu, 04 Jun 2020 17:52:23 GMT):
how fast is chaincode instantiation through the peer cli/binary?

SamYuan1990 (Wed, 17 Jun 2020 13:43:54 GMT):
I have a question for any tx, I had endorse on Peer0 Will Peer0 re-run the tx (as fetch data from state db) when validate tx on Peer0 or There some cache to ensure the tx won't be re-run?

govindvb (Thu, 18 Jun 2020 08:49:47 GMT):
Has joined the channel.

narendranathreddy (Mon, 22 Jun 2020 12:18:03 GMT):
Hi iam experiencing a weird error in the fabric peer i have 2,50,000 blocks and peers went offline due to some VM issues peers ledger data is persisted when peers come online, peers are not responding when i see logs peer is recommiting blocks 2020-06-22 12:11:59.767 UTC [peer] Initialize -> INFO 02f Loading chain ucrnetchannel 2020-06-22 12:11:59.768 UTC [ledgermgmt] OpenLedger -> INFO 030 Opening ledger with id = ucrnetchannel 2020-06-22 12:11:59.909 UTC [kvledger] recommitLostBlocks -> INFO 031 Recommitting lost blocks - firstBlockNum=19, lastBlockNum=465621, recoverables=[]kvledger.recoverable{(*lockbasedtxmgr.LockBasedTxMgr)(0xc001faa510)} 2020-06-22 12:12:05.749 UTC [gossip.election] beLeader -> INFO 032 99021e650e66302177a0d0d385c95e1fcc053ffb2eb346b738810d7db4ce2a0e : Becoming a leader 2020-06-22 12:12:05.749 UTC [gossip.service] func1 -> INFO 033 Elected as a leader, starting delivery service for channel kycnetchannel 2020-06-22 12:12:05.750 UTC [deliveryClient] StartDeliverForChannel -> INFO 034 This peer will retrieve blocks from ordering service and disseminate to other peers in the organization for channel kycnetchannel 2020-06-22 12:12:05.759 UTC [deliveryClient] RequestBlocks -> INFO 035 Starting deliver with block [7844] for channel kycnetchannel 2020-06-22 12:14:26.639 UTC [lockbasedtxmgr] CommitLostBlock -> INFO 036 Recommitting block [1000] to state database 2020-06-22 12:17:23.566 UTC [lockbasedtxmgr] CommitLostBlock -> INFO 037 Recommitting block [2000] to state database

rahulhegde (Mon, 29 Jun 2020 15:42:55 GMT):
hello @dave.enyeart - can you confirm if there is any locking done by Peer during chaincode-2-chaincode call on another channel (https://github.com/hyperledger/fabric/blob/v1.4.2/core/chaincode/shim/interfaces.go#L62-L76)?

rahulhegde (Mon, 29 Jun 2020 15:42:55 GMT):
hello @dave.enyeart - we see chaincode-2-chaincode operation takes few 100-300 ms and Get/Put State are between 10-20ms ms. Can you please confirm if there is any locking done by Peer during chaincode-2-chaincode call on another channel (https://github.com/hyperledger/fabric/blob/v1.4.2/core/chaincode/shim/interfaces.go#L62-L76) or it will be based on the endorsement processing requirement?

rahulhegde (Mon, 29 Jun 2020 15:42:55 GMT):
hello @dave.enyeart - we see chaincode-2-chaincode operation takes few 100-300 ms and Get/Put State are between 10-20ms ms. Can you please confirm if there is any locking done by Peer during chaincode-2-chaincode call on another channel (https://github.com/hyperledger/fabric/blob/v1.4.2/core/chaincode/shim/interfaces.go#L62-L76) or when there are multiple chaincode-2-chaincode on the same channel?

dave.enyeart (Mon, 29 Jun 2020 19:23:42 GMT):
@rahulhegde chaincode-2-chaincode across channels needs to wait for a lock on the target channel as well. if the target channel is often busy with commits, yes this could be the cause of additional delay.

rahulhegde (Mon, 29 Jun 2020 20:04:07 GMT):
Our target channel does not have commits during that period. This is a public data channel which updates once at the start. Is there a way, i could find the delay using metrics?

rahulhegde (Mon, 29 Jun 2020 20:04:55 GMT):
Other thing - c2c calls are not endorsement call, would they be also categorized for lock on the channel?

dave.enyeart (Tue, 30 Jun 2020 12:55:48 GMT):
yes, there will still be a lock.

dave.enyeart (Tue, 30 Jun 2020 12:56:35 GMT):
The best way to see where the time is spent is to turn on some peer debug. I like this debug string since it removes the most chatty messages that won't add value here:

dave.enyeart (Tue, 30 Jun 2020 12:56:39 GMT):
`FABRIC_LOGGING_SPEC=debug:cauthdsl,policies,msp,grpc,peer.gossip.mcs,gossip,leveldbhelper=info`

dave.enyeart (Tue, 30 Jun 2020 12:57:17 GMT):
You can just send one c2c call in isolation of all other traffic, and then see in the debug log where time is spent.

rahulhegde (Tue, 30 Jun 2020 13:02:10 GMT):
I will try this string. I would be interested to see how much time is spent in the couch database rich query execution. We have few rich query execution, where a single couch database instance is hosting around 380 database and every rich query gives a different execution time from 50ms to 150ms.

rahulhegde (Tue, 30 Jun 2020 13:02:10 GMT):
I will try this string. I would be interested to see how much time is spent in the couch database rich query execution. We have few rich query execution, where a single couch database instance is hosting around 380 databases and every rich query gives a different execution time from 50ms to 150ms.

rahulhegde (Tue, 30 Jun 2020 13:06:34 GMT):
Couch database rich query uses index but rich query uses $in clause. I haven't find a way to improve further execution time and this would involve record scan. Document structure in couch database - Key = date, value = array of string = [value1, value2, ....]. And the Rich Query is lte = data and value $in value1 Index is put on date. Is there a way, this can be further improved, I could not find any?

rahulhegde (Tue, 30 Jun 2020 13:06:34 GMT):
Couch database rich query uses index but rich query uses $in clause. I haven't find a way to improve further execution time and this would involve record scan. Document structure in couch database - Key = date, value = array of string = [value1, value2, ....]. And the Rich Query is lte = date and value $in value1 Index is put on date. Is there a way, this can be further improved, I could not find any?

dave.enyeart (Tue, 30 Jun 2020 13:21:24 GMT):
For advanced CouchDB index and query questions, I would recommend reaching out to the CouchDB mailing list. Also I found one discussion here that may help: https://github.com/apache/couchdb/issues/1852

rahulhegde (Tue, 30 Jun 2020 13:24:36 GMT):
I did check the link but this was for $or. The above scenario is to find from the JSON array https://docs.couchdb.org/en/stable/api/database/find.html#condition-operators

TimFrHunter (Wed, 01 Jul 2020 14:16:11 GMT):
Has joined the channel.

TimFrHunter (Wed, 01 Jul 2020 14:16:11 GMT):
Hi guys, I'm trying to compile the peer binary and there is one file changes that get not compile, file who doesn't get compile is in protos/utils/, the command I run to compile the peer is : make -B peer . The command doesn't stuck or something else and works but not the changes that I make in the specific file. Is there some flags that I need to add ..? Great thanks.

rahulhegde (Tue, 14 Jul 2020 15:54:16 GMT):
hello @dave.enyeart I am looking at slowness on the endorsement processing time. The client receives the response in 500-1000ms where the chainocde takes around 50ms. Looking at the peer log, i found a print ``` 2020-07-13 09:34:14.365 CEST [endorser] callChaincode -> INFO 731 [cls1obo][4fa59cdb] Entry chaincode: path:"bsl/clsnet-cls-chaincode/p2cls" name:"p2cls" version:"1.2" 2020-07-13 09:34:14.412 CEST [endorser] callChaincode -> INFO 732 [cls1obo][4fa59cdb] Exit chaincode: path:"bsl/clsnet-cls-chaincode/p2cls" name:"p2cls" version:"1.2" (47ms) 2020-07-13 09:34:15.686 CEST [comm.grpc.server] 1 -> INFO 733 unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=10.32.230.14:57030 grpc.code=OK grpc.call_duration=1.325757909s ``` GRPC duration is approximately the time taken for the endorsement by the client. Is Peer holding up the response or we need to tweak some value?

dave.enyeart (Wed, 15 Jul 2020 14:01:45 GMT):
@rahulhegde you can enable debug to better understand where time is spent, e.g. this debug will show the transaction flow but suppress other chatty components: `FABRIC_LOGGING_SPEC=debug:cauthdsl,policies,msp,grpc,peer.gossip.mcs,gossip=info`

rahulhegde (Wed, 15 Jul 2020 16:09:31 GMT):
Hello @dave.enyeart - I do have a print from another peer running on Debug ``` [34m2020-07-13 09:48:14.353 CEST [endorser] callChaincode -> INFO fe944 [cls1obo-cls2obo][230bd8e4] Exit chaincode: path:"bsl/clsnet-cls-chaincode/p2pcls" name:"p2pcls" version:"1.2" (1190ms) 2020-07-13 09:48:14.353 CEST [lockbasedtxmgr] GetTxSimulationResults -> DEBU fe945 Simulation completed, getting simulation results 2020-07-13 09:48:14.353 CEST [lockbasedtxmgr] Done -> DEBU fe946 Done with transaction simulation / query execution [230bd8e4220eadef21c4990fcb4c502690e4abac4ed13af00dc7f955d5a655fb] 2020-07-13 09:48:14.353 CEST [endorser] SimulateProposal -> DEBU fe947 [cls1obo-cls2obo][230bd8e4] Exit 2020-07-13 09:48:14.353 CEST [endorser] endorseProposal -> DEBU fe948 [cls1obo-cls2obo][230bd8e4] Entry chaincode: path:"bsl/clsnet-cls-chaincode/p2pcls" name:"p2pcls" version:"1.2" 2020-07-13 09:48:14.353 CEST [endorser] endorseProposal -> DEBU fe949 [cls1obo-cls2obo][230bd8e4] escc for chaincode path:"bsl/clsnet-cls-chaincode/p2pcls" name:"p2pcls" version:"1.2" is escc 2020-07-13 09:48:14.353 CEST [endorser] EndorseWithPlugin -> DEBU fe94a Entering endorsement for {plugin: escc, channel: cls1obo-cls2obo, tx: 230bd8e4220eadef21c4990fcb4c502690e4abac4ed13af00dc7f955d5a655fb, chaincode: p2pcls} 2020-07-13 09:48:14.354 CEST [msp.identity] Sign -> DEBU fe94b Sign: plaintext: 0A2080FA565D53B193B98191E99A0F38...455254494649434154452D2D2D2D2D0A 2020-07-13 09:48:14.354 CEST [msp.identity] Sign -> DEBU fe94c Sign: digest: 8079A84325ACC55E6BC9752E2AC86000E615FD759B97FF47015CAE59A4DDF5B7 2020-07-13 09:48:14.354 CEST [bccsp_p11] getSession -> DEBU fe94d Reusing existing pkcs11 session 113 on slot 0 2020-07-13 09:48:14.357 CEST [msp] GetDefaultSigningIdentity -> DEBU fe94e Obtaining default signing identity 2020-07-13 09:48:14.357 CEST [msp.identity] Sign -> DEBU fe94f Sign: plaintext: 18012A340A221A20AFCA7C65F93C55C4...120E08B0ABDEF4C0DCBE901610B6AA01 2020-07-13 09:48:14.357 CEST [msp.identity] Sign -> DEBU fe950 Sign: digest: 0E65F366A14E793C539C0ADC95B6468B2B71E3604E765B368A0E0FE0B81117F0 2020-07-13 09:48:14.357 CEST [bccsp_p11] getSession -> DEBU fe951 Reusing existing pkcs11 session 14 on slot 0 2020-07-13 09:48:14.457 CEST [msp] GetDefaultSigningIdentity -> DEBU fe952 Obtaining default signing identity 2020-07-13 09:48:14.457 CEST [msp.identity] Sign -> DEBU fe953 Sign: plaintext: 0A1E706565723032636C736267623630...2E6A61732E636C736E65743A37303531 2020-07-13 09:48:14.457 CEST [msp.identity] Sign -> DEBU fe954 Sign: digest: 6C1B23CE2C6C5C33FC97FCFE1321EAC8DCB6ADB018E5CCDD071CE1DF1D3EFAF5 2020-07-13 09:48:14.457 CEST [bccsp_p11] getSession -> DEBU fe955 Reusing existing pkcs11 session 87 on slot 0 2020-07-13 09:48:15.354 CEST [chaincode] handleMessage -> DEBU fe956 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:48:15.510 CEST [chaincode] handleMessage -> DEBU fe957 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:48:15.511 CEST [chaincode] handleMessage -> DEBU fe958 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:48:15.512 CEST [chaincode] handleMessage -> DEBU fe959 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:48:16.417 CEST [endorser] EndorseWithPlugin -> DEBU fe95a Exiting {plugin: escc, channel: cls1obo-cls2obo, tx: 230bd8e4220eadef21c4990fcb4c502690e4abac4ed13af00dc7f955d5a655fb, chaincode: p2pcls} 2020-07-13 09:48:16.417 CEST [endorser] endorseProposal -> DEBU fe95b [cls1obo-cls2obo][230bd8e4] Exit 2020-07-13 09:48:16.417 CEST [lockbasedtxmgr] Done -> DEBU fe95c Done with transaction simulation / query execution [230bd8e4220eadef21c4990fcb4c502690e4abac4ed13af00dc7f955d5a655fb] 2020-07-13 09:48:16.417 CEST [endorser] func1 -> DEBU fe95d Exit: request from 10.32.230.14:51116 2020-07-13 09:48:16.418 CEST [comm.grpc.server] 1 -> INFO fe95e unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=10.32.230.14:51116 grpc.code=OK grpc.call_duration=3.255741695s ```

rahulhegde (Wed, 15 Jul 2020 16:10:25 GMT):
another logs - ``` 2020-07-13 09:51:15.485 CEST [endorser] callChaincode -> INFO 124a2a [cls1obo-cls2obo][9b97559b] Exit chaincode: path:"bsl/clsnet-cls-chaincode/p2pcls" name:"p2pcls" version:"1.2" (893ms) 2020-07-13 09:51:15.485 CEST [lockbasedtxmgr] GetTxSimulationResults -> DEBU 124a2b Simulation completed, getting simulation results 2020-07-13 09:51:15.485 CEST [lockbasedtxmgr] Done -> DEBU 124a2c Done with transaction simulation / query execution [9b97559b7db78bfe07e8b25603670b7d13583f68ffb43ee290cf3958c6507e64] 2020-07-13 09:51:15.485 CEST [endorser] SimulateProposal -> DEBU 124a2d [cls1obo-cls2obo][9b97559b] Exit 2020-07-13 09:51:15.485 CEST [endorser] endorseProposal -> DEBU 124a2e [cls1obo-cls2obo][9b97559b] Entry chaincode: path:"bsl/clsnet-cls-chaincode/p2pcls" name:"p2pcls" version:"1.2" 2020-07-13 09:51:15.485 CEST [endorser] endorseProposal -> DEBU 124a2f [cls1obo-cls2obo][9b97559b] escc for chaincode path:"bsl/clsnet-cls-chaincode/p2pcls" name:"p2pcls" version:"1.2" is escc 2020-07-13 09:51:15.485 CEST [endorser] EndorseWithPlugin -> DEBU 124a30 Entering endorsement for {plugin: escc, channel: cls1obo-cls2obo, tx: 9b97559b7db78bfe07e8b25603670b7d13583f68ffb43ee290cf3958c6507e64, chaincode: p2pcls} 2020-07-13 09:51:15.485 CEST [msp.identity] Sign -> DEBU 124a31 Sign: plaintext: 0A2085A9F7A27DD078723F055193543F...455254494649434154452D2D2D2D2D0A 2020-07-13 09:51:15.485 CEST [msp.identity] Sign -> DEBU 124a32 Sign: digest: 57FDD07CAE08146423DFC4E8B4D817225F6F401180B3A934A02FE3B224508A15 2020-07-13 09:51:15.485 CEST [bccsp_p11] getSession -> DEBU 124a33 Reusing existing pkcs11 session 63 on slot 0 2020-07-13 09:51:15.509 CEST [chaincode] handleMessage -> DEBU 124a34 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:51:15.511 CEST [chaincode] handleMessage -> DEBU 124a35 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:51:15.512 CEST [chaincode] handleMessage -> DEBU 124a36 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:51:16.522 CEST [msp] GetDefaultSigningIdentity -> DEBU 124a37 Obtaining default signing identity 2020-07-13 09:51:16.522 CEST [msp.identity] Sign -> DEBU 124a38 Sign: plaintext: 0A1E706565723032636C736267623630...2E6A61732E636C736E65743A37303531 2020-07-13 09:51:16.522 CEST [msp.identity] Sign -> DEBU 124a39 Sign: digest: 6C1B23CE2C6C5C33FC97FCFE1321EAC8DCB6ADB018E5CCDD071CE1DF1D3EFAF5 2020-07-13 09:51:16.522 CEST [bccsp_p11] getSession -> DEBU 124a3a Reusing existing pkcs11 session 87 on slot 0 2020-07-13 09:51:16.579 CEST [endorser] EndorseWithPlugin -> DEBU 124a3b Exiting {plugin: escc, channel: cls1obo-cls2obo, tx: 9b97559b7db78bfe07e8b25603670b7d13583f68ffb43ee290cf3958c6507e64, chaincode: p2pcls} 2020-07-13 09:51:16.579 CEST [endorser] endorseProposal -> DEBU 124a3c [cls1obo-cls2obo][9b97559b] Exit 2020-07-13 09:51:16.579 CEST [lockbasedtxmgr] Done -> DEBU 124a3d Done with transaction simulation / query execution [9b97559b7db78bfe07e8b25603670b7d13583f68ffb43ee290cf3958c6507e64] 2020-07-13 09:51:16.579 CEST [endorser] func1 -> DEBU 124a3e Exit: request from 10.32.230.14:51116 2020-07-13 09:51:16.579 CEST [comm.grpc.server] 1 -> INFO 124a3f unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=10.32.230.14:51116 grpc.code=OK grpc.call_duration=1.995867274s ```

rahulhegde (Wed, 15 Jul 2020 17:30:46 GMT):
This setup is running on HSM. Almost a sec is spent between API call, I am not able to pin-point what would be Peer waiting for before `EndorseWithPlugin -> DEBU 124a3b Exiting`? ``` 2020-07-13 09:51:15.485 CEST [bccsp_p11] getSession -> DEBU 124a33 Reusing existing pkcs11 session 63 on slot 0 2020-07-13 09:51:15.509 CEST [chaincode] handleMessage -> DEBU 124a34 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:51:15.511 CEST [chaincode] handleMessage -> DEBU 124a35 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:51:15.512 CEST [chaincode] handleMessage -> DEBU 124a36 [] Fabric side handling ChaincodeMessage of type: KEEPALIVE in state ready 2020-07-13 09:51:16.522 CEST [msp] GetDefaultSigningIdentity -> DEBU 124a37 Obtaining default signing identity 2020-07-13 09:51:16.522 CEST [msp.identity] Sign -> DEBU 124a38 Sign: plaintext: 0A1E706565723032636C736267623630...2E6A61732E636C736E65743A37303531 2020-07-13 09:51:16.522 CEST [msp.identity] Sign -> DEBU 124a39 Sign: digest: 6C1B23CE2C6C5C33FC97FCFE1321EAC8DCB6ADB018E5CCDD071CE1DF1D3EFAF5 2020-07-13 09:51:16.522 CEST [bccsp_p11] getSession -> DEBU 124a3a Reusing existing pkcs11 session 87 on slot 0 2020-07-13 09:51:16.579 CEST [endorser] EndorseWithPlugin -> DEBU 124a3b Exiting {plugin: escc, channel: cls1obo-cls2obo, tx: 9b97559b7db78bfe07e8b25603670b7d13583f68ffb43ee290cf3958c6507e64, chaincode: p2pcls} ```

xachen (Tue, 21 Jul 2020 08:51:34 GMT):
Has joined the channel.

dave.enyeart (Tue, 21 Jul 2020 21:46:11 GMT):
@rahulhegde Sorry I missed this one... definitely related to HSM since the delay is after every "Reusing existing pkcs11 session" message (you can ignore those KEEPALIVE messages since they are not in the transaction execution path). I know that in v1.4.7 there are some HSM fixes, one of them handled bad sessions instead of leaving them in the cache.

dave.enyeart (Tue, 21 Jul 2020 21:46:11 GMT):
@rahulhegde Sorry I missed this one when I was out... definitely related to HSM since the delay is after every "Reusing existing pkcs11 session" message (you can ignore those KEEPALIVE messages since they are not in the transaction execution path). I know that in v1.4.7 there are some HSM fixes, one of them handled bad sessions instead of leaving them in the cache.

rahulhegde (Wed, 22 Jul 2020 00:57:06 GMT):
No problem @dave.enyeart, thanks for the response. This log is from Fabric v1.4.2. Are you referring to https://jira.hyperledger.org/browse/FAB-17728?

dave.enyeart (Wed, 22 Jul 2020 02:51:30 GMT):
@rahulhegde That was one of the HSM fixes, but I was talking about https://jira.hyperledger.org/browse/FAB-17722 . Not sure if a bad session would cause such a delay though.

rahulhegde (Wed, 22 Jul 2020 18:32:53 GMT):
@dave.enyeart - I feel we should expect error message in the logs by use of stale session during sign operation. I was not able to find anything that confirms in Jira or commit. Do you know?

rahulhegde (Wed, 22 Jul 2020 20:46:50 GMT):
@dave.enyeart another topic: Fabric v1.4.2, I see the chaincode rich query limit is been overwritten by a compulsory 1000 by the Peer. Is it done for a reason or can it be changed to retain the original value used in chaincode, because we explicitly try to set to a limit: 1. In case of $in clause in rich query it takes time in scanning all records rather exiting after receiving the first record.

dave.enyeart (Wed, 22 Jul 2020 21:46:47 GMT):
Sorry I don't know, could you follow up in a ticket?

dave.enyeart (Wed, 22 Jul 2020 21:47:20 GMT):
The limit can be configured at: https://github.com/hyperledger/fabric/blob/v1.4.2/sampleconfig/core.yaml#L616

dave.enyeart (Wed, 22 Jul 2020 21:48:21 GMT):
This is the size of each result set returned to the chaincode. As you iterate through the results in chaincode, the next batches of 1000 will automatically be requested from CouchDB.

rahulhegde (Wed, 22 Jul 2020 23:58:44 GMT):
But this would overwrite all the rich queries limit to a new value. we have queries w/o any limit set.

dave.enyeart (Thu, 23 Jul 2020 02:14:09 GMT):
there should be no functional change in the chaincode, you can iterate through all the results in the chaincode, they will just be batched in sets of 1000 between the chaincode and CouchDB.

sanket1211 (Mon, 17 Aug 2020 14:46:01 GMT):
hey guys...how can we verify if certain peer is leader peer? i have checked the log of the peer but didnt see there..plz help!

dave.enyeart (Wed, 19 Aug 2020 12:05:54 GMT):
@sanket1211 When a peer becomes a lead peer it will post a log message as follows:

dave.enyeart (Wed, 19 Aug 2020 12:05:58 GMT):
`[deliveryClient] StartDeliverForChannel -> INFO 106 This peer will retrieve blocks from ordering service and disseminate to other peers in the organization for channel mychannel`

jorgeRodriguez (Tue, 15 Sep 2020 02:07:28 GMT):
Has joined the channel.

robmurgai (Thu, 15 Oct 2020 15:58:34 GMT):
Has joined the channel.

sanket1211 (Wed, 21 Oct 2020 10:48:50 GMT):
2020-10-21T10:39:52.855Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Discoverer- name: peer0.org1.example.com, url:grpcs://localhost:7051 2020-10-21T10:39:52.855Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server peer0.org1.example.com url:grpcs://localhost:7051 timeout:3000 Getting error: Error: Failed to connect before the deadline on Discoverer- name: peer0.org1.example.com, url:grpcs://localhost:7051

ericmvaughn (Mon, 26 Oct 2020 16:27:36 GMT):
Has left the channel.

sanket1211 (Tue, 27 Oct 2020 06:24:47 GMT):
Failed to connect before the deadline on Discoverer- name: peer0.org1.example.com, url:grpcs://localhost:7051

sanket1211 (Wed, 28 Oct 2020 14:16:13 GMT):
DiscoveryService: mychannel error: access denied

troyronda (Wed, 28 Oct 2020 17:44:37 GMT):
Has left the channel.

heena066 (Mon, 02 Nov 2020 09:32:48 GMT):
Has joined the channel.

Benjamin (Tue, 03 Nov 2020 14:30:52 GMT):
Has joined the channel.

cynicalsnail (Wed, 18 Nov 2020 07:02:01 GMT):
Has joined the channel.

alacambra (Wed, 23 Dec 2020 22:09:23 GMT):
Has joined the channel.

alacambra (Wed, 23 Dec 2020 22:21:26 GMT):
Hi everybody! I have one question about the TX flow. *At with point exactly is a block event or chaincode event received? Before the peer finishes to write into the ledger an updates the Global state otr in some point btw?* I am asking that because I have some transactions that after being confirmed, I cannot query the data immediately, needing some more time until the date is available.

alacambra (Wed, 23 Dec 2020 22:21:26 GMT):
Hi everybody! I have one question about the TX flow. *At with point exactly is a block event or chaincode event received? Before the peer finishes to write into the ledger an updates the Global state or in some point btw?* I am asking that because I have some transactions that after being confirmed, I cannot query the data immediately, needing some more time until the date is available.

adanacs (Mon, 04 Jan 2021 05:33:39 GMT):
Has joined the channel.

adanacs (Wed, 06 Jan 2021 17:55:35 GMT):
Hi, I've had a number of certs expire - I've been able to work around the orderer tls certs with the time offset, but I'm unable to use the peer cli to send the transaction to the orderers because the peer signing cert has expired (the peer cli won't start and send the transaction). The peer cli will start if I update the signing certs but the transaction won't go through. Does anyone have any pointers on how to start the peer cli with expired certs?

adanacs (Wed, 06 Jan 2021 17:55:35 GMT):
Hi, I've had a number of certs expire - I've been able to work around the orderer tls certs with the time offset, but I'm unable to use the peer cli to send the transaction to the orderers because the peer signing cert has expired (the peer cli won't start and send the transaction). The peer cli will start if I update the signing certs but the transaction won't go through. `Cannot run peer because error when setting up MSP of type bccsp from directory /data/orgs/......./admin/msp: signing identity expired` Does anyone have any pointers on how to start the peer cli with expired certs? Does anyone have any pointers on how to start the peer cli with expired certs?

adanacs (Wed, 06 Jan 2021 17:55:35 GMT):
Hi, I've had a number of certs expire - I've been able to work around the orderer tls certs with the time offset, but I'm unable to use the peer cli to send the transaction to the orderers because the peer signing cert has expired (the peer cli won't start and send the transaction). The peer cli will start if I update the signing certs but the transaction won't go through. `Cannot run peer because error when setting up MSP of type bccsp from directory /data/orgs/......./admin/msp: signing identity expired` Does anyone have any pointers on how to start the peer cli with expired certs?

adanacs (Fri, 08 Jan 2021 23:45:16 GMT):
In addition to my question about starting the peer - I've found this https://jira.hyperledger.org/browse/FAB-18175 and the comments suggest it's trivial to build a peer that doesn't check signing cert expiry. Are there any pointers available to building the peer with this setting?

adanacs (Fri, 08 Jan 2021 23:47:29 GMT):
ideally I want to be able to do `peer channel signconfigtx .....` with the expired admin cert, so that I can add the new current certs

adanacs (Fri, 08 Jan 2021 23:48:19 GMT):
I have tried updating using `fabric-sdk-node` client, but I'm getting cert errors there as well

adanacs (Sat, 09 Jan 2021 01:20:29 GMT):
^^ ok -looks like I need to run the peer locally with my system time set so the original certs are valid to sign the transaction (since my network is on kubernetes), then the tlsHandshakeTimeShift flag works for submitting it with the peers with updated certs

Sandyzhanghs (Sun, 10 Jan 2021 05:01:36 GMT):
Has joined the channel.

awattez (Sun, 31 Jan 2021 13:16:09 GMT):
Hi, I asked a question on the channel, maybe it's more appropriate to ask it here: https://chat.hyperledger.org/channel/fabric-questions?msg=tmZ9Mtcm2H6coFHa4

awattez (Sun, 31 Jan 2021 13:16:09 GMT):
Hi, I asked a question on the channel #fabric-questions, maybe it's more appropriate to ask it here: https://chat.hyperledger.org/channel/fabric-questions?msg=tmZ9Mtcm2H6coFHa4

braduf (Fri, 05 Feb 2021 15:27:22 GMT):
Hi all, to enable mTLS, I was wondering if all certificate chains of all orgs should be configured again in CORE_PEER_TLS_CLIENTROOTCAS or if the peer automatically enables client connections from certificates issued by the tlscacerts and/or tlsintermediatecerts of the channel MSPs? Following the explanation in core.yaml it should be dynamically, but from experience, I think I encountered problems in the past with not having certificate chains of other orgs set in the parameter... so i would like to be sure. Thanks in advance!

braduf (Fri, 05 Feb 2021 15:31:17 GMT):
Hi @awattez , I think you can just borrow the Admins role in the organization policies of Org2. Btw: Adrien Wattez, Capgemini, CWB? haha

braduf (Fri, 05 Feb 2021 15:31:17 GMT):
Hi @awattez , I think you can just remove the Admins role in the organization policies of Org2. Btw: Adrien Wattez, Capgemini, CWB? haha

AbhijeetSamanta (Sun, 14 Feb 2021 19:25:18 GMT):
Hi All, I am getting error Getting error error: [Transaction]: Error: No valid responses from any peers. Errors: while submit transaction in hyperledger fabric 2.2. please anybody help me on this. I asked on stackoverlow also https://stackoverflow.com/questions/66199188/getting-error-error-transaction-error-no-valid-responses-from-any-peers-er

kartheekgottipati (Sat, 27 Feb 2021 07:48:47 GMT):
Has joined the channel.

suosuidewenqing (Tue, 02 Mar 2021 08:35:53 GMT):
Has joined the channel.

vanitas92 (Thu, 01 Apr 2021 11:38:03 GMT):
Has joined the channel.

sanket1211 (Tue, 15 Jun 2021 10:11:10 GMT):
Issue while Upgrading fabric from 1.4.4 to 2.2 we are able to update peer and orderer components to the latest version but while updating the channel capababilities to fetch the config block,peers are not able to connect with the orderer Error: could not not connect to ordering service:could not dial endpoint:dial tcp:lookup orderer.example.com on 192.168.0.1:53 :no such host channel=mychannel attaching the logs for more details

sanket1211 (Tue, 15 Jun 2021 10:11:22 GMT):

Screenshot from 2021-06-14 14-39-30.png

sanket1211 (Tue, 15 Jun 2021 10:11:22 GMT):

Screenshot from 2021-06-14 14-39-41.png

AfzaalLucky (Thu, 08 Jul 2021 22:34:03 GMT):
Has joined the channel.

akshay.sood (Mon, 30 Aug 2021 08:32:07 GMT):
Hey guys My peers are throwing the following error ``` 2021-08-30 08:25:41.727 UTC [vscc] Validate -> ERRO 243 VSCC error: stateBasedValidator.Validate failed, err unexpected EOF 2021-08-30 08:25:41.728 UTC [committer.txvalidator] validateTx -> ERRO 244 Dispatch for transaction txId = 463b57826a54e16921aa153617a824e39514550c25a7c5816fb77bde3386f357 returned error: unexpected EOF 2021-08-30 08:25:41.728 UTC [gossip.privdata] StoreBlock -> ERRO 245 Validation failed: unexpected EOF channel=assetschannel 2021-08-30 08:25:41.728 UTC [gossip.state] commitBlock -> ERRO 246 Got error while committing(unexpected EOF github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock /go/src/github.com/hyperledger/fabric/gossip/state/state.go:799 github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads /go/src/github.com/hyperledger/fabric/gossip/state/state.go:571 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1374) 2021-08-30 08:25:41.728 UTC [gossip.state] deliverPayloads -> ERRO 247 Failed executing VSCC due to unexpected EOF. Aborting chain processing ``` and no transaction is getting committed after that. Even chaincode is not being upgraded. This happened after block 84 and orderer shows new blocks being created (logs below) but peers are not getting new blocks now. ``` 2021-08-30 07:56:43.587 UTC [orderer.consensus.etcdraft] writeBlock -> INFO 047 Writing block [98] (Raft index: 130) to ledger channel=assetschannel node=2 2021-08-30 07:57:25.418 UTC [orderer.consensus.etcdraft] writeBlock -> INFO 048 Writing block [99] (Raft index: 131) to ledger channel=assetschannel node=2 2021-08-30 08:05:09.380 UTC [orderer.consensus.etcdraft] writeBlock -> INFO 049 Writing block [100] (Raft index: 132) to ledger channel=assetschannel node=2 2021-08-30 08:08:34.060 UTC [orderer.consensus.etcdraft] writeBlock -> INFO 04a Writing block [101] (Raft index: 133) to ledger channel=assetschannel node=2 ``` This happened after adding key-based endorsement policy in the chaincode

akshay.sood (Mon, 30 Aug 2021 08:32:25 GMT):
has anyone faced this issue?

akshay.sood (Mon, 30 Aug 2021 08:41:17 GMT):
SO: https://stackoverflow.com/questions/68981164/hyperledger-fabric-peers-throwing-vscc-error-and-not-committing-new-blocks

indirajith (Sat, 25 Sep 2021 17:43:14 GMT):
Hi all, Can anyone help me fix this? One peer doea not respond to the queries https://chat.hyperledger.org/channel/fabric?msg=oqMCi3qDeeTtLgnJF

Bert (Sat, 22 Jan 2022 09:23:34 GMT):
Has joined the channel.

rjones (Wed, 23 Mar 2022 17:35:25 GMT):

rjones (Wed, 23 Mar 2022 17:35:25 GMT):

rjones (Wed, 23 Mar 2022 17:35:25 GMT):