bur (Thu, 05 Mar 2020 00:04:54 GMT):
Has joined the channel.
bur (Thu, 05 Mar 2020 00:05:02 GMT):
hello world
rjones (Thu, 05 Mar 2020 00:19:41 GMT):
bur
rjones (Thu, 05 Mar 2020 00:20:54 GMT):
@MicBowman
MicBowman (Thu, 05 Mar 2020 00:20:54 GMT):
Has joined the channel.
rjones (Thu, 05 Mar 2020 00:21:59 GMT):
MicBowman
rjones (Thu, 05 Mar 2020 00:22:15 GMT):
Has left the channel.
bur (Thu, 05 Mar 2020 04:49:17 GMT):
User User_1 added by bur.
bur (Thu, 05 Mar 2020 04:49:17 GMT):
User User_2 added by bur.
bur (Thu, 05 Mar 2020 12:27:31 GMT):
User User_3 added by bur.
bur (Thu, 05 Mar 2020 12:27:37 GMT):
User User_4 added by bur.
bur (Thu, 05 Mar 2020 12:28:05 GMT):
User User_5 added by bur.
bur (Thu, 05 Mar 2020 12:28:05 GMT):
User User_6 added by bur.
bur (Thu, 05 Mar 2020 12:29:00 GMT):
https://github.com/hyperledger-labs/fabric-private-chaincode
bur (Thu, 05 Mar 2020 12:29:05 GMT):
https://github.com/hyperledger-labs/fabric-private-chaincode
bur (Thu, 05 Mar 2020 16:35:09 GMT):
https://www.ibm.com/blogs/research/2020/03/new-ibm-and-intel-blockchain-security-feature-targets-5g-auctions/
bur (Thu, 05 Mar 2020 16:35:09 GMT):
Read more about FPC on the IBM Research blob and watch our video! https://www.ibm.com/blogs/research/2020/03/new-ibm-and-intel-blockchain-security-feature-targets-5g-auctions/
MicBowman (Thu, 05 Mar 2020 16:48:59 GMT):
thanks @rjones
rjones (Thu, 05 Mar 2020 16:48:59 GMT):
Has joined the channel.
MHBauer (Thu, 05 Mar 2020 21:45:45 GMT):
:joy:
rjones (Thu, 05 Mar 2020 22:40:54 GMT):
uh oh what now
rjones (Thu, 05 Mar 2020 22:41:28 GMT):
whoever I was talking to: give me a GitHub ID directly?
bur (Thu, 05 Mar 2020 23:18:05 GMT):
User User_7 added by bur.
bigworld12 (Fri, 06 Mar 2020 01:15:09 GMT):
Has joined the channel.
bigworld12 (Fri, 06 Mar 2020 01:15:24 GMT):
heyy
bigworld12 (Fri, 06 Mar 2020 01:15:33 GMT):
congrats for the separate channel
bigworld12 (Fri, 06 Mar 2020 01:17:03 GMT):
also does the project work on Fabric V2
bigworld12 (Fri, 06 Mar 2020 01:17:03 GMT):
also does the project work on Fabric V2 ?
swetha (Fri, 06 Mar 2020 06:13:54 GMT):
@bigworld12 Not yet. The current code base works with Fabric 1.4
rjones (Fri, 06 Mar 2020 06:40:08 GMT):
Should I archive #private-data-objects ?
bur (Fri, 06 Mar 2020 06:45:53 GMT):
pleae keep it until @MicBowman says something else :D
bur (Fri, 06 Mar 2020 06:46:42 GMT):
we are working on this!
rjones (Fri, 06 Mar 2020 13:29:40 GMT):
OK. Archiving it doesn't delete it.
rjones (Fri, 06 Mar 2020 14:50:39 GMT):
Do any of you that are still here in PHX work closely with Angelo De Caro? I have a TSC token for him but I don't have a way to mail it to him.
bur (Fri, 06 Mar 2020 14:51:45 GMT):
sure, I can take it and drop it in his office
rjones (Fri, 06 Mar 2020 14:52:11 GMT):
thanks. When you see me around, ask and I'll give it to you.
bur (Fri, 06 Mar 2020 18:50:38 GMT):
User User_8 added by bur.
bur (Fri, 06 Mar 2020 19:06:20 GMT):
User User_9 added by bur.
bur (Fri, 06 Mar 2020 19:07:13 GMT):
Read more about FPC on the IBM Research blob and watch our video! https://www.ibm.com/blogs/research/2020/03/new-ibm-and-intel-blockchain-security-feature-targets-5g-auctions/
bur (Fri, 06 Mar 2020 19:07:31 GMT):
Read more about FPC on the IBM Research blog and watch our video! https://www.ibm.com/blogs/research/2020/03/new-ibm-and-intel-blockchain-security-feature-targets-5g-auctions/
MicBowman (Sat, 07 Mar 2020 21:16:17 GMT):
the labs project is still active, but we don't really use the channel...
MHBauer (Sat, 07 Mar 2020 22:44:41 GMT):
Great meeting a bunch of you in person in Phoenix.
braduf (Sat, 07 Mar 2020 23:38:28 GMT):
Has joined the channel.
bur (Sun, 08 Mar 2020 08:54:26 GMT):
likewise
muralisr (Mon, 09 Mar 2020 16:19:58 GMT):
@bur are there more current versions than these docs https://github.com/hyperledger-labs/fabric-private-chaincode/tree/new_design/docs ?
bur (Mon, 09 Mar 2020 16:20:29 GMT):
nope that is the "new" design :)
muralisr (Mon, 09 Mar 2020 16:20:34 GMT):
ah got it
muralisr (Mon, 09 Mar 2020 16:20:36 GMT):
thanks
MHBauer (Tue, 10 Mar 2020 03:24:28 GMT):
US recently entered Daylight Saving Time. How does that effect the meeting time?
msteiner (Tue, 10 Mar 2020 03:43:39 GMT):
https://lists.hyperledger.org/g/fabric/calendar is reference. In short, nothing should change for you (but marcus will have to pay attention the next two weeks)
MHBauer (Tue, 10 Mar 2020 05:17:46 GMT):
I was looking at the GMT calendar :facepalm:
MHBauer (Tue, 10 Mar 2020 05:17:55 GMT):
:ok now
MicBowman (Tue, 10 Mar 2020 16:46:44 GMT):
presentations from HGF: https://www.youtube.com/watch?v=Ibpp-Talq5w and https://www.youtube.com/watch?v=yRtlSvHFXcY
MicBowman (Tue, 10 Mar 2020 16:47:08 GMT):
and the IBM research video: https://www.youtube.com/watch?v=o427fPw6I80
MHBauer (Tue, 10 Mar 2020 17:19:56 GMT):
oh wow, they're up!
rjones (Tue, 10 Mar 2020 17:26:33 GMT):
https://www.youtube.com/playlist?list=PL0MZ85B_96CFY3isYUplorFSenn04WwBt
rjones (Tue, 10 Mar 2020 17:26:33 GMT):
[This is a playlist of the HGF videos](https://www.youtube.com/playlist?list=PL0MZ85B_96CFY3isYUplorFSenn04WwBt)
MicBowman (Tue, 10 Mar 2020 18:31:42 GMT):
thanks @rjones
MHBauer (Tue, 10 Mar 2020 19:10:24 GMT):
fantastic
annumberhocker (Tue, 10 Mar 2020 22:10:47 GMT):
Has joined the channel.
MHBauer (Thu, 12 Mar 2020 15:22:09 GMT):
FYI, plantuml in ubuntu 18.04 is way out of date, so I've installed the current version from https://plantuml.com/starting and copied the run script, so I can make it available in my environment.
msteiner (Thu, 12 Mar 2020 15:36:54 GMT):
didn't even realize there was an official plantuml in 18.04; i've always downloaded the version from the plantuml.com :-)
bur (Thu, 12 Mar 2020 17:04:04 GMT):
I did a `brew install plantuml` on a mac ... worked
MHBauer (Thu, 12 Mar 2020 17:40:37 GMT):
ooh, fancy mac man.
bur (Fri, 13 Mar 2020 18:00:19 GMT):
please check this here and provide comments; https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251
jordy24 (Fri, 13 Mar 2020 19:19:01 GMT):
this did not work for me... it did install but I also had to download the file from there website...oh maybe i just don't know how to use it yet
bur (Tue, 17 Mar 2020 11:17:00 GMT):
this PR needs a review https://github.com/hyperledger-labs/fabric-private-chaincode/pull/259
bur (Tue, 17 Mar 2020 15:02:14 GMT):
FPC call now
MHBauer (Thu, 19 Mar 2020 13:07:53 GMT):
illness really took me out for a couple days. didn't get any FPC done. Still catching up from even before HGF.
MHBauer (Thu, 19 Mar 2020 14:12:57 GMT):
thanks ry.
rjones (Thu, 19 Mar 2020 14:18:07 GMT):
Sure thing. It's tough all around
MHBauer (Thu, 19 Mar 2020 16:54:02 GMT):
https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive
MHBauer (Thu, 19 Mar 2020 18:34:35 GMT):
@bur can you @ me in the slack.
bur (Thu, 19 Mar 2020 18:35:06 GMT):
I did
MHBauer (Thu, 19 Mar 2020 19:04:02 GMT):
tahnk you
MHBauer (Thu, 19 Mar 2020 19:04:04 GMT):
I have a commit
MHBauer (Thu, 19 Mar 2020 19:08:21 GMT):
https://github.com/mbrandenburger/fabric-secure-chaincode/pull/2
MHBauer (Thu, 19 Mar 2020 19:13:06 GMT):
I am @MHBauer on github.
bur (Thu, 19 Mar 2020 19:35:25 GMT):
thanks! merged it
MHBauer (Thu, 19 Mar 2020 19:39:30 GMT):
https://github.com/swetharepakula/Fabric101Workshop/blob/master/README.md this is our little Fab2.0 demo to understand the ChainCode lifecycle.
MHBauer (Thu, 19 Mar 2020 19:40:08 GMT):
@msteiner was on and saw it work. two copies of the same thing. called getSPID and it returned "success".
MHBauer (Thu, 19 Mar 2020 19:40:51 GMT):
I'll leave @msteiner to fix the two new recursive makefiles I made. We can moduleize the plugins as needed now, along with any other code.
bur (Thu, 19 Mar 2020 19:44:25 GMT):
@msteiner so waiting for more PRs on my fork?! :D
MHBauer (Thu, 19 Mar 2020 20:33:52 GMT):
you do you!
bur (Thu, 19 Mar 2020 20:34:11 GMT):
eieieieieee
bur (Thu, 19 Mar 2020 21:12:23 GMT):
@MHBauer I was mentioned another go deps issue I have but we didn't have the time to talk about this
bur (Thu, 19 Mar 2020 21:13:15 GMT):
```
root@3e5390e302a4:/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc# make
go build -o ecc-vscc.so -buildmode=plugin vscc/ecc_validation_plugin.go vscc/ecc_validation_logic.go
# command-line-arguments
vscc/ecc_validation_plugin.go:30:9: cannot use &ECCValidation literal (type *ECCValidation) as type "github.com/hyperledger/fabric/core/handlers/validation/api".Plugin in return argument:
*ECCValidation does not implement "github.com/hyperledger/fabric/core/handlers/validation/api".Plugin (wrong type for Validate method)
have Validate(*"github.com/hyperledger/fabric-protos-go/common".Block, string, int, int, ..."github.com/hyperledger/fabric/core/handlers/validation/api".ContextDatum) error
want Validate(*"github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/common".Block, string, int, int, ..."github.com/hyperledger/fabric/core/handlers/validation/api".ContextDatum) error
vscc/ecc_validation_plugin.go:63:38: cannot use block (type *"github.com/hyperledger/fabric-protos-go/common".Block) as type *"github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/common".Block in argument to v.DefaultTxValidator.Validate
Makefile:45: recipe for target 'vscc-plugin' failed
make: *** [vscc-plugin] Error 2
```
bur (Thu, 19 Mar 2020 21:14:10 GMT):
you should be able to redproduce this error with my PR #260
bur (Thu, 19 Mar 2020 21:14:10 GMT):
you should be able to redproduce this error with my PR 260 (https://github.com/hyperledger-labs/fabric-private-chaincode/pull/260)
bur (Thu, 19 Mar 2020 21:15:31 GMT):
note that it wants the validate interface from fabric vendored fabric-protos-go/common
bur (Thu, 19 Mar 2020 21:17:18 GMT):
I faced the same issue when trying to compile tlcc with the peer; fixed it by copying tlcc code into fabric repo ... not ideal I think
msteiner (Thu, 19 Mar 2020 21:19:40 GMT):
can't we for now just disable the validation plugins rather than also fix it in PR260? PR260 should not be the single pr fixing all of the concept-release 2.0 milestone ;-)
bur (Thu, 19 Mar 2020 21:22:47 GMT):
I think the issue above does not need to be fixed in PR260
MHBauer (Thu, 19 Mar 2020 22:26:12 GMT):
sorry, needed a break. wasn't blinking enough earlier. eyes are all bloodshot, lol..
MHBauer (Thu, 19 Mar 2020 22:26:34 GMT):
I will look at it in a bit.
MHBauer (Thu, 19 Mar 2020 22:57:04 GMT):
As few things as possible in a PR. makes it easy toreview.
bur (Thu, 19 Mar 2020 23:57:34 GMT):
260 is already too big
msteiner (Fri, 20 Mar 2020 00:54:38 GMT):
there is though also a lot of boilerplate change in 260 which really makes to sense across the board and so touches quite some files. I think given that it's not too bad and now builds and gives hopefully a good foundation for the fabric v2. I went through my comments and all are resolved except my concern regarding the go gets and versioning. But i think @MHBauer you will look into that ? (doesn't have to block this pr, though. also note as marcus pointed out, there is already an issue touching on this: https://github.com/hyperledger-labs/fabric-private-chaincode/issues/247. So i'm definitely for merging now as also travis succeeds
msteiner (Fri, 20 Mar 2020 00:54:38 GMT):
there is though also a lot of boilerplate change in 260, which really makes sense to do it across the board, and so touches quite some files. I think given that it's not too bad and now builds and gives hopefully a good foundation for the fabric v2. I went through my comments and all are resolved except my concern regarding the go gets and versioning. But i think @MHBauer you will look into that ? (doesn't have to block this pr, though. also note as marcus pointed out, there is already an issue touching on this: https://github.com/hyperledger-labs/fabric-private-chaincode/issues/247. So i'm definitely for merging now as also travis succeeds
msteiner (Fri, 20 Mar 2020 00:58:04 GMT):
@MHBauer if you can cross-check that your concerns are also addressed with 260, then marcus can do the autosquash his morning and we can merge then (our) morning?
msteiner (Fri, 20 Mar 2020 01:00:10 GMT):
(Sees i was referring to the wrong (although related) issue above; https://github.com/hyperledger-labs/fabric-private-chaincode/issues/94 was the one marcus meant)
MHBauer (Fri, 20 Mar 2020 01:14:40 GMT):
SGTM. almost back.
MHBauer (Fri, 20 Mar 2020 05:01:53 GMT):
well, I had some gopath trouble to start, so it could be some interfaces in the different versions of libraries are incompatible.
MHBauer (Fri, 20 Mar 2020 05:02:07 GMT):
Ithin k for this one I skipped the go get step if iexists.
MHBauer (Fri, 20 Mar 2020 05:03:25 GMT):
so, need to back up and fix those first
MHBauer (Fri, 20 Mar 2020 05:22:13 GMT):
need to either vendor in the repo or make sure to record exactly which version we want.
MHBauer (Fri, 20 Mar 2020 05:29:35 GMT):
and/org mudle it as well if itt'l change.
MHBauer (Fri, 20 Mar 2020 05:29:35 GMT):
and/or use modules as well if it is a possible change.
bur (Fri, 20 Mar 2020 14:02:33 GMT):
@muralisr how is it going with `fpc_hello_world`
bur (Fri, 20 Mar 2020 14:02:33 GMT):
@muralisr how is it going with `fpc_hello_world`?
MHBauer (Fri, 20 Mar 2020 18:15:59 GMT):
I need to make a list of all of the various main implementations and which are plugins system chaincodes vs user chaincodes, etc.
bur (Fri, 20 Mar 2020 19:09:57 GMT):
let me know if you need help
MHBauer (Fri, 20 Mar 2020 19:13:31 GMT):
is the ecc stuff above solved or moved around somewhere else?
MHBauer (Fri, 20 Mar 2020 19:14:16 GMT):
I see, commented out now, gh#242
bur (Fri, 20 Mar 2020 19:15:40 GMT):
ecc-vscc plugin issue is still there ... I just disabled plugin from building
MHBauer (Fri, 20 Mar 2020 19:15:46 GMT):
got it.
MHBauer (Fri, 20 Mar 2020 19:15:50 GMT):
so, my list, so far
MHBauer (Fri, 20 Mar 2020 19:16:10 GMT):
hmn, how can we look at this together
bur (Fri, 20 Mar 2020 19:18:25 GMT):
google docs?
bur (Fri, 20 Mar 2020 19:18:34 GMT):
share screen?
MHBauer (Fri, 20 Mar 2020 19:18:41 GMT):
I suppose, this is temporary, one sec.
MHBauer (Fri, 20 Mar 2020 19:18:46 GMT):
I can make a wiki at the end.
MHBauer (Fri, 20 Mar 2020 19:19:15 GMT):
https://docs.google.com/document/d/1TZ6mMXHsZaYiHT8B1fVmzzAxMxnIP9NyIg555BEexw0/edit?usp=sharing
MHBauer (Fri, 20 Mar 2020 19:22:44 GMT):
so I think I'm looking at https://github.com/hyperledger-labs/fabric-private-chaincode/issues/94
bur (Fri, 20 Mar 2020 19:22:48 GMT):
should I just write some comments inline?
MHBauer (Fri, 20 Mar 2020 19:22:59 GMT):
ah, please
MHBauer (Fri, 20 Mar 2020 19:23:03 GMT):
should have full access
MHBauer (Fri, 20 Mar 2020 19:23:58 GMT):
I see now, ercc_plugins directory
MHBauer (Fri, 20 Mar 2020 19:24:28 GMT):
need another coffee, brb
msteiner (Fri, 20 Mar 2020 19:25:09 GMT):
FYI: As discussed in last call, i've created a `feature`, I createda [MVP milestone]((https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/38),
went through the [MVP list](https://docs.google.com/document/d/1ztdJykj4I-e9G-YGGnn2ExDVCQQHmbuhgdaA5HWkd9M) and created issues for alls "features", also updating google docs with links.
Notes:
- i did _not_ create issues of the list items which are more of a design decision rather than an feature, e.g., how to deal with syscc-to-cc and alike, also didn't include far-out stuff like alternate TEEs ..;
- i currently kept features which we already implement (e.g., C/C++ chaincode, single channel) open for now to get the MVP decisions more explicit. As we get close to implement that milestone we of course should start closing ...
msteiner (Fri, 20 Mar 2020 19:25:09 GMT):
FYI: As discussed in last call, i've created a `feature`, I createda [MVP milestone]((https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/38),
went through the [MVP list](https://docs.google.com/document/d/1ztdJykj4I-e9G-YGGnn2ExDVCQQHmbuhgdaA5HWkd9M) and created issues for alls "features", also updating google docs with links.
Notes:
- i did _not_ create issues of the list items which are more of a design decision rather than an feature, e.g., how to deal with syscc-to-cc and alike, also didn't include far-out stuff like alternate TEEs ..;
- i currently kept features which we already implement (e.g., C/C++ chaincode, single channel) open for now to get the MVP decisions more explicit. As we get close to implement that milestone we of course should start closing ...
- see also comments on issue [251](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)
MHBauer (Fri, 20 Mar 2020 19:28:15 GMT):
so ercc build plugins should be gone from that makefile now?
MHBauer (Fri, 20 Mar 2020 19:28:19 GMT):
moved to ercc_plugin?
MHBauer (Fri, 20 Mar 2020 19:28:37 GMT):
so, I'm trying to understand why those were in the same place.
MHBauer (Fri, 20 Mar 2020 19:29:05 GMT):
do they share code, or are they localized because they share concerns,
bur (Fri, 20 Mar 2020 19:33:21 GMT):
concerns .... everything in ercc is related to ercc (actual registry chaincode, its validation plugin, and bla bla)
bur (Fri, 20 Mar 2020 19:33:25 GMT):
same for ecc
bur (Fri, 20 Mar 2020 19:33:32 GMT):
ecc contains the chaincode
bur (Fri, 20 Mar 2020 19:33:40 GMT):
the vscc plugin
bur (Fri, 20 Mar 2020 19:33:54 GMT):
but! (here the difference) not the enclave code
bur (Fri, 20 Mar 2020 19:34:03 GMT):
as this is in ecc_enclave
MHBauer (Fri, 20 Mar 2020 19:34:18 GMT):
and that's the C++ part
MHBauer (Fri, 20 Mar 2020 19:34:42 GMT):
which may call backwards/upwards for fabric shim/stub calls
bur (Fri, 20 Mar 2020 19:34:59 GMT):
right
bur (Fri, 20 Mar 2020 19:35:32 GMT):
in order to make the confusion complete ... the actual c++ chaincode is then in examples ...
MHBauer (Fri, 20 Mar 2020 19:37:48 GMT):
trying to think if we should have a bunch of small go modules or one large one anchored at the repo.
bur (Fri, 20 Mar 2020 19:48:49 GMT):
I would say all the stuff in demo ... around the mock server would benefit from its own modules ... as this contains depencies which are only needed for this demo (e.g. the webservices, etc)
bur (Fri, 20 Mar 2020 19:50:31 GMT):
how many small go modules whould we need? one for ercc, ecc, and tlcc, demo/chaincode/go, demo/client/backend/mock
bur (Fri, 20 Mar 2020 19:50:44 GMT):
or even or each plugin
bur (Fri, 20 Mar 2020 19:51:12 GMT):
btw bruno is also working on a bigger redesign of ercc
bur (Fri, 20 Mar 2020 19:51:25 GMT):
this is not criticip for our current milestone
bur (Fri, 20 Mar 2020 19:51:41 GMT):
but I believe that ercc_vscc for instance will go away
bur (Fri, 20 Mar 2020 19:51:47 GMT):
same for decorators
bur (Fri, 20 Mar 2020 19:52:08 GMT):
@BrunoVavala WDYT?
bur (Fri, 20 Mar 2020 19:56:53 GMT):
@MHBauer done with comments on google docs
bur (Fri, 20 Mar 2020 19:57:00 GMT):
does this help now?
MHBauer (Fri, 20 Mar 2020 19:58:06 GMT):
okay, so maybe one top-level one for fpc artifacts, and one for demo stuff
MHBauer (Fri, 20 Mar 2020 19:58:16 GMT):
how much of the `go get` commands is for demo vs fpc?
bur (Fri, 20 Mar 2020 19:59:20 GMT):
demo: ```
$(GO) get github.com/gin-contrib/cors
$(GO) get github.com/gin-gonic/gin
$(GO) get github.com/dustin/go-broadcast
```
BrunoVavala (Fri, 20 Mar 2020 20:00:26 GMT):
that's correct, both of them will go away
bur (Fri, 20 Mar 2020 20:01:09 GMT):
this is MVP right?
MHBauer (Fri, 20 Mar 2020 20:01:24 GMT):
yes. I'll follow up if necessary
BrunoVavala (Fri, 20 Mar 2020 20:01:34 GMT):
yes
MHBauer (Fri, 20 Mar 2020 20:01:47 GMT):
very good
MHBauer (Fri, 20 Mar 2020 20:02:45 GMT):
okay, I may try a quick setup to have one big module and see what i can do real quick.
MHBauer (Fri, 20 Mar 2020 20:03:02 GMT):
maybe we end up putting the plugins back together,sorry
bur (Fri, 20 Mar 2020 20:03:05 GMT):
do you know the issue number? :D
MHBauer (Fri, 20 Mar 2020 20:05:04 GMT):
ack, of course, the issue being making sure an idividual chaincode builds when it is packaged.
MHBauer (Fri, 20 Mar 2020 20:10:43 GMT):
are the plugins also built by the peer? Or are they built ahead and given to the peer as "install this .so" ?
bur (Fri, 20 Mar 2020 20:11:36 GMT):
the latter
MHBauer (Fri, 20 Mar 2020 20:11:49 GMT):
okay ,so that eliminates some concern
MHBauer (Fri, 20 Mar 2020 20:12:04 GMT):
I think the CC packaging is the big "yuck" for us.
MHBauer (Fri, 20 Mar 2020 20:12:09 GMT):
need to tes.t
bur (Fri, 20 Mar 2020 20:18:52 GMT):
and could you document this already please :D
bur (Fri, 20 Mar 2020 20:18:52 GMT):
and could you document the plugin/decorator removal already please :D
MHBauer (Fri, 20 Mar 2020 21:10:58 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=rcrNHkTcP7SoX6Es7) is this done with? or is build for it disabled?
MHBauer (Fri, 20 Mar 2020 22:29:06 GMT):
I'm getting the vibe that everyone does the docker-build and noone does a natively build?
bur (Fri, 20 Mar 2020 22:34:02 GMT):
i am using docker-dev :D
bur (Fri, 20 Mar 2020 22:34:19 GMT):
the build above is just removed from make
bur (Fri, 20 Mar 2020 22:34:20 GMT):
do this
bur (Fri, 20 Mar 2020 22:34:25 GMT):
```
root@50cac1f84e93:/project/src/github.com/hyperledger-labs/fabric-private-chaincode# cd ecc
root@50cac1f84e93:/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc# go build -o ecc-vscc.so -buildmode=plugin vscc/ecc_validation_plugin.go vscc/ecc_validation_logic.go
# command-line-arguments
vscc/ecc_validation_plugin.go:30:9: cannot use &ECCValidation literal (type *ECCValidation) as type "github.com/hyperledger/fabric/core/handlers/validation/api".Plugin in return argument:
*ECCValidation does not implement "github.com/hyperledger/fabric/core/handlers/validation/api".Plugin (wrong type for Validate method)
have Validate(*"github.com/hyperledger/fabric-protos-go/common".Block, string, int, int, ..."github.com/hyperledger/fabric/core/handlers/validation/api".ContextDatum) error
want Validate(*"github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/common".Block, string, int, int, ..."github.com/hyperledger/fabric/core/handlers/validation/api".ContextDatum) error
vscc/ecc_validation_plugin.go:63:38: cannot use block (type *"github.com/hyperledger/fabric-protos-go/common".Block) as type *"github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/common".Block in argument to v.DefaultTxValidator.Validate
```
msteiner (Fri, 20 Mar 2020 22:43:27 GMT):
Hey, a gentle request: can we try to use threads and discussions more? It's nice to see all the activity recently. However, doing so mostly on the main channel makes it hard/almost impossible to understand/follow unless you read it in real-time. If I just don't know the power of rocket-chat and related BKMs (Intel-speak: Best-Known-Methods), if anybody has some pointer to a beginner's guide to not get lost in a busy rock-chat, then i'd appreciate this as well :-)
MHBauer (Fri, 20 Mar 2020 22:59:13 GMT):
I will try, but I generally treat these all like IRC, live is it.
MHBauer (Fri, 20 Mar 2020 23:00:05 GMT):
I also don't really understand that view, if you have an article or something to read, I'd like to get that perspective.
msteiner (Fri, 20 Mar 2020 23:03:19 GMT):
i'm really confused by rocket chat. in some cases i saw from threads only a thread-symbol but not actual text. your reply is now in the thread but still shows in full in the main channel with no indication that it is exactly the replies i see now attached to my post. Maybe rocketchat just is a s***y tool ;-)
Did you ever use discussions, though? Maybe discussions might be the rocket-chat way to do threads?
MHBauer (Fri, 20 Mar 2020 23:03:43 GMT):
oh, I see a button,
MHBauer (Fri, 20 Mar 2020 23:03:48 GMT):
I imagine there's a setting
MHBauer (Fri, 20 Mar 2020 23:04:13 GMT):
I have to click to get here
MHBauer (Fri, 20 Mar 2020 23:04:39 GMT):
don't disagree withthis being a non-optimal tool.
msteiner (Fri, 20 Mar 2020 23:05:52 GMT):
Attempt to make my initial plea into a discussion ..
msteiner (Fri, 20 Mar 2020 23:05:52 GMT):
Hey, a gentle request: can we try to use threads and discussions more? It's nice to see all the activity recently. However, doing so mostly
MHBauer (Fri, 20 Mar 2020 23:10:32 GMT):
aiiiiiieeeeee, nothing yet, but more godeps handling
bur (Fri, 20 Mar 2020 23:11:54 GMT):
I've just found another deps issue
bur (Fri, 20 Mar 2020 23:11:58 GMT):
```
root@50cac1f84e93:/project/src/github.com/hyperledger-labs/fabric-private-chaincode/demo/client/backend/mock# make run-fpc
go build -tags fpc
env LD_LIBRARY_PATH=../../../../ecc_enclave/_build/lib::/opt/intel/sgxsdk/sdk_libs ./mock --debug
panic: /debug/requests is already registered. You may have two independent copies of golang.org/x/net/trace in your binary, trying to maintain separate state. This may involve a vendored copy of golang.org/x/net/trace.
goroutine 1 [running]:
github.com/hyperledger/fabric/vendor/golang.org/x/net/trace.init.0()
/project/src/github.com/hyperledger/fabric/vendor/golang.org/x/net/trace/trace.go:123 +0x1a5
Makefile:16: recipe for target 'run-fpc' failed
make: *** [run-fpc] Error 2
```
MHBauer (Fri, 20 Mar 2020 23:12:24 GMT):
and now it's impossible to view in a thread
MHBauer (Fri, 20 Mar 2020 23:12:28 GMT):
:-D
MHBauer (Fri, 20 Mar 2020 23:12:56 GMT):
curious what commit is 50cac1f84e93
MHBauer (Fri, 20 Mar 2020 23:12:58 GMT):
I don't have that
bur (Fri, 20 Mar 2020 23:13:38 GMT):
uh is local
MHBauer (Fri, 20 Mar 2020 23:13:57 GMT):
but not master
bur (Fri, 20 Mar 2020 23:14:13 GMT):
needed to fix go imports in `demo/client/backend/mock/chaincode/fpc_chaincode.go`
MHBauer (Fri, 20 Mar 2020 23:14:45 GMT):
oh man, now my proto lib is totally broke
MHBauer (Fri, 20 Mar 2020 23:15:12 GMT):
maybe the docker env is the best way to go
bur (Fri, 20 Mar 2020 23:16:33 GMT):
maybe ... at least we suffer all from from same problems in that env
bur (Fri, 20 Mar 2020 23:16:35 GMT):
hrrh
bur (Fri, 20 Mar 2020 23:17:35 GMT):
-- end thread --
MHBauer (Fri, 20 Mar 2020 23:18:52 GMT):
I want to say, it's friday night, go out, have fun, but ..... :sick: :mask:
bur (Fri, 20 Mar 2020 23:19:14 GMT):
ehm ... nothing open these days
bur (Fri, 20 Mar 2020 23:19:57 GMT):
@msteiner do you wanna keep the TODO as is in 302
bur (Fri, 20 Mar 2020 23:19:57 GMT):
@msteiner do you wanna keep the TODO as is in 302 (https://github.com/hyperledger-labs/fabric-private-chaincode/pull/302)
msteiner (Fri, 20 Mar 2020 23:22:34 GMT):
Hmm, you have to give me context (e.g., a thread would have been useful ... ;-)
bur (Fri, 20 Mar 2020 23:23:38 GMT):
I mean we have open PRs ... but no open bars/clubs
msteiner (Fri, 20 Mar 2020 23:24:55 GMT):
well, you didn't mention PR. I did reply to your comment on the PR, so not sure what your question here means?
msteiner (Fri, 20 Mar 2020 23:25:35 GMT):
The TOD header are meant to be instructions to whoever instantiates the template (and obviously should be deleted once addressed)
msteiner (Fri, 20 Mar 2020 23:27:20 GMT):
btw: you shouldn't work every day a night shift (unless you want to make us also work night shifts or at least give a bad conscience if we do not do night shifts :-))
bur (Fri, 20 Mar 2020 23:28:50 GMT):
regarding PR: I suggest to rebase/autosquash and I merge
msteiner (Fri, 20 Mar 2020 23:30:09 GMT):
ok. I'm also curious how the templates are actually presented when you create an issue. Don't really know. Maybe the templates turn out to be not-so-useful :-)
msteiner (Fri, 20 Mar 2020 23:30:54 GMT):
i like, though, the concept ...
msteiner (Fri, 20 Mar 2020 23:31:13 GMT):
btw; it seems you did spring-cleaning of your branches ;-)
bur (Fri, 20 Mar 2020 23:31:53 GMT):
I suggest to create a fresh thread for this conversation
MHBauer (Fri, 20 Mar 2020 23:32:18 GMT):
wow, the templates have gotten super advanced
MHBauer (Fri, 20 Mar 2020 23:32:27 GMT):
for example
MHBauer (Fri, 20 Mar 2020 23:32:30 GMT):
I go to https://github.com/kubernetes/kubernetes/issues
MHBauer (Fri, 20 Mar 2020 23:32:37 GMT):
then click the 'new issue' button
msteiner (Fri, 20 Mar 2020 23:32:41 GMT):
the springcleaning conversation ;-?
MHBauer (Fri, 20 Mar 2020 23:32:43 GMT):
leads to a page
MHBauer (Fri, 20 Mar 2020 23:32:46 GMT):
https://github.com/kubernetes/kubernetes/issues/new/choose
MHBauer (Fri, 20 Mar 2020 23:32:57 GMT):
click 'bug report' for example
MHBauer (Fri, 20 Mar 2020 23:33:06 GMT):
and it fills in the body of the new issue with the template.
msteiner (Fri, 20 Mar 2020 23:33:11 GMT):
anyway, autosquashed and pushed
MHBauer (Fri, 20 Mar 2020 23:33:17 GMT):
v nice.
msteiner (Fri, 20 Mar 2020 23:33:57 GMT):
soon to available also at FPC :-)
bur (Fri, 20 Mar 2020 23:34:36 GMT):
that's nice ... BUT @msteiner there you can see how they will look in action
bur (Fri, 20 Mar 2020 23:34:47 GMT):
wondering if a table is a good thing
msteiner (Fri, 20 Mar 2020 23:35:42 GMT):
i don't think it shows at table when you create issue; the table is the meta-data which shows up in the choose list (see morgan's pointer to kubernetes) and the preset labels
msteiner (Fri, 20 Mar 2020 23:35:59 GMT):
that's at least what i think. We will see as soon as you merge ...
MHBauer (Fri, 20 Mar 2020 23:36:14 GMT):
so right now, we get new versions of everything in the build for each "go get"
modules will lock us to specific deps
I've got an experiment, we can replace all of 'go get' with 'go mod download'
MHBauer (Fri, 20 Mar 2020 23:36:37 GMT):
running it through the build system now. pr soon if it works.
bur (Fri, 20 Mar 2020 23:39:00 GMT):
merged ...
msteiner (Fri, 20 Mar 2020 23:40:36 GMT):
seems my prediction was correct
msteiner (Fri, 20 Mar 2020 23:40:39 GMT):
no table ...
msteiner (Fri, 20 Mar 2020 23:41:28 GMT):
although the k8s way to handle instructions (as html comments seems better)
bur (Fri, 20 Mar 2020 23:41:29 GMT):
@msteiner do you also wanna create a PR template?
bur (Fri, 20 Mar 2020 23:42:35 GMT):
fabric uses something else for dep vendoring? not modules right?
bur (Fri, 20 Mar 2020 23:43:08 GMT):
wondering if we could somehow pin our deps to match Fabric deps
MHBauer (Fri, 20 Mar 2020 23:43:29 GMT):
not in a way that floats with their changes
msteiner (Fri, 20 Mar 2020 23:43:30 GMT):
presumably it does exist; can look for it. What would you like as content?
msteiner (Fri, 20 Mar 2020 23:44:02 GMT):
in that pr i could also change the italics to comments as k8s does which seems better (as if you don't remove it, it shouldn't show unless you edit ...)
MHBauer (Fri, 20 Mar 2020 23:44:06 GMT):
they have a vendor directory
MHBauer (Fri, 20 Mar 2020 23:44:14 GMT):
and I believe still rely on gopath
MHBauer (Fri, 20 Mar 2020 23:44:18 GMT):
it's not great
MHBauer (Fri, 20 Mar 2020 23:44:36 GMT):
I think they use 'dep' still
bur (Fri, 20 Mar 2020 23:46:33 GMT):
this is a good example for a choas in this channel ... to overlapping threads ...
msteiner (Fri, 20 Mar 2020 23:47:31 GMT):
you mean three ;-?
MHBauer (Fri, 20 Mar 2020 23:51:45 GMT):
okay, verified that for a packaged chaincode to work we must have the mod
bur (Fri, 20 Mar 2020 23:51:59 GMT):
PR type; brief text what the PR does/why we need it; link issues that it fixes
MHBauer (Fri, 20 Mar 2020 23:52:02 GMT):
as in,
MHBauer (Fri, 20 Mar 2020 23:52:09 GMT):
for ercc, must be in the ercc folder
bur (Fri, 20 Mar 2020 23:52:10 GMT):
similar examle: https://github.com/kubernetes/kubernetes/pull/89296
MHBauer (Fri, 20 Mar 2020 23:52:15 GMT):
having it one up does not succeed
bur (Fri, 20 Mar 2020 23:52:28 GMT):
aaaaaaaaaaaaaaaah
MHBauer (Fri, 20 Mar 2020 23:55:12 GMT):
still can't get the vscc failure
bur (Fri, 20 Mar 2020 23:55:45 GMT):
does it build for you?
bur (Fri, 20 Mar 2020 23:55:53 GMT):
or differnt error?
MHBauer (Fri, 20 Mar 2020 23:55:58 GMT):
yes, in module mode
MHBauer (Fri, 20 Mar 2020 23:56:04 GMT):
I will pr the change.
MHBauer (Fri, 20 Mar 2020 23:56:17 GMT):
unless you want to try before I do so?
MHBauer (Fri, 20 Mar 2020 23:57:00 GMT):
https://github.com/MHBauer/fabric-private-chaincode/tree/master-2019-03-20
MHBauer (Fri, 20 Mar 2020 23:57:21 GMT):
I see a button.
msteiner (Fri, 20 Mar 2020 23:57:32 GMT):
actually, just about to clone the template from kubernetes :-)
MHBauer (Fri, 20 Mar 2020 23:58:07 GMT):
Screenshot from 2020-03-20 16-57-31.png
MHBauer (Fri, 20 Mar 2020 23:58:16 GMT):
omg, there's a video record button
MHBauer (Fri, 20 Mar 2020 23:58:26 GMT):
and an audio record button
bur (Fri, 20 Mar 2020 23:59:07 GMT):
no button here
MHBauer (Fri, 20 Mar 2020 23:59:24 GMT):
no blue "19 replies"
bur (Fri, 20 Mar 2020 23:59:24 GMT):
github create isssue has now buttons
bur (Fri, 20 Mar 2020 23:59:25 GMT):
haha
MHBauer (Fri, 20 Mar 2020 23:59:27 GMT):
must be chaos
MHBauer (Sat, 21 Mar 2020 00:00:21 GMT):
Audio record.mp3
bur (Sat, 21 Mar 2020 00:00:36 GMT):
sounds great
MHBauer (Sat, 21 Mar 2020 00:00:41 GMT):
:-D
MHBauer (Sat, 21 Mar 2020 00:00:54 GMT):
seems pretty advanced too to me @msteiner
msteiner (Sat, 21 Mar 2020 00:00:58 GMT):
it seems it's definitely friday evening/night :-)
MHBauer (Sat, 21 Mar 2020 00:00:59 GMT):
tool*
MHBauer (Sat, 21 Mar 2020 00:07:21 GMT):
This should make it through the travis build. Not sure what deep-dark corners of the build still need to be tested.
https://github.com/hyperledger-labs/fabric-private-chaincode/pull/304
bur (Sat, 21 Mar 2020 00:09:05 GMT):
> go mod init in base directory.
```
➜ fabric-private-chaincode git:(master) go mod init
go: cannot determine module path for source directory /tmp/fabric-private-chaincode (outside GOPATH, module path must be specified)
Example usage:
'go mod init example.com/m' to initialize a v0 or v1 module
'go mod init example.com/m/v2' to initialize a v2 module
Run 'go help mod init' for more information.
```
bur (Sat, 21 Mar 2020 00:09:31 GMT):
-- thread end --
bur (Sat, 21 Mar 2020 00:09:34 GMT):
> go mod init in base directory.
```
➜ fabric-private-chaincode git:(master) go mod init
go: cannot determine module path for source directory /tmp/fabric-private-chaincode (outside GOPATH, module path must be specified)
Example usage:
'go mod init example.com/m' to initialize a v0 or v1 module
'go mod init example.com/m/v2' to initialize a v2 module
Run 'go help mod init' for more information.
```
bur (Sat, 21 Mar 2020 00:10:00 GMT):
what is missing?
bur (Sat, 21 Mar 2020 00:10:05 GMT):
go mod init fpc?
MHBauer (Sat, 21 Mar 2020 00:10:06 GMT):
sigh
MHBauer (Sat, 21 Mar 2020 00:10:10 GMT):
yes, essentially.
MHBauer (Sat, 21 Mar 2020 00:10:16 GMT):
but must be
MHBauer (Sat, 21 Mar 2020 00:10:33 GMT):
`go mod init github.com/hyperledger-labs/fabric-private-chaincode`
MHBauer (Sat, 21 Mar 2020 00:11:55 GMT):
updated pr
bur (Sat, 21 Mar 2020 00:17:25 GMT):
```
➜ ecc git:(master) ✗ make
go build -o ecc-vscc.so -buildmode=plugin vscc/ecc_validation_plugin.go vscc/ecc_validation_logic.go
ln -sfn ../../ecc_enclave/_build/lib enclave/ecc-enclave-lib
ln -sfn ../../ecc_enclave/_build/include enclave/ecc-enclave-include
```
bur (Sat, 21 Mar 2020 00:18:06 GMT):
```
➜ ecc git:(master) ✗ ll ecc-vscc.so
-rw-r--r-- 1 marcusbrandenburger staff 29M Mar 21 01:16 ecc-vscc.so
```
bur (Sat, 21 Mar 2020 00:18:10 GMT):
nice
MHBauer (Sat, 21 Mar 2020 00:26:17 GMT):
¯\_(ツ)_/¯
bur (Sat, 21 Mar 2020 00:32:05 GMT):
here we have a new PR template ... please close all your open PRs and use the new template
bur (Sat, 21 Mar 2020 00:32:30 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=FRGSDhJmLrSdrZeMn) haha please dont do that
bur (Sat, 21 Mar 2020 00:33:20 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=pjoLjQwnqYwzYqYf5) we haven't really used quotes yet
MHBauer (Sat, 21 Mar 2020 00:33:56 GMT):
lol
bur (Sat, 21 Mar 2020 00:34:05 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=k5xS5C7szRDBtSuNW) how many levels can we get?
bur (Sat, 21 Mar 2020 00:34:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=ELpiu9HMGWDP2RvJk) one more?
bur (Sat, 21 Mar 2020 00:34:44 GMT):
boring - back to threads
MHBauer (Sat, 21 Mar 2020 00:42:27 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=TY6E3z7Xxr6BvKcyb) I prefer quoting therads
MHBauer (Sat, 21 Mar 2020 00:42:45 GMT):
weird
MHBauer (Sat, 21 Mar 2020 00:42:58 GMT):
so I can't quote or reply in threads
MHBauer (Sat, 21 Mar 2020 00:43:00 GMT):
BOO
MHBauer (Sat, 21 Mar 2020 00:43:03 GMT):
I hate threads
bur (Sat, 21 Mar 2020 00:43:39 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=akxCCsM7uLcYTSotQ) [ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=q6WAWaMuet4SW7rLA) you cant?
rjones (Sat, 21 Mar 2020 02:03:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=KjiHYY4oALECQ9Nfj) yeah probably a bug
MHBauer (Sat, 21 Mar 2020 04:37:02 GMT):
We're no entirely devoid of content on the home screen of this channel.
MHBauer (Mon, 23 Mar 2020 05:45:20 GMT):
hmn, why does the docker dev clone of the repo internally? we're already in the repo, why not mount it as a volume?
bur (Mon, 23 Mar 2020 09:20:29 GMT):
ack! that should be the default way
bur (Mon, 23 Mar 2020 09:21:09 GMT):
we have an issue for that already https://github.com/hyperledger-labs/fabric-private-chaincode/issues/269
bur (Mon, 23 Mar 2020 16:49:09 GMT):
@msteiner this PR wants your love! https://github.com/hyperledger-labs/fabric-private-chaincode/pull/270
bur (Mon, 23 Mar 2020 16:50:38 GMT):
please let me know if I should bring back the SGX patch ... but than we also need to update it :/
msteiner (Mon, 23 Mar 2020 17:00:11 GMT):
see my answer from friday
bur (Mon, 23 Mar 2020 17:00:57 GMT):
I remeber that we offline talked about it ... but I was not able to find it in rocket chat :/ nor in the PR
bur (Mon, 23 Mar 2020 17:01:03 GMT):
sorry
bur (Mon, 23 Mar 2020 19:07:57 GMT):
@MHBauer I assigned you Jordans PR regarding Fabric v2 config! Hope you like it :)
bur (Mon, 23 Mar 2020 19:09:15 GMT):
our contribution guidelines say: "Once sufficient reviewers have approved the PR ..." you can hit the `rebase and merge` button
MHBauer (Mon, 23 Mar 2020 19:23:15 GMT):
I've looked. Not much to say to it. I'll take another look.
msteiner (Mon, 23 Mar 2020 19:39:10 GMT):
there is one comment i referenced you now as you probably know well the solo vs kafka vs raft changes/differences (given that solo and kafka is supposedly deprecated now, we probably should change our configs to raft; and if i remember correctly then swetha mentioned that raft is actually faster than solo, so might be win-win to move to raft ...)
msteiner (Mon, 23 Mar 2020 19:39:34 GMT):
(of course, the real win-win for FPC is if we could to a BFT-secure orderer ... ;-) )
bur (Mon, 23 Mar 2020 19:41:47 GMT):
can you run single-node raft? I know it doesn't make sense .... but to run our integration tests this is soooo enough
bur (Mon, 23 Mar 2020 19:42:50 GMT):
for our dockerized FPC network there I see value using raft over solo ... but for our quick and dirty tests ...
msteiner (Mon, 23 Mar 2020 19:54:14 GMT):
this (single-node raft) seems possible from what i understood from Swetha. In fact, MS CCF does that also
MHBauer (Mon, 23 Mar 2020 20:03:28 GMT):
yes, single node raft. did it in the workshop.
MHBauer (Mon, 23 Mar 2020 20:03:42 GMT):
not sure what the current setup is based on. byfn? test-netwokr
MHBauer (Mon, 23 Mar 2020 20:03:44 GMT):
?
msteiner (Mon, 23 Mar 2020 20:08:33 GMT):
the integration test run a solo orderer directly on host (no docker-compose) based on the sampleconfig in 1.4.3 fabric (which more or less corresponded to config from byfn in old fabric-samples.git
MHBauer (Mon, 23 Mar 2020 20:23:26 GMT):
:ok_hand:
MHBauer (Tue, 24 Mar 2020 15:10:49 GMT):
got another meeting going on right now.
MHBauer (Tue, 24 Mar 2020 15:18:39 GMT):
What's that name he said? Someone else doing TEE work?
msteiner (Tue, 24 Mar 2020 15:19:19 GMT):
Mark Miller, distributed capabilities ...
MHBauer (Tue, 24 Mar 2020 15:19:32 GMT):
perfect, thanks.
msteiner (Tue, 24 Mar 2020 17:00:46 GMT):
a question: could we leave upgrading branch to master to owner of PR? I think it's a bit more robust. Has happened now a few times that i update my PR branch and then realize it has changed.
MHBauer (Tue, 24 Mar 2020 17:01:38 GMT):
not sure what you mean
msteiner (Tue, 24 Mar 2020 17:19:40 GMT):
some folks press the 'update branch' (or whather it's called in the github UI) when the PR is based on an outdated branch
msteiner (Tue, 24 Mar 2020 17:19:40 GMT):
some folks press the 'update branch' (or whather it's called in the github UI) when the PR is based on an outdated branch. And my suggestion would be to leave that ideally up to the PR owner unless there is a good reason to update (e.g., a good reason of course would be that the PR is approved and as a PR assignee you want to merge it)
MHBauer (Tue, 24 Mar 2020 17:55:56 GMT):
oh, okay, yea, I know how to use git, so I end up ignoring the buttons for the most part.
MHBauer (Tue, 24 Mar 2020 17:56:25 GMT):
but I also don't mind merge commits, so we should probably have the policy written down.
msteiner (Tue, 24 Mar 2020 17:56:42 GMT):
the challenge with the button is that others can mess with your own branch ;-)
MHBauer (Tue, 24 Mar 2020 17:57:01 GMT):
ya, thta does make me unhappy
rjones (Tue, 24 Mar 2020 18:29:44 GMT):
Has left the channel.
bur (Tue, 24 Mar 2020 19:32:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=TNaySX5bhXEcjjnKA) what about min. 2 approvals (excluding PR creator)? can this also be configured on github to enforce these policies?
msteiner (Tue, 24 Mar 2020 19:51:52 GMT):
do we really have to enforce this? Seems a convention is sufficient? imho it really depends on the PR and who are the stakeholder. E.g., i don't think you need #311 but then #307 definitely has multiple stake-holders (me being one because of external builder).
What we probably should do, though, is that whoever creates a PR might want to prune down the list of reviewers (to whatever he thinks the stake-holders are) when creating it?
msteiner (Tue, 24 Mar 2020 19:51:52 GMT):
do we really have to enforce this? Seems a convention is sufficient? imho it really depends on the PR and who are the stakeholder. E.g., i don't think you need #311 but then #307 definitely has multiple stake-holders (me being one because of external builder).
What we probably should do, though, is that whoever creates a PR might want to prune down the list of reviewers (to whatever he thinks the stake-holders are and/or at least a critical mass of reviewers given the type of PR) when creating it?
swetha (Tue, 24 Mar 2020 21:52:44 GMT):
@bur you should be able to configure those settings on github
MHBauer (Tue, 24 Mar 2020 22:08:34 GMT):
for required number, see https://help.github.com/en/github/administering-a-repository/enabling-required-reviews-for-pull-requests
bur (Wed, 25 Mar 2020 14:20:56 GMT):
ok I found it github settings, but I also agree with Michael that we dont need to be so strict at the moment;
bur (Wed, 25 Mar 2020 14:21:36 GMT):
on the other hand we still need to have this concention written down somewhere
msteiner (Wed, 25 Mar 2020 14:23:01 GMT):
i thought we did write the convention down in the google doc with the git workflow?
msteiner (Wed, 25 Mar 2020 14:23:15 GMT):
not that i have read it recently ;-)
bur (Wed, 25 Mar 2020 14:24:04 GMT):
recent question by @MHBauer tells me that it is not there ... because I assume that he read it :D
bur (Wed, 25 Mar 2020 14:24:07 GMT):
haha
bur (Wed, 25 Mar 2020 14:24:12 GMT):
(recently)
msteiner (Wed, 25 Mar 2020 15:16:39 GMT):
yep, it's not in that doc. We did establish some convention, see minutes from May 14, 2019 in https://docs.google.com/document/d/11wyn2uKx-UnhIw0XCogDwTDxW_IRqWiJ83HnY-kgBQ4/edit#
msteiner (Wed, 25 Mar 2020 15:17:25 GMT):
we might update them though (and add them to git workflow doc) in light of the codeowner prepopulation?
MHBauer (Wed, 25 Mar 2020 15:28:17 GMT):
git workflow doc?
msteiner (Wed, 25 Mar 2020 15:28:40 GMT):
https://docs.google.com/document/d/1sR7YV3pSYN3NEFiW-2fUqtpsJeJrpC0EWUVtEm0Blcg/edit
bur (Wed, 25 Mar 2020 15:28:44 GMT):
seems have you haven't read the FPC contribution guideleines .... eieieiee
msteiner (Wed, 25 Mar 2020 15:28:58 GMT):
(if you read the new PR template, you should have seen that url ;-))
MHBauer (Wed, 25 Mar 2020 15:29:06 GMT):
I did not.
bur (Wed, 25 Mar 2020 15:29:12 GMT):
we better revert 42b34e4
MHBauer (Wed, 25 Mar 2020 15:29:21 GMT):
but why a doc.....
MHBauer (Wed, 25 Mar 2020 15:29:37 GMT):
It's very long.
bur (Wed, 25 Mar 2020 15:29:52 GMT):
and very detailed
MHBauer (Wed, 25 Mar 2020 15:30:00 GMT):
I see now.
MHBauer (Wed, 25 Mar 2020 15:30:12 GMT):
somewhere in the readme hopefully.
MHBauer (Wed, 25 Mar 2020 15:30:31 GMT):
preferably should be in the repo, but for now, okay.
bur (Wed, 25 Mar 2020 15:30:52 GMT):
its linked in the CONTRIBUTING.md
bur (Wed, 25 Mar 2020 15:30:52 GMT):
https://github.com/hyperledger-labs/fabric-private-chaincode/blob/master/CONTRIBUTING.md
MHBauer (Wed, 25 Mar 2020 15:31:12 GMT):
so it is
bur (Wed, 25 Mar 2020 15:31:17 GMT):
it seems we should better highlight it
MHBauer (Wed, 25 Mar 2020 15:31:48 GMT):
ah, not sure, you'll always get some dopes like me who think they know what they're doing.
bur (Wed, 25 Mar 2020 15:34:16 GMT):
@MHBauer I looked into your ecc-vscc PR and reported some problems. I also continued on the ercc decorator thing and got to a similar problem where my local fabric peer build used slightly different deps as we use for our fpc compoents using go modules
MHBauer (Wed, 25 Mar 2020 15:34:42 GMT):
ya, just starting looking at that. thnaks for repro
MHBauer (Wed, 25 Mar 2020 15:34:56 GMT):
you're at fabric 2.0.1 locally?
bur (Wed, 25 Mar 2020 15:35:13 GMT):
yep; I am in the fpc docker-dev container
MHBauer (Wed, 25 Mar 2020 15:35:22 GMT):
naturally
bur (Wed, 25 Mar 2020 15:35:28 GMT):
double checkd that I am on the tag
MHBauer (Wed, 25 Mar 2020 15:35:41 GMT):
okay, I will attempt to align the deps
bur (Wed, 25 Mar 2020 15:36:00 GMT):
I tried to hack by create go mod inside fabric
MHBauer (Wed, 25 Mar 2020 15:36:06 GMT):
good to know how you tested it. thanks foor that.
MHBauer (Wed, 25 Mar 2020 15:36:15 GMT):
hmn?
MHBauer (Wed, 25 Mar 2020 15:36:25 GMT):
hacky hack?
bur (Wed, 25 Mar 2020 15:36:52 GMT):
and replace the fabric depency with my local fabric repo
bur (Wed, 25 Mar 2020 15:37:01 GMT):
to enforece that deps match
bur (Wed, 25 Mar 2020 15:37:06 GMT):
but
bur (Wed, 25 Mar 2020 15:37:10 GMT):
```
root@7984cc9a34dc:/project/src/github.com/hyperledger/fabric# go mod init github.com/hyperledger/fabric
go: creating new go.mod: module github.com/hyperledger/fabric
go: copying requirements from Gopkg.lock
go: converting Gopkg.lock: stat github.com/pierrec/lz4@v2.2.3: github.com/pierrec/lz4@v2.2.3: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2
go: converting Gopkg.lock: stat github.com/cespare/xxhash@v2.1.0: github.com/cespare/xxhash@v2.1.0: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2```
MHBauer (Wed, 25 Mar 2020 15:37:43 GMT):
to much thread
bur (Wed, 25 Mar 2020 15:37:48 GMT):
argh
MHBauer (Wed, 25 Mar 2020 15:37:49 GMT):
I can't read that
bur (Wed, 25 Mar 2020 15:38:01 GMT):
will post here
```
root@7984cc9a34dc:/project/src/github.com/hyperledger/fabric# go mod init github.com/hyperledger/fabric
go: creating new go.mod: module github.com/hyperledger/fabric
go: copying requirements from Gopkg.lock
go: converting Gopkg.lock: stat github.com/pierrec/lz4@v2.2.3: github.com/pierrec/lz4@v2.2.3: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2
go: converting Gopkg.lock: stat github.com/cespare/xxhash@v2.1.0: github.com/cespare/xxhash@v2.1.0: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2
```
bur (Wed, 25 Mar 2020 15:38:41 GMT):
but than `make native` does not work anymore
bur (Wed, 25 Mar 2020 15:38:43 GMT):
:/
MHBauer (Wed, 25 Mar 2020 15:38:56 GMT):
ah, hehe, fabric mod, no bueno
bur (Wed, 25 Mar 2020 15:39:18 GMT):
y not?
MHBauer (Wed, 25 Mar 2020 15:39:42 GMT):
ah, I mainly mean they would have done it already if they were going to
bur (Wed, 25 Mar 2020 15:40:01 GMT):
right
bur (Wed, 25 Mar 2020 15:41:03 GMT):
could we also disable go modules for the validation plugins / decorator and build them the "normal / old-school" way?
bur (Wed, 25 Mar 2020 15:41:55 GMT):
but I guess since we have a go.mod in the root folder this does not work anymore?!
MHBauer (Wed, 25 Mar 2020 15:43:31 GMT):
I will look into it. brb
bur (Wed, 25 Mar 2020 15:43:50 GMT):
nice
bur (Wed, 25 Mar 2020 15:43:53 GMT):
thanks
bur (Wed, 25 Mar 2020 15:45:24 GMT):
also ... since we are going to patch fabric (for proxy and tlcc support) we need to find a way to build the plugins with the same codebase
bur (Wed, 25 Mar 2020 17:05:13 GMT):
deleting vendor folder in fabric works pretty well :D
bur (Wed, 25 Mar 2020 17:05:23 GMT):
I can also build native binaries
MHBauer (Wed, 25 Mar 2020 17:24:40 GMT):
wow, that was insanity
MHBauer (Wed, 25 Mar 2020 17:24:49 GMT):
I had really weird directories.
MHBauer (Wed, 25 Mar 2020 17:25:06 GMT):
does that mean vscc plugs in now?
MHBauer (Wed, 25 Mar 2020 17:28:09 GMT):
I should try to upstream that.
bur (Wed, 25 Mar 2020 17:29:24 GMT):
does not work yet as we need to pin deps to match everything that is used in fabric
bur (Wed, 25 Mar 2020 17:29:25 GMT):
:/
msteiner (Wed, 25 Mar 2020 17:33:01 GMT):
i guess you say that if you using go modules? Otherwise you just have to use the same GOROOT? If the former, it's kindof surprising as i would have assumed that with go modules you can have different one with different dependencies (for the same modules)? But then maybe this is an issue of mixing go modules with non-go-modules code. (Naively, i would have assumed though that old GOROOT code would just be an implicit anonymous go module ...)
bur (Wed, 25 Mar 2020 17:33:48 GMT):
using go modules now
bur (Wed, 25 Mar 2020 17:34:21 GMT):
I did a `go mod init github.com/hyperledger/fabric` and then `rm -rf vendor`
bur (Wed, 25 Mar 2020 17:34:52 GMT):
in ercc I added a replace for fabric pointing to my local fabric version
bur (Wed, 25 Mar 2020 17:35:15 GMT):
no I compile the ercc-decorator
bur (Wed, 25 Mar 2020 17:35:17 GMT):
and the peer
bur (Wed, 25 Mar 2020 17:35:27 GMT):
start the peer and see what dep does not match
bur (Wed, 25 Mar 2020 17:35:44 GMT):
then I do a go get DEP in fabric and ercc
bur (Wed, 25 Mar 2020 17:35:50 GMT):
rebuild
bur (Wed, 25 Mar 2020 17:35:55 GMT):
and next deps
bur (Wed, 25 Mar 2020 17:35:57 GMT):
uffffffffff
bur (Wed, 25 Mar 2020 17:36:01 GMT):
is there a better way?
msteiner (Wed, 25 Mar 2020 17:36:36 GMT):
hmm, using go mod with fabric package seems certainly a bit iffy given that fabric is not modularized
msteiner (Wed, 25 Mar 2020 17:37:49 GMT):
plugins where previously also not in fabric package?
bur (Wed, 25 Mar 2020 17:38:10 GMT):
HAAAAAAAAAAAAAAAAAAAAA works
bur (Wed, 25 Mar 2020 17:38:31 GMT):
decorator is loaded :D
bur (Wed, 25 Mar 2020 17:38:31 GMT):
nice
msteiner (Wed, 25 Mar 2020 17:38:52 GMT):
but did you build decorator as a module itself?
bur (Wed, 25 Mar 2020 17:39:02 GMT):
sure
bur (Wed, 25 Mar 2020 17:39:10 GMT):
ehm
bur (Wed, 25 Mar 2020 17:39:11 GMT):
no
bur (Wed, 25 Mar 2020 17:39:13 GMT):
yes
bur (Wed, 25 Mar 2020 17:39:15 GMT):
whooot
msteiner (Wed, 25 Mar 2020 17:39:58 GMT):
also i guess when you mention ercc above you meant ercc_plugins/ias_credentials? ercc should be irrelevant here?
bur (Wed, 25 Mar 2020 17:40:35 GMT):
yes, I am talking about this decorator ... but I moved it back to ercc/attestation
msteiner (Wed, 25 Mar 2020 17:41:41 GMT):
hmm, having the ercc CC alone in a module seemed to me to actually make sense
msteiner (Wed, 25 Mar 2020 17:41:52 GMT):
did you refactor the CC into a sub-dir of ercc?
bur (Wed, 25 Mar 2020 17:42:21 GMT):
no ... but I removed the circular depency caused by the provider
msteiner (Wed, 25 Mar 2020 17:42:30 GMT):
just to make sure we do not run again into cc install problems as before?
bur (Wed, 25 Mar 2020 17:43:01 GMT):
good point; need to double check that
msteiner (Wed, 25 Mar 2020 17:44:02 GMT):
in addition, i think keeping them in different sub-dirs also would add to clarity
bur (Wed, 25 Mar 2020 17:46:27 GMT):
you mean have ercc and ercc_plugins or previous structure?
MHBauer (Wed, 25 Mar 2020 17:50:08 GMT):
I think that rm of vendor is probably pretty key.
bur (Wed, 25 Mar 2020 17:58:54 GMT):
ercc-vscc plugin also loads but throws yet another error
MHBauer (Wed, 25 Mar 2020 18:07:06 GMT):
wow, you're the master now
msteiner (Wed, 25 Mar 2020 18:49:21 GMT):
prior structure didn't really have it as the cc was on the top-level of ercc. What i meant is something like ercc/{cc,decorator,validator} or alike. So each sub-directory would be self-contained
MHBauer (Wed, 25 Mar 2020 18:55:37 GMT):
seems to be mostly whack-a-mole with deps
MHBauer (Wed, 25 Mar 2020 19:27:43 GMT):
okay, I have ecc running in peer.
MHBauer (Wed, 25 Mar 2020 19:28:07 GMT):
some changes to fab, and some changes to our stuff. and I'm not sure this is going to be easy to do.
msteiner (Wed, 25 Mar 2020 20:05:59 GMT):
by running you mean install it in peer using new lifecycle (and beyond)?
MHBauer (Wed, 25 Mar 2020 20:07:00 GMT):
as in https://github.com/hyperledger-labs/fabric-private-chaincode/pull/310#pullrequestreview-381117296
msteiner (Wed, 25 Mar 2020 20:07:34 GMT):
as you are saying there are also considerable changes in fabric. For ecc i don't think this seems worth: In mid-term we will install it anyway using our external builders and we wouldn't build it on each isntall of a FPC chaincode (and also not by peer) and in short-term we can just do the same container switcheroo as before?
MHBauer (Wed, 25 Mar 2020 20:07:55 GMT):
sorry, escc-vcc
MHBauer (Wed, 25 Mar 2020 20:08:02 GMT):
ecc-vscc, that plugin
msteiner (Wed, 25 Mar 2020 20:08:32 GMT):
ah, ok. just was about to say that #310 touches to completely different aspects
msteiner (Wed, 25 Mar 2020 20:09:00 GMT):
plugins is of course a different story.
MHBauer (Wed, 25 Mar 2020 20:09:04 GMT):
I would imagine 310 would work as is for running the ecc
MHBauer (Wed, 25 Mar 2020 20:09:14 GMT):
well, is there an ecc ?
msteiner (Wed, 25 Mar 2020 20:09:30 GMT):
but for now we could potentially just disable the validation plugin? Although we would need eventually an answer for endorsement plugins
MHBauer (Wed, 25 Mar 2020 20:11:00 GMT):
probably best to delay it as it will be a big pain syncing deps with fabric.
MHBauer (Wed, 25 Mar 2020 20:11:28 GMT):
I think I have a better idea now, but phew, it took a while.
msteiner (Wed, 25 Mar 2020 20:11:29 GMT):
if we do not install ecc using the standard lifecycle commands (and that would be anyway given it's dependencies on sgx ...), then it's per-se not essential to have it as a module. And it did build before?
MHBauer (Wed, 25 Mar 2020 20:12:08 GMT):
seems that way, I am still learning how all the pieces go together.
MHBauer (Wed, 25 Mar 2020 20:12:37 GMT):
if the pr isn't going to go anywhere, I can close it.
msteiner (Wed, 25 Mar 2020 20:12:43 GMT):
maybe best level set tomorrow on the call that you and marcus can update us on all the challenges and issues around it. Would fit anyway in the discussion around how to do validation/MSP/etc we wanted to have tomorrow?
MHBauer (Wed, 25 Mar 2020 20:14:17 GMT):
yea, can do it then. Still, learned some things to try and take modules upstream.
msteiner (Wed, 25 Mar 2020 20:14:49 GMT):
sorry, didn't mean to say that your PR is not going anywhere. whether we can drop the plugins is an open question and having an ecc mod-ification certainly sounds nice. Just if it requires lots of changes in fabric and painful dependency tracking in our code with fabric dependencies then we might reconsider?
msteiner (Wed, 25 Mar 2020 20:15:17 GMT):
btw: do we know whether fabric has any plans to als mod-ify fabric core code?
MHBauer (Wed, 25 Mar 2020 20:15:38 GMT):
if plugins will remain around, it's going to be necessary to help people upstream.
msteiner (Wed, 25 Mar 2020 20:15:55 GMT):
probably all questions to ask Matt on Friday ...
MHBauer (Wed, 25 Mar 2020 20:16:05 GMT):
huh? modify fabric? it's always happening.
msteiner (Wed, 25 Mar 2020 20:16:45 GMT):
maybe i misunderstood you but i thought you said to make it work we would have to make our own changes (patches) to fabric ..
MHBauer (Wed, 25 Mar 2020 20:17:25 GMT):
for what? I think it would help if fabric was using go modules, but there are no code changes.
msteiner (Wed, 25 Mar 2020 20:19:05 GMT):
well you said "some changes to fab, and some changes to our stuff.", that made me conclude we would need our own patches to fabric to make plugins work. Completely agree regarding fabric using go modules. That's why i was wondering whether anybody has asked fabric maintainers/forum. We definitely should ask Matt on friday
MHBauer (Wed, 25 Mar 2020 20:19:26 GMT):
I mean the repo, sorry.
MHBauer (Wed, 25 Mar 2020 20:20:07 GMT):
I don't distinguish between the infrastructure and the code of the project. Tho I suppose dependencies are code in the end.
MHBauer (Wed, 25 Mar 2020 20:20:29 GMT):
In the end, I don't think it requires a change, but it would be nicer to have.
msteiner (Wed, 25 Mar 2020 20:20:35 GMT):
not sure what you meant with your 'i mean the repo' reply. were you referring to the some changes to fab and some changes to our stuff'? if so, i was always assuming these where changes to the two repos
MHBauer (Thu, 26 Mar 2020 16:54:50 GMT):
310 updated with makefile changes https://github.com/hyperledger-labs/fabric-private-chaincode/pull/310
green build
msteiner (Thu, 26 Mar 2020 17:14:22 GMT):
ok, will try to test Marcus scenario on jordan's pr based config ...
bur (Thu, 26 Mar 2020 18:20:49 GMT):
I killed the auction golang mock chaincode; please review and merge https://github.com/hyperledger-labs/fabric-private-chaincode/pull/316
msteiner (Thu, 26 Mar 2020 19:36:32 GMT):
bruno and approved it: @MHBauer , do you also want to cross-check and approve or should i (as assignee) just go ahead and merge it?
msteiner (Thu, 26 Mar 2020 20:32:24 GMT):
never mind, so now you also approved and hence i've merged it ...
msteiner (Thu, 26 Mar 2020 21:57:13 GMT):
we have since quite a few days the security warning on github regarding minimist. Following what marcus mentioned on March 17tn, i played around with npm outdated and npm update, but none touch minimist. As far as i can tell, Marcus already updated package.json with the latest version (which solved the last similar issue?). As it seems a minor vulnerability and currently we anyway do not have e2e secure code, should we just dismiss the issues, e.g. as 'risk is tolearble' or 'no bandwidth to fix this'?
MHBauer (Fri, 27 Mar 2020 16:49:22 GMT):
I've seen these before, they are only visible to the owners.
bur (Fri, 27 Mar 2020 17:14:30 GMT):
right! I updated all minimist deps possible ... no idea why this is still there
bur (Fri, 27 Mar 2020 17:14:43 GMT):
I vote for click ignore button as it addressses the demo only
MHBauer (Fri, 27 Mar 2020 17:16:14 GMT):
this is the 1.2.3 and earlier vulnerability?
msteiner (Fri, 27 Mar 2020 17:21:01 GMT):
i think it complains about 1.2.2 and earlier
MHBauer (Fri, 27 Mar 2020 17:21:49 GMT):
oky, I probably misread the vulerability report, but I see a 1.2.0 dependency in the repo.
msteiner (Fri, 27 Mar 2020 17:21:57 GMT):
btw: it's not only in demo but also in `utils/docker-compose/node-sdk` (not that this is automatically used, but it's use is in the docu ...)
MHBauer (Fri, 27 Mar 2020 17:25:41 GMT):
yes, I see three files with a reference
```
```
MHBauer (Fri, 27 Mar 2020 17:25:41 GMT):
yes, I see three files with a reference
```
rg minimist
utils/docker-compose/node-sdk/package-lock.json
1055: "minimist": {
1078: "minimist": "0.0.8"
1081: "minimist": {
1191: "minimist": "^1.2.0",
1726: "minimist": {
1728: "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
1738: "minimist": "0.0.8"
demo/client/backend/fabric-gateway/package-lock.json
796: "minimist": {
819: "minimist": "0.0.8"
822: "minimist": {
932: "minimist": "^1.2.0",
demo/client/frontend/package-lock.json
1498: "minimist": "^1.2.0",
5770: "minimist": {
5801: "minimist": "0.0.8"
5949: "minimist": "^1.2.0",
5953: "minimist": {
7448: "minimist": "^1.2.5"
7451: "minimist": {
7453: "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
7660: "minimist": "^1.2.0"
8072: "minimist": {
8074: "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
8205: "minimist": "0.0.8"
8208: "minimist": {
8210: "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
10230: "minimist": "^1.2.0",
➜ fabric-private-chaincode git:(reenable-ecc-vscc_plugin) ✗
```
bur (Fri, 27 Mar 2020 17:26:31 GMT):
mhhh
msteiner (Fri, 27 Mar 2020 17:27:11 GMT):
yes, there are references. but they all seem indirectly referenced, so you cannot fix them by upgrading packages in package.json to the latest version (which they all already seem to be)
MHBauer (Fri, 27 Mar 2020 17:27:34 GMT):
:ok_hand:
msteiner (Fri, 27 Mar 2020 17:27:44 GMT):
the fabric node clients are not yet v2, but there doesn't seem to be yet a v2 npm file and in repo there only v2-beta tags ...
MHBauer (Fri, 27 Mar 2020 17:28:14 GMT):
I'm having bizzare internet problems today,
MHBauer (Fri, 27 Mar 2020 17:31:03 GMT):
I can't go get inside of docker, but I can outside.
msteiner (Fri, 27 Mar 2020 17:31:07 GMT):
i guess in bizarre days like these, you can expect bizarre things :-)
MHBauer (Fri, 27 Mar 2020 17:31:08 GMT):
so werid
msteiner (Fri, 27 Mar 2020 17:31:53 GMT):
i assume you are not behind a proxy (this is the usual failure here at intel ...)
MHBauer (Fri, 27 Mar 2020 17:34:13 GMT):
I mean, I'm at home, so
msteiner (Fri, 27 Mar 2020 17:35:45 GMT):
well, at intel you still have a proxy problem as the vpn usually is not in split-tunnel version ...
msteiner (Fri, 27 Mar 2020 17:35:56 GMT):
anyway, wan't an issue at ibm in the past ...
MHBauer (Fri, 27 Mar 2020 17:36:11 GMT):
oh right, your vpn, no I don't have that running at all right now, nothing I need in there.
MHBauer (Fri, 27 Mar 2020 17:36:24 GMT):
maybe I try a vm
msteiner (Fri, 27 Mar 2020 17:37:00 GMT):
normal network traffic works, though, in container? E.g., a wget / links / git clone /... ?
msteiner (Fri, 27 Mar 2020 17:37:44 GMT):
actually, does a `telnet
MHBauer (Fri, 27 Mar 2020 17:37:49 GMT):
huhuhuh,
MHBauer (Fri, 27 Mar 2020 17:38:31 GMT):
hmn, why is DNS broken.
MHBauer (Fri, 27 Mar 2020 17:38:59 GMT):
maybe I don't remember how to use nslookup
MHBauer (Fri, 27 Mar 2020 17:39:06 GMT):
ooh, it's very slow
MHBauer (Fri, 27 Mar 2020 17:39:49 GMT):
I'll try restarting first.
msteiner (Fri, 27 Mar 2020 17:40:57 GMT):
oh, dns with docker & ubuntu had issues around systemd. but was only a real problem if you couldn't reach the google 8.8.8.8 dns server which are dockers fallback ..
MHBauer (Fri, 27 Mar 2020 17:44:45 GMT):
dns is normal speed now
bur (Mon, 30 Mar 2020 07:02:10 GMT):
@MHBauer are you happy with 318 and can merge it? https://github.com/hyperledger-labs/fabric-private-chaincode/pull/318
MHBauer (Mon, 30 Mar 2020 13:54:20 GMT):
yea, looks good, but I cannot merge it.
bur (Mon, 30 Mar 2020 14:07:20 GMT):
why not?
msteiner (Mon, 30 Mar 2020 14:08:47 GMT):
morgan is still not yet a member of the FPC github group
bur (Mon, 30 Mar 2020 14:19:03 GMT):
@swetha @MicBowman please add Morgan to fabric-private-chaincode-committers
bur (Mon, 30 Mar 2020 14:19:03 GMT):
@swetha @MicBowman please add Morgan to fabric-private-chaincode-committers; thanks
swetha (Mon, 30 Mar 2020 15:48:21 GMT):
@bur done! Morgan is added
swetha (Mon, 30 Mar 2020 15:48:59 GMT):
@MHBauer ^
bur (Mon, 30 Mar 2020 15:49:08 GMT):
thanks
bur (Mon, 30 Mar 2020 18:05:16 GMT):
@MHBauer try again! :D
MHBauer (Mon, 30 Mar 2020 18:35:04 GMT):
ach, sorry, rocket doesn't minimize on [X] it actually exits.
msteiner (Mon, 30 Mar 2020 18:39:58 GMT):
must be a linux feature. In windows it persists, just windows disappears ..
bur (Tue, 31 Mar 2020 13:05:09 GMT):
Ouch
```
Step 23/32 : RUN wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz && git clone --branch ${SGXSSL_VERSION} https://github.com/intel/intel-sgx-ssl.git && . $SGX_SDK/environment && (cd intel-sgx-ssl/openssl_source; mv /tmp/openssl-${OPENSSL_VERSION}.tar.gz . ) && (cd intel-sgx-ssl/Linux; make SGX_MODE=SIM DESTDIR=$SGX_SSL all test ) && (cd intel-sgx-ssl/Linux; make install ) && rm -rf /tmp/intel-sgx-ssl
---> Running in eb979ffa4e3d
--2020-03-31 13:03:26-- https://www.openssl.org/source/openssl-1.1.0j.tar.gz
Resolving www.openssl.org (www.openssl.org)... 104.83.84.113, 2a02:26f0:3000:28e::c1e, 2a02:26f0:3000:29f::c1e
Connecting to www.openssl.org (www.openssl.org)|104.83.84.113|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-03-31 13:03:27 ERROR 404: Not Found.
```
jrlinton (Tue, 31 Mar 2020 15:17:31 GMT):
Has joined the channel.
bur (Wed, 01 Apr 2020 17:41:47 GMT):
@here I suggest that we move the concept-release-v2 milestone deadline to mid april and make sure that we integration test run smoothly ... I dont see the need to rush now and push the concept-release-v2 out and sacrify testing/stability; wdyt?
bur (Wed, 01 Apr 2020 17:43:28 GMT):
this need one more review https://github.com/hyperledger-labs/fabric-private-chaincode/pull/319
bur (Wed, 01 Apr 2020 17:43:28 GMT):
this need one more review, please chek https://github.com/hyperledger-labs/fabric-private-chaincode/pull/319
msteiner (Wed, 01 Apr 2020 20:51:50 GMT):
we definitely shouldn't do any rush sacrificing testing/stability. Not sure changing the date matters. I still think we should move to the earliest stable version even, if as discussed, this might not yet have plugins, as long as the integration tests work
bur (Wed, 01 Apr 2020 20:54:07 GMT):
ack! our milestone deadline was yesterday and integration tests are not working at the moment; so let's move it;
msteiner (Wed, 01 Apr 2020 20:57:34 GMT):
BTW: triggered by an email i saw on the fabric ML i stumbled over https://hyperledger.github.io/fabric-sdk-node/master/tutorial-migration.html from which i have at least two important client-side take-aways for us:
- the `fabric-client` apis we use in `demo` and in `utils/docker-compose/node-sdk` are now depricated and one should use `fabric-network` in turns, and
- "SDK no longer aims to provide administrative and management capability. The command-line interface should be used for these operations."
This means that for any admin stuff we will have to extend/modify CLI (and so probably for a MMVP doing `invoke` and `query` might be better than tackling right away node or go sdk for that. (assuming we can use native-code libs in node-sdk, then anything we do for cli should still be a building block for the client side sdks ...)
msteiner (Wed, 01 Apr 2020 21:06:47 GMT):
well, this date was really arbitrary. Anyway, i've moved it now to next tuesday. Hopefully that is achieveable, otherwise we'll move again.
msteiner (Wed, 01 Apr 2020 21:14:46 GMT):
fyi: i've updated relevant work-items accordingly. feel free to update/extend as appropriate ..
bur (Wed, 01 Apr 2020 21:52:15 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=dpfoFqxvYoxkB8SrW) thanks!
msteiner (Thu, 02 Apr 2020 22:46:23 GMT):
fyi: i've cleaned up the external builders PR, so please have a look and start reviewing it. thanks!
bur (Mon, 06 Apr 2020 20:07:44 GMT):
@msteiner looking in your PR and I get this here
```peer.sh: Installing ercc on channel 'mychannel' ...
peer.sh: Packaging chaincode ...
peer.sh: Installing chaincode ...
Error: chaincode install failed with status: 500 - failed to invoke backing implementation of 'InstallChaincode': could not build chaincode: docker build failed: docker image build failed: docker build failed: Error returned from build: 2 "go: downloading github.com/hyperledger/fabric-protos-go v0.0.0-20200124220212-e9cfc186ba7b
```
bur (Mon, 06 Apr 2020 20:08:34 GMT):
I am running it from the dev docker container; this is not the kind of error you mentioned in the review notes?!?
msteiner (Mon, 06 Apr 2020 20:09:42 GMT):
hmm, do you have the docker daemon socket passed to your docker dev container? (e.g., does docker ps/docker images work)?
bur (Mon, 06 Apr 2020 20:09:50 GMT):
nope
msteiner (Mon, 06 Apr 2020 20:10:10 GMT):
well, then master wouldn't work either?
msteiner (Mon, 06 Apr 2020 20:10:29 GMT):
(ercc installation is still as before, using builtin legacy golang docker install)
bur (Mon, 06 Apr 2020 20:10:37 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=ngGJEnaPFN8wqFHXW) wait ... docker ps and docker images work indeed inside my dev container
msteiner (Mon, 06 Apr 2020 20:14:10 GMT):
what i did notice, though, is that there is some timeout when fabric builds container, so if build is slow, e.g., because lots dependencies have to be downloaded than it can fail. Curiously, though, the build continues and if you wait until the image shows up in docker images, then it will work
msteiner (Mon, 06 Apr 2020 20:14:41 GMT):
this seems a general fabric issue, nothing with fpc proper and even less with this PR (this timeout happened already beforehand)
msteiner (Mon, 06 Apr 2020 20:15:13 GMT):
i locally tried though and i could successfully run even after removing the image
bur (Mon, 06 Apr 2020 20:15:47 GMT):
let me run it again :)
bur (Mon, 06 Apr 2020 20:15:52 GMT):
BTW export FABRIC_LOGGING_SPEC=debug is insane!
bur (Mon, 06 Apr 2020 20:15:52 GMT):
BTW export FABRIC_LOGGING_SPEC=debug is insane mode!!!
msteiner (Mon, 06 Apr 2020 20:18:11 GMT):
well, this is for development/debugging?
bur (Mon, 06 Apr 2020 20:18:22 GMT):
:D
msteiner (Mon, 06 Apr 2020 20:18:30 GMT):
you can always filter/grep, but you cannot get the info out of thin air
msteiner (Mon, 06 Apr 2020 20:18:52 GMT):
but nothing should stop you to change that. it was only for convenience that i put it there ....
bur (Mon, 06 Apr 2020 20:19:05 GMT):
I think its good! :D
kumar89 (Tue, 07 Apr 2020 16:04:06 GMT):
Has joined the channel.
bur (Wed, 08 Apr 2020 17:14:24 GMT):
@jordy24 please review the feedback you got https://github.com/hyperledger-labs/fabric-private-chaincode/pull/324
jordy24 (Wed, 08 Apr 2020 20:02:03 GMT):
am working on it
bur (Wed, 08 Apr 2020 23:15:43 GMT):
this needs one more review please https://github.com/hyperledger-labs/fabric-private-chaincode/pull/322
msteiner (Thu, 09 Apr 2020 01:48:55 GMT):
if nobody is biting on this, i will merge later tonight ....
bur (Thu, 09 Apr 2020 18:18:34 GMT):
I promoted #323 to non-WIP as it made it though travis. Please have a look! https://github.com/hyperledger-labs/fabric-private-chaincode/pull/323
MHBauer (Thu, 09 Apr 2020 19:59:33 GMT):
oh no I clicked a button and I shouldn't be allowed to click buttons.
bur (Thu, 09 Apr 2020 20:01:34 GMT):
omg!
bur (Thu, 09 Apr 2020 20:01:36 GMT):
:D
bur (Thu, 09 Apr 2020 20:01:40 GMT):
nice so it's merged!
bur (Thu, 09 Apr 2020 20:01:42 GMT):
well done
bur (Thu, 09 Apr 2020 20:02:26 GMT):
@MHBauer can I assign this (https://github.com/hyperledger-labs/fabric-private-chaincode/pull/323) to you ... and you hit the button again once there are two green check marks? :D
MHBauer (Thu, 09 Apr 2020 20:02:39 GMT):
looking at it right now.
MHBauer (Thu, 09 Apr 2020 20:02:57 GMT):
it's amazing how +150-50 lines happens over 18 files.
bur (Thu, 09 Apr 2020 20:04:57 GMT):
haha ... what is the secret to make thoses changes smaller?
MHBauer (Thu, 09 Apr 2020 20:31:58 GMT):
reviewed 323, I can make some small updates if there are no objections.
bur (Thu, 09 Apr 2020 20:53:52 GMT):
please go ahead
bryangross (Fri, 10 Apr 2020 14:45:18 GMT):
Has joined the channel.
msteiner (Tue, 14 Apr 2020 23:35:40 GMT):
btw: as we touch on javascript foreign-code interface to c++ crypto/attestation lib: Seems the main API for node to use is N-API (https://nodejs.org/api/n-api.html). More interestingly, though, given that it is used already in PDO: Swig also has backends for go as well as node (http://www.swig.org/compare.html)!
BrunoVavala (Tue, 14 Apr 2020 23:53:23 GMT):
good observation, definitely worth taking a look at that!
bur (Wed, 15 Apr 2020 16:52:42 GMT):
Please have another look at my PR! I address all reviews and travis runs through now https://github.com/hyperledger-labs/fabric-private-chaincode/pull/323
msteiner (Wed, 15 Apr 2020 20:12:02 GMT):
something with the submodule is funky. I could initially check it out but noticed a difference in the git version of protos. so i went back to master, did `git pr clean` (i use git-extras) and then tried to checkout as `git pr 323 upstream` but got following error
```
fatal: not a git repository: tlcc_enclave/protos/fabric/../../../.git/modules/tlcc_enclave/protos/fabric
fatal: not a git repository: tlcc_enclave/protos/fabric/../../../.git/modules/tlcc_enclave/protos/fabric
```
Using `--recurse-submodules` didn't change anything. What gives?
msteiner (Wed, 15 Apr 2020 20:32:19 GMT):
uff, finally managed to get it working. had to clean up some files which didn't show up in `git status`, e.g., `.git/modules` and the submodule directory itself ...
MHBauer (Wed, 15 Apr 2020 21:15:34 GMT):
ah, well, looks like it's done then. https://github.com/hyperledger/fabric/pull/1064
MHBauer (Wed, 15 Apr 2020 21:22:27 GMT):
dunno if it'll be 2.2 or 2.1.1 or what, but fabric seems moduley
MHBauer (Wed, 15 Apr 2020 23:18:54 GMT):
not in 2.1 I don't think, but `go get github.com/hyperledger/fabric@252795afdb080632fa14c1baa80f017a451ca264` is what we'll need.
msteiner (Thu, 16 Apr 2020 00:53:56 GMT):
cool. thanks also for the link, made me also find the instructions on setting up the fabric dev environment i was looking for earlier :-). Also seems Marcus was prescient in pushing for go 1.14 for fpc ... ;-)
MHBauer (Thu, 16 Apr 2020 21:15:30 GMT):
yay, 323 is travis-ing again
msteiner (Fri, 17 Apr 2020 00:35:33 GMT):
fyi: ubuntu 20.04 is (for now) not an (easy) option for SGX, in both build-from-software (compiler issue with LVI side-channel mitigation to blame ...) or binary-install version (with protobuf package dependency to blame). It's planned, though, see https://github.com/intel/linux-sgx/issues/523, but not something we can count on in short-term.
BTW: ubuntu 20.04 has protobuf 3.6.1.3 as default as of now. ...
msteiner (Fri, 17 Apr 2020 03:26:03 GMT):
fyi: Fabric 2.1.0 was just announced: https://github.com/hyperledger/fabric/releases/tag/v2.1.0
msteiner (Fri, 17 Apr 2020 03:28:31 GMT):
don't see anything which should affect us (except that we have to bump go to 1.14_.1_ ;-). Raises the question, though, also whether we should upgrade to 2.1 as part of concept-release 2.0.1?)
msteiner (Fri, 17 Apr 2020 03:29:41 GMT):
@MHBauer @jordy24 fyi: some notes (as thread) on concept release
msteiner (Fri, 17 Apr 2020 03:30:11 GMT):
With the modification in the dev and peer Dockerfile Jordan showed this morning, `concept-release` does properly build on "native" ubuntu (and as part of the build also successfully runs the demo docker-compose network and the demo backend, i.e., fabric-gateway1).
msteiner (Fri, 17 Apr 2020 03:30:33 GMT):
However, there are some twists when you run it inside the dev container: The easy hurdles are that you will have to manually apt install the packages `psmisc` (some scripts use `killall`) and `docker-compose` (not by default installed but obviously needed). The more tricky one is that there are some scripts (build of fpc cc via cc-builder, run of frontend) which do call docker with volume mounts. However, as the docker daemon runs _outside_ of the dev components, the daemon looks for the paths at the wrong place, on the outside and not in the dev container!!! Iff you have the same outside paths like inside, i.e., fpc in `/project/src/github.com/hyperledger-labs/fabric-private-chaincode`) then it might work (but in a hacky way). Given that this code was done by Shweta and afaik she did use the dev container i wonder how exactly she had setup the container. Makes me also guess that @bur probably never run the demo with the real fabric network ;-)
msteiner (Fri, 17 Apr 2020 03:30:55 GMT):
The hacky solution seems to be to create a symlink outside from your GOPATH to /project. However, for jordan, though, i still suggest you look to get a Linux box or a VMM, e.g., VirtualBox, on your mac and install an ubuntu VM...
MHBauer (Fri, 17 Apr 2020 03:38:34 GMT):
20.04 is out?
MHBauer (Fri, 17 Apr 2020 03:39:15 GMT):
Upgrade sure. Heck, upgrade to the mobile version.
MHBauer (Fri, 17 Apr 2020 03:39:20 GMT):
🤣
msteiner (Fri, 17 Apr 2020 03:39:36 GMT):
"almost". i was testing with 20.04 final beta. Don't expect much to change until the official release
MHBauer (Fri, 17 Apr 2020 03:39:36 GMT):
Wow, these threads are awful on mobile.
MHBauer (Fri, 17 Apr 2020 03:40:54 GMT):
I would go back and check how long previous releases of Ubuntu took to become supported
msteiner (Fri, 17 Apr 2020 03:40:55 GMT):
well, if hyperledger would switch from rocketchat to something better like slack ... ;-)
MHBauer (Fri, 17 Apr 2020 03:41:06 GMT):
And definitely would not hold anything up for it
MHBauer (Fri, 17 Apr 2020 03:41:25 GMT):
Blech, riot baby.
MHBauer (Fri, 17 Apr 2020 03:41:35 GMT):
I should set up a server for us.
MHBauer (Fri, 17 Apr 2020 03:42:02 GMT):
Bare metal with sgx enabled!
msteiner (Fri, 17 Apr 2020 03:42:27 GMT):
the test was more to see whether we might get away with only one protobuf version on 20.04. Clearly that didn't work out. So for now i definitely would table the 20.04, just was updating what i figured out since what what we talked about it in the morning on the call ...
MHBauer (Fri, 17 Apr 2020 03:43:43 GMT):
I see. I'm not entirely sure if the differences. ABI changes? Header files?
MHBauer (Fri, 17 Apr 2020 03:44:06 GMT):
Seems like protos should be protos
bur (Fri, 17 Apr 2020 12:15:16 GMT):
let's upgrade whenever possible :)
bur (Fri, 17 Apr 2020 12:16:30 GMT):
haha! Hyperledger had slack before ...but only the free version ...
bur (Fri, 17 Apr 2020 12:18:59 GMT):
let me share my config.override.mk here
```
➜ fabric-private-chaincode git:(enable-tlcc) ✗ cat config.override.mk
SGX_MODE=SIM
SGX_BUILD=DEBUG
DOCKER_DEV_IMAGE_APT_ADD__PKGS="tmux psmisc"
```
MHBauer (Fri, 17 Apr 2020 13:26:24 GMT):
so, is 332 primarily focused on the gateway https://github.com/hyperledger-labs/fabric-private-chaincode/tree/concept-release/demo/client/backend/fabric-gateway ? I see what I expect in terms of config stuff with https://github.com/hyperledger-labs/fabric-private-chaincode/blob/concept-release/demo/client/backend/fabric-gateway/src/fabricClient.js, and serving the API defined in https://github.com/hyperledger-labs/fabric-private-chaincode/blob/concept-release/demo/client/backend/fabric-gateway/src/server.js @jordy24 @bur https://github.com/hyperledger-labs/fabric-private-chaincode/issues/332
MHBauer (Fri, 17 Apr 2020 14:01:05 GMT):
why add pmisc permanently then?
bur (Fri, 17 Apr 2020 14:02:30 GMT):
we could ... :) that would close https://github.com/hyperledger-labs/fabric-private-chaincode/issues/314
bur (Fri, 17 Apr 2020 14:17:18 GMT):
yes - the goal of 332 is to create a go-based gateway providing the same functionality as fabric-gateway already offers and the success critiria is to make it running with the demo :)
MHBauer (Fri, 17 Apr 2020 14:18:32 GMT):
okay, doesn't look too bad, but I haven't looked carefully at the API being served
bur (Fri, 17 Apr 2020 14:19:18 GMT):
have a look into the mock server
bur (Fri, 17 Apr 2020 14:19:37 GMT):
maybe this can be used as basis
bur (Fri, 17 Apr 2020 14:20:47 GMT):
https://github.com/hyperledger-labs/fabric-private-chaincode/tree/concept-release/demo/client/backend/mock
bur (Fri, 17 Apr 2020 14:22:11 GMT):
I guess 332 is take the mock server; remove the chaincode mock stub and replace it with go client sdk
bur (Fri, 17 Apr 2020 14:23:03 GMT):
ideally this can be structured in a way that we can easily extend the sdk layer with FPC specific logic such as encrypttion
MHBauer (Fri, 17 Apr 2020 14:27:12 GMT):
hmn, now I'm a bit lost
bur (Fri, 17 Apr 2020 14:27:33 GMT):
ah ok
bur (Fri, 17 Apr 2020 14:28:54 GMT):
fabric-gateway: bridges demo UI and fabric; by providing a web API and uses the nodejs fabric sdk to talk to a peer/chaincode
MHBauer (Fri, 17 Apr 2020 14:29:08 GMT):
ok
MHBauer (Fri, 17 Apr 2020 14:29:16 GMT):
and now the mock?
bur (Fri, 17 Apr 2020 14:29:20 GMT):
mock: bridges demo UI and a chaincode (without running a real peer)
MHBauer (Fri, 17 Apr 2020 14:30:28 GMT):
okay, so what's the suggestion to do from 332? mock or gateway?
bur (Fri, 17 Apr 2020 14:31:46 GMT):
I suggested to look into the mock and see what can be reused to create the fabric-gateway-go
bur (Fri, 17 Apr 2020 14:32:42 GMT):
in partcular, the web api exposed by the mock and gateway are the same
MHBauer (Fri, 17 Apr 2020 14:34:22 GMT):
oh, I see, got it,
MHBauer (Fri, 17 Apr 2020 14:34:44 GMT):
yes, if they serve the same, you could probably swap out a backend if it's well factored.
bur (Fri, 17 Apr 2020 14:36:06 GMT):
In Phoenix we also discussed if we could make the mock server a bit more generic and also use it somewhere else for easy fpc chaincode testing ...
bur (Fri, 17 Apr 2020 14:36:38 GMT):
it's nice to debug a fpc chaincode by running it without the need to setup a real network/peer
bur (Fri, 17 Apr 2020 14:37:41 GMT):
this is not part of 332 but with this in mind we would have a nice tool to test fpc chaincodes :D
MHBauer (Fri, 17 Apr 2020 14:48:44 GMT):
aahhhh, I have to read javascript
bur (Fri, 17 Apr 2020 14:50:17 GMT):
:)
MHBauer (Fri, 17 Apr 2020 14:51:34 GMT):
berak for :coffee:
bur (Fri, 17 Apr 2020 14:53:19 GMT):
haha ... I am already thinking about early dinner
MHBauer (Fri, 17 Apr 2020 14:57:35 GMT):
no coffee with dinner
MHBauer (Fri, 17 Apr 2020 14:57:44 GMT):
maybe after if you have to drive home
MHBauer (Fri, 17 Apr 2020 14:57:56 GMT):
but you do you.
msteiner (Fri, 17 Apr 2020 17:30:55 GMT):
ah!
msteiner (Fri, 17 Apr 2020 17:31:14 GMT):
if add psmisc, we might as well also add docker-compose?
msteiner (Fri, 17 Apr 2020 17:32:20 GMT):
except that of course some docker(-compose) parts don't (easily) work in dev-container: any thoughts on this @bur given that you are a long-term dev container user ...
msteiner (Fri, 17 Apr 2020 17:32:20 GMT):
except that of course some docker(-compose) parts don't (easily) work in dev-container: any thoughts on this, i.e., whether and how dev container should be considered a "full development environment", @bur given that you are a long-term dev container user ...
msteiner (Fri, 17 Apr 2020 17:37:14 GMT):
it's not only mock server but also fabric-gateway which could bring value to overall fabric when stripped/refactored of auction-specific parts, see https://github.com/hyperledger-labs/fabric-private-chaincode/issues/199
MHBauer (Fri, 17 Apr 2020 18:18:14 GMT):
323 looks close. I Have to pop out for lunch soon.
bur (Fri, 17 Apr 2020 18:21:12 GMT):
will do the rebase/squash now
bur (Fri, 17 Apr 2020 18:54:49 GMT):
one more approval and ready to merge! :D
bur (Fri, 17 Apr 2020 19:30:53 GMT):
uuuhh there it is :D
MHBauer (Fri, 17 Apr 2020 21:07:13 GMT):
oka;.. back
MHBauer (Fri, 17 Apr 2020 22:05:55 GMT):
:ok_hand:
msteiner (Sat, 18 Apr 2020 02:45:40 GMT):
btw: above i missed one thing necessary, even outside of the dev container: we _need_ a branch instead of a tag, or the peer container attempts to build with the wrong state (essentially master, even though reading from the local .git repo as the `git rev-parse --abbrev-ref HEAD` does not work. probably would be better to replace with `git rev-parse HEAD` and checkout commit, rather than branch ...)
MHBauer (Sat, 18 Apr 2020 21:12:33 GMT):
@msteiner I realized now I was conflating building a patched fabric with fabric as a dependency for plugin purposes. They still probably need to match until everything is the same modules version, but it has not strictly related. Good catch.
NewAlexandria (Sun, 19 Apr 2020 02:16:12 GMT):
Has joined the channel.
MHBauer (Mon, 20 Apr 2020 19:54:44 GMT):
@msteiner @jordy24 this thread?
bur (Mon, 20 Apr 2020 19:55:10 GMT):
yes this one
bur (Mon, 20 Apr 2020 19:57:44 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=wcZuTrsCdS452ZLet) @jordy24 I believe that this comment by @msteiner may help you to resolve the docker-related issue you asked me about today.
msteiner (Mon, 20 Apr 2020 20:03:58 GMT):
note the thread though included even more info ...
bur (Mon, 20 Apr 2020 20:06:19 GMT):
ack
bur (Mon, 20 Apr 2020 20:10:41 GMT):
I vote for adding psmisc, docker-compose, and tmux! :D
bur (Mon, 20 Apr 2020 20:15:57 GMT):
@msteiner I think the dev image is nice do build fpc components but I think it gets messy when we start other docker container from that dev environment
bur (Mon, 20 Apr 2020 20:17:50 GMT):
building the demo docker images from inside dev should be possible right? but then running it from the outside is probanbluy what @swetha did - but not sure
MHBauer (Mon, 20 Apr 2020 20:18:06 GMT):
omg, where is this discussion?
MHBauer (Mon, 20 Apr 2020 20:18:12 GMT):
I'm getting a notification, but I can't find it.
msteiner (Mon, 20 Apr 2020 20:20:27 GMT):
@MHBauer i think we should only pkg which are necessary, so definitely psmisc, maybe docker-compose (depending on whether we wan to cover the full set of tests/demos in dev). Tmux is definitely nice, but i think that should be handled via 'DOCKER_DEV_IMAGE_APT_ADD__PKGS' in your config.override.mk as this really gets quickly into personal preferences (i also like tmux but others like screen). in addition you might want also others, e.g., i have the following `DOCKER_DEV_IMAGE_APT_ADD__PKGS='git-extras vim gdb net-tools strace ltrace telnet net-tools vim dnsutils ed valgrind'`
MHBauer (Mon, 20 Apr 2020 20:21:03 GMT):
found you
msteiner (Mon, 20 Apr 2020 20:21:28 GMT):
@bur. you definitely can build from inside; you can even run from inside, just to get volume mapping working you have to same address space outside as inside (e.g., the symlink i've mentioned)
MHBauer (Mon, 20 Apr 2020 20:21:49 GMT):
ah, of course, a config.mk customization.
MHBauer (Mon, 20 Apr 2020 20:22:07 GMT):
I can gree to that, of course I forget it's existence first.
swetha (Mon, 20 Apr 2020 20:22:44 GMT):
Sorry, didn't follow the whole discussion. What was the question?
MHBauer (Mon, 20 Apr 2020 20:22:44 GMT):
I get curious, is makefiles everywhere an intel-ism, or something else in history that has determined this outcome? research?
swetha (Mon, 20 Apr 2020 20:23:26 GMT):
I used to build my peer images outside of my container
swetha (Mon, 20 Apr 2020 20:24:05 GMT):
And i ran everything outside of the dev container as well
swetha (Mon, 20 Apr 2020 20:25:25 GMT):
I only used the dev container when i needed to run the mock backend, which is why that was always a little trickier for me than running a real fabric network. I had to make sure i exposed the right ports, and volume mount the right files
swetha (Mon, 20 Apr 2020 20:25:51 GMT):
No longer have that laptop, so I am basing this off of memory, but unfortunately no way to check exactly what I did anymore
msteiner (Mon, 20 Apr 2020 20:26:32 GMT):
ah, so your pattern was to use dev container only for testing directly executing binary/writing go-code and alike but then did any docker compose stuff outside. But so you never could have done a 'make clean all' or alike but must have done much more selective commands?
swetha (Mon, 20 Apr 2020 20:28:24 GMT):
Usually didn't need to run make clean all because my environment was always fresh
swetha (Mon, 20 Apr 2020 20:28:44 GMT):
But i did run it enough times when integrating things
swetha (Mon, 20 Apr 2020 20:29:02 GMT):
Especially when we were adding the cleanup targets
swetha (Mon, 20 Apr 2020 20:29:17 GMT):
Otherwise yes I would clean and build only what i needed
swetha (Mon, 20 Apr 2020 20:29:24 GMT):
I didn't maintain a long term container
MHBauer (Mon, 20 Apr 2020 20:29:40 GMT):
kind of an oxymoron that one,
swetha (Mon, 20 Apr 2020 20:34:28 GMT):
I could see some people trying to maintain that container. Otherwise each change is difficult to test with how much setup was needed
bur (Mon, 20 Apr 2020 21:15:48 GMT):
thanks @swetha for this clarification! helps alot!
msteiner (Tue, 21 Apr 2020 01:11:19 GMT):
might be more correlated with age than intel, at least for me ;-) When i started, make was the only reasonable and general thing....
msteiner (Tue, 21 Apr 2020 01:11:19 GMT):
@MHBauer regarding your question on makefiles everywhere: might be more correlated with age than intel, at least for me ;-) When i started, make was the only reasonable and general thing (and that time wastly predates my time at Intel, even the 1.5 decades before at IBM ....)
MHBauer (Tue, 21 Apr 2020 14:54:46 GMT):
`die: command not found`
MHBauer (Tue, 21 Apr 2020 14:55:03 GMT):
where is that defined?
msteiner (Tue, 21 Apr 2020 15:49:02 GMT):
there is a function in `fabric/bin/lib/common_utils.sh`. but i suspect you run into the problem i mentioned in "my" thread that you need a branch on tag concept release or some docker images are based on the wrong code
MHBauer (Tue, 21 Apr 2020 17:20:53 GMT):
urgh, changes during the review.
msteiner (Tue, 21 Apr 2020 17:54:25 GMT):
well, at least it is a fixup commit, so you see the update (which tries to address marcus comments). but if you have any suggestion to more closely synchronize reviewing and updating of PRs to address prior comments, i'm all year.
MHBauer (Tue, 21 Apr 2020 18:52:10 GMT):
confused by this error on building
MHBauer (Tue, 21 Apr 2020 18:52:20 GMT):
```
/usr/bin/c++ -DENCLAVE_CODE -Denclave_EXPORTS -I/home/mhb/src/fabric-private-chaincode/examples/auction -I/home/mhb/src/fabric-private-chaincode/ecc_enclave/enclave/../../common -I/home/mhb/src/fabric-private-chaincode/ecc_enclave/enclave/../../common/json -I/home/mhb/src/fabric-private-chaincode/ecc_enclave/enclave/../../ecc_enclave/enclave -I/opt/intel/sgxsdk/include -I/opt/intel/sgxsdk/include/tlibc -I/opt/intel/sgxsdk/include/libcxx -m64 -O2 -nostdinc -fno-builtin -fvisibility=hidden -fpie -fstack-protector -std=c++11 -nostdinc++ -fPIC -o CMakeFiles/enclave.dir/auction_cc.cpp.o -c /home/mhb/src/fabric-private-chaincode/examples/auction/auction_cc.cpp
In file included from /home/mhb/src/fabric-private-chaincode/examples/auction/auction_cc.cpp:7:0:
/home/mhb/src/fabric-private-chaincode/examples/auction/auction_cc.h:9:10: fatal error: string: No such file or directory
#include
MHBauer (Tue, 21 Apr 2020 18:52:38 GMT):
seems accurate that it wouldn't be found with the stdincludes turned off.
MHBauer (Tue, 21 Apr 2020 18:52:39 GMT):
oh
MHBauer (Tue, 21 Apr 2020 18:52:43 GMT):
opt/intel ?
msteiner (Tue, 21 Apr 2020 19:44:29 GMT):
can't remember having seen that problem. Which version of FPC? is that master in attempt of doing no-GOPATH build (given the path to your fpc repo)?
MHBauer (Tue, 21 Apr 2020 19:45:43 GMT):
I didn't install sgx to opt/intel
MHBauer (Tue, 21 Apr 2020 19:45:56 GMT):
cause that isn't mentioned in the official install.
MHBauer (Tue, 21 Apr 2020 19:46:07 GMT):
which is another reason to use the container builds
msteiner (Tue, 21 Apr 2020 19:46:21 GMT):
what do you mean it's not mentioned?
MHBauer (Tue, 21 Apr 2020 19:47:48 GMT):
could be setting the env-vars fixes it
msteiner (Tue, 21 Apr 2020 19:47:53 GMT):
interesting, though, that absence of /opt/intel/sgxsdk gives you this error
MHBauer (Tue, 21 Apr 2020 19:48:18 GMT):
I'm assuming it has it's own stdlib or equivalentt replacements included
MHBauer (Tue, 21 Apr 2020 19:48:40 GMT):
probably I/opt/intel/sgxsdk/include/tlibc -I/opt/intel/sgxsdk/include/libcxx
msteiner (Tue, 21 Apr 2020 19:49:21 GMT):
yep ```find /opt/intel/sgxsdk/ -name '*string*'
/opt/intel/sgxsdk/include/tlibc/string.h
/opt/intel/sgxsdk/include/libcxx/string
/opt/intel/sgxsdk/include/libcxx/__refstring
/opt/intel/sgxsdk/include/libcxx/experimental/string
/opt/intel/sgxsdk/include/libcxx/experimental/string_view
/opt/intel/sgxsdk/include/libcxx/cstring
```
MHBauer (Tue, 21 Apr 2020 19:58:53 GMT):
dang I'm good.
MHBauer (Tue, 21 Apr 2020 19:59:12 GMT):
can't find my drink tho, where did my water go
BrunoVavala (Tue, 21 Apr 2020 20:49:51 GMT):
you don't have to install the sgx sdk necessarily in `/opt ...`.
That prefix comes from the `SGX_SDK` environment variable, which is set by source-ing the `environment` file in the sgx sdk folder.
MHBauer (Tue, 21 Apr 2020 20:52:09 GMT):
exactly so.
msteiner (Tue, 21 Apr 2020 20:52:22 GMT):
@MHBauer do you know by chance what has happened with dev mode in fabric v2.0? Corresponding docu page disappeared ...
MHBauer (Tue, 21 Apr 2020 20:54:27 GMT):
dev mode?
MHBauer (Tue, 21 Apr 2020 20:55:36 GMT):
I see https://hyperledger-fabric.readthedocs.io/en/release-2.0/prereqs.html as about usual to me.
MHBauer (Tue, 21 Apr 2020 20:55:55 GMT):
but being fabric everything is spread out over 17 pages.
msteiner (Tue, 21 Apr 2020 20:59:34 GMT):
https://hyperledger-fabric.readthedocs.io/en/release-1.4/peer-chaincode-devmode.html
msteiner (Tue, 21 Apr 2020 21:00:56 GMT):
i wanted to to debug the sgx problem with gdb but then discovered the docu was not there anymore. with external builder in fpc you have right away chaincode in host, so you can attach gdb/sgx_gdb to a running chaincode. So slightly less of an issue. But still would have been nice to start via gdb ..
msteiner (Tue, 21 Apr 2020 21:01:30 GMT):
https://hyperledger-fabric.readthedocs.io/en/release-1.4/peer-chaincode-devmode.html
MHBauer (Tue, 21 Apr 2020 21:01:40 GMT):
Ah, I see.
MHBauer (Tue, 21 Apr 2020 21:01:42 GMT):
I recall that now.
MHBauer (Tue, 21 Apr 2020 21:06:03 GMT):
replaced by https://hyperledger-fabric.readthedocs.io/en/release-2.0/chaincode4ade.html
MHBauer (Tue, 21 Apr 2020 21:06:24 GMT):
according to https://jira.hyperledger.org/browse/FAB-15715 anyway.
MHBauer (Tue, 21 Apr 2020 21:07:39 GMT):
not sure I entirely agree
MHBauer (Tue, 21 Apr 2020 21:08:55 GMT):
doesn't even mention the `--peer-chaincodedev` flag
msteiner (Tue, 21 Apr 2020 22:05:25 GMT):
yep, i also saw that link referenced but it doesn't really cover about dev mode as in the old doc
MHBauer (Tue, 21 Apr 2020 22:42:21 GMT):
you should file an issue
MHBauer (Thu, 23 Apr 2020 17:26:29 GMT):
@msteiner definitely doesn't seem like the gateway is running. https://github.com/hyperledger-labs/fabric-private-chaincode/issues/332
MHBauer (Thu, 23 Apr 2020 17:26:52 GMT):
or if it is, it is not relevant to the tests passing in CI
msteiner (Thu, 23 Apr 2020 18:08:13 GMT):
not sure why you say that: scenario-run triggered by make target test will trigger demo/scripts/startFPCAuctionNetwork.sh which in turn starts the fabric-gateway (as auction_client service in docker-compose.yaml). Note though all of that is run in some docker, not directly on your host ...
MHBauer (Thu, 23 Apr 2020 18:08:41 GMT):
so then there is no test that checks?
msteiner (Thu, 23 Apr 2020 18:09:07 GMT):
checks what?
msteiner (Thu, 23 Apr 2020 18:09:28 GMT):
it does check that the auction scenario successfully completed ...
MHBauer (Thu, 23 Apr 2020 18:09:29 GMT):
that the image runs and does what it needs to do?
MHBauer (Thu, 23 Apr 2020 18:09:32 GMT):
https://travis-ci.org/github/MHBauer/fabric-private-chaincode/builds/678682326
msteiner (Thu, 23 Apr 2020 18:09:39 GMT):
so fabric-gateway must have run in some form
MHBauer (Thu, 23 Apr 2020 18:09:52 GMT):
this *has NO implementation*
MHBauer (Thu, 23 Apr 2020 18:10:05 GMT):
but still it passed.
msteiner (Thu, 23 Apr 2020 18:56:19 GMT):
due to some outlook issue i only saw now your github comments. But why do you use travis to test that? Just run 'make' from top-level on your own machine and it should be all exercised? Also easiest way to manually checking on how and whether it works?
MHBauer (Thu, 23 Apr 2020 19:24:04 GMT):
running it locally or on travis is not relevant.
MHBauer (Thu, 23 Apr 2020 19:24:22 GMT):
it should do the same in both places, and it should not pass without an implementation.
MHBauer (Thu, 23 Apr 2020 19:24:34 GMT):
so it cannot be being run or being tested.
msteiner (Thu, 23 Apr 2020 19:27:53 GMT):
I am absolute sure it `make` runs fabric-gateway on concept-release, just confirmed from my make log-file.
MHBauer (Thu, 23 Apr 2020 19:28:03 GMT):
what's that look like?
msteiner (Thu, 23 Apr 2020 19:28:43 GMT):
well, i see auction_frontend built, auction_frontend started and then see the scenario script do all it's action which doesn't work if there is now auction_frontend
MHBauer (Thu, 23 Apr 2020 19:28:50 GMT):
and `concept-release` is before we started making changes?
MHBauer (Thu, 23 Apr 2020 19:28:56 GMT):
annd a tag?
msteiner (Thu, 23 Apr 2020 19:29:19 GMT):
this is concept-release with only changes as outlined last week. I.e., _no_ code change
MHBauer (Thu, 23 Apr 2020 19:29:27 GMT):
so youdevelop agianst that tag and then push to master?
msteiner (Thu, 23 Apr 2020 19:30:21 GMT):
well, i will eventually push this against a new concept-release-1.0 branch
msteiner (Thu, 23 Apr 2020 19:30:40 GMT):
but as you talked this morning already about changing code, i assumed you got it already working in the original version
MHBauer (Thu, 23 Apr 2020 19:31:13 GMT):
not sure what we mean original version.
msteiner (Thu, 23 Apr 2020 19:33:30 GMT):
the version tagged concept-release
MHBauer (Thu, 23 Apr 2020 19:33:45 GMT):
okay, I can rebase against that and watch it
msteiner (Thu, 23 Apr 2020 19:34:01 GMT):
(with no code change, only change of Dockerfile and branch on that tag so 'make' works)
msteiner (Thu, 23 Apr 2020 19:34:15 GMT):
why rebase?
MHBauer (Thu, 23 Apr 2020 19:34:32 GMT):
the particular change set
msteiner (Thu, 23 Apr 2020 19:34:41 GMT):
i have the feeling you have other changes which seem to bypass scenario-run
msteiner (Thu, 23 Apr 2020 19:35:07 GMT):
what happens in your version if you run manually 'make test' in `demo/client/scripting`
msteiner (Thu, 23 Apr 2020 19:36:23 GMT):
as fabric gateway runs in docker, could also be that for whatever reason your docker image with the fabric-gateway in it doesn't contain your changes.
MHBauer (Thu, 23 Apr 2020 19:38:10 GMT):
funny looking,
```
```
MHBauer (Thu, 23 Apr 2020 19:38:10 GMT):
funny looking,
```
./scenario-run.sh --bootstrap --non-interactive ../../scenario/script
env: ‘NO’: No such file or directory
env: ‘NO’: No such file or directory
```
msteiner (Thu, 23 Apr 2020 19:38:49 GMT):
in any case, i think it would be good that you can run that test _without_ your changeset to understand what the test does and how it does it. Then it will be easier to figure out why it doesn't work after your changes ...
msteiner (Thu, 23 Apr 2020 19:42:24 GMT):
might be something wrong with your environment. run with `bash -vx` prefixed probably should tell you more
msteiner (Thu, 23 Apr 2020 19:44:11 GMT):
do you have any paths with spaces?
MHBauer (Thu, 23 Apr 2020 19:44:23 GMT):
oooh, probably
msteiner (Thu, 23 Apr 2020 19:44:27 GMT):
actually, what is your SGX_MODE
MHBauer (Thu, 23 Apr 2020 19:44:28 GMT):
that was an issue before.
msteiner (Thu, 23 Apr 2020 19:44:52 GMT):
nope, i think i know the issue
MHBauer (Thu, 23 Apr 2020 19:45:15 GMT):
could be unset in this terminal, Iswitch around a lot
msteiner (Thu, 23 Apr 2020 19:45:18 GMT):
you run on a machine without sgx but your SGX_MODE is (probably implicitly, as it is the default) defined as HW
msteiner (Thu, 23 Apr 2020 19:46:06 GMT):
in that case utils/docker-compose/scripts/lib/common.sh on line 59 the scripts are looking but cannot find the sgx device
msteiner (Thu, 23 Apr 2020 19:46:33 GMT):
i think the "NO" you see is from the "ERROR: NO SGX DEVICE FOUND"
MHBauer (Thu, 23 Apr 2020 19:46:37 GMT):
lol
msteiner (Thu, 23 Apr 2020 19:48:23 GMT):
i'm surprised though that above was all the error you got. in general with 'try' it should on error also return the whole command which failed which should make it somewhat obvious
msteiner (Thu, 23 Apr 2020 19:50:07 GMT):
ah, i see: Swetha didn't use fabric/bin/lib/common_utils.sh, e.g., try, for demo/scripts/startFPCAuctionNetwork.sh. so you didn't get the failing command (same is true also in ../../../utils/docker-compose/scripts/start.sh)
MHBauer (Thu, 23 Apr 2020 19:57:00 GMT):
I'll try next. back on concept releaseto see what that does.
MHBauer (Thu, 23 Apr 2020 19:58:30 GMT):
hmn, server unhappy with it at
```
Step 31/32 : RUN cd $FABRIC_PATH && git config user.email "FPC" && git am $FPC_PATH/fabric/*patch && git config --unset user.email && GO_TAGS=pluginsenabled make peer orderer cryptogen configtxgen
---> Running in e0888b2304ec
Applying: Integrate tlcc syscc
Patch failed at 0001 Integrate tlcc syscc
Use 'git am --show-current-patch' to see the failed patch
error: internal/peer/node/start.go: does not exist in index
The command '/bin/sh -c cd $FABRIC_PATH && git config user.email "FPC" && git am $FPC_PATH/fabric/*patch && git config --unset user.email && GO_TAGS=pluginsenabled make peer orderer cryptogen configtxgen' returned a non-zero code: 128
Makefile:100: recipe for target 'dev' failed
```
msteiner (Thu, 23 Apr 2020 20:01:47 GMT):
you did apply the changes to the two dockerfiles and created a branch? (i.e., what i listed last week in the concep-release thread on rocket-chat?)
MHBauer (Thu, 23 Apr 2020 20:02:36 GMT):
no, I probably missed it.
MHBauer (Thu, 23 Apr 2020 20:03:06 GMT):
really need to automate it and make a new tag/branch/release if these changes are required.
msteiner (Thu, 23 Apr 2020 20:03:49 GMT):
you didn't miss it, you actually replied on that thread. We actually discussed this thread and that you actually replied also earlier ...
msteiner (Thu, 23 Apr 2020 20:03:49 GMT):
you didn't miss it, you actually replied on that thread. We actually discussed this thread and that you actually replied also earlier this week (when this thread also came up on some slack discussion) ...
MHBauer (Thu, 23 Apr 2020 20:16:02 GMT):
I see this, but not the actual changes? What's the modification?
msteiner (Thu, 23 Apr 2020 20:18:09 GMT):
i think the diff was on the original thread but find it also here
```
diff --git a/utils/docker/dev/Dockerfile b/utils/docker/dev/Dockerfile
index 167ecc1..10d0538 100644
--- a/utils/docker/dev/Dockerfile
+++ b/utils/docker/dev/Dockerfile
@@ -10,7 +10,7 @@ ARG NANOPB_VERSION=0.3.9.2
ARG FABRIC_REPO=https://github.com/hyperledger/fabric.git
ARG FABRIC_VERSION=v1.4.3
ARG FPC_REPO_URL=https://github.com/hyperledger-labs/fabric-private-chaincode.git
-ARG FPC_REPO_BRANCH=master
+ARG FPC_REPO_BRANCH=concept-release
ARG OPENSSL_VERSION=1.1.0j
ARG SGXSSL_VERSION=v2.4.1
diff --git a/utils/docker/peer/Dockerfile b/utils/docker/peer/Dockerfile
index 28104cd..7470ce3 100644
--- a/utils/docker/peer/Dockerfile
+++ b/utils/docker/peer/Dockerfile
@@ -10,7 +10,7 @@ ARG NANOPB_VERSION=0.3.9.2
ARG FABRIC_REPO=https://github.com/hyperledger/fabric.git
ARG FABRIC_VERSION=v1.4.3
ARG FPC_REPO_URL=https://github.com/hyperledger-labs/fabric-private-chaincode.git
-ARG FPC_REPO_BRANCH=master
+ARG FPC_REPO_BRANCH=concept-release
ARG OPENSSL_VERSION=1.1.0j
ARG SGXSSL_VERSION=v2.4.1
ARG SGX_MODE=SIM
```
msteiner (Thu, 23 Apr 2020 20:18:41 GMT):
as mentioned above (and in the original thread ;-) you also have to create a branch on the tag (but that you might have now anyway)
msteiner (Thu, 23 Apr 2020 20:19:19 GMT):
i think that was it if you run it directly on the host. if you would have wanted it run in the dev container there were a few additional things
MHBauer (Thu, 23 Apr 2020 20:21:07 GMT):
Ah, I recall this. Very difficult conundrum.
MHBauer (Thu, 23 Apr 2020 20:22:23 GMT):
well maybe a different thing that what I remember.
MHBauer (Thu, 23 Apr 2020 20:22:30 GMT):
too complicated.
MHBauer (Thu, 23 Apr 2020 20:28:56 GMT):
only defined as input for peer, and not for dev.
MHBauer (Thu, 23 Apr 2020 20:29:16 GMT):
that ought to cause a warning.
bur (Thu, 23 Apr 2020 20:30:20 GMT):
@MHBauer ```Applying: Integrate tlcc syscc
Patch failed at 0001 Integrate tlcc syscc
``` tells me that you try to apply a patch we pushed recently after the concept release
MHBauer (Thu, 23 Apr 2020 20:31:03 GMT):
Yea, I think that's that @msteiner was poiinting at, it's pulling 'master' even tho that's way in the future.
bur (Thu, 23 Apr 2020 20:31:04 GMT):
once you checked out concept-release make sure there are no untracked files
bur (Thu, 23 Apr 2020 20:31:10 GMT):
aha
bur (Thu, 23 Apr 2020 20:31:26 GMT):
sorry
MHBauer (Thu, 23 Apr 2020 20:31:36 GMT):
bat at some point, should make sure everything works out the box, without changes.
MHBauer (Thu, 23 Apr 2020 20:31:44 GMT):
otherwise nobody will try.
bur (Thu, 23 Apr 2020 20:31:48 GMT):
+!
bur (Thu, 23 Apr 2020 20:31:50 GMT):
+1
MHBauer (Thu, 23 Apr 2020 20:32:07 GMT):
and go to sleep.
MHBauer (Thu, 23 Apr 2020 20:32:16 GMT):
or have dinner, or something.
MHBauer (Thu, 23 Apr 2020 20:32:19 GMT):
:-D
bur (Thu, 23 Apr 2020 20:32:36 GMT):
:)
bur (Thu, 23 Apr 2020 20:32:44 GMT):
:woo:
bur (Thu, 23 Apr 2020 20:33:01 GMT):
just came back from kitchen :D
msteiner (Thu, 23 Apr 2020 20:33:59 GMT):
that's why you need two changes: explicitly mention concept release branch in dev and peer dockerfile and also need the branch. Actually, you probably can leave the peer dockerfile unmodifed, the makefile tries to devine the branch but that also works only on branches, not tags (as discussed also earlier week in some threads)
msteiner (Thu, 23 Apr 2020 20:54:42 GMT):
regarding working out of the box, i am working on a PR but as we also talked about versioning images and other stuff it's not just 2 min PR. that's why i was posting all my findings last week so you could replicate that manually for now and look at demo and gateway ....
MHBauer (Thu, 23 Apr 2020 20:55:51 GMT):
yea, I can see why it isn't a quick fix.
MHBauer (Thu, 23 Apr 2020 20:56:29 GMT):
lol, 503 to get the avatar.
MHBauer (Thu, 23 Apr 2020 20:57:16 GMT):
I give for now, but we'll have to talk next week.
msteiner (Thu, 23 Apr 2020 23:12:42 GMT):
as you mention that. Given that we anyway need a branch and obsolete current concept-release tag, we might as well bump the concept-release-1.0 branch to commit 82d600660d254a9013f5b5924f7bcbfe3d65e750
msteiner (Thu, 23 Apr 2020 23:13:52 GMT):
that commit does make avatars more robust (and is actually the last one before we started with re-org to fabric v2.0
msteiner (Thu, 23 Apr 2020 23:14:38 GMT):
swetha might have mixed feelings, though: she would get dropped as maintainer from concept-release :-)
swetha (Fri, 24 Apr 2020 18:45:47 GMT):
😂
MHBauer (Mon, 27 Apr 2020 19:54:53 GMT):
I think we're waiting for this to be finished: https://jira.hyperledger.org/browse/FABG-928
specifically: https://jira.hyperledger.org/browse/FABG-935
MHBauer (Mon, 27 Apr 2020 20:06:42 GMT):
short version being, node-gateway is it for now.
msteiner (Mon, 27 Apr 2020 20:29:39 GMT):
note the original idea was to add it to concept release (1.0) first, so that would still be the v1.4 programming model. As we got to v2.0, there is actually also a programming model/API change for the node sdk (see the corresponding reference to fabric-network in https://github.com/hyperledger-labs/fabric-private-chaincode/issues/165 )
MHBauer (Mon, 27 Apr 2020 21:12:45 GMT):
I see in `concept-release` use of wallet and gateway, which are 1.4 features, so I'm not sure what you are trying to say.
MHBauer (Mon, 27 Apr 2020 21:13:09 GMT):
@jordy24
msteiner (Mon, 27 Apr 2020 21:15:18 GMT):
the jira you referenced seem to apply to v2.0, so wouldn't seem relevant to 1.4?
MHBauer (Mon, 27 Apr 2020 21:15:45 GMT):
I mean, they do not exist in the go version as of 2.0, sure
MHBauer (Mon, 27 Apr 2020 21:15:53 GMT):
but they also didn't exist in the go version for 1.4
MHBauer (Mon, 27 Apr 2020 21:16:13 GMT):
they are predicting a fix in the 2.x time frame
MHBauer (Mon, 27 Apr 2020 21:16:20 GMT):
not that it's a 2.x feature
msteiner (Mon, 27 Apr 2020 21:18:08 GMT):
so there was no v1.4 client sdk in go?
msteiner (Mon, 27 Apr 2020 21:18:35 GMT):
(or only a radically different one to the 1.4 node sdk?)
MHBauer (Mon, 27 Apr 2020 21:20:02 GMT):
radically different one
MHBauer (Mon, 27 Apr 2020 21:20:16 GMT):
only supporting the unsupported cryptogen format
MHBauer (Mon, 27 Apr 2020 21:20:50 GMT):
which really kind of makes it a unsupported supported client, doesn't it.
msteiner (Mon, 27 Apr 2020 21:21:27 GMT):
whatever the unsupported cryptogen format is :-)
MHBauer (Mon, 27 Apr 2020 21:21:45 GMT):
it's the output of the cryptogen command which is touted as "not production ready"
msteiner (Mon, 27 Apr 2020 21:22:47 GMT):
production ready is all relative: i'd argue that without BFT-orderer nothing is production ready ;-)
MHBauer (Mon, 27 Apr 2020 21:23:02 GMT):
:rolling_eyes: :rofl:
MHBauer (Mon, 27 Apr 2020 21:27:14 GMT):
is that where @BrunoVavala will focus on becoming a maintainer?
BrunoVavala (Mon, 27 Apr 2020 21:30:00 GMT):
Marko is focusing on that with Mir-BFT https://arxiv.org/pdf/1906.05552.pdf
MHBauer (Mon, 27 Apr 2020 21:36:24 GMT):
nice,
bur (Tue, 28 Apr 2020 15:54:42 GMT):
@MHBauer @jordy24 https://github.com/hyperledger-labs/fabric-private-chaincode/blob/master/docs/design/fabric-v2%2B/fpc-cc-invocation.puml
MHBauer (Tue, 28 Apr 2020 15:55:08 GMT):
thanks, take a look.
bur (Tue, 28 Apr 2020 15:55:41 GMT):
in this diagram User Org1 is implemented by some fabric sdk
bur (Tue, 28 Apr 2020 15:56:35 GMT):
steps like arg encryption we would like to wrap in some kind of fpc layer for the client sdk
bur (Tue, 28 Apr 2020 15:56:43 GMT):
and hide it from the "real" user
MHBauer (Tue, 28 Apr 2020 20:24:18 GMT):
bur@zur, should go by burzur
msteiner (Tue, 28 Apr 2020 20:39:59 GMT):
the diagram doesn't currently distinguish between client the human and client the code it runs. As commented elsewhere, e.g., on bruno's PR regarding registration, i think we should make that distinction. It is certainly not the intention here that the human does the encryption :-)
bur (Tue, 28 Apr 2020 21:15:42 GMT):
tell me ... is a `replace github.com/hyperledger-labs/fabric-private-chaincode/ercc => ./ercc` in `go.mods` a bad thing?
bur (Tue, 28 Apr 2020 22:02:41 GMT):
PR 342 is ready for review. Thanks! https://github.com/hyperledger-labs/fabric-private-chaincode/pull/342
MHBauer (Wed, 29 Apr 2020 19:03:39 GMT):
I think I understand the issue, and I think we can get rid of it.
msteiner (Wed, 29 Apr 2020 19:07:02 GMT):
Can folks give some love to PR #339 and review it? In particular @MHBauer you were playing with concept release tag/branch and so should know the original issues.
msteiner (Wed, 29 Apr 2020 19:07:02 GMT):
Can folks give some love to [PR #339](https://github.com/hyperledger-labs/fabric-private-chaincode/pull/339) and review it? In particular @MHBauer you were playing with concept release tag/branch and so should know the original issues.
MHBauer (Wed, 29 Apr 2020 19:12:04 GMT):
oh, but I forgot ercc is a module itself, so that should be fine.
msteiner (Wed, 29 Apr 2020 19:14:24 GMT):
Note that the changes also will then have to be applied to master and affect work i will have to do on concept release 2.0.1, so i would appreciate if we could resolve this sooner than later. thanks
MHBauer (Wed, 29 Apr 2020 19:35:20 GMT):
something in clean seems to rely on sgx being set up
MHBauer (Wed, 29 Apr 2020 19:35:30 GMT):
so I get `env: ‘NO’: No such file or directory` with `make clobber`.
MHBauer (Wed, 29 Apr 2020 19:37:02 GMT):
and some stuff leftover for me to manually `sudo rm` due to using docker.
msteiner (Wed, 29 Apr 2020 20:48:00 GMT):
this is due to having SGX_MODE=HW defined which your platform presuamably does not support (or at least you haven't installed the PSW and kernel driver). There are two potential changes in mind we could do: (a) change the default of SGX_MODE from HW to SIM and/or (b) make the error message clearer (a quite fix is to replace in the source of the error mesage (line 55 in `utils/docker-compose/scripts/lib/common.sh`) the spaces after the NO with '_' and so the whole intended message is shown.
bur (Thu, 30 Apr 2020 17:52:34 GMT):
changing default to SGX_MODE=SIM would be another useful commit we can cherry pick in the cr1.0.1 release
bur (Thu, 30 Apr 2020 17:53:26 GMT):
also mounting the dev container to the local file sys by default would be helpful;
msteiner (Thu, 30 Apr 2020 18:00:25 GMT):
i added that already to 339, to be forward ported to master ...
msteiner (Thu, 30 Apr 2020 18:03:43 GMT):
regarding volume-mount on run, i actually just realize i'm stupid: the current CR version does _not_ yet do the volume mount on run, so obviously all the symlink hacks wouldn't have worked. So maybe the symlink hack after all _does_ indeed work (as it seemed at some point during testing)
msteiner (Thu, 30 Apr 2020 18:06:02 GMT):
That said, i don't want to wait for another two week to get that PR merged: are you fine if i backport volume-mount patch and fix the re-run issue with docker-container (by removing any already existing (but non-running!) dev docker-container instances)?
msteiner (Mon, 04 May 2020 17:09:29 GMT):
Update on PR #339: call for input and review
msteiner (Mon, 04 May 2020 17:09:29 GMT):
Update on PR [#339](https://github.com/hyperledger-labs/fabric-private-chaincode/pull/339): call for input and review
msteiner (Mon, 04 May 2020 17:11:50 GMT):
I have extended #339 to hopefully give now a a clean foundation for doing all development and testing inside a dev container, addressing hopefully addressing some of Matt's concern (see newly created [issue #348](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/348)
msteiner (Mon, 04 May 2020 17:13:28 GMT):
as i don't have access to a mac, i'd appreciate if @jordy24 could test the PR on a mac
msteiner (Mon, 04 May 2020 17:17:23 GMT):
the PR currently has quite a few commits (28, that is). some of them "pre-existing" and inherited from master (8) and some fixups (10). To make the PR a bit easier to review, i could (a) separate the first 8 pre-existing commits (i.e., advancing the concept-release-1.0 branch to a forking point including the improved avatar handling) which we when could quickly merge and (b) autosquash the fixups (unless you have already carefully looked at the commits, the fixups shouldn't give you much valuable info). Let me know if you would want me to do (a) and/or (b) ...
msteiner (Mon, 04 May 2020 17:23:01 GMT):
@MHBauer as you already had a look at it and also dabbled a bit with concept release and dev container, it would be great if you could have a look. thanks.
msteiner (Mon, 04 May 2020 17:25:24 GMT):
In any case, would be great if folks could review it today as I have to also forward-port it to master and other stuff in master/concept-release-2.0.1 will depend on this.
msteiner (Mon, 04 May 2020 17:29:16 GMT):
btw: even if you read the description of #339 before, you might want to re-read it again as i've updated it greatly ..
jordy24 (Mon, 04 May 2020 18:38:27 GMT):
I have tested PR #339 on mac using the docker dev container and the demo is running fine.... I execute all the scripts found in the demo readme inside the container
MHBauer (Tue, 05 May 2020 15:52:01 GMT):
@msteiner too hard on the search and replace hammer, I think.
MHBauer (Tue, 05 May 2020 15:52:36 GMT):
no, nevermind
MHBauer (Tue, 05 May 2020 15:52:39 GMT):
I'm a dope
MHBauer (Tue, 05 May 2020 15:54:16 GMT):
:ok_hand:
MicBowman (Thu, 07 May 2020 16:13:50 GMT):
@rjagadee i think @hartm will be able to come in and talk at the AWG meeting in two weeks about the problem we discussed of representing a ledger in a "computable" way for the purpose of automating trust
hartm (Thu, 07 May 2020 16:13:50 GMT):
Has joined the channel.
rjagadee (Thu, 07 May 2020 16:13:50 GMT):
Has joined the channel.
msteiner (Thu, 07 May 2020 22:51:54 GMT):
fyi: don't run `make clobber' or more specifically, don't try to rebuild the base image. Seems there is an github failure that various binary release packages, including protobuf, cannot be properly download (seems some "interesting" failure in the redirect from github the aws s3 which results in some xml signature failure andor/401 depending on how you try to access the package)
msteiner (Thu, 07 May 2020 22:57:20 GMT):
is fixed again.....
msteiner (Thu, 07 May 2020 22:57:36 GMT):
(https://github.com/docker/compose/issues/7433)
msteiner (Thu, 14 May 2020 20:45:37 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description
which hopefully captures the minimal goal of what it should
achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to
the MVP items so we can also meet the MVP deadline, but from a
priority perspective i thought it's good to first list things
which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've
created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add
additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture
Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link
it to Tech Review mileston
- Apropos milestones, what are we going to do with following
milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm
not sure if all are still useful/necessary. Do you see any use
in the current milestones ore should we maybe just drop these
milestones and redistribute the correspondings to over milestones
and/or just label them to keep track on the nature of issue they
are? (In that context, are we realistically going to do anything
with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we
might better just close it and re-open if we think we ever want
to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on
github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
* [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
* [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
- [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
- [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
* [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
* [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:48:51 GMT):
Tech Preview: Following today's discussion i took a initial stab on
the Tech Preview milestone
- i've created a new github milestone [Tech Preview](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/40) with a description which hopefully captures the minimal goal of what it should achieve and some issues which probably should be part of it.
Clearly there will also have to be additional issues related to the MVP items so we can also meet the MVP deadline, but from a priority perspective i thought it's good to first list things which are on the critical path for this milestone.
- Given that we didn't have anything related to the RFC, i've created a [RFC Feature](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/356), but obviously we will have to add additional work-items, e.g., the initial revision and alike.
- for protocols i left the separate [Protocol & Architecture Specifications Milestone](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/9) but created an issue to explicitly link it to Tech Review mileston
- Apropos milestones, what are we going to do with following milestones:
* [Z - Parking Lot - Mature the Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/30)
* [Update Current Code Base](https://github.com/hyperledger-labs/fabric-private-chaincode/milestone/35)
They are currently a bit confusing in the milestone view and i'm not sure if all are still useful/necessary. Do you see any use in the current milestones ore should we maybe just drop these milestones and redistribute the correspondings to over milestones and/or just label them to keep track on the nature of issue they are? (In that context, are we realistically going to do anything with [#251: New Tags for better issue structuring](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/251)? Otherwise we might better just close it and re-open if we think we ever want to revisit this)
Anyway, please have a look at it, change as seem fit and/or discuss on github or here in rocketchat.
msteiner (Thu, 14 May 2020 20:55:39 GMT):
test
- a list
- a sub-list
- another bullet of sub-list
- second top-level item
msteiner (Thu, 14 May 2020 22:48:14 GMT):
btw: regarding the docker (credential) errors: while [this comment](https://github.com/docker/docker-credential-helpers/issues/103#issuecomment-576854271) claimed it was fixed in 18.04.3, i do have the updated latest version of 18.04(.4) and still see the error. I also noticed though also that according to [travis doc](https://docs.travis-ci.com/user/reference/bionic/) they might use their own version of docker, e.g., they say they use docker 18.06.0 whereas my 18.0.4 has 19.03.6 ..
bur (Fri, 15 May 2020 16:17:10 GMT):
I would vote for removing parking lot and update current code base milestones
msteiner (Fri, 15 May 2020 16:22:18 GMT):
removing was also my preferred choice, just was not sure what exactly do with the issues. I've done an earlier pass and moved some obvious ones. Maybe you could do also a pass through the issues and re-assign/de-milestone/re-label them as appropriate?
BTW: please try to use threads. I know they are not great in rocket-chat but for any serious multi-round discussion i think it is essential to keep context ....
bur (Mon, 18 May 2020 06:56:02 GMT):
@BrunoVavala please have a look at this https://github.com/hyperledger-labs/fabric-private-chaincode/pull/360
msteiner (Mon, 18 May 2020 16:55:10 GMT):
@bur along these lines, can you have a look at #353 and #333? I did a review of them on friday but as you had also looked earlier at 333 and had concern it would be good if you could add your review. thanks
msteiner (Mon, 18 May 2020 18:03:18 GMT):
btw: please look at above notes of mine from friday regarding tech preview (and the related github issues) before tomorrow's call. any earlier feedback is of course welcome as well :-) thanks
bur (Tue, 19 May 2020 20:06:06 GMT):
I think the Tech Preview Milestone is very good start; in particular the link to the protocol spec/design makes sense; I have the feeling that we should focus now protocol and design and pause other implementation activities.
bur (Tue, 19 May 2020 20:06:50 GMT):
once the protocols and design is set we actually have a basis to continue to feed the RFC with more content
bur (Tue, 19 May 2020 20:08:08 GMT):
for the RFC the client-facing design is also relevant
BrunoVavala (Mon, 01 Jun 2020 19:38:16 GMT):
any reason why in the top makefile the "linter" target (1) depends on build, (2) runs last?
msteiner (Mon, 01 Jun 2020 19:40:42 GMT):
the dependence on build is as linter fails when not built, being last is a historical artifact of having in the past not being robust and failing some times. That said, to me it also has lower priority to pass than, say, tests, so (close to last) seems an appropriate place ...
BrunoVavala (Mon, 01 Jun 2020 20:43:51 GMT):
priority is low, but since it takes few seconds to run, it would be nice to run it immediately rather than possibly seeing it fail after a >30min build where tests succeed.
bur (Tue, 02 Jun 2020 07:02:10 GMT):
we added build dep to linter due to code generation
bur (Tue, 02 Jun 2020 07:03:09 GMT):
such as ercc ias provider
bur (Tue, 02 Jun 2020 07:03:30 GMT):
linting ercc will fail unless we have generated the provider.go with running build
bur (Tue, 02 Jun 2020 07:04:05 GMT):
but I agree with you that it would be nice to not force re-build when you just wanna run linting
bur (Wed, 10 Jun 2020 16:05:58 GMT):
@here please have a look at this and give a review https://github.com/hyperledger-labs/fabric-private-chaincode/pull/371
dtomczyk (Thu, 11 Jun 2020 15:48:41 GMT):
Has joined the channel.
msteiner (Thu, 11 Jun 2020 18:37:27 GMT):
given that we have two positive reviews for https://github.com/hyperledger-labs/fabric-private-chaincode/pull/369, i guess Marcus you can merge?
z3100 (Fri, 19 Jun 2020 04:46:44 GMT):
Has joined the channel.
MicBowman (Fri, 19 Jun 2020 23:07:01 GMT):
https://www.ibm.com/cloud/blog/enigma-and-ibm-cloud-are-protecting-human-lives-as-well-as-data-privacy
huxd (Sun, 28 Jun 2020 02:24:30 GMT):
Has joined the channel.
bur (Fri, 03 Jul 2020 06:21:03 GMT):
FPC Tech Preview / Concept Release 2.0.0 is out! https://github.com/hyperledger-labs/fabric-private-chaincode
msteiner (Thu, 09 Jul 2020 17:56:24 GMT):
FYI: the FPC community call on next Tuesday 7/14 will be shortened from 8:00-8:15 PDT as it overlaps with the SGX Community Workshop that day (and 7/15) from 8:00-12:30 PDT.
(In case you are interested in the workshop and haven't already received a corresponding calendar invite, let me know and i'll forward it to you ...)
bur (Fri, 10 Jul 2020 07:31:46 GMT):
@msteiner I assigned this to you https://github.com/hyperledger-labs/fabric-private-chaincode/pull/396
bur (Fri, 10 Jul 2020 07:31:52 GMT):
:D
AshutoshKumar7 (Tue, 04 Aug 2020 14:58:38 GMT):
Has joined the channel.
guanzs (Thu, 27 Aug 2020 03:37:40 GMT):
Has joined the channel.
guanzs (Thu, 27 Aug 2020 03:37:41 GMT):
Hello, everyone, can you help me? I am new to Intel SGX and docker. I have built docker images as fabric-private-chaincode official documents, and want to run Hello-World example, but it reports 'cannot find -lshim' error in the container as follows:
```
[ 50%] Linking CXX shared library enclave.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/enclave.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -m64 -O2 -nostdinc -fno-builtin -fvisibility=hidden -fpie -fstack-protector -std=c++11 -nostdinc++ -shared -Wl,-soname,enclave.so -o enclave.so CMakeFiles/enclave.dir/helloworld_cc.cpp.o -m64 -O2 -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles -L/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc_enclave/enclave/../../ecc_enclave/_build/lib -lshim -L/opt/intel/sgxssl/lib64 -Wl,--whole-archive -lsgx_tsgxssl -Wl,--no-whole-archive -lsgx_tsgxssl_crypto -L/opt/intel/sgxsdk/lib64 -Wl,--whole-archive -lsgx_trts_sim -Wl,--no-whole-archive -Wl,--start-group -lsgx_tstdc -lsgx_tcxx -lsgx_tcrypto -lsgx_tservice_sim -Wl,--end-group -Wl,-Bstatic -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-pie,-eenclave_entry -Wl,--export-dynamic -Wl,--defsym,__ImageBase=0 -Wl,--version-script=/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc_enclave/enclave/../../ecc_enclave/enclave/enclave.lds
/usr/bin/ld: cannot find -lshim
collect2: error: ld returned 1 exit status
CMakeFiles/enclave.dir/build.make:97: recipe for target 'enclave.so' failed
```
I have tested different branches like concept-release-1.0, concept-release-2.0, and master, but it does not work. Thanks for your help!
msteiner (Thu, 27 Aug 2020 04:01:45 GMT):
can you give a bit more details on what exactly you did when you got above error? Did you do a build (e.g.,, `make` in $FPC_PATH) before trying to run the hello world example (and if so, did that make succeed?) Lastly, are you running that inside a development container or on "bare metal'?
guanzs (Thu, 27 Aug 2020 07:19:46 GMT):
I built docker images as [Option 1: Using the Docker-based FPC Development Environment](https://github.com/hyperledger-labs/fabric-private-chaincode/tree/concept-release-1.0#option-1-using-the-docker-based-fpc-development-environment) and run hello world example as [Hello World Tutorial](https://github.com/hyperledger-labs/fabric-private-chaincode/blob/concept-release-1.0/examples/README.md#hello-world-tutorial). On my localhost, I just install Fabric dependencies, and want to use official preconfigured Docker container development environment for FPC. Hence I download codes and checkout it at concept-release-1.0 branch; then `cd utils/docker; make dev` to build docker images and use it with
`cd utils/docker; make run` which opens a shell inside the FPC development container; finally, in the above container, I want to run hello world example, but it reports the mentioned error. The operations are available at [Github](https://github.com/Agzs/fabric-private-chaincode/blob/concept-release-1.0/operations.log)
msteiner (Thu, 27 Aug 2020 15:53:24 GMT):
you have first to build FPC inside the developement container! I.e., you have to call `make` inside the development container (the shell you get after running `make run` on the host)!
guanzs (Fri, 28 Aug 2020 03:10:34 GMT):
OK. Thanks! I will try to do it
guanzs (Mon, 31 Aug 2020 01:33:50 GMT):
Hi, forgive me, I got another error when I `make` inside the development container. My localhost is Ubuntu 18.04.5 and I build images at `concept-release-1.0` branch, then run it, but it reports the errors, whose log is available at [GitHub](https://github.com/Agzs/fabric-private-chaincode/blob/concept-release-1.0/reportErrors.log) and the docker images are as follows:
```
ethtest@ethtest:docker$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hyperledger/fabric-private-chaincode-dev cr1.0.1 485782e70144 52 minutes ago 1.94GB
hyperledger/fabric-private-chaincode-dev latest 485782e70144 52 minutes ago 1.94GB
hyperledger/fabric-private-chaincode-ccenv cr1.0.1 9c5c4b2fef01 About an hour ago 593MB
hyperledger/fabric-private-chaincode-ccenv latest 9c5c4b2fef01 About an hour ago 593MB
hyperledger/fabric-private-chaincode-base cr1.0.1 9c5c4b2fef01 About an hour ago 593MB
hyperledger/fabric-private-chaincode-base latest 9c5c4b2fef01 About an hour ago 593MB
```
Thanks for your help!
bur (Mon, 31 Aug 2020 07:56:18 GMT):
Hi, it looks like, for some reason, your Fabric code (inside the dev container) has the wrong version. From the error message you posted on github, you can see that it cannot find `ccintf.CCID`. This was indeed removed/refactored with Fabric 2.0.
bur (Mon, 31 Aug 2020 07:59:08 GMT):
inside the dev container go to $GOPATH/src/hyperledger/fabric and make sure you are on v1.4.3 branch and not v2.x
bur (Mon, 31 Aug 2020 08:00:09 GMT):
note that FPC cr1.0.1 is using Fabric v1.4 and cr2.0.x works with Fabric 2.x
bur (Mon, 31 Aug 2020 08:00:41 GMT):
I would recommend to use the latest FPC release :)
bur (Mon, 31 Aug 2020 08:00:45 GMT):
hope this helps
weisstech (Mon, 31 Aug 2020 16:19:41 GMT):
Has joined the channel.
anweiss (Mon, 31 Aug 2020 16:25:33 GMT):
Has joined the channel.
guanzs (Fri, 04 Sep 2020 00:31:15 GMT):
I know it, when I got the errors, I checked related dependencies about the version, and their version is as follows:
guanzs (Mon, 07 Sep 2020 02:01:46 GMT):
I solved them by setting appropriate `GOPROXY` and `GO111MODULE`
bur (Mon, 07 Sep 2020 09:25:41 GMT):
oh cool! not yet clear to me how proxy and gomodule settings have helped with the errors you posted above.
guanzs (Mon, 14 Sep 2020 06:39:21 GMT):
When I execute `make` which also run `go get XXX`, but it reports `timeout` error, so I set
```
GO111MODULE=on
```
guanzs (Mon, 14 Sep 2020 06:39:21 GMT):
When I execute `make` which also run `go get XXX`, but it reports `timeout` error, to solve it, I set variables as follows:
```
GO111MODULE=on
GOPROXY=https://goproxy.cn,direct
```
But when I execute `make` again, it cannot find `ccintf.CCID`. I check the version of FPC and fabric, and their version are as follows:
```
```
guanzs (Mon, 14 Sep 2020 06:39:21 GMT):
When I execute `make` which also run `go get XXX`, but it reports `timeout` error, to solve it, I set variables as follows:
```
GO111MODULE=on
GOPROXY=https://goproxy.cn,direct
```
Then when I execute `make` again, it cannot find `ccintf.CCID`. I check the version of FPC and fabric, and their version are as follows:
```
FPC: concept-release-1.0
fabric: 1.4.3
```
but compiling FPC uses fabric-2.1.1 version
```
go: finding github.com/hyperledger/fabric v2.1.1+incompatible
```
that is caused by `GO111MODULE=on`. So, for me, I set `GO111MODULE=off` before config FPC (i.e., `make godeps`), while I set `GO111MODULE=off` before compiling FPC (i.e., `make plugins`)
cliveb (Tue, 29 Sep 2020 15:05:37 GMT):
Has joined the channel.
cliveb (Tue, 29 Sep 2020 15:05:38 GMT):
Does anyone have the FPC meetup passcode?
cliveb (Tue, 29 Sep 2020 15:09:32 GMT):
I found the passcode on the public calendar
cliveb (Tue, 29 Sep 2020 15:23:34 GMT):
https://research.nccgroup.com/2020/03/24/smart-contracts-inside-sgx-enclaves-common-security-bug-patterns/
anweiss (Tue, 06 Oct 2020 14:52:32 GMT):
hey all! I've code the latest code from `master` and am trying to build the `hyperledger/fabric-peer-fpc:latest` dev peer image using the `Makefile` in `utils/docker` ... the image builds without issues, but when attempting to start the image, the following error occurs:
```
/bin/sh: 1: [/project/src/github.com/hyperledger-labs/fabric-private-chaincode/fabric/bin/peer.sh: not found
```
double checked that the file exists in the image
anweiss (Tue, 06 Oct 2020 14:52:32 GMT):
hey all! I've got the latest code from `master` and am trying to build the `hyperledger/fabric-peer-fpc:latest` dev peer image using the `Makefile` in `utils/docker` ... the image builds without issues, but when attempting to start the image, the following error occurs:
```
/bin/sh: 1: [/project/src/github.com/hyperledger-labs/fabric-private-chaincode/fabric/bin/peer.sh: not found
```
double checked that the file exists in the image
msteiner (Tue, 06 Oct 2020 15:16:27 GMT):
to start did you do that via 'make run` (or `make -C util/docker run` from top-level)? That would be the preferred way to start docker image. And in that case i'm a bit puzzled why would get that error as that shouldn't involve `peer.sh`.
anweiss (Tue, 06 Oct 2020 17:54:50 GMT):
that works fine ... just interested in using the peer image
anweiss (Tue, 06 Oct 2020 17:55:07 GMT):
a simple `docker run -it --rm hyperledger/fabric-private-chaincode:latest` results in that `peer.sh not found` error
msteiner (Tue, 06 Oct 2020 18:35:57 GMT):
Ah, ok. Now the error makes more sense. If you want to run it this way you would have to define the environment variables which are defined in 'utils/docker-compose/network-config/docker-compose.yml' and, potentially some defined the scripts in 'utils/docker-compose/scripts/start.sh'. depending on how you setup your fabric network. In general, might be easier to stick with the scripts to setup/teardown fabric networks.
msteiner (Tue, 06 Oct 2020 18:38:11 GMT):
btw: unless you want to add a feature to core FPC, you might also be better to use 'cr2.0.0' release rather than 'master'. Right now 'master' should be stable but it is a moving target and quite a few things will change in the near feature ....
msteiner (Tue, 06 Oct 2020 18:38:11 GMT):
btw: unless you want to add a feature to core FPC, you might also be better off in using 'cr2.0.0' release rather than 'master'. Right now 'master' should be stable but it is a moving target and quite a few things will change in the near feature ....
ericmvaughn (Wed, 07 Oct 2020 13:55:13 GMT):
Has joined the channel.
anweiss (Thu, 08 Oct 2020 14:29:51 GMT):
thanks @msteiner ... In my case, I'm using the IBM Blockchain Platform which injects all of the environment variables into the peer node pod for me ... so I'm merely attempting to swap the included peer container image with the FPC container image
msteiner (Thu, 08 Oct 2020 15:33:51 GMT):
I haven't used IBM Blockchain Platform so cannot talk about specifics but FPC also requires some FPC-specific configurations so besides injecting the FPC peer image i would expect also some changes needed in the config injection process. Maybe some of the IBM FPC folks might have more insights here? If you can get that working that would of course be great and corresponding scripts/docu a great addition to our repo. To get there, probably still would be useful to start by closely studying our docker-compose files and deployment scripts. They are mostly based on the first-network scripts from fabric-samples git repo and so maybe there is some simularity on how the IBM Blockchain Platform does it?
anweiss (Thu, 08 Oct 2020 16:58:01 GMT):
ok thanks @msteiner ... that is very helpful ... will review some of the `docker-compose` files and configs
anweiss (Tue, 13 Oct 2020 18:39:25 GMT):
thanks @msteiner! ... if I use the `concept-release-2.0` tag and updating the last line in the peer Dockerfile to `CMD $FPC_CMDS/peer.sh node start` (changing exec form to shell form) it works!
anweiss (Tue, 13 Oct 2020 18:39:25 GMT):
thanks @msteiner! ... if I use the `concept-release-2.0` tag and update the last line in the peer Dockerfile to `CMD $FPC_CMDS/peer.sh node start` (changing exec form to shell form) it works!
rjones (Thu, 05 Nov 2020 14:59:07 GMT):
Has joined the channel.
rjones (Thu, 05 Nov 2020 14:59:07 GMT):
Hi - is this still a thing? should I cancel the meetings?
msteiner (Thu, 05 Nov 2020 15:25:37 GMT):
FPC is still alive and kicking and the Tuesday calls are also still active (i guess that's what you refer to by "meeting"?)
rjones (Thu, 05 Nov 2020 15:26:20 GMT):
ok, cool. Yes, it's the call I was asking about. I looked at the commit velocity and it seemed low
msteiner (Thu, 05 Nov 2020 16:06:29 GMT):
quality over quantity ;-)
nahidalim (Thu, 17 Dec 2020 19:23:41 GMT):
Has joined the channel.
nahidalim (Fri, 18 Dec 2020 20:08:25 GMT):
hi, I am new to fabric private chain codes. When I try running the auction example, orderer and ca containers are up and running but peer0 exits with code 111.
nahidalim (Fri, 18 Dec 2020 20:09:27 GMT):
Screen Shot 2020-12-18 at 3.08.47 PM.png
nahidalim (Fri, 18 Dec 2020 20:10:16 GMT):
I cannot even check the log
nahidalim (Fri, 18 Dec 2020 20:10:27 GMT):
Screen Shot 2020-12-18 at 3.10.05 PM.png
nahidalim (Fri, 18 Dec 2020 20:10:57 GMT):
Anyone has any idea why this happens?
nahidalim (Fri, 18 Dec 2020 20:11:33 GMT):
I managed to run the hello world example successfully, but this one does not work!
nahidalim (Fri, 18 Dec 2020 20:12:47 GMT):
Please help!
msteiner (Sat, 19 Dec 2020 06:42:11 GMT):
which version of the code are you using? And by auction example you mean the demo (stuff in `demo/...`) or the toy auction example in `examples/auction/..` ?
nahidalim (Mon, 21 Dec 2020 02:09:07 GMT):
I am using the "concept-release-2.0" of the Fabric Private Chaincode and version 2.0 of Hyperledger Fabric. Yes, I mean the demo.
msteiner (Tue, 22 Dec 2020 01:58:09 GMT):
Hmm, from the screenshot you sent it seems you are using the code from `master`. make sure you have `concept-release-2.0` branch. As i looked a found an issue when building from $FPC_PATH but it should be fixed in a commit i'm about to push. After that a `make -C $FPC_PATH clobber all` should have built all artifacts and you can run the auction demo via the scripts in `demo/scripts` or, if you want to run our pre-specified auction scenario via the script in `demo/client/scripting/scenario-run.sh`.
BTW: for auction demo do not directly use the scripts in `utils/docker-compose`. They require some environment variables to be set (as done in the scripts in `demo`) or you might run with the wrong docker images (this is maybe what happened in your case?)
nahidalim (Tue, 22 Dec 2020 04:27:41 GMT):
Thank you so much for your help, I will check again.
alacambra (Wed, 23 Dec 2020 22:10:05 GMT):
Has joined the channel.
AfzaalLucky (Fri, 15 Jan 2021 07:31:11 GMT):
Has joined the channel.
munapower (Tue, 26 Jan 2021 19:23:11 GMT):
Has joined the channel.
munapower (Sat, 30 Jan 2021 15:38:22 GMT):
Hello, I am new to this and am trying to follow the lab. I want to go with option 1 Using the Docker-based FPC Development Environment, and it says that a docker image is provided. I have tried finding it unsuccessfully :-S ... I am a bit lost ...any pointers will be useful
BrunoVavala (Tue, 02 Feb 2021 02:20:45 GMT):
Hi, FPC provides ... a way to build and run the docker image you're referring to. Please keep reading Option 1 to find the details.
munapower (Tue, 02 Feb 2021 22:50:02 GMT):
I have followed the HelloWorld example and I get the following error after executing make from the helloworld directory. I am following the Option 1 using the docker image provided. I copied the Makefile from the auction folder to the helloworld folder. ```
/usr/bin/cmake -E cmake_link_script CMakeFiles/enclave.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -DDO_DEBUG=true -m64 -DSGX_SIM_MODE -O0 -g -nostdinc -fno-builtin -fvisibility=hidden -fpie -fstack-protector -std=c++11 -nostdinc++ -shared -Wl,-soname,enclave.so -o enclave.so CMakeFiles/enclave.dir/helloworld_cc.cpp.o -m64 -DSGX_SIM_MODE -O0 -g -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles -L/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc_enclave/enclave/../../common/logging/_build -L/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc_enclave/enclave/../../common/crypto/_build -L/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc_enclave/enclave/../../ecc_enclave/_build/lib -Wl,--start-group -ltpdo-crypto -lshim -ltpdo-crypto-adapt -ltlogging -Wl,--end-group -L/opt/intel/sgxssl/lib64 -Wl,--whole-archive -lsgx_tsgxssl -Wl,--no-whole-archive -lsgx_tsgxssl_crypto -L/opt/intel/sgxsdk/lib64 -Wl,--whole-archive -lsgx_trts_sim -Wl,--no-whole-archive -Wl,--start-group -lsgx_tstdc -lsgx_tcxx -lsgx_tcrypto -lsgx_tservice_sim -Wl,--end-group -Wl,-Bstatic -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-pie,-eenclave_entry -Wl,--export-dynamic -Wl,--defsym,__ImageBase=0 -Wl,--version-script=/project/src/github.com/hyperledger-labs/fabric-private-chaincode/ecc_enclave/enclave/../../ecc_enclave/enclave/enclave.lds
/opt/intel/sgxsdk.extras/external/toolset/ubuntu18.04/ld: cannot find -ltpdo-crypto
/opt/intel/sgxsdk.extras/external/toolset/ubuntu18.04/ld: cannot find -lshim
/opt/intel/sgxsdk.extras/external/toolset/ubuntu18.04/ld: cannot find -ltpdo-crypto-adapt
/opt/intel/sgxsdk.extras/external/toolset/ubuntu18.04/ld: cannot find -ltlogging
collect2: error: ld returned 1 exit status
CMakeFiles/enclave.dir/build.make:97: recipe for target 'enclave.so' failed
make[3]: *** [enclave.so] Error 1
make[3]: Leaving directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/examples/helloworld/_build'
CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/enclave.dir/all' failed```
I have tried searching on the web for which library is missing but haven't been able to find an exact match
```
```
bur (Wed, 03 Feb 2021 09:00:28 GMT):
Hi Maria, the error tells you that some libraries (pdo-crypto, shim, ...) are missing. Did you run `make build` inside the FPC docker dev container before building your example?
You can try the following:
```
```
bur (Wed, 03 Feb 2021 09:00:28 GMT):
Hi Maria, the error tells you that some libraries (pdo-crypto, shim, ...) are missing. Did you run `make build` inside the FPC docker dev container before building your example?
You can try the following:
```
// start into the FPC dev container
cd utils/docker && make run
// inside the container
make build
// build hello wolrd
cd examples/helloworld && make
```
The `make build` in the project root will build the missing libs.
munapower (Wed, 03 Feb 2021 12:22:19 GMT):
Thank you Bruno!
munapower (Wed, 03 Feb 2021 21:07:48 GMT):
yes I did that, I will retry it ...
munapower (Thu, 04 Feb 2021 16:07:15 GMT):
ok, so when I execute the make build I get this error: ```
make[1]: Entering directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/protos'
mkdir -p ../common/protos
mkdir -p ../internal/protos
./generate_protos.sh
No Fabric protos found! Try 'git pull --recurse-submodules'
Makefile:13: recipe for target 'protos' failed
make[1]: *** [protos] Error 1
make[1]: Leaving directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/protos'
Makefile:22: recipe for target 'build' failed
make: *** [build] Error 2
```
munapower (Thu, 04 Feb 2021 16:08:14 GMT):
I execute the git pull --recurse-submodules and it says that Already up to date.
munapower (Thu, 04 Feb 2021 22:10:15 GMT):
ok, so when I execute the make build I get this error: ```
make[1]: Entering directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/protos'
mkdir -p ../common/protos
mkdir -p ../internal/protos
./generate_protos.sh
No Fabric protos found! Try 'git pull --recurse-submodules'
Makefile:13: recipe for target 'protos' failed
make[1]: *** [protos] Error 1
make[1]: Leaving directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/protos'
Makefile:22: recipe for target 'build' failed
make: *** [build] Error 2
``````
I execute the git pull --recurse-submodules and it says that Already up to date.
```
bur (Fri, 05 Feb 2021 07:53:25 GMT):
can you just try `git submodule update --init`
bur (Fri, 05 Feb 2021 07:53:25 GMT):
can you just try `git submodule update --init` from $FPC_PATH
bur (Fri, 05 Feb 2021 07:58:29 GMT):
I suspect that you have not cloned the FPC repo with the following command: `git clone --recursive https://github.com/hyperledger-labs/fabric-private-chaincode.git $GOPATH/src/github.com/hyperledger-labs/fabric-private-chaincode
`, in particular you maybe missed the `--recursive` flag when cloning.
bur (Fri, 05 Feb 2021 07:58:29 GMT):
I suspect that you have not cloned the FPC repo with the following command: `git clone --recursive https://github.com/hyperledger-labs/fabric-private-chaincode.git $GOPATH/src/github.com/hyperledger-labs/fabric-private-chaincode`, in particular you maybe missed the `--recursive` flag when cloning.
bur (Fri, 05 Feb 2021 08:02:55 GMT):
See this (https://git-scm.com/book/en/v2/Git-Tools-Submodules)
> If you already cloned the project and forgot --recurse-submodules, you can combine the git submodule init and git submodule update steps by running git submodule update --init. To also initialize, fetch and checkout any nested submodules, you can use the foolproof git submodule update --init --recursive.
munapower (Fri, 05 Feb 2021 14:17:00 GMT):
your suspicion is absolutely correct ... ok, let me look into that
munapower (Fri, 05 Feb 2021 20:55:21 GMT):
Ok, so now I got to the part where you run test.sh and there I get the following error:```
peer.sh: test failed: /project/src/github.com/hyperledger/fabric/build/bin/peer lifecycle chaincode approveformyorg -C mychannel --package-id helloworld_test:c705d5788f8eb1f9edbbec61b1016b5a6659b1a580c78cf99a7559ec00b5e2f9 --name helloworld_test --version 90C117BC16AFB16FFD55903A66BE132F2EE95AC28B88EB11D77EA709C0399101 --signature-policy OR('SampleOrg.member')
test.sh: test failed: env FABRIC_CFG_PATH=/project/src/github.com/hyperledger-labs/fabric-private-chaincode/examples/helloworld/../../integration/config /project/src/github.com/hyperledger-labs/fabric-private-chaincode/examples/helloworld/../../fabric/bin//peer.sh lifecycle chaincode approveformyorg -C mychannel --package-id helloworld_test:c705d5788f8eb1f9edbbec61b1016b5a6659b1a580c78cf99a7559ec00b5e2f9 --name helloworld_test --version 90C117BC16AFB16FFD55903A66BE132F2EE95AC28B88EB11D77EA709C0399101 --signature-policy OR('SampleOrg.member')
```
munapower (Fri, 05 Feb 2021 20:55:21 GMT):
Ok, so now I got to the part where you run test.sh and there I get the following error:``````
test.sh: - install helloworld chaincode
2021-02-05 20:50:17.914 UTC [cli.lifecycle.chaincode] submitInstallProposal -> INFO 001 Installed remotely: response:
bur (Fri, 05 Feb 2021 21:25:45 GMT):
ohhh
bur (Fri, 05 Feb 2021 21:26:46 GMT):
I think in the hello world tutorial we are missing something
bur (Fri, 05 Feb 2021 21:27:12 GMT):
as described in the tutorial, `test.sh` contains the following:
```
try ${PEER_CMD} lifecycle chaincode approveformyorg -C ${CHAN_ID} --package-id ${PKG_ID} --name ${CC_ID} --version ${CC_VER} --signature-policy ${CC_EP}
try ${PEER_CMD} lifecycle chaincode checkcommitreadiness -C ${CHAN_ID} --name ${CC_ID} --version ${CC_VER} --signature-policy ${CC_EP}
try ${PEER_CMD} lifecycle chaincode commit -C ${CHAN_ID} --name ${CC_ID} --version ${CC_VER} --signature-policy ${CC_EP}
```
bur (Fri, 05 Feb 2021 21:27:43 GMT):
from the error you are posting you can see that the `try ${PEER_CMD} lifecycle chaincode approveformyorg` command misses the `-o` flag
bur (Fri, 05 Feb 2021 21:28:15 GMT):
if I compare our tutorial to our actual integration test, there we have the `-o` flag
bur (Fri, 05 Feb 2021 21:28:40 GMT):
see here an example
bur (Fri, 05 Feb 2021 21:28:41 GMT):
https://github.com/hyperledger-labs/fabric-private-chaincode/blob/master/integration/deployment_test.sh#L35
bur (Fri, 05 Feb 2021 21:28:56 GMT):
```
try ${PEER_CMD} lifecycle chaincode approveformyorg -o ${ORDERER_ADDR} -C ${CHAN_ID} ...
```
bur (Fri, 05 Feb 2021 21:29:14 GMT):
can you please try adding this flag to your test.sh
munapower (Fri, 05 Feb 2021 21:29:27 GMT):
aahhhh, yes I was going to see if in the customized scripts that are mentioned before there might be a detail of how to call the orderer
munapower (Fri, 05 Feb 2021 21:29:33 GMT):
I mean how to name it
munapower (Fri, 05 Feb 2021 21:30:01 GMT):
yes I will add the flag
bur (Fri, 05 Feb 2021 21:30:28 GMT):
cool
munapower (Fri, 05 Feb 2021 21:31:12 GMT):
yeap, that was it ...
bur (Fri, 05 Feb 2021 21:31:14 GMT):
if this works, I would appreciate if you can create a Pull Request to fix the tutorial by adding the missing flags
munapower (Fri, 05 Feb 2021 21:31:34 GMT):
jajaj but now it says that sequence is missing
bur (Fri, 05 Feb 2021 21:32:17 GMT):
`--sequence ${CC_SEQ}`
munapower (Fri, 05 Feb 2021 21:32:23 GMT):
and I see that in the other script it is there
munapower (Fri, 05 Feb 2021 21:32:29 GMT):
yeap, was going to add it too
bur (Fri, 05 Feb 2021 21:33:00 GMT):
I guess you also need to add ` CC_SEQ="1"` somewhere
munapower (Fri, 05 Feb 2021 21:33:17 GMT):
will do so
munapower (Fri, 05 Feb 2021 21:34:00 GMT):
added it after this part```
CC_ID=helloworld_test
CC_VER="$(cat ${CC_PATH}/mrenclave)"
CC_EP="OR('SampleOrg.member')"
```
munapower (Fri, 05 Feb 2021 21:35:43 GMT):
ok, so sequence is missing from the other commands too ... I will compare the integration one with mine and change accordingly
bur (Fri, 05 Feb 2021 21:37:20 GMT):
yes, that should probably work ... integration test scripts are actually the templates for the tutorial
bur (Fri, 05 Feb 2021 21:37:34 GMT):
but it really sucks that this is missing; we need to fix that
bur (Fri, 05 Feb 2021 21:37:38 GMT):
and probably more
munapower (Fri, 05 Feb 2021 21:39:02 GMT):
no it doesn't suck, cause that means that what I am doing is useful :joy:
munapower (Fri, 05 Feb 2021 21:40:27 GMT):
orderer is missing from chaincode commit too :-)
munapower (Fri, 05 Feb 2021 21:43:41 GMT):
this one is wrong too!```
try ${PEER_CMD} lifecycle chaincode initEnclave --name ${CC_ID}
```
munapower (Fri, 05 Feb 2021 21:45:28 GMT):
at last it worked!!!!
bur (Fri, 05 Feb 2021 22:02:06 GMT):
cool
bur (Fri, 05 Feb 2021 22:05:07 GMT):
with this we can go into the weekend! :)
munapower (Fri, 05 Feb 2021 22:05:42 GMT):
yes!!! Enjoy the weekend. I will document all the changes/corrections later :-)
bur (Fri, 05 Feb 2021 22:05:56 GMT):
awesome! thank you
joy.osive (Tue, 09 Mar 2021 22:17:25 GMT):
Has joined the channel.
joy.osive (Tue, 09 Mar 2021 22:19:24 GMT):
asus-tuf-F15-sgx-support.jpg
joy.osive (Tue, 09 Mar 2021 22:19:24 GMT):
asus-tuf-F15-sgx-support.jpg
munapower (Wed, 10 Mar 2021 17:32:04 GMT):
@BrunoVavala I added what the sections you have to complete and how many chars, in the google doc.
BrunoVavala (Wed, 10 Mar 2021 18:27:05 GMT):
thanks Maria!
I am working on it
bur (Fri, 12 Mar 2021 16:29:08 GMT):
merged https://github.com/hyperledger/fabric-rfcs/pull/40 :woo: :champagne_glass:
joy.osive (Thu, 18 Mar 2021 17:26:13 GMT):
https://fpc.osive.com/
joy.osive (Thu, 18 Mar 2021 17:26:13 GMT):
We are sharing the link below which describes the error we've have encountered while following FPC readme (Option 1: using the Docker-based FPC Development Environment )
https://fpc.osive.com/
bur (Thu, 18 Mar 2021 17:35:19 GMT):
oh - did you run a simple `make build` in `$FPC_PATH` before calling `make` in `$FPC_PATH/examples` - assuming all this happens inside the docker dev container :)
ljsebald (Mon, 22 Mar 2021 02:36:28 GMT):
Has joined the channel.
saharshagrawal1 (Thu, 25 Mar 2021 20:28:53 GMT):
Has joined the channel.
munapower (Wed, 07 Apr 2021 11:44:21 GMT):
so I haven't been able to move on from ```
Step 21/21 : RUN git clone https://github.com/nanopb/nanopb.git ${NANOPB_PATH} && cd ${NANOPB_PATH} && git checkout nanopb-${NANOPB_VERSION} && cd generator/proto && make
---> Using cache
---> 1b0deef337df
Successfully built 1b0deef337df
Successfully tagged hyperledger/fabric-private-chaincode-base-dev:latest
DOCKER_BUILDKIT=0 docker tag hyperledger/fabric-private-chaincode-base-dev hyperledger/fabric-private-chaincode-base-dev:master
(cd ../.. &&\
DOCKER_BUILDKIT=0 docker build --build-arg FPC_VERSION=master -t hyperledger/fabric-private-chaincode-cc-builder\
--build-arg GIT_USER_NAME='Maria Munaro' --build-arg GIT_USER_EMAIL='mmunaro@hotmail.com'\
-f ./utils/docker/dev_peer_cc-builder/Dockerfile\
--target cc-builder \
--build-arg FPC_REPO_URL=file:///tmp/cloned-local-fpc-git-repo\
--build-arg FPC_REPO_BRANCH_TAG_OR_COMMIT=$(git rev-parse HEAD)\
--build-arg SGX_MODE=SIM\
. )
```
munapower (Wed, 07 Apr 2021 15:35:19 GMT):
question for @BrunoVavala and @bur, what would you prefer for the go client sdk example:, that both the code as well as the test script be in a subdirectory
munapower (Wed, 07 Apr 2021 15:35:19 GMT):
question for @BrunoVavala and @bur, what would you prefer for the go client sdk example:```
1) have both test scripts in the same directory```
2) copy test script to subdirectory where go code is```
3) make them change the test script consequently losing the other version ...
```
```
```
munapower (Wed, 07 Apr 2021 15:37:55 GMT):
personally I like the idea of putting go code and test script in same directory but it means tweeking the test script a bit more ...
munapower (Wed, 07 Apr 2021 19:06:48 GMT):
ok, so I finished the readme using 2) as the option. @bur should I create a PR or how so you can test it?
BrunoVavala (Wed, 07 Apr 2021 20:05:13 GMT):
not sure I get the options, but having tests in a separate folder seems desirable, as we may want to refactor the repo
munapower (Wed, 07 Apr 2021 21:08:46 GMT):
cool because in the end it's what I did. So the HelloWorld example can stay has it is and if the user wants to continue he can afterwards compare one version from the other ...
munapower (Thu, 08 Apr 2021 17:04:54 GMT):
I am doing a Hyperledger Indy course and found this text about the integration code available in the repo and thought it might be a good justification to why keep the FPC integration code when FPC is moved to the Fabric repo ```
A key part of the indy-sdk is the test suite that is automatically executed with each update to the repo. While it's comforting to know the test suite is executed (and updated) with each change, another very useful aspect of the suite for those new to Indy is that the tests are working code that can be used to understand how the indy-sdk works. Not sure what exactly are the parameters to a specific Indy call? Check out the test suite and you'll find a working instance to study.
```
BrunoVavala (Thu, 08 Apr 2021 22:16:34 GMT):
This is precisely why we want to keep that!
There is however code that is not used in the integration. So it is possible that such code may not be maintained as required. The open question is whether we should keep this or not.
bur (Mon, 12 Apr 2021 07:48:43 GMT):
yes, please create a PR and add me as reviewer
bur (Mon, 12 Apr 2021 15:29:12 GMT):
@BrunoVavala I created a "main" branch to complete #533; waiting CI to complete; once this is done we can change in the github repo settings the new main branch to "main" and delete "master"
bur (Mon, 12 Apr 2021 15:29:12 GMT):
@BrunoVavala I created a "main" branch to complete [#533](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/533); waiting CI to complete; once this is done we can change in the github repo settings the new main branch to "main" and delete "master"
bur (Mon, 12 Apr 2021 15:29:12 GMT):
@BrunoVavala I created a "main" branch to complete [#533](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/533); waiting CI to complete; once this is done we can change in the github repo settings the new main branch to "main" and delete "master"~~
bur (Mon, 12 Apr 2021 15:29:12 GMT):
~@BrunoVavala I created a "main" branch to complete [#533](https://github.com/hyperledger-labs/fabric-private-chaincode/issues/533); waiting CI to complete; once this is done we can change in the github repo settings the new main branch to "main" and delete "master"~
bur (Mon, 12 Apr 2021 15:30:11 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=kQ5e3q9joT9eAebNp) open PRs will automatically change to be merged into main instead of master
bur (Mon, 12 Apr 2021 15:33:21 GMT):
also, once we switched to main, I will update https://docs.google.com/document/d/1sR7YV3pSYN3NEFiW-2fUqtpsJeJrpC0EWUVtEm0Blcg/
rjones (Mon, 12 Apr 2021 15:35:49 GMT):
when you want to rename `master` to `main`, please 1) submit a PR for [this file](https://github.com/hyperledger-labs/fabric-private-chaincode/blob/master/.github/settings.yaml) and don't merge the PR right away
rjones (Mon, 12 Apr 2021 15:36:00 GMT):
the whole "do the thing and do the thing" makes things worse
bur (Mon, 12 Apr 2021 15:53:56 GMT):
ok this is also done
bur (Mon, 12 Apr 2021 16:23:49 GMT):
renaming master to main is done
bur (Tue, 13 Apr 2021 09:06:03 GMT):
> It is our pleasure to inform you that we have accepted your submission, Fabric Private Chaincode Tutorial, and would like to welcome you as a speaker for Hyperledger Global Forum 2021.
munapower (Tue, 13 Apr 2021 14:12:56 GMT):
Yes!!!! I saw it!
munapower (Tue, 13 Apr 2021 14:13:23 GMT):
can we post it on LinkedIn?
bur (Tue, 13 Apr 2021 14:15:31 GMT):
I would wait until they have announced the full program
bur (Tue, 13 Apr 2021 14:15:52 GMT):
because then you can directly link to our session :)
munapower (Tue, 13 Apr 2021 14:17:05 GMT):
ok!
munapower (Sat, 17 Apr 2021 18:11:30 GMT):
So I am trying to test the changes suggested by Marcus and to do so I have to recreate my docker images. I ran into issues with docker that would crash all by itself. I had to use CleanMyMac and reset Docker (found that it appears to be an issue with updating BigSur). Anyway, was able to run make build in utils/docker ... took forever but it completed. Now when I am running make run in the root directory inside the docker image I get this error```
make[2]: Entering directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/common/crypto'
make --directory=_build
make[3]: Entering directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/common/crypto/_build'
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as
project(ProjectName)
near the top of the file, but after cmake_minimum_required().
CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.
-- SGX_COMMON_CFLAGS: -m64 -DSGX_SIM_MODE -O2
-- SGX_SDK: /opt/intel/sgxsdk
-- SGX_MODE: SIM
-- SGX_BUILD: PRERELEASE
-- SGX_LIBRARY_PATH: /opt/intel/sgxsdk/lib64
-- SGX_ENCLAVE_SIGNER: /opt/intel/sgxsdk/bin/x64/sgx_sign
-- SGX_EDGER8R: /opt/intel/sgxsdk/bin/x64/sgx_edger8r
-- SGX_SSL: /opt/intel/sgxssl
-- SGX_SSL_LIBRARY_PATH: /opt/intel/sgxssl/lib64
codcov disabled
-- Compiling with optimizations (-O2). To use debug flags, set the DEBUG environment variable.
CMake Error at pdo/common/CMakeVariables.txt:39 (message):
PDO_ENCLAVE_CODE_SIGN_PEM environment variable not defined!
Call Stack (most recent call first):
CMakeLists.txt:101 (INCLUDE)
-- Configuring incomplete, errors occurred!
See also "/project/src/github.com/hyperledger-labs/fabric-private-chaincode/common/crypto/_build/CMakeFiles/CMakeOutput.log".
make[3]: *** [Makefile:622: cmake_check_build_system] Error 1
make[3]: Leaving directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/common/crypto/_build'
make[2]: *** [Makefile:22: build] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger-labs/fabric-private-chaincode/common'
make: *** [Makefile:22: build] Error 2
root@docker-desktop:/project/src/github.com/hyperledger-labs/fabric-private-chai
ncode#
``` help!!!!
munapower (Sat, 17 Apr 2021 22:32:57 GMT):
uf just reread what I posted ... I got the makes the other way round ... so make run ran fine, and the error is from make build
munapower (Sun, 18 Apr 2021 18:02:33 GMT):
@BrunoVavala I just read about this project in the HL messages digest. https://github.com/raftAtGit/hl-fabric-operator don't know if it will be useful for you or not ...
BrunoVavala (Sun, 18 Apr 2021 20:47:34 GMT):
thanks Maria, it's seems pretty related to BAF
bur (Wed, 21 Apr 2021 07:13:02 GMT):
I think this error was resolved by doing a `make clean` and then run `make` again right?
munapower (Wed, 21 Apr 2021 12:50:05 GMT):
it was solved going into the crypto dir and running those commands, yes
munapower (Wed, 21 Apr 2021 23:04:45 GMT):
Hello guys! A question I received during my presentation was if SGX is open source. I replied that the API we use the documentation is available for all and that they can see how FPC uses it but that I wasn't aware if it was open source or not.
BrunoVavala (Thu, 22 Apr 2021 23:22:49 GMT):
SGX is a hardware security technology on Intel processors, which includes a set of instructions that can be used by software to secure applications.
In our case, we use the SGX SDK (and the driver) as a library/middleware which uses these instructions to create enclaves. This is open-source software created by Intel.
jbessa (Wed, 05 May 2021 23:35:11 GMT):
Has joined the channel.
munapower (Mon, 10 May 2021 14:31:58 GMT):
Hello! I am trying to get the test-network up and running and I am within the docker dev environment. I set the environment variables has stated and when I go to the make build I get this error:`Step 1/16 : ARG FPC_VERSION=latest
Step 2/16 : FROM hyperledger/fabric-private-chaincode-ccenv:${FPC_VERSION}
pull access denied for hyperledger/fabric-private-chaincode-ccenv, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
make[1]: *** [Makefile:62: docker-boilerplate-ecc] Error 1`. I thought it might be that I hadn't used the mock-enclave tags so I re ran the make build with those options but I still get the same error
munapower (Mon, 10 May 2021 14:31:58 GMT):
Hello! I am trying to get the test-network up and running and I am within the docker dev environment. I set the environment variables has stated and when I go to the make build I get this error:```
Step 1/16 : ARG FPC_VERSION=latest
Step 2/16 : FROM hyperledger/fabric-private-chaincode-ccenv:${FPC_VERSION}
pull access denied for hyperledger/fabric-private-chaincode-ccenv, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
make[1]: *** [Makefile:62: docker-boilerplate-ecc] Error 1
``` . I thought it might be that I hadn't used the mock-enclave tags so I re ran the make build with those options but I still get the same error
bur (Tue, 11 May 2021 15:07:18 GMT):
can you run `make docker` from fpc root
munapower (Tue, 11 May 2021 15:07:58 GMT):
let me try
munapower (Tue, 11 May 2021 15:08:56 GMT):
yes, it ran successfully
munapower (Tue, 11 May 2021 15:12:22 GMT):
that worked! I was able to do the make build!!
munapower (Tue, 11 May 2021 16:13:10 GMT):
Running the test-network example, when I am trying to start the network I get an error creating the channel ```
Error: Post "https://localhost:7053/participation/v1/channels": dial tcp [::1]:7053: connect: connection refused
``` It turns out that the orderer was not listed when I did a docker ps. I was able to solve this executing ./network.sh down, and then re-running network.sh up and the createchannel
munapower (Tue, 11 May 2021 17:19:50 GMT):
Continuing with the sample test network when I am at the end of the section that starts the network where you have to run make ercc-ecc-start, that never returns the command prompt. I ended it using CTRL+z, and then when I try to execute 'CC_ID=echo ORG_NAME=Org1 go run . -withLifecycleInitEnclave' I get the following error:```
ercc.peer0.org1.example.com | 2021-05-11 16:11:32.199 UTC [ercc] main -> INFO 002 starting enclave registry (ercc_1.0:0919bd1be2e779a582a537da8e29fba241972c3531472006b170b0c26a1d71fb)
ercc-ecc-stop
down
quit
^Z
[1]+ Stopped make ercc-ecc-start
root@docker-desktop:/project/src/github.com/hyperledger/fabric-private-chaincode/samples/deployment/test-network# cd $FPC_PATH/samples/deployment/test-network
root@docker-desktop:/project/src/github.com/hyperledger/fabric-private-chaincode/samples/deployment/test-network# ./update-connection.sh
root@docker-desktop:/project/src/github.com/hyperledger/fabric-private-chaincode/samples/deployment/test-network# cd $FPC_PATH/samples/application/simple-go
root@docker-desktop:/project/src/github.com/hyperledger/fabric-private-chaincode/samples/application/simple-go# CC_ID=echo ORG_NAME=Org1 go run . -withLifecycleInitEnclave
2021-05-11 17:16:04.421 UTC [sdk-test] main -> FATA 001 failed to create sdk: failed to initialize configuration: unable to load config backend: loading config file failed: /project/src/github.com/hyperledger/fabric-private-chaincode/integration/test-network/fabric-samples/test-network/organizations/peerOrganizations/Org1.example.com/connection-Org1.yaml: open /project/src/github.com/hyperledger/fabric-private-chaincode/integration/test-network/fabric-samples/test-network/organizations/peerOrganizations/Org1.example.com/connection-Org1.yaml: no such file or directory
exit status 1
```
munapower (Tue, 11 May 2021 17:23:48 GMT):
I am guessing that line 109 of main.go is the issue ```
// we use the mspPath and connections profil provided by the fabric-samples test network if not specified by the user
testNetworkPath := filepath.Join(fpcPath, "integration", "test-network", "fabric-samples", "test-network")
```
munapower (Tue, 11 May 2021 20:32:15 GMT):
That was the issue, it should be // we use the mspPath and connections profil provided by the fabric-samples test network if not specified by the user
testNetworkPath := filepath.Join(fpcPath, "samples", "deployment", "test-network", "fabric-samples", "test-network")
munapower (Tue, 11 May 2021 20:47:48 GMT):
I created an issue and am waiting to speak with Marcus to create the PR
ikegawa.koshi (Wed, 12 May 2021 00:16:12 GMT):
Has joined the channel.
rjones (Wed, 12 May 2021 04:46:06 GMT):
Has left the channel.
bur (Wed, 12 May 2021 09:46:15 GMT):
please go ahead and create the PR for this! good catch Maria!
bur (Wed, 12 May 2021 09:48:37 GMT):
> where you have to run make ercc-ecc-start, that never returns the command prompt. I ended it using CTRL+z,
This should be also added to the README. I would prefer to let the user open a second terminal an continue there, so the first terminal can show the chaincode activity.
bur (Wed, 12 May 2021 14:16:50 GMT):
merged :)
ikegawa.koshi (Thu, 13 May 2021 04:16:35 GMT):
Hello.
I ran test-network and installed the chaincode for echo.
Go to "$FPC_PATH/samples/application/simple-go" and type "CC_ID=echo MSP_ID=Org1MSP ORG_NAME=org1 go run . -withLifecycleInitEnclave" and confirmed that it works correctly.
After running the above, I got the following error when running without the withLifecycleInitEnclave flag.
` [fabsdk/core] 2021/05/13 03:58:13 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation
2021-05-13 12:58:13.485 JST [sdk-test] main -> INFO 001 --> Invoke FPC chaincode: echo
2021-05-13 12:58:13.501 JST [sdk-test] main -> FATA 002 Failed to Submit transaction: Failed to evaluate: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: t.enclave.Invoke failed: pk decryption failed
exit status 1
`
I want to try to invoke, how do I do that?
ikegawa.koshi (Thu, 13 May 2021 04:16:35 GMT):
Hello.
I ran test-network and installed the chaincode for echo.
Go to "$FPC_PATH/samples/application/simple-go" and type "CC_ID=echo MSP_ID=Org1MSP ORG_NAME=org1 go run . -withLifecycleInitEnclave" and confirmed that it works correctly.
After running the above, I got the following error when running without the withLifecycleInitEnclave flag.
`[fabsdk/core] 2021/05/13 03:58:13 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation
2021-05-13 12:58:13.485 JST [sdk-test] main -> INFO 001 --> Invoke FPC chaincode: echo
2021-05-13 12:58:13.501 JST [sdk-test] main -> FATA 002 Failed to Submit transaction: Failed to evaluate: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: t.enclave.Invoke failed: pk decryption failed
exit status 1
`
I want to try to invoke, how do I do that?
ikegawa.koshi (Thu, 13 May 2021 04:16:35 GMT):
Hello.
I ran test-network and installed the chaincode for echo.
Go to "$FPC_PATH/samples/application/simple-go" and type "CC_ID=echo MSP_ID=Org1MSP ORG_NAME=org1 go run . -withLifecycleInitEnclave" and confirmed that it works correctly.
After running the above, I got the following error when running without the withLifecycleInitEnclave flag.
`
[fabsdk/core] 2021/05/13 03:58:13 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation
2021-05-13 12:58:13.485 JST [sdk-test] main -> INFO 001 --> Invoke FPC chaincode: echo
2021-05-13 12:58:13.501 JST [sdk-test] main -> FATA 002 Failed to Submit transaction: Failed to evaluate: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: t.enclave.Invoke failed: pk decryption failed
exit status 1
`
I want to try to invoke, how do I do that?
ikegawa.koshi (Thu, 13 May 2021 04:16:35 GMT):
Hello.
I ran test-network and installed the chaincode for echo.
Go to "$FPC_PATH/samples/application/simple-go" and type "CC_ID=echo MSP_ID=Org1MSP ORG_NAME=org1 go run . -withLifecycleInitEnclave" and confirmed that it works correctly.
After running the above, I got the following error when running without the withLifecycleInitEnclave flag.
```
[fabsdk/core] 2021/05/13 03:58:13 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation
2021-05-13 12:58:13.485 JST [sdk-test] main -> INFO 001 --> Invoke FPC chaincode: echo
2021-05-13 12:58:13.501 JST [sdk-test] main -> FATA 002 Failed to Submit transaction: Failed to evaluate: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: t.enclave.Invoke failed: pk decryption failed
exit status 1
```
I want to try to invoke, how do I do that?
ikegawa.koshi (Thu, 13 May 2021 04:16:35 GMT):
Hello.
I ran test-network and installed the chaincode for echo.
Go to `$FPC_PATH/samples/application/simple-go` and type `CC_ID=echo MSP_ID=Org1MSP ORG_NAME=org1 go run . -withLifecycleInitEnclave` and confirmed that it works correctly.
After running the above, I got the following error when running without the withLifecycleInitEnclave flag.
```
[fabsdk/core] 2021/05/13 03:58:13 UTC - cryptosuite.GetDefault -> INFO No default cryptosuite found, using default SW implementation
2021-05-13 12:58:13.485 JST [sdk-test] main -> INFO 001 --> Invoke FPC chaincode: echo
2021-05-13 12:58:13.501 JST [sdk-test] main -> FATA 002 Failed to Submit transaction: Failed to evaluate: Transaction processing for endorser [localhost:7051]: Chaincode status Code: (500) UNKNOWN. Description: t.enclave.Invoke failed: pk decryption failed
exit status 1
```
I want to try to invoke, how do I do that?
bur (Mon, 17 May 2021 07:25:16 GMT):
hey, are you using the mock_enclave for some reason?
bur (Mon, 17 May 2021 07:25:16 GMT):
hey @ikegawa.koshi , are you using the mock_enclave for some reason?
bur (Mon, 17 May 2021 07:31:32 GMT):
let me rephrase .... did you use `make build GOTAGS="-tags mock_ecc"` when building echo chaincode?
ikegawa.koshi (Mon, 17 May 2021 09:12:08 GMT):
Thanks for the reply!
Now, I'm running a mock on AWS which can not use SGX.
I have tried this README (https://github.com/hyperledger/fabric-private-chaincode/blob/main/samples/deployment/test-network/README.md).
I use `make build GOTAGS="-tags mock_ecc”` when building echo chaincode.
I confirmed that the network was up and running and that able to install chaincode.
After that, I ran the following command to make sure it worked correctly.
```
CC_ID=echo MSP_ID=Org1MSP ORG_NAME=org1 go run . -withLifecycleInitEnclave
```
Next, I want to try following commands (without withLifecycleInitEnclave flag).
```
cd $FPC_PATH/samples/application/simple-go
CC_ID=echo ORG_NAME=Org1 go run .
CC_ID=echo ORG_NAME=Org2 go run .
```
But, I got the error message…
ikegawa.koshi (Mon, 17 May 2021 09:21:52 GMT):
I see that simple-cli-go is used for K8s deployment, is it recommended to use simple-cli-go for test-network as well?
bur (Mon, 17 May 2021 09:36:31 GMT):
oh I see ... the ecc mock flag is used to use the implementation in `ecc/chaincode/enclave/mock_enclave.go`. That is, the fpc echo code is not used
bur (Mon, 17 May 2021 09:36:46 GMT):
this mock_enclave.go is mainly for debugging ecc components
bur (Mon, 17 May 2021 09:37:06 GMT):
for a non-sgx environment I recommend using sgx simulation mode
bur (Mon, 17 May 2021 09:42:17 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=yFuQfRjivnj3KkHQ8) this should also work; you just need to configure the simple-cli-go to use the correct msp credentials; see the env section in `org1-cli-deployment.yaml` as an example
ikegawa.koshi (Tue, 18 May 2021 09:44:54 GMT):
I set up test-network and configured fpcclient with reference to `org1-cli-deployment.yaml` and it worked correctly!
Thank you!
Shall I add the procedure for using fpcclient to the README of test-network?
bur (Tue, 18 May 2021 09:46:59 GMT):
awesome! glad that this worked! This is a good idea. I suggest to add another section after `Interact with the FPC Chaincode` and explain that as an alternative to the simple-go application one can also use the simple-cli-go
nnao (Tue, 18 May 2021 09:47:13 GMT):
Has joined the channel.
ikegawa.koshi (Tue, 18 May 2021 09:53:43 GMT):
Thanks for your suggestion!
OK, I will add the usage of fpcclient to the README and create a pull request.
nao (Fri, 21 May 2021 14:07:45 GMT):
Has joined the channel.
munapower (Tue, 25 May 2021 12:00:27 GMT):
I am trying to run make run in utils/docker and I get the following error. There appears to be an issue with some of the sgx libraries? I found the instruction generating the error in the DockerFile in the base-rt subdirectory ```
Get:19 http://ports.ubuntu.com/ubuntu-ports focal-security/restricted arm64 Packages [2244 B]
Fetched 16.2 MB in 13s (1224 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libsgx-urts
E: Unable to locate package libsgx-launch
E: Unable to locate package libsgx-epid
The command '/bin/sh -c echo "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu ${UBUNTU_NAME} main" >> /etc/apt/sources.list && wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add - && apt-get update -q && env DEBIAN_FRONTEND="noninteractive" TZ="UTC" apt-get install -y -q --no-install-recommends libssl-dev libcurl4-openssl-dev libprotobuf-dev make libsgx-urts libsgx-launch libsgx-epid' returned a non-zero code: 100
make: *** [base-rt] Error 100
```
bur (Wed, 26 May 2021 12:15:40 GMT):
It seems I have the same issue running on a M1 Mac
bur (Wed, 26 May 2021 12:18:36 GMT):
on my Intel Mac this is working
munapower (Wed, 26 May 2021 19:02:57 GMT):
uf :-( ok, so I am going to have to use my old mac stripped of all the rest and see if that way it works
ikegawa.koshi (Thu, 27 May 2021 05:01:24 GMT):
I tried HW SGX mode on the Microsoft Azure DC series instance that has an SGX environment.
I have added `export SGX_MODE=HW` to `$FPC_PATH/config.override.mk`.
I have confirmed that the build of `$FPC_PATH/utils/docker` is successful.
I ran the `fpc-development-main` bash and ran make in the `$FPC_PATH` directory.
However, I got the following error message...
```
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make -C _build test || \
(echo "PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests." && exit 1)
make[3]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
Running tests...
Test project /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build
Start 1: utest
1/3 Test #1: utest ............................ Passed 0.20 sec
Start 2: ttest
2/3 Test #2: ttest ............................ Passed 0.24 sec
Start 3: attested_evidence_test.sh
3/3 Test #3: attested_evidence_test.sh ........***Failed 0.14 sec
67% tests passed, 1 tests failed out of 3
Total Test time (real) = 0.58 sec
The following tests FAILED:
3 - attested_evidence_test.sh (Failed)
Errors while running CTest
make[3]: *** [Makefile:84: test] Error 8
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests.
make[2]: *** [Makefile:25: test] Error 1
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: test] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: test] Error 2
root@ike-dev:/project/src/github.com/hyperledger/fabric-private-chaincode#
```
Next, I defined PDO_DEBUG_BUILD=1 environment and retry make.
But, I get same error message...
Does anybody have an idea?
bur (Thu, 27 May 2021 07:01:40 GMT):
can you set `SGX_BUILD=DEBUG` in your `config.override.mk` and see that this helps? You can also try to run the attestation test manually, it is in `common/crytpo/attestation-api/test`, thinking about the attestation test failed ... did you register at Intel IAS and added your API_KEY, SPID_TYPE, and SPID in $FPC_PATH/config?
bur (Thu, 27 May 2021 07:13:27 GMT):
also, can you double check that on the host and inside the fpc docker dev container the sgx device is available (/dev/isgx/ or /dev/sgx)
bur (Thu, 27 May 2021 07:39:26 GMT):
the reason for this issue is that on a M1 Mac your docker image is build for aarch64 not amd64 architecture. that results in the error when installing the sgx libs
bur (Thu, 27 May 2021 07:42:55 GMT):
`_ docker git:(main) _ docker run -it ubuntu:20.04 /bin/bash
root@ade7cb2d75f5:/# uname -a
Linux ade7cb2d75f5 5.10.25-linuxkit #1 SMP PREEMPT Tue Mar 23 09:24:45 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux`
bur (Thu, 27 May 2021 07:42:55 GMT):
```
_ docker git:(main) _ docker run -it ubuntu:20.04 /bin/bash
root@ade7cb2d75f5:/# uname -a
Linux ade7cb2d75f5 5.10.25-linuxkit #1 SMP PREEMPT Tue Mar 23 09:24:45 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
```
bur (Thu, 27 May 2021 07:53:59 GMT):
```
root@b986ab736d02:/# apt-cache show libsgx-urts
N: Unable to locate package libsgx-urts
E: No packages found
```
bur (Thu, 27 May 2021 07:54:29 GMT):
```
root@b986ab736d02:/# apt-cache show libsgx-urts:amd64
Package: libsgx-urts
Version: 2.13.103.1-focal1
Architecture: amd64
Maintainer:
bur (Thu, 27 May 2021 09:32:51 GMT):
@munapower can you please try to add `DOCKER_BUILD_OPTS=--platform linux/amd64` to your `config.override.mk`
bur (Thu, 27 May 2021 09:33:44 GMT):
this tells docker to use amd64 platform and libsgx-* packages are installed
bur (Thu, 27 May 2021 10:39:32 GMT):
FYI building sgx-ssl takes ages ... still building
bur (Thu, 27 May 2021 12:01:47 GMT):
building sgx-ssl failed
bur (Thu, 27 May 2021 12:02:07 GMT):
after more then an hour compiling
BrunoVavala (Thu, 27 May 2021 17:34:36 GMT):
One more thing. You should consider that FPC does not support SGX DCAP attestation yet, but just EPID-based attestation. It is possible that Azure only supports the former.
munapower (Thu, 27 May 2021 20:31:23 GMT):
yes, the same happened to me it fails when it starts running the test scripts```
make[2]: Entering directory '/tmp/intel-sgx-ssl/Linux/sgx/test_app'
/usr/bin/make -f sgx_u.mk test
make[3]: Entering directory '/tmp/intel-sgx-ssl/Linux/sgx/test_app'
token_path: /root/enclave.token
Error: Unexpected error occurred.
make[3]: *** [sgx_u.mk:108: test] Error 1
make[3]: Leaving directory '/tmp/intel-sgx-ssl/Linux/sgx/test_app'
make[2]: *** [Makefile:38: test] Error 2
make[2]: Leaving directory '/tmp/intel-sgx-ssl/Linux/sgx/test_app'
make[1]: *** [Makefile:74: test] Error 2
make[1]: Leaving directory '/tmp/intel-sgx-ssl/Linux/sgx'
make: *** [Makefile:58: test] Error 2
The command '/bin/sh -c git clone 'https://github.com/intel/intel-sgx-ssl.git' && cd intel-sgx-ssl && . /opt/intel/sgxsdk/environment && git checkout lin_${SGXSSL} && cd openssl_source && wget -q https://www.openssl.org/source/openssl-${OPENSSL}.tar.gz && cd ../Linux && make SGX_MODE=SIM DESTDIR=${SGX_SSL} all test && make install' returned a non-zero code: 2
make: *** [base-dev] Error 2
``` @BrunoVavala do you have any ideas?
BrunoVavala (Thu, 27 May 2021 20:59:39 GMT):
I guess you are using your M1 machine, right?
I suppose you are running in a fundamental error, for which there may not be an easy fix.
Here is my theory.
Although you can compile successfully SGXSSL and its tests, the applications still have dependencies on the SGX SDK. However, the SGX SDK is not compiled. Rather, we download and use the binaries -- which is faster and just works!
Most importantly, these are x86 binaries, and I rather doubt that there is a translation layer.
BrunoVavala (Thu, 27 May 2021 21:07:05 GMT):
A possible fix is to switch to SGX SDK source code, and try to compile it.
ikegawa.koshi (Fri, 28 May 2021 10:01:32 GMT):
@bur
Thank you for your comment!
After adding the following to config.override.mk, I tried run `make run` in the `$FPC_PATH/utils/docker` directory.
```
# My config.override.mk
DOCKER_BUILD_OPTS=--build-arg UBUNTU_VERSION=20.04 --build-arg UBUNTU_NAME=focal
export SGX_MODE=HW
export SGX_BUILD=DEBUG
```
However, `SGX_BUILD=DEBUG` was not added to the environment variable of fpc-development-main.
```
# check environment variable
$ env | grep -i SGX
PKG_CONFIG_PATH=:/opt/intel/sgxsdk/pkgconfig
SGX_MODE=HW
SGXSSL_VERSION=
SGX_SSL=/opt/intel/sgxssl
SGX_SDK=/opt/intel/sgxsdk
LD_LIBRARY_PATH=:/opt/intel/sgxsdk/sdk_libs
PATH=/project/bin:/usr/local/go/bin:/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/s
bin:/bin:/opt/intel/sgxsdk/bin:/opt/intel/sgxsdk/bin/x64
```
Therefore, I manually defined `SGX_BUILD=DEBUG` in fpc-development-main container.
```
$ export SGX_BUILD=DEBUG
```
After that, I tried to make again, but there was no change in the error message displayed.
(There were no additional debug messages.)
---
I also re-obtained Intel EPID.
I created both linkable and unlinkable, configured both and tried them.
However, it never worked correctly.
I will try `common/crytpo/attestation-api/test` manually.
If I get more info, I will share!
ikegawa.koshi (Fri, 28 May 2021 10:01:32 GMT):
@BrunoVavala
Thank you for your comment!
I will check that Azure is supports them...
There is one thing I would like you to tell me.
What environment are the this community members running SGX HW on?
ikegawa.koshi (Fri, 28 May 2021 10:01:32 GMT):
@bur
Thank you for your comment!
After adding the following to config.override.mk, I tried run `make run` in the `$FPC_PATH/utils/docker` directory.
```
# My config.override.mk
DOCKER_BUILD_OPTS=--build-arg UBUNTU_VERSION=20.04 --build-arg UBUNTU_NAME=focal
export SGX_MODE=HW
export SGX_BUILD=DEBUG
```
However, `SGX_BUILD=DEBUG` was not added to the environment variable of fpc-development-main.
```
# check environment variable
$ env | grep -i SGX
PKG_CONFIG_PATH=:/opt/intel/sgxsdk/pkgconfig
SGX_MODE=HW
SGXSSL_VERSION=
SGX_SSL=/opt/intel/sgxssl
SGX_SDK=/opt/intel/sgxsdk
LD_LIBRARY_PATH=:/opt/intel/sgxsdk/sdk_libs
PATH=/project/bin:/usr/local/go/bin:/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/s
bin:/bin:/opt/intel/sgxsdk/bin:/opt/intel/sgxsdk/bin/x64
```
Therefore, I manually defined `SGX_BUILD=DEBUG` in fpc-development-main container.
```
$ export SGX_BUILD=DEBUG
```
After that, I tried to make again, but there was no change in the error message displayed.
(There were no additional debug messages.)
---
I also re-obtained Intel EPID.
I created both linkable and unlinkable, configured both and tried them.
However, it never worked correctly.
I will try `common/crytpo/attestation-api/test` manually.
If I get more info, I will share!
ikegawa.koshi (Fri, 28 May 2021 10:03:11 GMT):
@BrunoVavala
Thank you for your comment!
I will check that Azure is supports them...
There is one thing I would like you to tell me.
What environment are the this community members running SGX HW on?
bur (Fri, 28 May 2021 13:56:31 GMT):
I have an old Dell Optiplex 5040 under my desk and a bunch of supermicros 5019-MR
bur (Fri, 28 May 2021 13:56:57 GMT):
unfortunately, both, are not supporting dcap
bur (Fri, 28 May 2021 13:57:55 GMT):
maybe you can look at this list https://github.com/ayeks/SGX-hardware
BrunoVavala (Fri, 28 May 2021 18:09:45 GMT):
We used/tested FPC in SGX HW mode on different hardware, Namely client processors, for instance i5's 10th gen Comet Lake, 6th gen Skylake, 8th gen Coffee Lake, Pentium Gemini Lake, and server processors, for instance Xeon's E Coffee Lake.
While some of these support DCAP, they are still capable of running FPC with EPID-based attestation.
ikegawa.koshi (Mon, 31 May 2021 01:37:18 GMT):
@bur @BrunoVavala
Thank you!
I see...
Does anyone has the experience to use SGX mode using a cloud service?
I already tried to use that checker on my Azure instance.
This instance have Intel Xeon E-2288G CPU.
Here's the result.
```
eax: 906ed ebx: 1040800 ecx: feda3203 edx: 1f8bfbff
stepping 13
model 14
family 6
processor type 0
extended model 9
extended family 0
smx: 0
Extended feature bits (EAX=07H, ECX=0H)
eax: 0 ebx: 9c6fbd ecx: 40000000 edx: 400
sgx available: 1
sgx launch control: 1
CPUID Leaf 12H, Sub-Leaf 0 of Intel SGX Capabilities (EAX=12H,ECX=0)
eax: 1 ebx: 0 ecx: 0 edx: 241f
sgx 1 supported: 1
sgx 2 supported: 0
MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24
CPUID Leaf 12H, Sub-Leaf 1 of Intel SGX Capabilities (EAX=12H,ECX=1)
eax: 36 ebx: 0 ecx: 1f edx: 0
CPUID Leaf 12H, Sub-Leaf 2 of Intel SGX Capabilities (EAX=12H,ECX=2)
eax: c0200001 ebx: 4 ecx: 6e00001 edx: 0
size of EPC section in Processor Reserved Memory, 110 M
CPUID Leaf 12H, Sub-Leaf 3 of Intel SGX Capabilities (EAX=12H,ECX=3)
eax: c7200001 ebx: 4 ecx: 200001 edx: 0
size of EPC section in Processor Reserved Memory, 2 M
CPUID Leaf 12H, Sub-Leaf 4 of Intel SGX Capabilities (EAX=12H,ECX=4)
eax: 0 ebx: 0 ecx: 0 edx: 0
size of EPC section in Processor Reserved Memory, 0 M
CPUID Leaf 12H, Sub-Leaf 5 of Intel SGX Capabilities (EAX=12H,ECX=5)
eax: 0 ebx: 0 ecx: 0 edx: 0
size of EPC section in Processor Reserved Memory, 0 M
CPUID Leaf 12H, Sub-Leaf 6 of Intel SGX Capabilities (EAX=12H,ECX=6)
eax: 0 ebx: 0 ecx: 0 edx: 0
size of EPC section in Processor Reserved Memory, 0 M
CPUID Leaf 12H, Sub-Leaf 7 of Intel SGX Capabilities (EAX=12H,ECX=7)
eax: 0 ebx: 0 ecx: 0 edx: 0
size of EPC section in Processor Reserved Memory, 0 M
CPUID Leaf 12H, Sub-Leaf 8 of Intel SGX Capabilities (EAX=12H,ECX=8)
eax: 0 ebx: 0 ecx: 0 edx: 0
size of EPC section in Processor Reserved Memory, 0 M
CPUID Leaf 12H, Sub-Leaf 9 of Intel SGX Capabilities (EAX=12H,ECX=9)
eax: 0 ebx: 0 ecx: 0 edx: 0
size of EPC section in Processor Reserved Memory, 0 M
```
bur (Mon, 31 May 2021 14:05:27 GMT):
>sgx available: 1
>sgx launch control: 1
bur (Mon, 31 May 2021 14:05:58 GMT):
this looks like you have dcap support on that box
bur (Mon, 31 May 2021 14:09:21 GMT):
we have dcap support already on our agenda https://github.com/hyperledger/fabric-private-chaincode/issues/175
avadam (Mon, 31 May 2021 18:21:11 GMT):
Has joined the channel.
BrunoVavala (Wed, 02 Jun 2021 15:29:55 GMT):
That's right. In theory, the machine should be able to perform an EPID attestation. However, the SGX driver may not be the right one, and it should be checked whether you could replace it and whether you could provision the platform.
munapower (Tue, 08 Jun 2021 15:24:46 GMT):
sorry guys! I am watching the key notes session!
munapower (Tue, 08 Jun 2021 15:25:00 GMT):
forgot about the weekly meetin
munapower (Tue, 08 Jun 2021 15:25:00 GMT):
forgot about the weekly meeting
bur (Tue, 08 Jun 2021 15:56:36 GMT):
no problem
bur (Tue, 08 Jun 2021 15:56:48 GMT):
we canceled it for today
bur (Tue, 08 Jun 2021 15:57:17 GMT):
since everyone should have a chance to listen in for the HLGF keynote
ksanjayk (Tue, 08 Jun 2021 18:37:50 GMT):
Has joined the channel.
MicBowman (Tue, 08 Jun 2021 19:11:14 GMT):
nice talk!
bur (Wed, 09 Jun 2021 09:10:29 GMT):
Interesting talk ... very similar to our sealed auction last year https://hgf2021.sched.com/event/j3fJ/re-engineering-election-process-with-blockchain-and-confidential-computing-shivendra-yadav-vikram-sharma-hcl-technologies-ltd?linkback=grid&iframe=no
bur (Wed, 09 Jun 2021 16:26:03 GMT):
another interesting talk by @ikegawa.koshi https://hgf2021.sched.com/event/jfmJ?iframe=no
munapower (Wed, 09 Jun 2021 18:44:39 GMT):
Lab Contributions
munapower (Wed, 09 Jun 2021 18:44:40 GMT):
David Enyeart just mentioned us in the session Project Demo: Fabric
bur (Thu, 10 Jun 2021 08:40:28 GMT):
Great to see that they are using FPC store protect metadata in the blockchain for a genomic data use-case
bur (Thu, 10 Jun 2021 08:40:28 GMT):
Great to see that they are using FPC to store protect metadata in the blockchain for a genomic data use-case
bur (Thu, 10 Jun 2021 08:41:12 GMT):
@ikegawa.koshi can you share the slides with us? I can't find them on sched yet
ikegawa.koshi (Thu, 10 Jun 2021 08:46:29 GMT):
Thank you for listening my session!
The slides were uploaded at the last minute, so they haven't been reflected yet......
I will share my slide in this chat!
ikegawa.koshi (Thu, 10 Jun 2021 08:47:00 GMT):
HGF2021-ikegawa.pdf
munapower (Mon, 14 Jun 2021 17:01:54 GMT):
Yesterday I wanted to test the readmes that I have modified so I brought everything down and started from util/dockers ... and then went to test-network to do the make build there. My environment got stuck again on the ecc docker build like before the HGF event. This time I checked and I did have the ccenv image in my docker repository. I restarted my laptop just in case. Went thru the steps again and again stuck in that ecc docker build. Only way to get out of there was to do a make build in utils/docker. I do not know if that is what is supposed to be done ... but if so, it isn't mentioned in any of the readmes ... don't know if this is a general issue or just my screwed up laptop that wants to retire.
angelparrales (Tue, 15 Jun 2021 22:32:52 GMT):
Has joined the channel.
bur (Wed, 16 Jun 2021 06:38:39 GMT):
thanks for creating the issue https://github.com/hyperledger/fabric-private-chaincode/issues/603
munapower (Tue, 22 Jun 2021 18:36:16 GMT):
Youtube link to presentation @ hyperledger global forum of UMBC and @BrunoVavala https://youtu.be/MU4BpZp8A1Y
munapower (Tue, 22 Jun 2021 19:25:35 GMT):
Youtube link to Demo @ hyperledger global forum https://youtu.be/byHV7ydwHoY
KameshPalani (Thu, 24 Jun 2021 04:34:35 GMT):
Has joined the channel.
KameshPalani (Thu, 24 Jun 2021 04:56:24 GMT):
Hi Team,
Rgarding https://jira.hyperledger.org/browse/FABCG-23
KameshPalani (Thu, 24 Jun 2021 04:56:24 GMT):
Hi Team,
Need help regarding https://jira.hyperledger.org/browse/FABCG-23
*Issue: *Unable to get Transaction Details with GetTransactionByID qscc call from another chaincode
*Description: *
We recently upgraded our Fabric version from 1.4 to 2.3. In our Chaincode we have business logic to verify a txnId is present in ledger or not. With Fabric 2.3 upgrade we are getting below error. If this is a limitation from added in 2.x to avoid deadlock situation, can you let us know the approaches to get transaction details for a given transaction ID from a chaincode?
Code:
chainCodeArgs := toChaincodeArgs("GetTransactionByID", stub.GetChannelID(), tid)
response := stub.InvokeChaincode("qscc", chainCodeArgs, stub.GetChannelID())
Error:
Rejecting invoke of QSCC from another chaincode because of potential for deadlocks, original invocation for 'testcc'
bur (Thu, 24 Jun 2021 08:14:00 GMT):
Hi @KameshPalani, this is the Fabric Private Chaincode channel. I think you question can be better answered in #fabric-chaincode-dev
KameshPalani (Thu, 24 Jun 2021 10:33:03 GMT):
Thanks
bur (Thu, 24 Jun 2021 16:25:15 GMT):
@BrunoVavala have a look at this https://hgf2021.sched.com/event/j3fJ/re-engineering-election-process-with-blockchain-and-confidential-computing-shivendra-yadav-vikram-sharma-hcl-technologies-ltd?iframe=no
AjayKalola (Fri, 25 Jun 2021 12:38:18 GMT):
Has joined the channel.
AjayKalola (Fri, 25 Jun 2021 12:39:43 GMT):
Hello Team,
I'm facing the issue while updating the chaincode. Can anyone help me to resolve it.
`2021-06-25 12:16:55.458 UTC [msp/identity] Sign -> DEBU 0bf Sign: plaintext: 0A90090A7008031A0C08B792D7860610...324D53500A04657363630A0476736363
2021-06-25 12:16:55.459 UTC [msp/identity] Sign -> DEBU 0c0 Sign: digest: CA0260CE12250C900C831C630D58FC50CAE8296D79C754CAD8A61E4B96039C48
2021-06-25 12:16:55.466 UTC [chaincodeCmd] upgrade -> DEBU 0c1 endorse upgrade proposal, get response
bur (Fri, 25 Jun 2021 16:01:46 GMT):
oh interesting - FPC does not really support upgrading change at the moment - Technically it is possible to do that, particularly, updating the FPC chaincode which results in a new version (mrenclave). Using lifecycle commands to upgrade should therefore be straight forward, but the enclave registry is not yet equipped with the logic to pre-provision the updated enclave.
bur (Fri, 25 Jun 2021 16:01:46 GMT):
oh interesting - FPC does not really support upgrading chaincode at the moment - Technically it is possible to do that, particularly, updating the FPC chaincode which results in a new version (mrenclave). Using lifecycle commands to upgrade should therefore be straight forward, but the enclave registry is not yet equipped with the logic to pre-provision the updated enclave.
bur (Fri, 25 Jun 2021 16:02:06 GMT):
However, the error you have posted may have other reasons
bur (Fri, 25 Jun 2021 16:02:16 GMT):
maybe you are using non-admin credentials?
bur (Fri, 25 Jun 2021 16:02:48 GMT):
or not enough approveformyorg transactions?!
bur (Fri, 25 Jun 2021 16:02:50 GMT):
not sure
AjayKalola (Tue, 29 Jun 2021 04:35:51 GMT):
Hello @bur ```
I'm using the valid CA credentials(ca-orderer) i have checked that and i'm trying to update chaincode via below command```
peer chaincode upgrade \
--tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA \
--clientauth --keyfile ${KEYFILE} \
--certfile ${CERTFILE} \
-n $CHAINCODE_NAME -v $VERSION -c '{"Args":[""]}' -C CHANNEL_NAME -P "AND ('oderer1MSP.member','orderer2MSP.member')"
```
```
bur (Tue, 29 Jun 2021 08:14:21 GMT):
Are you using Fabric Private Chaincode?
AjayKalola (Tue, 29 Jun 2021 08:55:17 GMT):
Yes
bur (Wed, 30 Jun 2021 11:59:31 GMT):
Hi @AjayKalola we discussed your issue on our community talk yesterday. The team came to the conclusion that, Fabric Private Chaincode currently does not yet support the chaincode upgrade operation. The issue you are posting here, though, is not related to FPC but certainly related to some lifecycle policy. Note that for FPC, upgrading private chaincode is challenging as it requires to create a new enclave and provision it with the correspnding cryptographic material to continue working with existing world state for that chaincode. Please feel free to create a feature request on our github for FPC chaincode upgrade. This way we can better plan and put this feature on our roadmap. Thank you
AjayKalola (Thu, 01 Jul 2021 04:08:58 GMT):
Okay, Thanks for the update.
angelparrales (Tue, 06 Jul 2021 14:40:51 GMT):
@BrunoVavala, Wont be able to attend today's meeting
bur (Tue, 06 Jul 2021 15:22:12 GMT):
https://github.com/ayeks/SGX-hardware#cloud-vendors
ikegawa.koshi (Thu, 08 Jul 2021 05:38:58 GMT):
Hi FPC Team,
I've confirmed that FPC runs in Microsoft Azure DCsv2 Series instances!
There are two problems.
The first problem was my mistake that aesmd-service had not been installed correctly.
I solved the problem by building and installing linux-sgx.
The second problem is that an error occurs when running attacked_evidence_test.sh.
The following is an error when executing `make` in fpc-development-main.
```
make -C _build test || \
(echo "PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests." && exit 1)
make[3]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
Running tests...
Test project /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build
Start 1: utest
1/3 Test #1: utest ............................ Passed 0.17 sec
Start 2: ttest
2/3 Test #2: ttest ............................ Passed 0.30 sec
Start 3: attested_evidence_test.sh
3/3 Test #3: attested_evidence_test.sh ........***Failed 0.68 sec
67% tests passed, 1 tests failed out of 3
Total Test time (real) = 1.16 sec
The following tests FAILED:
3 - attested_evidence_test.sh (Failed)
Errors while running CTest
make[3]: *** [Makefile:84: test] Error 8
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests.
make[2]: *** [Makefile:25: test] Error 1
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: test] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: test] Error 2
```
When I run `attacked_evidence_test.sh` by only itself, I get the following error.
```shell
ERROR (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:154) error at /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:154: invalid quote status
ERROR (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:54) error at /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:54: correct evidence failed
```
After commenting out lines 154-156 of `verify-evidence.cpp` and running make, the docker image was created correctly.
Do you have any thoughts?
bur (Thu, 08 Jul 2021 13:19:02 GMT):
oh very interesting!
bur (Thu, 08 Jul 2021 13:19:30 GMT):
FPC currently only support EPID attestation. And as far as I know, Azure does not support EPID, only DCAP
bur (Thu, 08 Jul 2021 13:19:52 GMT):
this may be the reason why the attested_evidence_test fails
bur (Thu, 08 Jul 2021 13:21:21 GMT):
We already have an issue for DCAP support https://github.com/hyperledger/fabric-private-chaincode/issues/175
bur (Thu, 08 Jul 2021 13:22:22 GMT):
We should revamp these efforts and build it for FPC
bur (Thu, 08 Jul 2021 13:23:22 GMT):
Can you maybe drop a comment on 175 that you would like to run FPC on Azure and therefore DCAP support is a MUST
ikegawa.koshi (Fri, 09 Jul 2021 01:00:20 GMT):
Thank you for your interest.
I thought that if Azure really doesn't support EPID, then now version FPC can't be run, is that not the case?
I confirmed we can create test-network using FPC on Azure and invoke/query transactions.
# By the way, do you know how to check whether the machine (or VM) supports EPID or not?
ikegawa.koshi (Fri, 09 Jul 2021 01:00:20 GMT):
@bur
Thank you for your interest!
I thought that if Azure really doesn't support EPID, then now version FPC can't be run, is that not the case?
I confirmed we can create test-network using FPC on Azure and invoke/query transactions.
# By the way, do you know how to check whether the machine (or VM) supports EPID or not?
bur (Fri, 09 Jul 2021 10:38:06 GMT):
>I confirmed we can create test-network using FPC on Azure and invoke/query transactions.
I would have expected that the init enclave call would fail. Maybe there is a bug? @BrunoVavala WDYT?
bur (Fri, 09 Jul 2021 10:45:43 GMT):
> # By the way, do you know how to check whether the machine (or VM) supports EPID or not?
Mh not really clear for me. According to this page attestation via IAS is possible (this used EPID) https://docs.microsoft.com/en-us/azure/confidential-computing/attestation
But there are not examples on azure websites how to do that.
The teaclave project, on the other hand, has a sample where apparently EPID-based attestation is running on Azure https://teaclave.apache.org/docs/azure-confidential-computing/
munapower (Fri, 09 Jul 2021 17:55:52 GMT):
So I was able to get path the make build of utils/docker. There seems to be an issue with the latest docker desktop version for Mac. I uninstalled and went back to version 3.3.2. When I ran the make build in util/dockers I got ```make -C $FPC_PATH/utils/docker build
make: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/utils/docker'
DOCKER_BUILDKIT=1 docker build --build-arg FPC_VERSION=main -t hyperledger/fabric-private-chaincode-base-rt base-rt
[+] Building 1.0s (3/3) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 5.95kB 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> ERROR [internal] load metadata for docker.io/library/ubuntu:20.04 0.8s
------
> [internal] load metadata for docker.io/library/ubuntu:20.04:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: rpc error: code = Unknown desc = error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
make: *** [Makefile:175: base-rt] Error 1
make: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/utils/docker'``` and googled and followed recommendation to set buildkit to 0 and also COMPOSE_DOCKER_CLI_BUILD to 0. It worked!!!!
munapower (Fri, 09 Jul 2021 17:55:52 GMT):
So I was able to get path the make build of utils/docker. There seems to be an issue with the latest docker desktop version for Mac. I uninstalled and went back to version 3.3.2. When I ran the make build in util/dockers I got ```make -C $FPC_PATH/utils/docker build
make: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/utils/docker'
DOCKER_BUILDKIT=1 docker build --build-arg FPC_VERSION=main -t hyperledger/fabric-private-chaincode-base-rt base-rt
[+] Building 1.0s (3/3) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 5.95kB 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> ERROR [internal] load metadata for docker.io/library/ubuntu:20.04 0.8s
------
> [internal] load metadata for docker.io/library/ubuntu:20.04:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: rpc error: code = Unknown desc = error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
make: *** [Makefile:175: base-rt] Error 1
make: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/utils/docker'``` and googled and followed recommendation to set buildkit to 0 and also COMPOSE_DOCKER_CLI_BUILD to 0. It worked!!!! Still now I get stuck/hung in the build inside the test-network on the boilerplate-ecc build ... just like before
munapower (Fri, 09 Jul 2021 19:00:26 GMT):
this last set I was able to solve setting BUILD_OPTS to no-cache .... so definitely a docker issue
bur (Mon, 12 Jul 2021 14:40:21 GMT):
> err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
make: ***
I encountered this error recently as well. By default, we are loading your host docker configuration into the dev container you could use the same settings. However, since your host is macos, which uses the docker-credential-desktop app as default to store docker related credentials, this command is not availble inside the docker dev container
bur (Mon, 12 Jul 2021 14:41:05 GMT):
I solved the issue by removing `"credsStore" : "desktop"` from `~/.docker.config.json`
munapower (Tue, 13 Jul 2021 00:17:33 GMT):
ah! interesting! will move to the latest version 3.5.2 that someone replied to one of my posts and send that they had the same issued and it was solved with that version
ikegawa.koshi (Wed, 14 Jul 2021 06:28:33 GMT):
Hi FPC team,
I have a question.
In FPC, can we install and run multiple chaincodes?
For example, can I install and run echo, and then install and run auction or helloworld chaincodes?
bur (Wed, 14 Jul 2021 06:40:41 GMT):
yes that works
bur (Wed, 14 Jul 2021 06:41:07 GMT):
each FPC chaincode runs in its own enclave on a peer
bur (Wed, 14 Jul 2021 06:49:39 GMT):
our sample deployment with the test-network, though, only demonstrates a setup with a single chaincode
bur (Wed, 14 Jul 2021 06:50:36 GMT):
that is, you can only define a single CC_ID / CC_PATH that is going to be installed and started with `make ercc-ecc-start
`
bur (Wed, 14 Jul 2021 06:50:36 GMT):
that is, you can only define a single CC_ID / CC_PATH that is going to be installed and started with `make ercc-ecc-start`
bur (Wed, 14 Jul 2021 06:52:46 GMT):
I think you just need to modify `installFPC.sh` and the `docker-compose.yml` in the test-network folder to make it more flexible; so far we tried to keep test-network simple
ikegawa.koshi (Wed, 14 Jul 2021 07:56:18 GMT):
@bur
Thank you for answering!
Am I correct in assuming that there is only one ercc-container and multi chaincode-containers?
bur (Wed, 14 Jul 2021 07:57:34 GMT):
correct ... you only need a single ercc per channel, which maintains all FPC chaincodes installed on that channel
bur (Wed, 14 Jul 2021 08:00:13 GMT):
look at `$FPC_PATH/samples/deployment/test-network/docker-compose.yml`
bur (Wed, 14 Jul 2021 08:00:31 GMT):
every peer has a ercc and ecc container
bur (Wed, 14 Jul 2021 08:01:04 GMT):
to run more than one FPC chaincode just add another ecc for the other chaincode
bur (Wed, 14 Jul 2021 08:01:30 GMT):
better give them other names than `ecc.peer0.org1.example.com`
bur (Wed, 14 Jul 2021 08:01:59 GMT):
something like `echo.peer0.org1.example.com` and `auction.peer0.org1.example.com`
ikegawa.koshi (Wed, 14 Jul 2021 08:34:08 GMT):
OK, I understand!
I will try and share the result here!
Thanks!
BrunoVavala (Wed, 14 Jul 2021 19:33:43 GMT):
@ikegawa.koshi The tests that you did may actually prove that the EPID attestation is working on Azure.
Would you be willing to share the following file? (common/crypto/_build/tests/verify_evidence_input.txt)
(It contains the verification report from IAS, something like: `{"attestation_type":"epid-linkable","evidence":"{\"iasSignature\":\"...`)
@bur I would agree with you on the initEnclave argument. However, according to what he reported, the verify_evidence fails in getting the quote status, but it seems to succeed in verifying the IAS signature. Hence, there may simply be another quote status, which we reject. Depending on that status, we could discuss whether to accept it or not.
BrunoVavala (Wed, 14 Jul 2021 19:33:43 GMT):
@ikegawa.koshi The tests that you did may actually prove that the EPID attestation is working on Azure.
Would you be willing to share the following file? (`common/crypto/_build/tests/verify_evidence_input.txt`)
(It contains the verification report from IAS, something like: `{"attestation_type":"epid-linkable","evidence":"{\"iasSignature\":\"...`)
@bur I would agree with you on the initEnclave argument. However, according to what he reported, the verify_evidence fails in getting the quote status, but it seems to succeed in verifying the IAS signature. Hence, there may simply be another quote status, which we reject. Depending on that status, we could discuss whether to accept it or not.
bur (Thu, 15 Jul 2021 06:56:23 GMT):
if that works, that would be fantastic!
bur (Thu, 15 Jul 2021 06:58:03 GMT):
@BrunoVavala I wondering why the test is failing but initEnclave, or in particular, verification at ercc is not
ikegawa.koshi (Thu, 15 Jul 2021 11:32:29 GMT):
verify_evidence_input.txt
ikegawa.koshi (Thu, 15 Jul 2021 11:33:43 GMT):
@BrunoVavala
I shared the file (`common/crypto/_build/tests/verify_evidence_input.txt`)!
bur (Thu, 15 Jul 2021 12:24:24 GMT):
oh interessting ... IAS retruned "`isvEnclaveQuoteStatus\\\":\\\"SW_HARDENING_NEEDED\\\"`
bur (Thu, 15 Jul 2021 12:25:26 GMT):
seems to be an issue with azure according to https://docs.microsoft.com/en-us/answers/questions/63421/azure-confidential-computing-machines-affected-by.html
BrunoVavala (Thu, 15 Jul 2021 22:32:44 GMT):
Thanks @ikegawa.koshi , that confirms what I said.
EPID works, but FPC does not accept that quote status. We have to update the quote verification library.
bur (Fri, 16 Jul 2021 13:40:37 GMT):
The Fabric Smart Client Example shown yesterday from Angelo can be found here: https://github.com/hyperledger-labs/fabric-smart-client/blob/4a178ae47e0d34a814c99939fdec7fe560c58379/integration/fabric/atsa/chaincode/views/seller.go#L27
bur (Fri, 16 Jul 2021 13:41:19 GMT):
An issue to add FPC support to FSC is here: https://github.com/hyperledger-labs/fabric-smart-client/issues/23
ikegawa.koshi (Tue, 20 Jul 2021 00:34:56 GMT):
@BrunoVavala
Thanks!
Does that mean I should build and update this source?
(https://github.com/intel/SGXDataCenterAttestationPrimitives)
munapower (Tue, 20 Jul 2021 15:20:39 GMT):
```make[3]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as
project(ProjectName)
near the top of the file, but after cmake_minimum_required().
CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.
-- SGX_COMMON_CFLAGS: -m64 -DSGX_SIM_MODE -O2
-- SGX_SDK: /opt/intel/sgxsdk
-- SGX_MODE: SIM
-- SGX_BUILD: PRERELEASE
-- SGX_LIBRARY_PATH: /opt/intel/sgxsdk/lib64
-- SGX_ENCLAVE_SIGNER: /opt/intel/sgxsdk/bin/x64/sgx_sign
-- SGX_EDGER8R: /opt/intel/sgxsdk/bin/x64/sgx_edger8r
-- SGX_SSL: /opt/intel/sgxssl
-- SGX_SSL_LIBRARY_PATH: /opt/intel/sgxssl/lib64
codcov disabled
-- Compiling with optimizations (-O2). To use debug flags, set the DEBUG environment variable.
CMake Error at pdo/common/CMakeVariables.txt:39 (message):
PDO_ENCLAVE_CODE_SIGN_PEM environment variable not defined!
Call Stack (most recent call first):
CMakeLists.txt:107 (INCLUDE)
-- Configuring incomplete, errors occurred!
See also "/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build/CMakeFiles/CMakeOutput.log".
make[3]: *** [Makefile:622: cmake_check_build_system] Error 1
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[2]: *** [Makefile:22: build] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: build] Error 2
root@docker-desktop:/project/src/github.com/hyperledger/fabric-private-chaincode
```
bur (Tue, 20 Jul 2021 15:28:06 GMT):
https://nomadic-dmitry.medium.com/apple-silicon-m1-how-to-run-x86-and-arm-virtual-machines-on-it-cdd9d9054483
BrunoVavala (Wed, 21 Jul 2021 01:47:36 GMT):
[ ](https://chat.hyperledger.org/channel/fabric-private-chaincode?msg=bku7NfrapWrJBs4zy) No, that's for DCAP, and it's not integrated with FPC yet.
FPC uses the quote verification library of PDO. If you're curious, you can see here (https://github.com/hyperledger-labs/private-data-objects/blob/75467684cda0ca6abb10154e3f45f97e9784ed54/common/crypto/verify_ias_report/verify-report.cpp#L218) why the quote status that you reported is not working -- the verification logic only accepts "OK" or "GROUP_OUT_OF_DATE".
I am going to push some modifications to enable a more extended verification -- including "SW_HARDENING_NEEDED".
bur (Wed, 21 Jul 2021 07:44:30 GMT):
this error was resolved by running `make clean` and then `make` again.
bur (Wed, 21 Jul 2021 15:05:15 GMT):
@BrunoVavala question related to IAS certificate verification. According to https://api.trustedservices.intel.com/documents/IAS-API-Spec-rev-4.0.pdf, the report comes with a *Attestation Report Signing Certificate* and *Attestation Report Signing CA Certificate*. The document also states:
> Attestation Report Signing CA Certificate (available to download upon successful registration to IAS)
In the PDO code I found that this Signing CA cert is downloaded via `wget https://certificates.trustedservices.intel.com/Intel_SGX_Attestation_RootCA.pem`. Is this downloaded cert equivalent to the CA cert attached to the report?
bur (Wed, 21 Jul 2021 15:08:07 GMT):
Or is the Signing CA Cert attached to the report an intermediate cert? In `verify-evidence.cpp` I can see that the downloaded cert is used to validate both, the Signing Cert and Signing CA Cert. But I don't see that the Signing CA Cert is also used to validate the Siging Cert.
bur (Wed, 21 Jul 2021 15:08:12 GMT):
thanks
BrunoVavala (Wed, 21 Jul 2021 15:17:01 GMT):
Yes - otherwise it would fail
BrunoVavala (Wed, 21 Jul 2021 15:24:50 GMT):
No, the signing CA cert is the root certificate.
The downloaded one and the received one should be the same.
Also, since they are self-signed, then one must verify the other -- same as "it must verify itself".
Hence, once the root is validated, and this certifies the intermediate cert, we're done.
ikegawa.koshi (Mon, 26 Jul 2021 07:08:13 GMT):
@BrunoVavala
Thanks, it was very helpful.
I know this is still under discussion, but is "SW_HARDENING_NEEDED" acceptable in testing?
If it's acceptable, I'm very happy to verify it in Azure.
ikegawa.koshi (Mon, 26 Jul 2021 07:08:24 GMT):
Hi, FPC Team.
I have a question.
It seems that SGX is being abolished and TDX is being introduced in the 11th generation intel CPUs. Are there any plans for FPC to support TDX in the future?
bur (Mon, 26 Jul 2021 09:14:29 GMT):
Hi Koshi, Intel SGX and TDX are targeting different use cases and usage models. SGX is designed to protect an application on a host, whereas TDX focuses on the protection of an entire VM in a hypervisor environment. To execute chaincode securely, SGX seems the better fit. However, I can also imaging that FPC chaincode may run a TDX-based VM. We are definitely looking in alternative TEE support for FPC. For TDX there are no concrete plans at the moment, but happy to discuss.
bur (Mon, 26 Jul 2021 09:19:51 GMT):
Note that the architecture of FPC is designed with extending support for other TEEs in mind. For instance, attestation infrastructure is flexible in that sense abstracts the actual TEE technology away and thereby allows adding new types, e.g., for TDX attestation. Deployment may look different though. https://software.intel.com/content/dam/develop/external/us/en/documents/tdx-whitepaper-v4.pdf
BrunoVavala (Mon, 26 Jul 2021 19:04:43 GMT):
In testing, I don't see any issue with that.
In production, the user should be empowered to make the decision whether it is acceptable or not.
From the SGX attestation API spec (https://api.trustedservices.intel.com/documents/sgx-attestation-api-spec.pdf): `SW_HARDENING_NEEDED – the EPID signature of the
ISV enclave QUOTE has been verified correctly but due
to certain issues affecting the platform, additional SW
Hardening in the attesting SGX enclaves may be
needed. The relying party should evaluate the potential
risk of an attack leveraging the relevant issues on the
attesting enclave, and whether the attesting enclave
employs adequate software hardening to mitigate the
risk.`
ikegawa.koshi (Tue, 27 Jul 2021 09:07:45 GMT):
Thank you for sharing this information.
It would be very helpful to be able to work with HW, even if only for testing.
ikegawa.koshi (Tue, 27 Jul 2021 09:07:56 GMT):
I understand!
Thank you for sharing this information.
If SGX is no longer available in the future, we will need to do something about it...
ikegawa.koshi (Tue, 27 Jul 2021 09:08:29 GMT):
Hi FPC Team.
The IBM cloud bare metal server seems to work SGX.
Does anyone know if it works with FPC?
BrunoVavala (Tue, 27 Jul 2021 17:51:16 GMT):
It should work.
I have successfully run simple SGX tests on a kubernetes cluster on IBM cloud -- specifically on a Xeon E-2174G processor. So: for Kubernetes deployments, I would just expect some tuning required to our documentation; for bare metal (EPID-based SGX capable) server, I don't expect any issue.
bur (Fri, 30 Jul 2021 14:34:09 GMT):
@BrunoVavala @ikegawa.koshi Can you please comment on my new issue regarding new docker flow to publish FPC docker images. I already had a quick discussion with @munapower on that topic. Thank you! https://github.com/hyperledger/fabric-private-chaincode/issues/611
bur (Fri, 30 Jul 2021 14:39:48 GMT):
@ikegawa.koshi See the corresponding PR https://github.com/hyperledger/fabric-private-chaincode/pull/610
ikegawa.koshi (Mon, 02 Aug 2021 03:59:04 GMT):
@bur
Thank you!
Is this PR a WIP and if I integrate it into main it will not work?
I try fetched the PR #610 and built it.
Of couse, I also fetched PDO's PR #326.
However, I cannot make fpc-development-main container.
Error message is following.
```shell
make --directory=_build
make[3]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[4]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
Scanning dependencies of target tpdo-crypto-adapt
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
[ 1%] Building CXX object CMakeFiles/tpdo-crypto-adapt.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/base64/base64.cpp.o
[ 2%] Building CXX object CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o
In file included from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:14:
/project/src/github.com/hyperledger/fabric-private-chaincode/common/error.h:9: warning: "COND2ERR" redefined
9 | #define COND2ERR(b) \
|
In file included from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/pdo/common/crypto/crypto.h:29,
from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:13:
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/pdo/common/crypto/verify_ias_report/verify-report.h:42: note: this is the location of the previous definition
42 | #define COND2ERR(b) \
|
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp: In function 'bool verify_ias_evidence(ByteArray&, ByteArray&, ByteArray&)':
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:36: error: 'QSF_ACCEPT_GROUP_OUT_OF_DATE' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:67: error: 'QSF_ACCEPT_CONFIGURATION_NEEDED' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:154:36: error: 'QSF_ACCEPT_SW_HARDENING_NEEDED' was not declared in this scope
154 | QSF_ACCEPT_SW_HARDENING_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:155:36: error: 'QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED' was not declared in this scope
155 | QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: *** [CMakeFiles/tpdo-crypto-adapt.dir/build.make:76: CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:187: CMakeFiles/tpdo-crypto-adapt.dir/all] Error 2
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[3]: *** [Makefile:95: all] Error 2
make[2]: *** [Makefile:22: build] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:52: fpc-peer] Error 2
The command '/bin/sh -c cd ${FPC_PATH} && make fpc-peer && make fpc-peer-cli' returned a non-zero code: 2
make: *** [Makefile:211: dev] Error 2
```
bur (Mon, 02 Aug 2021 09:29:42 GMT):
it seems we are missing the import for pdo-crypto `common/crypto/verify_ias_report/verify-report.h` where `QSF_*` flags are defined
bur (Mon, 02 Aug 2021 09:35:28 GMT):
ok, I'm wrong. the function `verify_enclave_quote_status' is defined in `verify-report.h` ... so it should be there
bur (Mon, 02 Aug 2021 09:35:59 GMT):
double check the you really got the PDO PR code in your local repo
bur (Mon, 02 Aug 2021 09:36:37 GMT):
However, maybe Bruno has more insights what this PR needs to be tested. :)
BrunoVavala (Mon, 02 Aug 2021 15:57:30 GMT):
That's right. FPC#610 is WIP because it's missing the PDO crypto update. But FPC#610 should work with PDO#326
ikegawa.koshi (Tue, 03 Aug 2021 07:39:24 GMT):
@bur @BrunoVavala
Thanks.
I confirmed that the FPC and PDO have been changed to the contents of the pull request.
These are the detailed commands that I entered.
```shell
cd $FPC_PATH
git branch pr610
git checkout pr610
git pull origin pull/610/head
cd $FPC_PATH/common/crypto/pdo
git branch pr326
git checkout pr326
git pull origin pull/326/head
cd $FPC_PATH/utils/docker
make run
```
I tried it again and got the same error message.
```shell:Error_messages
make[3]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[4]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
Scanning dependencies of target tpdo-crypto-adapt
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
[ 1%] Building CXX object CMakeFiles/tpdo-crypto-adapt.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/base64/base64.cpp.o
[ 2%] Building CXX object CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o
In file included from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:14:
/project/src/github.com/hyperledger/fabric-private-chaincode/common/error.h:9: warning: "COND2ERR" redefined
9 | #define COND2ERR(b) \
|
In file included from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/pdo/common/crypto/crypto.h:29,
from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:13:
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/pdo/common/crypto/verify_ias_report/verify-report.h:42: note: this is the location of the previous definition
42 | #define COND2ERR(b) \
|
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp: In function 'bool verify_ias_evidence(ByteArray&, ByteArray&, ByteArray&)':
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:36: error: 'QSF_ACCEPT_GROUP_OUT_OF_DATE' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:67: error: 'QSF_ACCEPT_CONFIGURATION_NEEDED' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:154:36: error: 'QSF_ACCEPT_SW_HARDENING_NEEDED' was not declared in this scope
154 | QSF_ACCEPT_SW_HARDENING_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:155:36: error: 'QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED' was not declared in this scope
155 | QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: *** [CMakeFiles/tpdo-crypto-adapt.dir/build.make:76: CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:187: CMakeFiles/tpdo-crypto-adapt.dir/all] Error 2
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[3]: *** [Makefile:95: all] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[2]: *** [Makefile:22: build] Error 2
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:52: fpc-peer] Error 2
The command '/bin/sh -c cd ${FPC_PATH} && make fpc-peer && make fpc-peer-cli' returned a non-zero code: 2
make: *** [Makefile:211: dev] Error 2
```
bur (Tue, 03 Aug 2021 07:40:44 GMT):
did you run a `make clean`?
bur (Tue, 03 Aug 2021 07:40:44 GMT):
did you run a `make clean`? (after switching into the FPC dev container)
ikegawa.koshi (Tue, 03 Aug 2021 07:42:19 GMT):
Of course!
Make clean is undefined in the Makefile of utils/docker, but I ran make clobber.
bur (Tue, 03 Aug 2021 07:42:47 GMT):
no, I meant in $FPC_PATH
bur (Tue, 03 Aug 2021 07:44:22 GMT):
all make targets in `utils/docker` are related to docker. I was asking about `make clean` in `$FPC_PATH` to make sure that the PDO crypto lib is built from scratch
ikegawa.koshi (Tue, 03 Aug 2021 07:47:13 GMT):
Oh... so do I need to make fpc-development-main container before merging the PR?
ikegawa.koshi (Tue, 03 Aug 2021 07:48:11 GMT):
As I understand it, create fpc-development-main first, and then run make on $FPC_PATH.
However, the creation of fpc-development-main failed.
bur (Tue, 03 Aug 2021 07:50:12 GMT):
you are saying
```
cd $FPC_PATH/utils/docker
make run
```
fails with the PR code?
bur (Tue, 03 Aug 2021 07:50:16 GMT):
?
ikegawa.koshi (Tue, 03 Aug 2021 07:50:32 GMT):
Yes!
bur (Tue, 03 Aug 2021 07:52:58 GMT):
mh
bur (Tue, 03 Aug 2021 07:53:14 GMT):
what is executing `The command '/bin/sh -c cd ${FPC_PATH} && make fpc-peer && make fpc-peer-cli'`
bur (Tue, 03 Aug 2021 07:53:28 GMT):
I dont understand why this is happening
bur (Tue, 03 Aug 2021 07:54:27 GMT):
are you working on the main branch?
bur (Tue, 03 Aug 2021 07:54:33 GMT):
+ PR code?
ikegawa.koshi (Tue, 03 Aug 2021 07:55:54 GMT):
Yes. I'm pulling the origin main code before pull the PR code...
bur (Tue, 03 Aug 2021 07:56:25 GMT):
see this
bur (Tue, 03 Aug 2021 07:56:36 GMT):
according to your log file this line here fails https://github.com/hyperledger/fabric-private-chaincode/blob/main/utils/docker/dev_peer_cc-builder/Dockerfile#L99
bur (Tue, 03 Aug 2021 07:57:03 GMT):
however, this is part of the peer-builder, which SHOULD not be triggered with `make run`
bur (Tue, 03 Aug 2021 07:57:30 GMT):
see makefile
bur (Tue, 03 Aug 2021 07:57:31 GMT):
https://github.com/hyperledger/fabric-private-chaincode/blob/main/utils/docker/Makefile#L128
bur (Tue, 03 Aug 2021 07:58:26 GMT):
`make run` calls `dev` -> `base-dev` -> `base-dev` -> `base-rt`
bur (Tue, 03 Aug 2021 13:09:29 GMT):
oh could it be that you try to set `DOCKER_BUILDKIT=1` in your `config.override.mk`
bur (Tue, 03 Aug 2021 13:09:29 GMT):
oh could you please try to set `DOCKER_BUILDKIT=1` in your `config.override.mk`
bur (Tue, 03 Aug 2021 13:10:41 GMT):
I just read a comment in the dev docker file that says that all stages are evaluated if `DOCKER_BUILDKIT=0`. This would explain why the build of the peer images are triggered
ikegawa.koshi (Tue, 03 Aug 2021 13:25:12 GMT):
Oh! Thanks! I could confirm building hyperledger/fabric-private-chaincode-dev image!
ikegawa.koshi (Tue, 03 Aug 2021 13:29:24 GMT):
However, when I entered fpc-development-main and ran make in $ FPC_PATH, I got an error.
Also, we're likely to have to look for the cause of the error :cry:
Error message is following
```shell
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging/_build'
Scanning dependencies of target test_log_app
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging/_build'
[ 85%] Building CXX object test/CMakeFiles/test_log_app.dir/untrusted/test.cpp.o
[100%] Linking CXX executable test_log_app
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging/_build'
[100%] Built target test_log_app
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging/_build'
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging/_build'
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/logging'
make[2]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
Generating RSA private key, 3072 bit long modulus (2 primes)
...............................................................++++*......................................................++++
...................................................................................................................................................................................................++++*..........++++
e is 3 (0x03)
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as
project(ProjectName)
near the top of the file, but after cmake_minimum_required().
CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- SGX_COMMON_CFLAGS: -m64 -DSGX_HW_MODE -O2
-- SGX_SDK: /opt/intel/sgxsdk
-- SGX_MODE: HW
-- SGX_BUILD: PRERELEASE
-- SGX_LIBRARY_PATH: /opt/intel/sgxsdk/lib64
-- SGX_ENCLAVE_SIGNER: /opt/intel/sgxsdk/bin/x64/sgx_sign
-- SGX_EDGER8R: /opt/intel/sgxsdk/bin/x64/sgx_edger8r
-- SGX_SSL: /opt/intel/sgxssl
-- SGX_SSL_LIBRARY_PATH: /opt/intel/sgxssl/lib64
codcov disabled
-- Compiling with optimizations (-O2). To use debug flags, set the DEBUG environment variable.
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'openssl>=1.1.0g'
-- Found openssl, version 1.1.1f
CMake Error at CMakeLists.txt:123 (ADD_SUBDIRECTORY):
The source directory
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test
does not contain a CMakeLists.txt file.
-- Configuring incomplete, errors occurred!
See also "/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build/CMakeFiles/CMakeOutput.log".
make[2]: *** [Makefile:13: _build] Error 1
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: build] Error 2
```
bur (Tue, 03 Aug 2021 13:32:21 GMT):
seems that it cannot find `/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/CMakeLists.txt`.
bur (Tue, 03 Aug 2021 13:32:27 GMT):
it should be there https://github.com/hyperledger/fabric-private-chaincode/tree/main/common/crypto/attestation-api/test
bur (Tue, 03 Aug 2021 13:32:53 GMT):
WIP PR 610 is not touching this one
bur (Tue, 03 Aug 2021 13:33:34 GMT):
could it be that there are still some changes you've made to the code base when "disabling" attestation?
ikegawa.koshi (Tue, 03 Aug 2021 13:36:26 GMT):
hmm... I deleted the entire $FPC_PATH directory and re-cloned it from https://github.com/hyperledger/fabric-private-chaincode.
I'll try again.
bur (Tue, 03 Aug 2021 13:37:51 GMT):
once you've entered the fpc dev container; check using git status if something is modified
ikegawa.koshi (Tue, 03 Aug 2021 13:53:00 GMT):
Thank you very much for your support!
I'm sorry, the previous error seems to have been my mistake.
I tried again, I recv another error.
```shell
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:61) next test expected to fail
ERROR (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:207) error at /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:207: expected statement mismatch
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:73) next test expected to fail
ERROR (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:194) error at /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:194: expected code id mismatch
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:80) Test Successful
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/get_attestation_app/app/main.cpp:47) Testing init attestation
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/get_attestation_app/app/main.cpp:51) Testing get attestation
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/get_attestation_app/app/main.cpp:60) Test Successful
stat ./conversion_app_go/main.go: no such file or directory
67% tests passed, 1 tests failed out of 3
Total Test time (real) = 2.02 sec
The following tests FAILED:
3 - attested_evidence_test.sh (Failed)
Errors while running CTest
make[3]: *** [Makefile:84: test] Error 8
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests.
make[2]: *** [Makefile:25: test] Error 1
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: test] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: test] Error 2
```
ikegawa.koshi (Tue, 03 Aug 2021 13:54:55 GMT):
When I ran `git status`, I recv following messages.
The only part that has been changed is the merging of PR326 into pdo.
```shell
On branch pr610
Changes not staged for commit:
(use "git add
bur (Tue, 03 Aug 2021 13:55:31 GMT):
do you have this file? https://github.com/hyperledger/fabric-private-chaincode/tree/main/common/crypto/attestation-api/test/conversion_app_go
ikegawa.koshi (Tue, 03 Aug 2021 13:57:12 GMT):
Yes, I have confirmed that the file exists.
bur (Tue, 03 Aug 2021 13:57:30 GMT):
from inside and outside the dev container? :P
ikegawa.koshi (Tue, 03 Aug 2021 13:59:18 GMT):
Just now, I checked and confirmed that the file exists both inside and outside the dev container.
bur (Tue, 03 Aug 2021 13:59:29 GMT):
next inside dev container:
```
cd $FPC_PATH/common
make clean
make
```
ikegawa.koshi (Tue, 03 Aug 2021 14:02:38 GMT):
OK, just now I tried that commands.
`make clean` is a success.
When I ran `make`, I recv the same error message...
```shell
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:61) next
test expected to fail
ERROR (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:207) error at
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:207: expected statem
ent mismatch
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:73) next
test expected to fail
ERROR (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:194) error at
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:194: expected code i
d mismatch
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/verify_evidence_app/test.cpp:80) Test
Successful
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/get_attestation_app/app/main.cpp:47) T
esting init attestation
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/get_attestation_app/app/main.cpp:51) T
esting get attestation
INFO (/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/test/get_attestation_app/app/main.cpp:60) T
est Successful
stat ./conversion_app_go/main.go: no such file or directory
67% tests passed, 1 tests failed out of 3
Total Test time (real) = 2.41 sec
The following tests FAILED:
3 - attested_evidence_test.sh (Failed)
Errors while running CTest
make[2]: *** [Makefile:84: test] Error 8
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests.
make[1]: *** [Makefile:25: test] Error 1
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make: *** [Makefile:11: test] Error 2
```
bur (Tue, 03 Aug 2021 15:19:58 GMT):
aha! you are running in HW mode right?
bur (Tue, 03 Aug 2021 15:28:07 GMT):
ok I think I know where the problem is! we discussed this in our call today and I am going create a fix for that tmrw!
ikegawa.koshi (Wed, 04 Aug 2021 01:08:51 GMT):
Yes, my machine is running in HW mode!
ikegawa.koshi (Wed, 04 Aug 2021 01:09:23 GMT):
Oh! That's so helpful! Thanks!
bur (Wed, 04 Aug 2021 07:28:01 GMT):
Created a fix PR for this https://github.com/hyperledger/fabric-private-chaincode/pull/613
ikegawa.koshi (Wed, 04 Aug 2021 07:54:28 GMT):
@bur
Thank you!
I have merged this PR and confirmed that it works correctly in the SGX HW environment in Azure!
I can try HW mode on Azure from now on, that's super helpful!
bur (Wed, 04 Aug 2021 08:17:33 GMT):
awesome!
AjayKalola (Thu, 05 Aug 2021 04:04:32 GMT):
Has left the channel.
bur (Fri, 06 Aug 2021 17:19:51 GMT):
@BrunoVavala I closed some old issues today and created a feature bucket milestone to collect all desired features, which were without a milestone
vikramsharma13 (Fri, 13 Aug 2021 09:22:01 GMT):
Has joined the channel.
vikramsharma13 (Fri, 13 Aug 2021 09:22:01 GMT):
Hey @bur .. A very good morning.
bur (Fri, 13 Aug 2021 09:22:21 GMT):
@vikramsharma13 Awesome! Nice to have you here on the chat
bur (Fri, 13 Aug 2021 09:24:24 GMT):
let me post the link to our FPC getting started section :P https://github.com/hyperledger/fabric-private-chaincode#getting-started
HUOH 1 (Thu, 19 Aug 2021 02:16:27 GMT):
Has joined the channel.
munapower (Fri, 20 Aug 2021 01:38:47 GMT):
Testing the changes for #605 and at the beginning of the readme for test-network I get the following error on the make build:
munapower (Fri, 20 Aug 2021 01:38:47 GMT):
Testing the changes for #605 and at the beginning of the readme for test-network I get the following error on the make build:
```go: downloading go.uber.org/atomic v1.6.0
go: downloading go.uber.org/multierr v1.5.0
# github.com/hyperledger/fabric-private-chaincode/internal/utils
/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -lupdo-crypto-adapt
/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -lupdo-crypto
collect2: error: ld returned 1 exit status
# github.com/hyperledger/fabric-private-chaincode/ercc/attestation
/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -lupdo-crypto-adapt
/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -lupdo-crypto
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:17: ercc] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ercc'
make: *** [Makefile:19: ercc-container] Error 2
```
munapower (Fri, 20 Aug 2021 01:55:52 GMT):
I then tried to build the helloworld from its directory, and when running make I get the following error:
```/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -ltpdo-crypto
/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -lshim
/opt/intel/sgxsdk.extras/external/toolset/ubuntu20.04/ld: cannot find -ltpdo-crypto-adapt
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/enclave.dir/build.make:87: enclave.so] Error 1
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/samples/chaincode/helloworld/_build'
make[2]: *** [CMakeFiles/Makefile2:79: CMakeFiles/enclave.dir/all] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/samples/chaincode/helloworld/_build'
make[1]: *** [Makefile:87: all] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/samples/chaincode/helloworld/_build'
make: *** [Makefile:19: build] Error 2```
bur (Fri, 20 Aug 2021 12:09:49 GMT):
seems you did not build the fpc crypto component
bur (Fri, 20 Aug 2021 12:09:57 GMT):
did you run `make build` in fpc root?
munapower (Fri, 20 Aug 2021 12:10:37 GMT):
no
bur (Fri, 20 Aug 2021 12:12:25 GMT):
that is still needed according to our main README
bur (Fri, 20 Aug 2021 12:13:06 GMT):
better mentioning it again in the test-network?
bur (Fri, 20 Aug 2021 12:13:06 GMT):
better mentioning it again in the test-network tutorial?
munapower (Fri, 20 Aug 2021 12:13:10 GMT):
yes, I forgot to go to the build first chaincode ... sorry .. was doing it late in the evening
munapower (Fri, 20 Aug 2021 12:14:33 GMT):
now I remember I did do it too! and got another error
```/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp: In function 'bool verify_ias_evidence(ByteArray&, ByteArray&, ByteArray&)':
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:36: error: 'QSF_ACCEPT_GROUP_OUT_OF_DATE' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:67: error: 'QSF_ACCEPT_CONFIGURATION_NEEDED' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:154:36: error: 'QSF_ACCEPT_SW_HARDENING_NEEDED' was not declared in this scope
154 | QSF_ACCEPT_SW_HARDENING_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:155:36: error: 'QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED' was not declared in this scope
155 | QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[5]: *** [CMakeFiles/tpdo-crypto-adapt.dir/build.make:76: CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o] Error 1
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[4]: *** [CMakeFiles/Makefile2:187: CMakeFiles/tpdo-crypto-adapt.dir/all] Error 2
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[3]: *** [Makefile:95: all] Error 2
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[2]: *** [Makefile:22: build] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: build] Error 2```
munapower (Fri, 20 Aug 2021 12:22:01 GMT):
it seems there are include errors in the verify-evidence.cpp? that is what my vscode says ... it can't open source file mbedtls/error.h
bur (Fri, 20 Aug 2021 12:39:01 GMT):
can you do a `git submodule update`
bur (Fri, 20 Aug 2021 12:39:09 GMT):
on main
bur (Fri, 20 Aug 2021 12:40:08 GMT):
Bruno updated the PDO crytpo
bur (Fri, 20 Aug 2021 12:40:49 GMT):
when you do a `git pull` on FPC ... it does not automatically pull the tagged version we are using
bur (Fri, 20 Aug 2021 12:40:49 GMT):
when you do a `git pull` on FPC ... it does not automatically pull the tagged pdo version we are using
munapower (Fri, 20 Aug 2021 13:30:32 GMT):
ah!
munapower (Fri, 20 Aug 2021 13:32:21 GMT):
so switch to main
munapower (Fri, 20 Aug 2021 13:33:08 GMT):
git submodule update
warning: unable to rmdir ccf_transaction_processor/CCF: Directory not empty
Submodule path '../../common/crypto/pdo': checked out 'ba4896f457de697e43c7f16929a08b19754f90d2'
munapower (Fri, 20 Aug 2021 13:33:21 GMT):
should I delete it?
munapower (Fri, 20 Aug 2021 13:48:09 GMT):
ah! we are closer! Even with previous error I tried and the build almost completed successfully ... obtained this error now:
```CMake Error at pdo/common/CMakeVariables.txt:39 (message):
PDO_ENCLAVE_CODE_SIGN_PEM environment variable not defined!
Call Stack (most recent call first):
CMakeLists.txt:108 (INCLUDE)```
bur (Fri, 20 Aug 2021 14:14:06 GMT):
did you run make clean?
munapower (Fri, 20 Aug 2021 14:15:05 GMT):
I guessed I might have to do that
bur (Fri, 20 Aug 2021 14:54:14 GMT):
it's always a good idea when using cmake :)
munapower (Sat, 21 Aug 2021 23:23:18 GMT):
Hello! So at last I was able to get the environment up and running and to test the changes ... BUT it seems I forgot to signoff with the last commit where I also created the PR ... anyway I followed the suggestion and added to sign-off and pushed with force-with-lease but it still isn't passing validation :-(
bur (Mon, 23 Aug 2021 09:20:53 GMT):
the first commit of your three is not signed
bur (Mon, 23 Aug 2021 09:21:07 GMT):
why don't you squash you commits into a single one
bur (Mon, 23 Aug 2021 09:21:14 GMT):
which is than signed
bur (Mon, 23 Aug 2021 09:22:26 GMT):
I also provided some additional suggestions on your PR :)
munapower (Mon, 23 Aug 2021 15:47:49 GMT):
I have screwed up trying to squash
munapower (Mon, 23 Aug 2021 16:01:47 GMT):
I was able to solve ... don't understand yet how I should have done it to avoid all the issues I had ...
bur (Mon, 23 Aug 2021 16:29:59 GMT):
I think you can configure your git to do `git commit -s` by default ... or you train your muscle memory to ALWAYS `-s` a commit
munapower (Mon, 23 Aug 2021 16:41:03 GMT):
I usually commt using sourcetree ... what I meant was the squash ....
bur (Wed, 25 Aug 2021 18:42:36 GMT):
@BrunoVavala PR 618 is ready for review. Thank you https://github.com/hyperledger/fabric-private-chaincode/pull/618
bur (Thu, 02 Sep 2021 13:08:04 GMT):
Next week Tuesday we will have Chrysoula Stathakopoulou in our community call, presenting the work with the title "Adding Fairness to Order: Preventing Front-Running Attacks in BFT Protocols using TEEs".
thonexin (Fri, 03 Sep 2021 05:43:55 GMT):
Has joined the channel.
thonexin (Fri, 03 Sep 2021 05:43:56 GMT):
Hi
I have got an enquiry about the following randomness part (https://github.com/hyperledger/fabric-private-chaincode/blob/6c1394356781e7236a6cc58a91d5c96b50e07a34/ecc_enclave/enclave/shim.h#L249)
1. where can I find note-3?(// ***WARNING***: we implement this function using the SGX random number generator, but we expect to
// upgrade it according to what highlighted in note-3.)
2. Does SGX random number generator provide true random numbers? if so how can our ordinary users be assured of?
bur (Fri, 03 Sep 2021 07:29:30 GMT):
hi @thonexin thank for your questions
bur (Fri, 03 Sep 2021 07:30:04 GMT):
> 1. where can I find note-3?
```
Note-3: due to what highlighted in note-2, a chaincode's source of randomness should
// rather be securely provided by the Fabric infrastructure, ensuring that chaincodes running on
// different platforms can get access to the same random coins.
```
https://github.com/hyperledger/fabric-private-chaincode/blob/6c1394356781e7236a6cc58a91d5c96b50e07a34/ecc_enclave/enclave/shim.h#L257
bur (Fri, 03 Sep 2021 07:35:15 GMT):
> 2. Does SGX random number generator provide true random numbers?
```
Random Number Generation Functions
The random functions srand and rand are not supported in the Intel® SGX
SDK C library. A true random function sgx_read_rand is provided in the
tRTS library by using the RDRAND instruction. However, in the Intel® SGX simulation environment, this function still generates pseudo random numbers
because RDRAND may not be available on the hardware platform.
```
Intel SGX Developer Reference for Linux, Page 119 (https://download.01.org/intel-sgx/sgx-linux/2.14/docs/Intel_SGX_Developer_Reference_Linux_2.14_Open_Source.pdf)
bur (Fri, 03 Sep 2021 07:47:04 GMT):
I understand the second part of your question more philosophically :)
> if so how can our ordinary users be assured of?
So it's the users decision to trust the TEE HW / SW provider that all their claims regarding security are correct or not. In our case, FPC relies on the assumption that the Intel SGX SDK does what it claims to do. Since FPC and the Intel SGX SDK are open source, at least, code can be reviewed to build confidence and trust.
thonexin (Fri, 03 Sep 2021 07:58:59 GMT):
HI if the random key part is agreed by the users then other SGX related part wouldn't much matter I suppose. Maybe Fabric architecture can intervene to calm down any issue....... Ubuntu may matter all the time though
munapower (Wed, 08 Sep 2021 19:19:44 GMT):
UTM configuration
munapower (Wed, 08 Sep 2021 19:21:23 GMT):
Hello, trying UTM, would this be a correct configuration to have an SGX enabled computer
munapower (Wed, 08 Sep 2021 19:21:34 GMT):
Advanced settings
BrunoVavala (Thu, 09 Sep 2021 07:56:19 GMT):
What's UTM?
Anyway, Nehalem is not SGX-enabled. You need at least a Skylake machine.
gseront (Thu, 09 Sep 2021 08:34:28 GMT):
Has joined the channel.
gseront (Thu, 09 Sep 2021 08:34:28 GMT):
Adding a new identity to the dev environment.
Hi, I'm using the dev docker image of FPC as described in FPC doc. I noticed that there are no user certificate in the msp. I wanted to add a new identity, but I also noticed that the msp has not been generated with cryptogen since the organization name inside integration/config/crypto-config.yaml is not the same as the one in the msp. I couldn't track down where these certificates are generated. How would you add a new user identity?
bur (Thu, 09 Sep 2021 09:26:44 GMT):
https://github.com/utmapp/UTM
bur (Thu, 09 Sep 2021 09:27:23 GMT):
I guess any x86 is fine since you are setting this up for SGX simulation mode
bur (Thu, 09 Sep 2021 09:30:37 GMT):
Hi, for the integration tests we use the msp provided in fabric/sampleconfig (https://github.com/hyperledger/fabric/tree/main/sampleconfig/msp)
bur (Thu, 09 Sep 2021 09:32:09 GMT):
Instead of touching this, I would recommend using the test-network. There you have much better control of the org structure and msp, respectively.
bur (Thu, 09 Sep 2021 09:32:11 GMT):
See https://github.com/hyperledger/fabric-private-chaincode/tree/main/samples/deployment/test-network
bur (Thu, 09 Sep 2021 09:32:15 GMT):
I hope this helps
bur (Thu, 09 Sep 2021 09:52:25 GMT):
@here just pushed v1.0-rc2 release https://github.com/hyperledger/fabric-private-chaincode/releases
gseront (Thu, 09 Sep 2021 10:49:15 GMT):
Thanks!
munapower (Thu, 09 Sep 2021 13:08:24 GMT):
ok
gseront (Fri, 10 Sep 2021 11:37:02 GMT):
Hi, sorry to bother you again. What I am trying to achieve is to get the chaincode invoker identity. I use get_creator_name. For the moment. With the integration network of course it returns the peer identity. If the chaincode is invoked through an application that uses a wallet with another identity than the peer, then get_creator_name should return the identity from the wallet. Am I right?
Best regards,
ricc.zappoli (Fri, 10 Sep 2021 16:18:48 GMT):
Has joined the channel.
gseront (Mon, 13 Sep 2021 08:38:01 GMT):
Hi, I'm trying to get the identity of the chaincode invoker through get_creator_id. I came accros the following comment in the shim.h : "the value returned from `get_creator_name` will be unvalidated, i.e., identity management has to be done on the application level." Does that mean that get_creator_id won't returns the correct identity?
gseront (Mon, 13 Sep 2021 08:38:01 GMT):
Hi, I'm trying to get the identity of the chaincode invoker through get_creator_name. I came accros the following comment in the shim.h : "the value returned from `get_creator_name` will be unvalidated, i.e., identity management has to be done on the application level." Does that mean that get_creator_id won't returns the correct identity?
gseront (Mon, 13 Sep 2021 08:38:01 GMT):
Hi, I'm trying to get the identity of the chaincode invoker through get_creator_name. I came accros the following comment in the shim.h : "the value returned from `get_creator_name` will be unvalidated, i.e., identity management has to be done on the application level." Does that mean that get_creator_name won't returns the correct identity?
bur (Tue, 14 Sep 2021 07:04:40 GMT):
yes, that is correct.
bur (Tue, 14 Sep 2021 07:11:14 GMT):
hi, this is an interesting topic! The current implementation of `get_creator_name` has a few flaws I must admit.
First, our implementation forwards the `get_creator_name` call to the go-shim `GetCreator` function. That is, the enclave receives the creator name from outside the enclave and this, per definition, makes it untrusted. The current impl does not validate that the received creator identity matches what the signed transaction proposal.
bur (Tue, 14 Sep 2021 07:15:25 GMT):
For this reason, we suggest in the comment use move the identity management to the application level. I suggest, for non-production uses, you can continue with `get_creator_name`.
ikegawa.koshi (Tue, 14 Sep 2021 07:38:07 GMT):
Hello FPC team.
I have confirmed that FPC build errors occur in the current main branch and v1.0-rc2.
The config environment is FPC_MODE=HW.
The test of installation of marbles02 seems to have failed.
The error message is as follows
```
2021-09-14 07:34:55.079 UTC [chaincodeCmd] ClientWait -> INFO 001 txid [079ec5b5dd1286e959e3077e5b78d299a145f9b0f84f5e9c10331e3595bd05d8] committed with status (VALID) at 127.0.0.1:7051
2021-09-14 07:34:55.079 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 002 Chaincode invoke successful. result: status:200
Querying Chaincode Encryption Key
peer.sh: /project/src/github.com/hyperledger/fabric-private-chaincode/fabric/_internal/bin/peer chaincode query -o localhost:7050 -C mychannel -n ercc -c {"Args":["QueryChaincodeEncryptionKey", "auction_test"]}
Chaincode EK (b64): LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJpZ0tDQVlFQXc3NWxwUkRMdWt6cWw0eTV1VTB2dVpTelhuT255SUVPMEJLMmM5S2V6RDhIbk9vMkVXZVYKRlM0MDdUaEEvSDNyRU03QkREZkhXUTRwdFlIZkxmcjJHckMvREhiZ3RoUzJyTEgxMlFIc1R5NnhIaFBhVGIzSgpqdnJxc3ZFb0xhSUFNRTFxbXpibWw5WGdqeDV2NUcvdlZhOTYrT2VuN2p3WVdmTlN2NTZXYjRUNGthNUFRbVUxClpyT2FFdEtPNHRiSFc5bzBDY2szLzA5RFNzMkhyMFBqT0NqMlkzc1dqUXZ4bEpBajR4Y0k2cHF0ZGdoQnZENDkKY1F6cENaMDFjeS9YSFZQRWt3NjJsNk9kWGdzZXJUdFpieTVDTmdtaG9SVGNRMHh4dHNrOEVzQUEzelJZWkkvMApHK2lSVmFpeDI3dHRoTldhdEFxV0xlQi83eUpNcmlrT1BmMFFmaGNaUmV4dUFBeEo5UEgxemVKZWJsM2JGUTAxCjd1dm1Va3h4a3hYM29ZdjU2ZW1VT2c5UUtKUWNSbHRnUE5xOWVjckdvT3Jkd0JVcFFmbWdDSmRoZkVZRHRUTE0KOHhncTl0N2RzRE15MER0ZFFZOEU1dzVBcUd6RUNJeVFsMGo0eE9OMTcyUnBQcTZoZ0RpMjluYWtBVElxMGxnMQoreEZxNTYxRkNsbzFBZ01CQUFFPQotLS0tLUVORCBSU0EgUFVCTElDIEtFWS0tLS0tCg==
Error: chaincode install failed with status: 500 - failed to invoke backing implementation of 'InstallChaincode': could not build chaincode: docker build failed: docker image build failed: docker build failed: Error returned from build: 1 "no required module provides package github.com/hyperledger/fabric-samples/chaincode/marbles02/go: go.mod file not found in current directory or any parent directory; see 'go help modules'
"
peer.sh: test failed: /project/src/github.com/hyperledger/fabric-private-chaincode/fabric/_internal/bin/peer lifecycle chaincode install /tmp/marbles02.tar.gz
deployment_test.sh: test failed: env FABRIC_CFG_PATH=/project/src/github.com/hyperledger/fabric-private-chaincode/integration/config /project/src/github.com/hyperledger/fabric-private-chaincode/integration/../fabric/bin//peer.sh lifecycle chaincode install /tmp/marbles02.tar.gz
make[1]: *** [Makefile:22: deployment_test] Error 111
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/integration'
make: *** [Makefile:22: test] Error 2
```
ikegawa.koshi (Tue, 14 Sep 2021 07:44:09 GMT):
Note that marbles02.tar.gz exists in /tmp.
``shell
/project/src/github.com/hyperledger/fabric-private-chaincode# ls /tmp | grep -i marbles
marbles02.tar.gz
````
```
ikegawa.koshi (Tue, 14 Sep 2021 07:44:09 GMT):
Note that marbles02.tar.gz exists in /tmp.
```shell
/project/src/github.com/hyperledger/fabric-private-chaincode# ls /tmp | grep -i marbles
marbles02.tar.gz
```
bur (Tue, 14 Sep 2021 08:18:29 GMT):
oh interesting, note that marbles02 is a plain fabric chaincode - no FPC :) did they change something with the fabric samples? The error looks related to a go modules issue. Need to investigate to see what went wrong. Maybe they updates to go version for the cc builder to a new version, which now by default uses go modules instead of gopath to resolve dependencies?
bur (Tue, 14 Sep 2021 08:19:41 GMT):
mh marbles02 has a `go.mod` https://github.com/hyperledger/fabric-samples/tree/master/chaincode/marbles02/go
bur (Tue, 14 Sep 2021 08:25:23 GMT):
I will run the integration test locally now to see if I get the same error
ikegawa.koshi (Tue, 14 Sep 2021 08:28:18 GMT):
Oh, thanks!
I'll look for the cause of the problem...
bur (Tue, 14 Sep 2021 09:02:56 GMT):
Integration test on within the FPC docker dev image (with SGX simulation mode) runs without an issue
ikegawa.koshi (Tue, 14 Sep 2021 09:49:38 GMT):
I tried the integration test (simulation mode), but I got the same error...
bur (Tue, 14 Sep 2021 10:04:24 GMT):
wired
bur (Tue, 14 Sep 2021 10:04:48 GMT):
do you have any modifications in your repo?
ikegawa.koshi (Tue, 14 Sep 2021 10:07:02 GMT):
I recreated a new VM, configured the environment and tried to build FPC.
However, I got the same error.
I used the original, unmodified FPC.
bur (Tue, 14 Sep 2021 10:08:47 GMT):
can you quickly check what go version you are using? `go version` and what docker images are used - `docker images`
ikegawa.koshi (Tue, 14 Sep 2021 10:11:19 GMT):
OK. The results are listed below.
```
# go version
go version go1.15.4 linux/amd64
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hyperledger/fabric-private-chaincode-dev main 5d32adc3bfbc 17 hours ago 2.07GB
hyperledger/fabric-ccenv 2.3 56fa403e02ee 4 days ago 502MB
ghcr.io/hyperledger/fabric-private-chaincode-base-dev main 64dff7359e91 5 days ago 1.86GB
hyperledger/fabric-private-chaincode-base-dev main 64dff7359e91 5 days ago 1.86GB
```
bur (Tue, 14 Sep 2021 11:58:28 GMT):
mh
bur (Tue, 14 Sep 2021 11:59:18 GMT):
I just can're reproduce it
bur (Tue, 14 Sep 2021 11:59:55 GMT):
let me try to re-run github actions
bur (Tue, 14 Sep 2021 12:16:54 GMT):
ok - CI runs into the same issue https://github.com/hyperledger/fabric-private-chaincode/runs/3598353462?check_suite_focus=true
bur (Tue, 14 Sep 2021 12:27:23 GMT):
I am wondering if this issue is related to https://github.com/hyperledger/fabric/releases/tag/v2.3.3
bur (Tue, 14 Sep 2021 13:56:11 GMT):
running the integration tests with `hyperledger/fabric-ccenv:2.2` works as expected
bur (Tue, 14 Sep 2021 13:57:31 GMT):
I think the problem is caused by the fabric upgrade to go 1.16 as this uses go.mod by default
bur (Tue, 14 Sep 2021 13:57:48 GMT):
see https://golang.org/doc/go1.16#go-command
bur (Tue, 14 Sep 2021 13:59:01 GMT):
that is, the ccenv container tries to build the chaincode now with `GO111MODULE=on` instead of `auto`. However, the packaging command does not include the `go.mod` file from the marbles example into the `marbles.tar.gz`
bur (Tue, 14 Sep 2021 14:00:33 GMT):
maybe we can resolve this problem by upgrading our fabric code to 2.3.3 as well
bur (Tue, 14 Sep 2021 14:00:55 GMT):
as this commit indicates that `GO11MODULE` is set accordingly https://github.com/hyperledger/fabric/commit/5be686fcb3d1a00662ff6593778af5937a32fb14
ikegawa.koshi (Wed, 15 Sep 2021 06:37:10 GMT):
Oh, so you were able to reproduce it by running CI!
Thanks!
I will check!
bur (Wed, 15 Sep 2021 08:08:31 GMT):
the problem are the fabric images pulled by the peer in order to build the go chaincode
bur (Wed, 15 Sep 2021 08:09:21 GMT):
if the `fabric-ccenv`is not available on the host, the peer fetches it from dockerhub
bur (Wed, 15 Sep 2021 08:10:21 GMT):
however, it fetches a TWO_DIGIT version, i.e., 2.3 instead of 2.3.0
bur (Wed, 15 Sep 2021 08:10:54 GMT):
it appears that by fetching 2.3, the most recent version 2.3.3 is downloaded.
bur (Wed, 15 Sep 2021 08:13:29 GMT):
The solution I have in mind is the following:
- Let our build script download the correct version (in our case 2.3.0) of fabric-ccenv. This is a single line change in `fabric/Makefile`.
Additionally, we can use the chance to upgrade to 2.3.3 and go 1.16, WDYT?
bur (Wed, 15 Sep 2021 08:13:59 GMT):
what worries me most, is that our rc2 release is broken :/
bur (Wed, 15 Sep 2021 09:57:48 GMT):
Let's create an issue for this
bur (Wed, 15 Sep 2021 09:57:48 GMT):
@ikegawa.koshi Let's create an issue for this
ikegawa.koshi (Wed, 15 Sep 2021 13:59:47 GMT):
Oh thanks!
Hmm… if the problem can be solved immediately, I think it would be better to use v2.3.0.
However, in the future, it would be better to use Fabric v2.3.3 and Go v1.16…!!!
ikegawa.koshi (Wed, 15 Sep 2021 13:59:56 GMT):
OK, I will create issue soon!
ikegawa.koshi (Wed, 15 Sep 2021 14:21:09 GMT):
I created an issue!
https://github.com/hyperledger/fabric-private-chaincode/issues/628
ikegawa.koshi (Thu, 16 Sep 2021 02:55:10 GMT):
I confirmed that I could build the FPC.
However, I have discovered a new issue.
https://github.com/hyperledger/fabric-private-chaincode/issues/628#issuecomment-920504326
bur (Tue, 21 Sep 2021 15:47:32 GMT):
FYI https://srds21.cse.msu.edu/conference_prog.html
munapower (Thu, 23 Sep 2021 15:21:40 GMT):
@bur @BrunoVavala I am not going to be able to make it today ... something came up now ...
munapower (Mon, 27 Sep 2021 02:17:04 GMT):
Guys, I was able to recreate the environment and when I ran the make from the main FPC directory I got this error
```33% tests passed, 2 tests failed out of 3
Total Test time (real) = 19.82 sec
The following tests FAILED:
2 - ttest (ILLEGAL)
3 - attested_evidence_test.sh (Failed)
Errors while running CTest
make[3]: *** [Makefile:84: test] Error 8
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests.
make[2]: *** [Makefile:25: test] Error 1
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: test] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: test] Error 2
```
bur (Mon, 27 Sep 2021 09:11:14 GMT):
oh interesting, @BrunoVavala what does ILLEGAL in that case mean? do we get more more debugging by setting `export PDO_DEBUG_BUILD=1` in `config.override.mk`?
BrunoVavala (Mon, 27 Sep 2021 09:57:17 GMT):
I guess `ILLEGAL` refers to "illegal instruction". For instance, when you try to execute SGX instructions on non-SGX-capable hardware.
Regarding the debugging, yes, you should get more.
munapower (Mon, 27 Sep 2021 12:59:06 GMT):
ok, will try with that. BTW I created a file to write down how I am getting the image to work https://docs.google.com/document/d/1cT-cAkgB7T2_ZhEvRc7nSPP7bwWVIA3PQhtyT-H0wwU/edit?usp=sharing
bur (Tue, 28 Sep 2021 12:35:39 GMT):
https://github.com/intel/linux-sgx/issues/404
bur (Tue, 28 Sep 2021 12:35:45 GMT):
is this related?
munapower (Tue, 28 Sep 2021 13:13:42 GMT):
Clipboard - September 28, 2021 10:13 AM
munapower (Tue, 28 Sep 2021 13:13:47 GMT):
yes, maybe the processor is old ... it is a config from 2009 ... and they don't list any newer ones ...
munapower (Tue, 28 Sep 2021 15:21:49 GMT):
Latest error on UTM
munapower (Tue, 28 Sep 2021 15:24:32 GMT):
Current UTM configuration
bur (Thu, 30 Sep 2021 13:55:13 GMT):
@BrunoVavala Can you please look at https://github.com/hyperledger/fabric-private-chaincode/pull/633
munapower (Wed, 06 Oct 2021 12:43:10 GMT):
@bur you might be interested in this
```Hyperledger Frankfurt MeetUp is accepting presentation topics for the upcoming MeetUp event (virtual) in November 2021.
We are looking for dynamic speakers to provide expert quality content for our attendees. This is a great opportunity to share your knowledge and insights to push the Frankfurt Hyperledger community forward.
The sessions are to be delivered in English and will run for 60 minutes.
Please submit your session ideas for the event via email to Mithun.Sridharan@GMail.COM
To nominate yourself or another person, send us full contact details and brief bio (~200 words) of the proposed speaker and potential topic, including a broad outline of the areas covered via the aforementioned email.
The call for speakers is open until 07 November 2021.
For any queries, please contact me directly via email.
Thanks!
- Mithun Sridharan, Co-organizer```
bur (Wed, 06 Oct 2021 14:59:33 GMT):
oh cool thing! we should propose a talk on FPC
munapower (Wed, 06 Oct 2021 17:13:45 GMT):
yes!
BrunoVavala (Mon, 11 Oct 2021 13:23:50 GMT):
Folks, I won't be joining the call tomorrow
munapower (Mon, 11 Oct 2021 15:44:01 GMT):
Neither can I :-(
munapower (Mon, 11 Oct 2021 22:18:47 GMT):
I have tried to be able to get spice-vdagent to let me copy from clipboard into the tty1 screen of my ubuntu server with no avail. I also tried setting up openssh to login that way from my MacOs but am getting a permission denied with my user password.
bur (Mon, 11 Oct 2021 22:25:16 GMT):
can you explain how you did set up ssh? following some tutorial?
bur (Mon, 11 Oct 2021 22:26:56 GMT):
this guide looks pretty detailed - not sure if that helps https://medium.com/nycdev/how-to-ssh-from-a-host-to-a-guest-vm-on-your-local-machine-6cb4c91acc2e
munapower (Tue, 12 Oct 2021 14:32:21 GMT):
https://linuxhint.com/how-to-install-and-enable-openssh-on-ubuntu/
munapower (Tue, 12 Oct 2021 14:32:43 GMT):
I take back what I said ... I will be able to make it
munapower (Sun, 17 Oct 2021 14:51:27 GMT):
So I am able to connect via ssh to the UTM VM and it is working fast. I have been able to install go, docker, make ... I wanted to now mount the shared directory using smb because I have read that it is much faster than using webdav. So this is the command I issued `sudo mount -t cifs -o username="XXXXXXX",password=XXXXXXX //XX.XX.XX.XX/hyperledger-labs /usr/local/go/src/github.com/hyperledger-labs` but I am getting the following error
munapower (Sun, 17 Oct 2021 14:51:36 GMT):
mount error
munapower (Sun, 17 Oct 2021 14:51:43 GMT):
any ideas?
munapower (Sun, 17 Oct 2021 14:54:14 GMT):
Sharing
munapower (Sun, 17 Oct 2021 14:54:15 GMT):
the ip address I use is the one that appears here
munapower (Sun, 17 Oct 2021 22:56:58 GMT):
So I have read that the samba that comes with Apple doesn't completely match the open source version so I am following this tutorial to install/configure the open source samba (https://gist.github.com/erkserkserks/0d48f75e1a36bc9e1ccdc3e1428efba0) and for that I first need to install macports (https://www.macports.org/install.php) and to do so I have to install xcode ...
ravinayag (Mon, 18 Oct 2021 18:30:57 GMT):
Has joined the channel.
ravinayag (Mon, 18 Oct 2021 18:30:58 GMT):
Hi , Im getting this error when i declare as Int in java chaincode. Is chaincode only accepts in string format... ?
```
Driver.java:52: error: incompatible types: int cannot be converted to String return piecesCount;
......
incompatible types: Double cannot be converted to String```
BrunoVavala (Mon, 18 Oct 2021 23:00:51 GMT):
Folks, I have a conflict tomorrow. It should be short, so hopefully I will join later.
bur (Tue, 19 Oct 2021 07:10:23 GMT):
hi @ravinayag; please ask your question in #fabric-java-chaincode I hope someone there can help you
bur (Tue, 19 Oct 2021 07:14:51 GMT):
oh gosh
bur (Tue, 19 Oct 2021 07:18:04 GMT):
so you are saying that the "normal" sharing provided by UTM uses webdav and is slow? https://mac.getutm.app/guide/#shared-directory
bur (Tue, 19 Oct 2021 07:20:16 GMT):
I don't remember when I used / installed samba somewhere.
bur (Tue, 19 Oct 2021 07:20:47 GMT):
I am just thinking; since ssh is now working fine; you should also use sshfs to mount into your container https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh
bur (Tue, 19 Oct 2021 07:21:06 GMT):
but not sure if this even slower than the UTM built-in solution
bur (Tue, 19 Oct 2021 07:33:02 GMT):
I guess using sshfs is also a bad thing
munapower (Sun, 24 Oct 2021 23:45:36 GMT):
ssh and samba working
munapower (Sun, 24 Oct 2021 23:46:33 GMT):
ssh and samba working!!!
munapower (Mon, 25 Oct 2021 01:22:08 GMT):
dev env up and running
munapower (Mon, 25 Oct 2021 01:44:42 GMT):
Clipboard - October 24, 2021 10:44 PM
munapower (Mon, 25 Oct 2021 01:45:02 GMT):
I tried to do a make clean and get this error:
munapower (Mon, 25 Oct 2021 01:45:17 GMT):
and them when I list the directories I get this:
munapower (Mon, 25 Oct 2021 01:45:22 GMT):
Clipboard - October 24, 2021 10:45 PM
munapower (Mon, 25 Oct 2021 01:45:38 GMT):
which is not the configuration I have on my local
munapower (Mon, 25 Oct 2021 01:46:14 GMT):
Clipboard - October 24, 2021 10:46 PM
munapower (Mon, 25 Oct 2021 01:46:29 GMT):
I wonder if SAMBA might be the problem ...
munapower (Mon, 25 Oct 2021 13:33:12 GMT):
added force user to the samba configuration so that the user used is not root but the user I created and it still doesn't let me delete. Could I run the make clean from my MacOS directly?
munapower (Mon, 25 Oct 2021 13:47:59 GMT):
posted this message on the UTM discord support https://discord.com/channels/674683213217792078/681548127299436544/902190040812232724
munapower (Tue, 26 Oct 2021 14:19:21 GMT):
good news! I was able to solve the delete issue. So I ran make clean successfully and then when I execute make from FPC_PATH I get the following error:
```-- Configuring done
-- Generating done
-- Build files have been written to: /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build
make --directory=_build
make[3]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[4]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
Scanning dependencies of target tpdo-crypto-adapt
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[5]: Entering directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
[ 1%] Building CXX object CMakeFiles/tpdo-crypto-adapt.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/base64/base64.cpp.o
[ 2%] Building CXX object CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o
In file included from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:1:
/project/src/github.com/hyperledger/fabric-private-chaincode/common/error.h:9: warning: "COND2ERR" redefined
9 | #define COND2ERR(b) \
|
In file included from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/pdo/common/crypto/crypto.h:29,
from /project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:1:
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/pdo/common/crypto/verify_ias_report/verify-report.h:42: note: this is the location of the previous definition
42 | #define COND2ERR(b) \
|
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp: In function 'bool verify_ias_evidence(ByteArray&, ByteArray&, ByteArray&)':
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:36: error: 'QSF_ACCEPT_GROUP_OUT_OF_DATE' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:153:67: error: 'QSF_ACCEPT_CONFIGURATION_NEEDED' was not declared in this scope
153 | const unsigned int flags = QSF_ACCEPT_GROUP_OUT_OF_DATE | QSF_ACCEPT_CONFIGURATION_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:154:36: error: 'QSF_ACCEPT_SW_HARDENING_NEEDED' was not declared in this scope
154 | QSF_ACCEPT_SW_HARDENING_NEEDED |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/attestation-api/evidence/verify-evidence.cpp:155:36: error: 'QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED' was not declared in this scope
155 | QSF_ACCEPT_CONFIGURATION_AND_SW_HARDENING_NEEDED;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[5]: *** [CMakeFiles/tpdo-crypto-adapt.dir/build.make:76: CMakeFiles/tpdo-crypto-adapt.dir/attestation-api/evidence/verify-evidence.cpp.o] Error 1
make[5]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[4]: *** [CMakeFiles/Makefile2:187: CMakeFiles/tpdo-crypto-adapt.dir/all] Error 2
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[3]: *** [Makefile:95: all] Error 2
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
make[2]: *** [Makefile:22: build] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: build] Error 2```
munapower (Tue, 26 Oct 2021 16:05:29 GMT):
Updating submodules helped with this error. called `git pull --recurse-submodules` from the common/crypto subdirectory
munapower (Tue, 26 Oct 2021 16:08:16 GMT):
new error is [ 82%] Linking CXX static library libshim.a
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && /usr/bin/cmake -P CMakeFiles/shim.dir/cmake_clean_target.cmake
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && /usr/bin/cmake -E cmake_link_script CMakeFiles/shim.dir/link.txt --verbose=1
/usr/bin/ar qc libshim.a CMakeFiles/shim.dir/crypto.cpp.o CMakeFiles/shim.dir/enclave.cpp.o CMakeFiles/shim.dir/enclave_t.c.o CMakeFiles/shim.dir/shim.cpp.o CMakeFiles/shim.dir/shim_internals.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/enclave/common.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/enclave/cc_data.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/base64/base64.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/utils.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/json/parson.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fpc/fpc.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/peer/proposal.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/peer/proposal_response.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/peer/chaincode.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/common/policies.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/ledger/rwset/kvrwset/kv_rwset.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/msp/msp_principal.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/google/protobuf/any.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/google/protobuf/timestamp.pb.c.o CMakeFiles/shim.dir/usr/local/nanopb/pb_common.c.o CMakeFiles/shim.dir/usr/local/nanopb/pb_encode.c.o CMakeFiles/shim.dir/usr/local/nanopb/pb_decode.c.o
/usr/bin/ranlib libshim.a
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && mkdir -p /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/lib
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && cp libshim.a /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/lib/
cp: skipping file 'libshim.a', as it was replaced while being copied
make[4]: *** [enclave/CMakeFiles/shim.dir/build.make:409: enclave/libshim.a] Error 1
make[4]: *** Deleting file 'enclave/libshim.a'
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build'
make[3]: *** [CMakeFiles/Makefile2:118: enclave/CMakeFiles/shim.dir/all] Error 2
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build'
make[2]: *** [Makefile:87: all] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build'
make[1]: *** [Makefile:18: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave'
make: *** [Makefile:22: build] Error 2```
```
munapower (Tue, 26 Oct 2021 16:08:16 GMT):
new error is ```[ 82%] Linking CXX static library libshim.a
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && /usr/bin/cmake -P CMakeFiles/shim.dir/cmake_clean_target.cmake
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && /usr/bin/cmake -E cmake_link_script CMakeFiles/shim.dir/link.txt --verbose=1
/usr/bin/ar qc libshim.a CMakeFiles/shim.dir/crypto.cpp.o CMakeFiles/shim.dir/enclave.cpp.o CMakeFiles/shim.dir/enclave_t.c.o CMakeFiles/shim.dir/shim.cpp.o CMakeFiles/shim.dir/shim_internals.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/enclave/common.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/enclave/cc_data.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/base64/base64.cpp.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/utils.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/json/parson.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fpc/fpc.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/peer/proposal.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/peer/proposal_response.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/peer/chaincode.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/common/policies.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/ledger/rwset/kvrwset/kv_rwset.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/fabric/msp/msp_principal.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/google/protobuf/any.pb.c.o CMakeFiles/shim.dir/project/src/github.com/hyperledger/fabric-private-chaincode/common/protos/google/protobuf/timestamp.pb.c.o CMakeFiles/shim.dir/usr/local/nanopb/pb_common.c.o CMakeFiles/shim.dir/usr/local/nanopb/pb_encode.c.o CMakeFiles/shim.dir/usr/local/nanopb/pb_decode.c.o
/usr/bin/ranlib libshim.a
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && mkdir -p /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/lib
cd /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/enclave && cp libshim.a /project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build/lib/
cp: skipping file 'libshim.a', as it was replaced while being copied
make[4]: *** [enclave/CMakeFiles/shim.dir/build.make:409: enclave/libshim.a] Error 1
make[4]: *** Deleting file 'enclave/libshim.a'
make[4]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build'
make[3]: *** [CMakeFiles/Makefile2:118: enclave/CMakeFiles/shim.dir/all] Error 2
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build'
make[2]: *** [Makefile:87: all] Error 2
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave/_build'
make[1]: *** [Makefile:18: build] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/ecc_enclave'
make: *** [Makefile:22: build] Error 2```
bur (Wed, 27 Oct 2021 14:26:19 GMT):
this is an interesting problem. I was wondering if this is related to the samba based file mount you are doing. Can you just copy the source somewhere in the VM to a place that is not backed by samba and run again?
bur (Mon, 01 Nov 2021 08:36:14 GMT):
please have a look at the FPC + FSC sample https://github.com/hyperledger/fabric-private-chaincode/pull/635
BrunoVavala (Tue, 02 Nov 2021 15:17:27 GMT):
Guys, the time in Europe has changed (1h earlier), and today I have a conflict at 9am PT. I'll have to skip call.
munapower (Tue, 02 Nov 2021 15:17:54 GMT):
I am still on a work call
bur (Tue, 02 Nov 2021 15:36:12 GMT):
argh - daylight time saving! I hate it when we are out of sync
bur (Tue, 02 Nov 2021 15:38:36 GMT):
ok - we skip the meeting and continue next week!
munapower (Thu, 04 Nov 2021 20:39:12 GMT):
passed libshim.a
munapower (Thu, 04 Nov 2021 20:40:46 GMT):
So confirmed it is a SAMBA issue .... it returned an error but in the final tests ...
bur (Fri, 05 Nov 2021 11:53:48 GMT):
aha - ok good to know
bur (Fri, 05 Nov 2021 11:53:58 GMT):
so how can we resolve it?
bur (Fri, 05 Nov 2021 11:54:52 GMT):
@ricc.zappoli Could you maybe explain how you use VSCode SSH integration to work with FPC? Maybe that would be an alternative
munapower (Fri, 05 Nov 2021 13:18:26 GMT):
@bur I have to dig deeper into SAMBA config, also maybe tune the Ubuntu side ....
munapower (Fri, 05 Nov 2021 13:18:51 GMT):
anyway how can I solve that missing test files error?
bur (Fri, 05 Nov 2021 13:30:36 GMT):
well, maybe we need to look at the "entire" logs - from the snippet it's not clear what went wrong
munapower (Fri, 05 Nov 2021 13:52:47 GMT):
ok, my entire machine crashed after I ran the test ... not related to the test ... so I will re run and post complete logs
bur (Tue, 09 Nov 2021 16:44:30 GMT):
https://code.visualstudio.com/docs/remote/ssh
ikegawa.koshi (Thu, 11 Nov 2021 11:00:09 GMT):
Hello, FPC team!
I have now tried the latest main branch FPC and found that I get an error when running "make run-dev" on the "$FPC_PATH/utils/docker" path.
The environment is as follows
+ Machine: MS Azure DCv2 instance (include Intel SGX)
+ OS: Ubuntu 20.04 LTS Server
Error message is following:
'''
❯ make run-dev
(cd ../.. &&\
DOCKER_BUILDKIT=1 docker build --build-arg FPC_VERSION=main -t hyperledger/fabric-private-chaincode-dev:main\
--build-arg GIT_USER_NAME='ikegawa-koshi' --build-arg GIT_USER_EMAIL='koshi.ikegawa.mf@hitachi.com'\
-f ./utils/docker/dev/Dockerfile\
. )
[+] Building 25.0s (9/9) FINISHED
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.87kB 0.0s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 423B 0.0s
=> [internal] load metadata for docker.io/hyperledger/fabric-private-chaincode-base-dev:main 0.0s
=> [1/5] FROM docker.io/hyperledger/fabric-private-chaincode-base-dev:main 1.1s
=> [2/5] RUN apt-get update && apt-get install -y -q ${APT_ADD_PKGS} 4.0s
=> [3/5] RUN git config --global user.name "ikegawa-koshi" && git config --global user.email "koshi.ikegawa.mf@hitachi.com" 0.9s
=> [4/5] RUN git clone --branch v2.3.3 https://github.com/hyperledger/fabric.git /project/src/github.com/hyperledger/fabric 14.7s
=> [5/5] WORKDIR /project/src/github.com/hyperledger/fabric-private-chaincode 0.4s
=> exporting to image 3.7s
=> => exporting layers 3.6s
=> => writing image sha256:b49e4f2eacf5d9f7cb697ebc119d8917c470a31d227fbb9149d2dde0a0c889c8 0.0s
=> => naming to docker.io/hyperledger/fabric-private-chaincode-dev:main 0.0s
# Cleanup existing but non-running (note absence of --force in rm!) old dev containers
dev_container_id=$(docker ps -a | grep fpc-development-main | awk '{ print $1 }'); \
[ -z "${dev_container_id}" ] || DOCKER_BUILDKIT=1 docker rm "${dev_container_id}"
# Now run a new instance
DOCKER_BUILDKIT=1 docker run -v /var/run/docker.sock:/var/run/docker.sock -v "/home/ubuntu/go/src/github.com/hyperledger/fabric-private-chaincode":/project/src/github.com/hyperledger/fabric-private-chaincode --env DOCKERD_FPC_PATH=/home/ubuntu/go/src/github.com/hyperledger/fabric-private-chaincode/ --net=host -v "/home/ubuntu/go/src/github.com/hyperledger/fabric-private-chaincode/config/ias/":/project/src/github.com/hyperledger/fabric-private-chaincode/config/ias/ -v /var/run/aesmd:/var/run/aesmd --device /dev/sgx --env SGX_MODE=HW -i -e CI=true --name fpc-development-main -t hyperledger/fabric-private-chaincode-dev:main
docker: Error response from daemon: error gathering device information while adding custom device "/dev/sgx": not a device node.
ERRO[0000] error waiting for container: context canceled
make: *** [Makefile:139: run-dev] Error 125
'''
ikegawa.koshi (Thu, 11 Nov 2021 11:01:25 GMT):
Hello, FPC team!
I have now tried the latest main branch FPC and found that I get an error when running `make run-dev` on the `$FPC_PATH/utils/docker` path.
The environment is as follows
+ Machine: MS Azure DCv2 instance (include Intel SGX)
+ OS: Ubuntu 20.04 LTS Server
Error message is following:
```shell
❯ make run-dev
(cd ../.. &&\
DOCKER_BUILDKIT=1 docker build --build-arg FPC_VERSION=main -t hyperledger/fabric-private-chaincode-dev:main\
--build-arg GIT_USER_NAME='ikegawa-koshi' --build-arg GIT_USER_EMAIL='koshi.ikegawa.mf@hitachi.com'\
-f ./utils/docker/dev/Dockerfile\
. )
[+] Building 25.0s (9/9) FINISHED
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.87kB 0.0s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 423B 0.0s
=> [internal] load metadata for docker.io/hyperledger/fabric-private-chaincode-base-dev:main 0.0s
=> [1/5] FROM docker.io/hyperledger/fabric-private-chaincode-base-dev:main 1.1s
=> [2/5] RUN apt-get update && apt-get install -y -q ${APT_ADD_PKGS} 4.0s
=> [3/5] RUN git config --global user.name "ikegawa-koshi" && git config --global user.email "koshi.ikegawa.mf@hitachi.com" 0.9s
=> [4/5] RUN git clone --branch v2.3.3 https://github.com/hyperledger/fabric.git /project/src/github.com/hyperledger/fabric 14.7s
=> [5/5] WORKDIR /project/src/github.com/hyperledger/fabric-private-chaincode 0.4s
=> exporting to image 3.7s
=> => exporting layers 3.6s
=> => writing image sha256:b49e4f2eacf5d9f7cb697ebc119d8917c470a31d227fbb9149d2dde0a0c889c8 0.0s
=> => naming to docker.io/hyperledger/fabric-private-chaincode-dev:main 0.0s
# Cleanup existing but non-running (note absence of --force in rm!) old dev containers
dev_container_id=$(docker ps -a | grep fpc-development-main | awk '{ print $1 }'); \
[ -z "${dev_container_id}" ] || DOCKER_BUILDKIT=1 docker rm "${dev_container_id}"
# Now run a new instance
DOCKER_BUILDKIT=1 docker run -v /var/run/docker.sock:/var/run/docker.sock -v "/home/ubuntu/go/src/github.com/hyperledger/fabric-private-chaincode":/project/src/github.com/hyperledger/fabric-private-chaincode --env DOCKERD_FPC_PATH=/home/ubuntu/go/src/github.com/hyperledger/fabric-private-chaincode/ --net=host -v "/home/ubuntu/go/src/github.com/hyperledger/fabric-private-chaincode/config/ias/":/project/src/github.com/hyperledger/fabric-private-chaincode/config/ias/ -v /var/run/aesmd:/var/run/aesmd --device /dev/sgx --env SGX_MODE=HW -i -e CI=true --name fpc-development-main -t hyperledger/fabric-private-chaincode-dev:main
docker: Error response from daemon: error gathering device information while adding custom device "/dev/sgx": not a device node.
ERRO[0000] error waiting for container: context canceled
make: *** [Makefile:139: run-dev] Error 125
```
ikegawa.koshi (Thu, 11 Nov 2021 11:01:38 GMT):
I confirm that enclave is present in /dev/sgx.
```shell
❯ ls /dev/sgx
enclave provision
```
aesmd.service is also active.
```shell
❯ sudo systemctl status aesmd.service
● aesmd.service - Intel(R) Architectural Enclave Service Manager
Loaded: loaded (/lib/systemd/system/aesmd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-11-11 19:36:09 JST; 12min ago
Process: 695 ExecStartPre=/opt/intel/sgx-aesm-service/aesm/linksgx.sh (code=exited, status=0/SUCCESS)
Process: 854 ExecStartPre=/bin/mkdir -p /var/run/aesmd/ (code=exited, status=0/SUCCESS)
Process: 855 ExecStartPre=/bin/chown -R aesmd:aesmd /var/run/aesmd/ (code=exited, status=0/SUCCESS)
Process: 856 ExecStartPre=/bin/chmod 0755 /var/run/aesmd/ (code=exited, status=0/SUCCESS)
Process: 857 ExecStartPre=/bin/chown -R aesmd:aesmd /var/opt/aesmd/ (code=exited, status=0/SUCCESS)
Process: 858 ExecStartPre=/bin/chmod 0750 /var/opt/aesmd/ (code=exited, status=0/SUCCESS)
Process: 860 ExecStart=/opt/intel/sgx-aesm-service/aesm/aesm_service (code=exited, status=0/SUCCESS)
Main PID: 872 (aesm_service)
Tasks: 4 (limit: 9542)
Memory: 16.1M
CGroup: /system.slice/aesmd.service
└─872 /opt/intel/sgx-aesm-service/aesm/aesm_service
11月 11 19:36:08 ike-dev-02 systemd[1]: Starting Intel(R) Architectural Enclave Service Manager...
11月 11 19:36:09 ike-dev-02 systemd[1]: Started Intel(R) Architectural Enclave Service Manager.
11月 11 19:36:10 ike-dev-02 aesm_service[872]: [get_qpl_handle ../qe_logic.cpp:263] Cannot open Quote Provider Library libdcap_quoteprov.so.1 and libdcap_quoteprov.so
11月 11 19:36:10 ike-dev-02 aesm_service[872]: The server sock is 0x559132744150
```
bur (Thu, 11 Nov 2021 11:38:41 GMT):
oh interesting
bur (Thu, 11 Nov 2021 11:39:11 GMT):
do you also have `/dev/isgx/`?
bur (Thu, 11 Nov 2021 11:40:46 GMT):
it seems that `/dev/sgx` is a folder? and it cannot be "mounted" via the device flag in docker?
bur (Thu, 11 Nov 2021 11:43:12 GMT):
@BrunoVavala on your dcap machine, can you start the dev container?
ikegawa.koshi (Thu, 11 Nov 2021 13:29:34 GMT):
Apparently, `/dev/isgx/` does not exist on my machine...
Is the lack of isgx a problem...?
There was a further problem, the same error occurred in SIM mode.
bur (Thu, 11 Nov 2021 13:38:10 GMT):
well the make scripy tries do mount the sgx device if it is there. I am not so sure about the sgx driver with dcap. I thought no-dcap comes with /dev/isgx, whereas dcap driver comes with /dev/sgx
bur (Thu, 11 Nov 2021 13:38:50 GMT):
maybe bruno has an idea
bur (Thu, 11 Nov 2021 16:42:55 GMT):
see here
bur (Thu, 11 Nov 2021 16:42:57 GMT):
https://github.com/hyperledger/fabric-private-chaincode/blob/main/utils/docker/Makefile#L33
bur (Thu, 11 Nov 2021 16:43:34 GMT):
```
SGX_DEVICE_PATH ?= $(shell if [ -e "/dev/isgx" ]; then echo "/dev/isgx"; elif [ -e "/dev/sgx" ]; then echo "/dev/sgx"; fi)
```
```
SGX_DEVICE_PATH ?= $(shell if [ -e "/dev/isgx" ]; then echo "/dev/isgx"; elif [ -e "/dev/sgx/enclave" ]; then echo "/dev/sgx/enclave"; fi)
```
bur (Thu, 11 Nov 2021 16:43:43 GMT):
maybe you can try something like that
bur (Thu, 11 Nov 2021 16:44:02 GMT):
not sure what to do with `/dev/sgx/privision`
bur (Thu, 11 Nov 2021 16:44:51 GMT):
I am also wondering if IAS attestation than works inside the fpc dev container using the dcap driver installed on the host
ikegawa.koshi (Fri, 12 Nov 2021 06:16:31 GMT):
@bur
Oh! I can confirm run FPC!
Thanks!
ikegawa.koshi (Fri, 12 Nov 2021 06:22:22 GMT):
@bur
I have confirmed that `make run-dev` succeeds.
However, the next time I ran `make` in `$FPC_PATH` on the development container, I got the following error.
```
attested_evidence_test.sh: Input Attestation: {"attestation_type":"epid-linkable","attestation":"AgABABMMAAAMAAwAAAAAAEHBP8Qava1wJYED1ZFio+QAAAAAAAAAAAAAAAAAAAAAEREDBf+ABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAKe7WaqIzxRsOmwfwZhAnwLwFQQ0rDRrntNgH630V9EPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACueS4t9LKRVNZ6K\/CEinORPdvGLrXOIRS9iUTFzmFcawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHdee3V+3mMM0KoRE70QJmGrOIKcpSpkIqt4KGLyaGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAIAAG\/CccPisl8WyfJMYSenVyi0x9B8MB0a6bIaSM5wm50lesJSG8s\/THKGaViGMMxfbO3t92zVAozcnSfTM7nMcqZglmp8taAk3+N0z6VtasuxQEGUfJHPKaMB5dkyujI1k+5yJzCO9UmgypqY5\/vsejIFtMLQj9ZCp\/WPZHKmDGdBZZ3yp7xK8efJxAkvITjSwmORttibPMXlq2l3WmCJag5h9hlT\/v0UqZ+G7nWs0NrU20t687XjOpBgxtLCGBDmtQNS6ClN6xKirIm5\/NpAVi+BAWNfnYzXQEpm4GeZ6Zkl6TC629MynPYWkVqP\/DNIqCWaTI2vFTsFl7Jj5Wt+Jpoy2p54AnyEPJDt6eO36rZwd2uVusncFe9Dg4wTVt6J4JRF8V9\/I1uJzGLfsmgBAAA\/7uh8VxwXWXj9yfhXiu3c2r1dtzk82TfLhosAkvnQO6YwtMXn2hVRFt8MjxeswExQcS\/J1PVKA6Z0GJgp21Ab3gjgGTFvyJGU\/hm6Kr55AYJ6f7rbxT+3vDN6T7aWnPn0CBTtLatS\/RHCtehV5QNsO1KQdrhwGkaX9zmHVNnWQdll+P5csjxkcpX5yVM5sVVEYs24Q87gDfgSPdqMDYSlup6Pm96Gh42JR9pacMx9nfOPgjmJLZhOWbGz0H+kPW7IUqJQfLsAJfubGHCHzhwWX+CCNsShUjm5xl3zZPBjPLsi8RFtgufLe5rVtVPYIwyvbk53sE5SVnAQ\/u\/m4lZImJ3J0aQyXZ9OFZ8NUTpcDc1cSLatWM8e18cagepjUHfPbPzq5jGXpsTxw56hQAxh3OAJ8UjjdT2NqBcWejS2ZVLNzdoqf65K+g9tj2PdHefXr8MALZlPpVe7P0FIqxwggXdSUHivfK\/hSCbAZxKId2GjxHKltKxc"}
attested_evidence_test.sh: IAS Response error
67% tests passed, 1 tests failed out of 3
Total Test time (real) = 3.40 sec
The following tests FAILED:
3 - attested_evidence_test.sh (Failed)
Errors while running CTest
make[3]: *** [Makefile:84: test] Error 8
make[3]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto/_build'
PDO crypto tests failed. Define PDO_DEBUG_BUILD=1 environment for enabling logging in tests.
make[2]: *** [Makefile:25: test] Error 1
make[2]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common/crypto'
make[1]: *** [Makefile:11: test] Error 2
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/common'
make: *** [Makefile:22: test] Error 2
```
ikegawa.koshi (Fri, 12 Nov 2021 06:23:35 GMT):
As you expected, there seems to be an error with IAS attestation...
bur (Fri, 12 Nov 2021 08:21:40 GMT):
mh
bur (Fri, 12 Nov 2021 08:21:54 GMT):
somewhere I read that you can still do IAS attestation with the dcap driver
bur (Fri, 12 Nov 2021 08:22:26 GMT):
maybe one also need to mount `/dev/sgx/provision` into the container?
munapower (Fri, 12 Nov 2021 14:32:11 GMT):
@bur found it!
bur (Fri, 12 Nov 2021 15:00:11 GMT):
tell me!
BrunoVavala (Fri, 12 Nov 2021 20:23:19 GMT):
@ikegawa.koshi PR #639 should solve the issue.
Regarding the attestation, the format of the response from IAS is unexpected. Please double check the credentials in `${FPC_PATH}/config/ias`.
ikegawa.koshi (Mon, 15 Nov 2021 06:43:49 GMT):
@BrunoVavala
I fetched PR639 to my local repository and confirmed that FPC run correctly.
Thank you very much!
munapower (Mon, 22 Nov 2021 16:03:32 GMT):
So, I was able to run make successfully and connect from VSCode using SSH
munapower (Mon, 22 Nov 2021 16:03:32 GMT):
VSCode Remote SSH
munapower (Mon, 22 Nov 2021 16:04:03 GMT):
I had to increment the memory to 6GB to be able to get thru the make
munapower (Mon, 22 Nov 2021 16:04:34 GMT):
`Ran 1 of 1 Specs in 31.924 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestStress (31.93s)
PASS
ok github.com/hyperledger/fabric-private-chaincode/integration/client_sdk/go/stress_test 32.440s
stress_test.sh: - shutdown ledger
stress_test.sh: TestStress test PASSED
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/integration'
LINT: Running code checks for Go files...
Checking with gofmt
Checking with goimports
Checking for golang.org/x/net/context
Checking for github.com/gogo/protobuf
Checking with go vet
Checking with staticcheck
Checking with misspell
LINT: Running code checks for Cpp/header files...
LINT completed.
License: Running licence checks..
All files are excluded from having license headers
root@fpc:/project/src/github.com/hyperledger/fabric-private-chaincode# `
munapower (Mon, 22 Nov 2021 16:04:34 GMT):
```Ran 1 of 1 Specs in 31.924 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestStress (31.93s)
PASS
ok github.com/hyperledger/fabric-private-chaincode/integration/client_sdk/go/stress_test 32.440s
stress_test.sh: - shutdown ledger
stress_test.sh: TestStress test PASSED
make[1]: Leaving directory '/project/src/github.com/hyperledger/fabric-private-chaincode/integration'
LINT: Running code checks for Go files...
Checking with gofmt
Checking with goimports
Checking for golang.org/x/net/context
Checking for github.com/gogo/protobuf
Checking with go vet
Checking with staticcheck
Checking with misspell
LINT: Running code checks for Cpp/header files...
LINT completed.
License: Running licence checks..
All files are excluded from having license headers
root@fpc:/project/src/github.com/hyperledger/fabric-private-chaincode# ```
bur (Tue, 23 Nov 2021 08:08:35 GMT):
cool
bur (Tue, 23 Nov 2021 11:02:37 GMT):
are you still using the filesharing via samba?
webzest (Tue, 23 Nov 2021 16:41:04 GMT):
Has joined the channel.
webzest (Tue, 23 Nov 2021 16:41:04 GMT):
Thank you for having me...
bur (Mon, 29 Nov 2021 15:29:40 GMT):
@BrunoVavala does PDO crypto implement some function to extract a public key from a cert?
bur (Mon, 29 Nov 2021 15:32:14 GMT):
I am asking because, the signer identity provided with the signed proposal contains a cert instead of a public key, thus, it seems we need to extract the pk from it in order to use https://github.com/hyperledger-labs/private-data-objects/blob/main/common/crypto/pkenc_public_key.h#L47 and then use it to verify tx proposal signature
BrunoVavala (Mon, 29 Nov 2021 17:28:30 GMT):
PDO crypto does not, but openssl (below it) does.
bur (Mon, 29 Nov 2021 22:41:50 GMT):
found it; let me propose something like this https://github.com/hyperledger/fabric-private-chaincode/blob/af2a91451c198fdc5c0f5d29891bd3b8df661282/ecc_enclave/enclave/crypto.cpp#L75
bur (Tue, 30 Nov 2021 15:18:27 GMT):
@BrunoVavala I've updated PR 637 and addressed your comments; please have a look
munapower (Tue, 30 Nov 2021 16:13:35 GMT):
Guys, I am not going to be able to make it today. Sorry ...
bur (Tue, 07 Dec 2021 17:25:19 GMT):
@BrunoVavala I created a PR for `del_state` API and for the stress test to detect memory leaks ... let's see what our integration test result will be ... cross fingers
bur (Wed, 08 Dec 2021 18:34:47 GMT):
@BrunoVavala found and fixed the memory leak. Another PR for you to review :) Thakns
BrunoVavala (Tue, 21 Dec 2021 16:17:18 GMT):
@ all -- The December 28th is cancelled due to holidays and lack of quorum. Have nice holidays, see you on Tuesday Jan 4th.
BrunoVavala (Tue, 21 Dec 2021 16:17:18 GMT):
@ all -- The meeting of December 28th is cancelled due to holidays and lack of quorum. Have nice holidays, see you on Tuesday Jan 4th.
bur (Mon, 03 Jan 2022 12:01:11 GMT):
Happy new year!
bur (Tue, 04 Jan 2022 16:29:51 GMT):
https://github.com/hyperledger/fabric-private-chaincode
bur (Tue, 04 Jan 2022 16:30:11 GMT):
https://github.com/hyperledger/fabric-private-chaincode
munapower (Wed, 05 Jan 2022 21:33:18 GMT):
This is the reviewed and updated guide to have FPC running in a UTM VM. I was able to get the Samba option working too! Updated both UTM as well as the VM Linux (seems there were several updates to Samba) and it worked too! https://docs.google.com/document/d/1cT-cAkgB7T2_ZhEvRc7nSPP7bwWVIA3PQhtyT-H0wwU/edit?usp=sharing
bur (Tue, 11 Jan 2022 14:03:19 GMT):
Hey @munapower! Thank you for this helpful writeup. I have managed to follow it and run the FPC `make` using our docker dev environment in a VM on a M1 Mac.
bur (Tue, 11 Jan 2022 14:04:41 GMT):
Some feedback; UTM crashed a few times. Once during linux installation; a second time when compiling FPC; and another time when idling and doing nothing.
munapower (Tue, 11 Jan 2022 14:05:08 GMT):
ah, that didn't happen to me ... maybe memory issues?
bur (Tue, 11 Jan 2022 14:05:47 GMT):
I dont know. I gave it 4gb memory.
bur (Tue, 11 Jan 2022 14:06:44 GMT):
Moreover, I had to specify the number of cores I want to use; by default I got a VM with a single core ... super slow; changing to 4 cores worked
bur (Tue, 11 Jan 2022 14:07:06 GMT):
a full FPC make needed approx an hour
bur (Tue, 11 Jan 2022 14:07:24 GMT):
VSCODE remote dev also worked
bur (Tue, 11 Jan 2022 14:07:43 GMT):
I did not try the samba situation
bur (Tue, 11 Jan 2022 14:07:43 GMT):
I did NOT try the samba situation
munapower (Tue, 11 Jan 2022 14:08:25 GMT):
ah, the cores thing I didn't touch any of that ...
bur (Tue, 11 Jan 2022 14:08:54 GMT):
you can check with `nproc` how many cores you have in your VM
munapower (Tue, 11 Jan 2022 14:09:15 GMT):
Clipboard - January 11, 2022 11:09 AM
munapower (Tue, 11 Jan 2022 14:09:18 GMT):
ahhh but I have this
bur (Tue, 11 Jan 2022 14:09:40 GMT):
I also set this checkmark
bur (Tue, 11 Jan 2022 14:11:09 GMT):
I also tested with the "Shared Network" option. With this, the VM got an IP I could just use to ssh into the vm. No need to do crazy port mapping
munapower (Tue, 11 Jan 2022 14:13:13 GMT):
that was something I read somewhere ...
munapower (Tue, 11 Jan 2022 14:13:42 GMT):
maybe updated utm and linux also helps to ease some things?
bur (Tue, 11 Jan 2022 14:15:51 GMT):
maybe - I hope UTM 3.x will accelerate things
bur (Wed, 26 Jan 2022 21:21:17 GMT):
@here We have released FPC v1.0-rc3! :woo: :heart_eyes: :punch: https://github.com/hyperledger/fabric-private-chaincode/releases/tag/v1.0.0-rc3
BrunoVavala (Wed, 26 Jan 2022 21:55:32 GMT):
we should probably include #650 in rc3
bur (Fri, 28 Jan 2022 15:33:10 GMT):
@munapower see this, a blogpost about docker desktop alternatives on (m1) Mac. https://alex-moss.medium.com/docker-desktop-alternatives-for-m1-mac-918a2dcda10
See option 3) - the author writes about running a amd64 image on a m1 with Lima, where qemu is also used under the hood
lebdron (Wed, 09 Feb 2022 15:45:39 GMT):
Has joined the channel.
lebdron (Wed, 09 Feb 2022 15:45:39 GMT):
Hello! Could you tell if there is a roadmap publicly available? Thanks!
munapower (Thu, 10 Feb 2022 12:50:13 GMT):
Hello @lebdron ! Yes you can view it here https://docs.google.com/document/d/1kT0yQIq-BKrpQ7fhmZGjnUhymybjStAeRpCWgJ_6Y0Q/edit?usp=sharing
lebdron (Thu, 10 Feb 2022 12:50:47 GMT):
Perfect, thank you!
rjones (Wed, 23 Mar 2022 17:35:26 GMT):
rjones (Wed, 23 Mar 2022 17:35:26 GMT):
rjones (Wed, 23 Mar 2022 17:35:26 GMT):