(Block Chain) BLCN532 Lab2: Writing chaincode

BLCN532 Lab 2

Writing chaincode

V2.2

Introduction

Now that you have a running business network, you can write, install, and run smart contracts, called chaincode, to interacts with your blockchain. Chancode makes up your blockchain application and provides the only way for users to read from, and append to, the blockchain.

Don't use plagiarized sources. Get Your Custom Essay on
(Block Chain) BLCN532 Lab2: Writing chaincode
This is a Snippet Preview, get a Complete Solution Here
Order Essay

In this lab you’ll examine several chaincode files, run the sample chaincode presented in your textbook, and run tests on the chaincode to assess its functionality.

 

Lab Deliverables:

 

To complete this lab, you must create a Lab Report file and submit the file in iLearn. The Lab Report file must be a Microsoft Word format (.docx), and have the filename with the following format:

BLCN532_SECTION_STUDENTID_LASTNAME_FIRSTNAME_Lab02.docx

· SECTION is the section number of your current course (2 digits)

· STUDENTID is your student ID number (with leading zeros)

· LASTNAME is your last name

· FIRSTNAME is your first name

To get started, create a Microsoft Word document (.docx) with the correct filename for this lab. You’ll be asked to enter text and paste screenshots into the lab report file.

NOTE: All screenshots MUST be readable. Use the Ubuntu Screen Capture utility (see the lab video.) Make sure that you label each screenshot (i.e. Step 2.1.3) and provide screenshots in order. For commands that produce lots of output, I only want to see the last full screen when the command finishes. Provide FULL screenshots, NOT cropped images.

 

 

SECTION 1: Running chaincode

 

Step 1.1: Launch the sample trade network in development mode

 

First, you’ll start your sample business network in development mode (note the ‘-d’ option).

1. Open PowerShell

2. PS %HOME%> cd vagrant\hyperledger

3. PS %HOME%\vagrant\Hyperledger> vagrant up

4. Login to your Linux VM (userid: vagrant password: vagrant) and open a Terminal window.

5. $ cd $GOPATH/src/trade-finance-logistics/network

6. $ ./trade.sh up -d true

7. $ date

8. Create a screenshot of the results of steps 5 – 7 and paste it into your Lab Report File.

Step 1.2: Compile the chaincode

 

Next, you’ll use a different PuTTY connection to compile and run the chaincode.

1. Open a new Terminal window.

NOTE: This is the SECOND Terminal CONNECTION for screenshots in later steps.

2. $ cd $GOPATH/src/trade-finance-logistics/network

3. $ docker exec -it chaincode bash

NOTE: If you get an error in step 3, go to your other Terminal app, shutdown the trade network, then re-start it.

4. # cd trade_workflow_v1 (Note the new prompt)

5. # go build

 

Step 1.3: Run the chaincode

 

Now you can run the chaincode you just compiled.

1. # export CORE_PEER_ADDRESS=peer:7052

2. # export CORE_CHAINCODE_ID_NAME=tw:0

3. # ./trade_workflow_v1 (This is a server process, so you won’t get a prompt back.)

 

Step 1.4: Install and run the chaincode on the channel

 

1. Open a New (3rd) Terminal window.

2. $ cd $GOPATH/src/trade-finance-logistics/network

3. $ docker exec -it cli bash

4. # peer chaincode install -p chaincodedev/chaincode/trade_workflow_v1 -n tw -v 0

5. Create a screenshot (in the current Terminal window) of the results of step 4 and paste it into your Lab Report File.

6. # peer chaincode instantiate -n tw -v 0 -c ‘{“Args”: [“init”,”LumberInc”,”LumberBank”,”100000″,”Wooden Toys”,”ToyBank”,”200000″,”Universal Freight”,”ForestryDepartment”]}’ -C tradechannel

7. # peer chaincode invoke -n tw -c ‘{“Args”: [“requestTrade”,”trade-12”,”50000″,”Wood for Toys”]}’ -C tradechannel

NOTE: the command in step 7 doesn’t copy-paste well. You’ll just have to type it.

8. Create a screenshot (in the current Terminal window) of the results of step 7 and paste it into your Lab Report File.

9. # peer chaincode invoke -n tw -c ‘{“Args”: [“getTradeStatus”,”trade-12″]}’ -C tradechannel

10. Create a screenshot (in the current Terminal window) of the results of step 9 and paste it into your Lab Report File.

11. In the SECOND Terminal window (the one you opened in step 1.2), create a screenshot of the results of step 9 and paste that screenshot into your Lab Report File.

 

SECTION 2: Reviewing chaincode source code

Step 2.1:

 

1. Open a New Terminal window.

2. $ cd $GOPATH/src/trade-finance-logistics/chaincode/src/github.com/trade_workflow_v1

3. $ gedit tradeWorkflow.go

4. Follow the source code development process in the textbook, starting with the “Creating a chaincode” section.

5. Find the Invoke() method in the editor. (Make sure the line starts with “func”.)

6. Create a screenshot (in the current Terminal window) of the results of step 5 and paste it into your Lab Report File.

7. Find the requestTrade() method in the editor. (Make sure the line starts with “func”.)

8. Create a screenshot (in the current Terminal window) of the results of step 7 and paste it into your Lab Report File.

9. Find the getTradeStatus() method in the editor. (Make sure the line starts with “func”.) You invoked this method in the previous section (Step 1.4.9).

10. Scroll down to the end of the getTradeStatus() method. You should see the string “Query Response:” in the next-to-last line in the method. This is the code that prints the trade status.

11. Create a screenshot (in the current Terminal window) of the results of step 10 and paste it into your Lab Report File.

12. Exit gedit

 

Section 3: Testing chaincode

 

Step 3.1: Test the chaincode

 

1. $ cd $GOPATH/src/trade-finance-logistics/chaincode/src/github.com/trade_workflow_v1

2. $ gedit tradeWorkflow_test.go

3. Find the method that tests ShipmentInitiation.

4. Create a screenshot (in the current Terminal window) that shows the other methods (should be 7) the current method invokes to test its functionality. (You can find this information in a program comment. Comments start with two forward slashes. Look for lines that start with “//”.) Paste that screenshot into your Lab Report File.

5. Exit gedit

6. $ go test

7. $ date

8. Create a screenshot (in the current Terminal window) of the results of steps 6 and 7 and paste that screenshot into your Lab Report File.

 

Section 4: Wrapping up

 

Now that you have compiled, installed, run, and tested your chaincode, you need to properly shutdown your business network.

1. Press CTRL-C in the SECOND Terminal window to return to the # prompt.

2. Type exit at the # prompt (in all Terminal windows except the first one) to exit docker.

3. $ ./trade.sh down -d true

4. Exit from your Linux sessions

5. $ exit

6. In Windows PowerShell, shut down your Hyperledger virtual machine:

7. PS %HOME%\vagrant\Hyperledger> vagrant halt

8. Create a snapshot (NOT A SCREENSHOT) of your Ubuntu VM in VirtualBox. This allows you to easily restore to this point if you ever need to “undo” subsequent steps and return to a known point.

a. PS %HOME%\vagrant\Hyperledger> vagrant snapshot save EndOfLab02

 

You should have 10 screenshots in your Lab Report File. Save your file and submit it in iLearn as a file attachment for the Lab 2 assignment.

Congratulations! You have complete lab 2.

Homework Market Pro
Calculate your paper price
Pages (550 words)
Approximate price: -

Our Unique Features

Custom Papers Means Custom Papers

This is what custom writing means to us: Your essay starts from scratch. Plagiarism is unacceptable. We demand the originality of our academic essay writers and they only deliver authentic and original papers. 100% guaranteed! If your final version is not as expected, we will revise it immediately.

Qualified and Experienced Essay Writers

Our team consists of carefully selected writers with in-depth expertise. Each writer in our team is selected based on their writing skills and experience. Each team member is able to provide plagiarism-free, authentic and high-quality content within a short turnaround time.

Free Unlimited Revisions

If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account or by contacting our support.

Prompt Delivery and 100% Assuarance

We understand you. Spending your hard earned money on a writing service is a big deal. It is a big investment and it is difficult to make the decision. That is why we support our claims with guarantees. We want you to be reassured as soon as you place your order. Here are our guarantees: Your deadlines are important to us. When ordering, please note that delivery will take place no later than the expiry date.

100% Originality & Confidentiality

Every paper we write for every order is 100% original. To support this, we would be happy to provide you with a plagiarism analysis report on request.We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text. We also promise maximum confidentiality in all of our services.

24/7 Customer Support

We help students, business professionals and job seekers around the world in multiple time zones. We also understand that students often keep crazy schedules. No problem. We are there for you around the clock. If you need help at any time, please contact us. An agent is always available for you.

Try it now!

Calculate the price of your order

Total price:
$0.00

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Our Services

Our services are second to none. Every time you place an order, you get a personal and original paper of the highest quality.

Essays

Essay Writing Service

While a college paper is the most common order we receive, we want you to understand that we have college writers for virtually everything, including: High school and college essays Papers, book reviews, case studies, lab reports, tests All graduate level projects, including theses and dissertations Admissions and scholarship essays Resumes and CV’s Web content, copywriting, blogs, articles Business writing – reports, marketing material, white papers Research and data collection/analysis of any type.

Admissions

Any Kind of Essay Writing!

Whether you are a high school student struggling with writing five-paragraph essays, an undergraduate management student stressing over a research paper, or a graduate student in the middle of a thesis or dissertation, homeworkmarketpro.com has a writer for you. We can also provide admissions or scholarship essays, a resume or CV, as well as web content or articles. Writing an essay for college admission takes a certain kind of writer. They have to be knowledgeable about your subject and be able to grasp the purpose of the essay.

Reviews

Quality Check and Editing Support

Every paper is subject to a strict editorial and revision process. This is to ensure that your document is complete and accurate and that all of your instructions have been followed carefully including creating reference lists in the formats APA, Harvard, MLA, Chicago / Turabian.

Reviews

Prices and Discounts

We are happy to say that we offer some of the most competitive prices in this industry. Since many of our customers are students, job seekers and small entrepreneurs, we know that money is a problem. Therefore, you will find better prices with us compared to writing services of this calibre.