Meeting Summary

Tested and got Robin Klemens's docker-compose-setup working to set up 3 peers and a utilityemissionschannel.

Talked about Blockchain Explorer, but turns out not many people have used it.  So we'll leave it out for now.

Talked about what language to write chain code in: Go, Node.js, or Typescript.  No final decision on one language yet.

Talked about where to put seed data: OrbitDB, on ledger in CouchDB, separate MongoDB database?

Everybody felt the meeting was helpful, so we're going to try to schedule another one for August 31.  

Meanwhile, a few (non-binding) TODO's:

  • Nish Chan will look into which database option is best for seed data
  • Robin Klemens will create scripts to deploy chain code to channel
  • Lam Nguyen will try writing basic chain code in Go
  • Kamlesh Nagware will set up a demo with hyperledger sample's fabcar 

We're going to try to have a demo ready for the next OpenClimate Collabathon in November.

Recording

peer programming 2020-08-18.mp4

  • No labels

22 Comments

  1. Peter Clarke will mentioned in the chatbox that he will share some screenshots and tips on using the Hyperleger explorer on this project

    1. I got explorer to work with minifabric and it was very easy, thanks to Tong Li's changes to minifabric.  

  2. Kamlesh Nagware FYI – I was on a Hyperledger Developers Call this morning, and they did say that fabcar was deprecated.  asset-transfer is the new default sample code to work with.

  3. Si Chen okay Thanks.so we will use asset transfer chaincode anyway assest sample also uses same fabric network which is test network.

  4. @si Chen ..I will setup a demo with asset transfer sample. Our next meeting on 31sth Aug, right?

    1. Yes correct. 

      1. Si Chen Yes, I will try our chaincode and fabric network as well. 

  5. Si Chen Nish Chan Peter Clarke Lam Nguyen Kamlesh Nagware I finished coding the script to deploy chaincode to the network. Now, we can deploy the `emissionscontract` (javascript) to the docker-compose network and instantiate it. Thank you Si Chen and Lam Nguyen for developing the chaincode. Further, I implemented Hyperledger Explorer to the prototype. If you test the docker-compose network and got any issues, please reach out to me. 
    Looking forward to the meeting tomorrow.

    1. Great ! Thanks so much, Robin.
      How about if we make a more detail instruction guideline step-by-step?

      1. Lam Nguyen yes we should provide a more detailed readme.md file. I will write a small guide until next Monday. Furthermore, I write node.js functions we can use in the application to connect to the blockchain and invoke chaincode.

        1. Robin Klemens Lam Nguyen I was hoping to see a demo of what you've done today, but since we ran out of time...  Could you commit what you have so far so we can test it?

          Also about that node.js to connect to blockchain, I was thinking about that too.  We could connect a UI from https://github.com/opentaps/opentaps_seas to interact with the utility emissions channel.  opentaps seas has a user who could manage multiple sites (think buildings) which have utility meters.  It handles authorization of utilities and getting utility meter data.  It should pass the meter readings (kwh of eletricity) to our chain code and then get back CO2 emissions from the ledger.

          What do you think of doing it this way:

          Then people could write UI in whatever they'd like.

          1. I pushed all my code which also provides sample usage of node.js for client application (see README.md).

            I'll come back to your post Si Chen at the end of the week and code a more generic way of invoking chaincode.

            1. Robin Klemens I tried your code and it all worked!  Thank you.

              Yes, let's work on refactoring a node.js server layer so we can build UI on top of this!

              1. Si Chen Lam Nguyen

                I implemented a RESTful API with a swagger file and pushed the code to the repo. If you can or someone else can test my code and could report errors it would be great.

                Going with express as REST API should be sufficient enough for our prototype. However, we should spend some architectural thoughts about the design of an API in a production-ready system. I don't see RESTful APIs fitting in there.

                See all of you in our call tomorrow (smile)

                1. Utility network and chaincode deployment works perfectly. Also, chaincode invoke and query via peer binary working. Facing issue in node and REST API, it shows grpc-js not works for this node version. Which node.js version is required.

                  Error: @grpc/grpc-js only works on Node ^8.13.0 || >=10.10.0
                  at Object.<anonymous> (/home/kamlesh/work/src/github.com/hyperledger/blockchain-carbon-accounting/utility-emissions-channel/docker-compose-setup/application/node_modules/@grpc/grpc-js/build/src/index.js:47:11)

                  1. Kamlesh Nagware have a look at https://github.com/hyperledger/fabric-sdk-node#build-and-test

                    I run the demo with node v12.13.0 which works properly. I'll add the requirement to the readme file.

                    1. Okay ,I had >8.14. and also tried with >10 ,Will try with node version you suggested

                      1. Robin Klemens It working with node v12.13.0

  6. Great Robin Klemens ..I think now I should use your repo to show demo in next meeting or you can show yourself..you have almost set the stage to start POC

    1. Kamlesh Nagware Yes, we can use our prototype for a small demo. Please have a look at the current state of development and check if this fits your expectations of the demo you wanted to present.