Documentation Workgroup: Agenda for Friday, 14 Feb
Anthony O'Dowd <a_o-dowd@...>
Hello!
We will hold the documentation workgroup call this Friday, both Western and Eastern hemispheres. Thanks to everyone who attended last week's call. The summary minutes for last week's meeting: https://wiki.hyperledger.org/display/fabric/Meetings You can read all about the call at https://wiki.hyperledger.org/display/fabric/2020+02+07+DWG+Agenda It included a V2 status update from Pam and Joe, a review of our new Chinese language docs, an overview of the new style guide from Joe, and the new deployment guide. Specifically, we'd would like to express our thanks to Rich Zhao and his team on the release of the Chinese language docs - a great piece of work! You can check them out: https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/ All-in-all, a great session last week. You can catch up via the recording: https://wiki.hyperledger.org/display/fabric/Recordings You'll see that there are lots of interesting items for this week: https://wiki.hyperledger.org/display/fabric/2020+02+14+DWG+Agenda Please feel free to contribute using the wiki, including helping to build next week's agenda: https://wiki.hyperledger.org/display/fabric/2020+02+21+DWG+Agenda Thanks! Pam, Anthony, Joe, Nik Meeting Details ------------- Please use the following link to attend the meeting: https://zoom.us/j/6223336701 The meeting times are as follows: https://wiki.hyperledger.org/display/fabric/Documentation+Working+Group Meeting 115A: Friday 14 Feb 1130 India Standard Time 1400 China Standard Time 1500 Japan Standard Time 1700 Australia Eastern Time 1400 Singapore Time 1000 Gulf Standard Time 0900 Moscow Standard Time 0600 Greenwich Mean Time 0700 Central European Time Meeting 115B: Friday 14 Feb 1100 Central Daylight Time 1200 Eastern Daylight Time 0900 Pacific Daylight Time 1400 Brasil Time (BRT) 1700 Greenwich Mean Time 1800 Central European Time 1900 Moscow Standard Tim Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
|
|
[common.deliver] deliverBlocks -> DEBU 371 Rejecting deliver for X.X.X.X:42926 because channel tracktrace not found
Siddharth Jain
we have a network that runs fine without Docker but when we try to containerize it we get this error in orderer logs:
2020-02-13 22:19:16.706 UTC [common.deliver] deliverBlocks -> DEBU 371 Rejecting deliver for X.X.X.X:42926 because channel tracktrace not found
we can actually see the channel if we look inside the orderer
root@a60672f8b829:/home# ls /var/hyperledger/production/chains
foo tracktrace
we have mounted the orderer directory (when it was running without Docker) to /var/hyperledger/production
anyone know what's going on here and how to fix this? thanks
|
|
Upcoming Event: Hyperledger Fabric Documentation Workgroup call - Eastern hemisphere - Fri, 02/14/2020 6:00am-7:00am
#cal-reminder
fabric@lists.hyperledger.org Calendar <fabric@...>
Reminder: Hyperledger Fabric Documentation Workgroup call - Eastern hemisphere When: Friday, 14 February 2020, 6:00am to 7:00am, (GMT+00:00) Europe/London Where:https://zoom.us/j/6223336701 Organizer: Anthony O'Dowd a_o-dowd@... +441962816761 Description: Documentation workgroup call.
|
|
Re: How to unpackage (or unpack, unzip, extract) a chaincode?
Brett T Logan <brett.t.logan@...>
Here is a very, very basic program to ingest the chaincode package and output a tarball of it: https://github.com/yeasy/blockchain_guide/blob/master/_code/unpack_chaincode.go
Credit to Baohua Yang for the answer:
----- Original message -----
|
|
Re: How to unpackage (or unpack, unzip, extract) a chaincode?
Nye Liu <nye@...>
-xvzf On 2/12/2020 5:39 PM, Siddharth Jain
wrote:
|
|
Re: How to unpackage (or unpack, unzip, extract) a chaincode?
Siddharth Jain
How do i do that?
From: Matthew Sykes <matthew.sykes@...>
Sent: Wednesday, February 12, 2020 5:27:38 PM To: Siddharth Jain <siddjain@...> Cc: fabric@... <fabric@...> Subject: Re: [Hyperledger Fabric] How to unpackage (or unpack, unzip, extract) a chaincode? If you're using the new lifecycle commands, the chaincode package is a gzip compressed tar; if you're using the legacy (lscc) commands, the package is a protobuf encoded chaincode deployment spec. You'll need to unmarshal that message to get
to the code package tar file.
On Wed, Feb 12, 2020 at 5:36 PM Siddharth Jain <siddjain@...> wrote:
Matthew Sykes
matthew.sykes@...
|
|
Re: How to unpackage (or unpack, unzip, extract) a chaincode?
Matthew Sykes
If you're using the new lifecycle commands, the chaincode package is a gzip compressed tar; if you're using the legacy (lscc) commands, the package is a protobuf encoded chaincode deployment spec. You'll need to unmarshal that message to get to the code package tar file.
On Wed, Feb 12, 2020 at 5:36 PM Siddharth Jain <siddjain@...> wrote:
--
Matthew Sykes matthew.sykes@...
|
|
Re: Modify Chain code container
Matthew Sykes
The peer does not "fire the docker run cmd" but uses the docker API to create and start the container. If you want to expose a port, you can either modify the fabric code or create your own base image for chaincode that exposes the port. If you create your own image, you only need to configure the peer(s) to use your image instead of the fabric image (peer.chaincode.${language}).
On Tue, Feb 11, 2020 at 7:38 AM <sanjaykumar3989@...> wrote: I want to expose port from chain code container to host machine. From where peer node fire the docker run cmd . --
Matthew Sykes matthew.sykes@...
|
|
How to unpackage (or unpack, unzip, extract) a chaincode?
Siddharth Jain
Anyone knows how do we unpackage a chaincode? tar -xvf does not work.
$ tar -xvf mycc.1.0
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
in above mycc.1.0 is what got installed on the peer when we ran peer chaincode install.
$ ls -al mycc.1.0
-rw-r--r-- 1 siddjain staff 35163 Feb 12 14:19 mycc.1.0
|
|
Re: Local Collections in Fabric 2.0
#fabric
Alessandro Sorniotti
Martin
toggle quoted messageShow quoted text
A transaction that uses collections leaks information about the involved parties in 3 ways: 1) the creator; 2) the collection name and 3) endorsements. Point 1 can be addressed by using idemix. Local collections address point 2, and we have a (VERY ROUGH!) prototype here https://github.com/IBM/fabric/blob/release-2.0/docs/source/local_collections.md We're working on point 3, so take a look at our playground https://github.com/IBM/fabric/ for updates. Cheers, Ale
On Wed, 12 Feb 2020, at 10:50 AM, westerkamp@... wrote:
Hi everyone,
|
|
Re: Local Collections in Fabric 2.0
#fabric
David Enyeart
The pattern mentioned in 'Keeping transactors private' would meet the requirement of keeping the collaborators of a business transaction private in Fabric v2.0. In this pattern, each party writes common pre-image data, or a reference to each other's pre-image data, in their own private data collection that their own peer endorses. The pre-image data can later be shared as needed with other organizations, who can verify the hashes on the chain. If required in your scenario, you could also provide a third party such as a regulator access to the data so that they could verify both sets of hashes in chaincode and then 'settle' the business level transaction with a final Fabric transaction. Hi everyone, Some time ago there has been a discussion concerning local collections with the goal to obscure members of a collection to other participants of a channel in FAB-7593. I was wondering about the impact of novel Fabric 2.0 features on the proposal or if Fabric 2.0 delivers functionality that enables such collections already? In that context, I have checked out the private data sharing patterns descibed here. Especially the "Keeping transactors private" pattern seems very related. I would like to introduce a short example to clearify the requirements: Four organizations A, B, C and D participate in a shared channel. A and B collaborate using chaincode containing a private data collection. C and D should not be able to observe that A and B are collaborating. Therefore, when A is submitting a transaction, C and D should not be able to tell who is affected by that transaction. Currently, the data collection definition reveals all members of the collections, so that C and D can derive that A and B are collaborating (from my understanding). So my questions are: - Can Fabric 2.0 already implement such a use can, e.g. by applying the "Keeping transactors private" pattern? If so, what would it look like in detail? - If it cannot be implemented by Fabric 2.0 yet, what do we need to do so? Is FAB-7593 still relevant in context of Fabric 2.0? Thanks and best regards, Martin
|
|
Local Collections in Fabric 2.0
#fabric
@informartin
Hi everyone,
Some time ago there has been a discussion concerning local collections with the goal to obscure members of a collection to other participants of a channel in FAB-7593. I was wondering about the impact of novel Fabric 2.0 features on the proposal or if Fabric 2.0 delivers functionality that enables such collections already? In that context, I have checked out the private data sharing patterns descibed here. Especially the "Keeping transactors private" pattern seems very related. I would like to introduce a short example to clearify the requirements: Four organizations A, B, C and D participate in a shared channel. A and B collaborate using chaincode containing a private data collection. C and D should not be able to observe that A and B are collaborating. Therefore, when A is submitting a transaction, C and D should not be able to tell who is affected by that transaction. Currently, the data collection definition reveals all members of the collections, so that C and D can derive that A and B are collaborating (from my understanding). So my questions are: - Can Fabric 2.0 already implement such a use can, e.g. by applying the "Keeping transactors private" pattern? If so, what would it look like in detail? - If it cannot be implemented by Fabric 2.0 yet, what do we need to do so? Is FAB-7593 still relevant in context of Fabric 2.0? Thanks and best regards, Martin
|
|
Installing HyperLedger Fabric on Raspberry Pi
#hyperledger-fabric
Jonah Cancio
|
|
Re: Unable to launch/instantiate chaincode container
Siddharth Jain
think we found what is causing the problem. the peer is on one network but if we manually create a container from the chaincode image, it is not on the same network. how can we fix this?
peer:
"Networks": {
"testnet": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"2032a003bce7"
],
"NetworkID": "c0d70c64a014356e634b6511bb551a44e7ce3badf172792adad5a44a64d1e27b",
"EndpointID": "c37e20e91cc5ec3fb8c3f33512cbfecfbdb7ed9021825a749ccffa029ae6bf8b",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:03",
"DriverOpts": null
}
}
chaincode container:
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "f6d2d4227f8879d8601149235c1574635be846bf8f9e63be8f6c0f56a62c5a8d",
"EndpointID": "ed2d439e55f0d3b74ab08ac528b52cdab0ab9b68f00cf671cab79687c0d1081e",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:03",
"DriverOpts": null
}
}
we have tried setting CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE to testnet but it does not make any difference.
From: Siddharth Jain <siddjain@...>
Sent: Tuesday, February 11, 2020 11:16 AM To: Siddharth Jain <siddjain@...> Subject: Re: [Hyperledger Fabric] Unable to launch/instantiate chaincode container From: fabric@... <fabric@...> on behalf of Siddharth Jain <siddjain@...>
Sent: Tuesday, February 11, 2020 10:48 AM To: fabric@... <fabric@...> Subject: [Hyperledger Fabric] Unable to launch/instantiate chaincode container
we are running into a problem where chaincode container is not getting launched. full stacktrace can be found
here but basically the execution reaches this point:
if err := r.Runtime.Start(ccci, codePackage); err !=
nil {
startFailCh <- errors.WithMessage(err,
"error starting container")
return
}
exitCode,
err := r.Runtime.Wait(ccci) // this is where we get an exitCode 1
if err !=
nil {
launchState.Notify(errors.Wrap(err,
"failed to wait on container exit"))
}
launchState.Notify(errors.Errorf("container exited with %d", exitCode))
and fails with
launchState.Notify(errors.Errorf("container
exited with %d", exitCode))
2020-02-10 23:49:40.130 UTC [endorser] SimulateProposal -> ERRO 056 [tracktrace][b69889f9] failed to invoke chaincode name:"mycc" , error: container exited with 1 github.com/hyperledger/fabric/core/chaincode.(*RuntimeLauncher).Launch.func1 /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/runtime_launcher.go:63 runtime.goexit
Things we have tried to debug:
$ docker version
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf5
Built: Thu Oct 17 23:44:48 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.4
API version: 1.40 (minimum version 1.12)
Go version: go1.12.10
Git commit: 9013bf5
Built: Thu Oct 17 23:50:38 2019
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683we are using fabric version 1.4
not sure where to go from here.
|
|
Unable to launch/instantiate chaincode container
Siddharth Jain
we are running into a problem where chaincode container is not getting launched. full stacktrace can be found
here but basically the execution reaches this point:
if err := r.Runtime.Start(ccci, codePackage); err !=
nil {
startFailCh <- errors.WithMessage(err,
"error starting container")
return
}
exitCode,
err := r.Runtime.Wait(ccci) // this is where we get an exitCode 1
if err !=
nil {
launchState.Notify(errors.Wrap(err,
"failed to wait on container exit"))
}
launchState.Notify(errors.Errorf("container exited with %d", exitCode))
and fails with
launchState.Notify(errors.Errorf("container
exited with %d", exitCode))
2020-02-10 23:49:40.130 UTC [endorser] SimulateProposal -> ERRO 056 [tracktrace][b69889f9] failed to invoke chaincode name:"mycc" , error: container exited with 1 github.com/hyperledger/fabric/core/chaincode.(*RuntimeLauncher).Launch.func1 /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/runtime_launcher.go:63 runtime.goexit
Things we have tried to debug:
$ docker version
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf5
Built: Thu Oct 17 23:44:48 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.4
API version: 1.40 (minimum version 1.12)
Go version: go1.12.10
Git commit: 9013bf5
Built: Thu Oct 17 23:50:38 2019
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683we are using fabric version 1.4
not sure where to go from here.
|
|
Have you registered for Hyperledger Global Forum, March 3-6?
Brian Behlendorf <bbehlendorf@...>
Hello Hyperledger Community,
Less than four weeks to go until Hyperledger Global Forum 2020! I am so excited to see not only long time friends but all the new people, projects, deployments, and energy in our community. We've grown so much even just since the last Forum in Basel just over a year ago. This time no one needs to bundle up in scarves and mittens, as Arizona in springtime is gorgeous.
As digitally connected as our community
is, in-person meetings like this are essential to developing a
healthy Open Source software community. Community itself is an
inherent part of blockchain technology - our ledger platforms
are operating systems for cooperative networks. Whether you're a
developer or product manager or business-level decision-maker,
if you want to better understand the full scope of what everyone
in the Hyperledger Greenhouse are building and deploying, and
where the enterprise blockchain movement is going, you want to
be here!
I wanted to make sure that you do not miss out on standard pricing, which ends on February 18. Save up to $400 if you register by the deadline. Hotel rooms will most likely sell out in advance - I encourage you to book ASAP to secure a room at the conference rate, which was just extended through Friday, Feb 14.
At Global Forum, you will have the chance
to talk directly with Hyperledger project maintainers and the
Technical Steering Committee, collaborate with other developers
and executives on ideas that will directly impact the future of
Hyperledger. Plus you get to promote your work among the
enterprise blockchain community.
This year’s agenda will feature more than 80 sessions, including dozens of breakout sessions plus panels, workshops and a Demo Theater. You can search the agenda and also browse by filter type including industry, project focus. There’s some really great technical sessions/workshops lined up that I would like to highlight:
Hyperledger Fabric is getting traction in the corporate world, with more and more companies deploying Fabric-based projects and PoCs. One of the main limitations Telefonica’s found is getting a PoC into production because of a lack of performance best practices. In this talk Alfonso will answer common performance questions such as: What configurations should I fine-tune to get the most out of my infrastructure? And How many peers, endorsers and ordering nodes do I need? Governing DLT Networks - David Treat, Accenture & Rob Palatnick, DTCC Accenture and DTCC have co-authored a paper, Governing DLT Networks, and will present their work with David Treat, MD, Global Blockchain Lead at Accenture and member of the Hyperledger Board and Rob Palatnick, CTO of DTCC and Chair of the Hyperledger Board. Proposing a governance operating model to address approaches to managing the activity, connectivity, software changes, contractual agreements and transaction finality for every participant across the network.
Blockchain Platform For A Billion Customers: A Telecom (Digital Marketing) Case Study - Babu Jayaraj, Reliance Jio Infocom Ltd. India with 1.2+ Billion registered mobile subscribers have been plagued with unsolicited communications from the unregistered telemarketers. A consortium of telecom operators under the TRAI's guidance have built a Blockchain based platform to regulate marketing communications. This talk is about learnings/experiences in designing and building the Hyperledger Fabric based platform by consortium of telecom operators including choosing right technologies, overcoming platform stability issues, scaling performance and building business practices/process around the new platform. Building Secure Protocols Using Ursa- Mike Lodder, Sovrin Foundation & Brent Zundel, Evernym It's notoriously difficult to properly implement blockchain protocols that use cryptographic algorithms.In this talk, Mike and Brent will explain some of the features in Hyperledger Ursa and how to use them to solve some of the most common problems faced by people looking to build private and secure protocols on blockchains. A Standardized Approach to Creating Digital Tokens - Paul DiMarzio, Enterprise Ethereum Alliance; Marley Gray, Microsoft & Jonathan Levi, HACERA In this session, the speakers will lay out the value of digital tokens and dive into a few examples of how the Token Taxonomy Framework (TTF) can be used to simplify the design and implementation of new token classes. DIDs without blockchains - Daniel Hardman, Evernym, Decentralized Identifiers (DIDs) are like DNS without any registrars. They're a foundation of decentralized identity, and are relevant to most Hyperledger projects. In this session, Daniel will explain how peer DIDs work, and show developers how they can get support for them in an hour or a day (depending on their circumstances). Panel: Business Interoperability – The Key to Supply Chain Traceability - Rich Meszaros & Sarah Banks, Accenture; Melanie Nuce, GS1 US; David Cecchi, Cargill Technology such as blockchain has the power to solve complex challenges and achieve improved supply chain traceability. In order to tap into this powerful technology, interoperability, enabled by robust data and transaction standards, are a must! Segments of the supply chain, such as the food industry, have made significant progress leveraging data standards to support food safety and product transparency use cases.
Workshop: Intro to Hyperledger Besu - Danno Ferrin, ConsenSys There is no better way to learn about Hyperledger Besu than by doing.In this session attendees will set up and run Hyperledger Besu nodes that connect to public networks as well as start their own permissioned network between the other attendees in the session. Workshop: Hyperledger Fabric 101 - Swetha Repakula & Morgan Bauer, IBM The workshop will involve participants standing up their own Hyperledger Fabric network, deploying smart contracts, and interacting with their contracts using decentralized applications. Attendees will leave the tutorial with a better understanding of the properties of permissioned blockchains, and decentralized application development. Recently announced Hyperledger Fabric 2.0 features and updates will also be explored. Workshop: Hands-on Experience with Avalon on How to Bridge On-chain and Off-chain Worlds - Yevgeniy Yarmosh & Dan Anderson, Intel Avalon addresses blockchain scalability and privacy challenges by moving compute intensive and private data processing off-chain. Other similar approaches typically trade resilience and integrity for scalability and privacy. During this workshop, you will understand Avalon architecture and how it extends a notion of computational trust. Workshop: Getting Started with Indy and Aries: Beginner and Advanced Scenarios - Stephen Curran, Cloud Compass Computing, Inc. & John Jordan, Government of British Columbia (Canada), This full day technical workshop will cover beginner and advanced sessions on getting started with Hyperledger Indy and Hyperledger Aries.
Keynote speakers confirmed so far: Keynote: Don Tapscott: The Blockchain Revolution -State of the Union, Co-author, Blockchain Revolution: How the Technology Behind Bitcoin and Other Cryptocurrencies is Changing the World, and Co-founder, Blockchain Research Institute Keynote: Sheila Warren: Blockchain Matters: How it’s Already Changing the World, Head of Blockchain and Distributed Ledger Technology, World Economic Forum Other unique activities I’m personally excited about: March 2, 6:00 - 8:30pm Location: Renaissance Phoenix Downtown Hotel, Rooftop March 3, 8:00 - 8:50am Location: Phoenix Convention Center Onsite Networking Reception & Booth Crawl March 3,5:45 - 6:45pm Location: Phoenix Convention Center, Sponsor Showcase March 3, 6:45 - 8:00pm Location: Phoenix Convention Center March 4, 7:00 - 10:00pm Location: Corona Ranch and Rodeo Grounds I look forward to seeing you there!
Brian
-- Brian Behlendorf Executive Director, Hyperledger bbehlendorf@... Twitter: @brianbehlendorf
|
|
Modify Chain code container
sanjaykumar3989@...
I want to expose port from chain code container to host machine. From where peer node fire the docker run cmd .
|
|
Re: Customize chaincode docker image
sanjaykumar3989@...
How peer run the chain code container ? I want to expose port from chaincode container and map with host machine. I want to customized the docker run cmd fired from peer node.
|
|
Re: Who needs to sign on a config update to change addresses of an orderer?
Siddharth Jain
so the sign off will require orderer org's admins but channel update will be done by a peer since peer channel update can only be executed by a peer. correct? that doesn't sound right btw.
From: Baohua Yang <yangbaohua@...>
Sent: Monday, February 10, 2020 12:54 PM To: Siddharth Jain <siddjain@...> Cc: fabric@... <fabric@...> Subject: Re: [Hyperledger Fabric] Who needs to sign on a config update to change addresses of an orderer? You only needs to change the orderer section in the channel configuration.
That will require the majority of the orderer orgs's admins to sign by default.
You may refer to the tutorial at https://hlf.readthedocs.io/en/latest/config_update.html.
On Mon, Feb 10, 2020 at 12:36 PM Siddharth Jain <siddjain@...> wrote:
Best wishes!
Baohua Yang
|
|
Re: Who needs to sign on a config update to change addresses of an orderer?
You only needs to change the orderer section in the channel configuration. That will require the majority of the orderer orgs's admins to sign by default. You may refer to the tutorial at https://hlf.readthedocs.io/en/latest/config_update.html.
On Mon, Feb 10, 2020 at 12:36 PM Siddharth Jain <siddjain@...> wrote:
--
Best wishes! Baohua Yang
|
|