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:
BLCN631_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. As I indicated in the Lab 01 Video, you can use LibreOffice Writer in your VM to create your lab report file. Just make sure to save it in .docx format. 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: Download and install tools to build your development and deployment environment (EFD – Chapter 5)
The instructions for this lab are found in Ethereum For Dummies, chapter 5. You’ll install all the tools introduced in chapter 5. The book gives you installation instructions for Microsoft Windows. However, for your lab, you’ll install the tools in your Ubuntu VM (from Lab 01). To complete this lab, follow the instructions in your book (chapter 5) and provide the screenshots indicated below.
1.1: Launch your Ubuntu VM
1. Open Windows PowerShell, then navigate to your BLCN631eth project directory.
2. PS %HOME%\vagrant\BLCN631eth> vagrant up
3. Login to your VM using the username: vagrant and password: vagrant
4. Click “Search your computer” (upper left corner icon), then type terminal.
5. Click on the Terminal icon to launch a terminal with a shell prompt.
1.2: Install Geth
1. Follow the instructions in the book, but instead of choosing the Downloads link, click on the Install link, followed by clicking on the Install on Ubuntu via PPAs link.
2. Back in the terminal window you opened in step 1.1, follow the instructions on the web page to enable the launchpad repository and install the stable version of go-ethereum.
Just like in Lab 01, if you get errors from the sudo apt-get install command, you may have to wait a few minutes for the background update to complete.
3. $ date
4. $ geth version
5. Create a screenshot of the results of steps 2 – 4 and paste it into your Lab Report File.
1.3: Install Ganache – your test blockchain
1. Follow the instructions in the book to download Ganache for Linux. Save the file when prompted.
2. Open the Files app (upper left corner of your desktop – it looks like a filing cabinet) and click the Downloads directory.
3. Right-click the AppImage file you just downloaded (mine is named ganache-2.4.0-linux-x86_64.AppImage) and click Properties.
4. Click the Permissions tab then click the Execute checkbox. Checking the Execute checkbox allows you to launch your program (Ganache). Close the Properties dialog.
5. Double-click the AppImage file to launch Ganache.
6. Click the Quickstart button, then click the Blocks button (at the top of the Ganache desktop.)
7. Create a screenshot of the Ganache Blocks view (step 6) and paste it into your Lab Report File.
8. Close Ganache (click the dismiss button in the Ganache window upper left corner.)
Whenever you need to launch Ganache, open the Files app, click on the Downloads directory, then double-click your Ganache AppImage file.
1.4: Install Truffle – your testing environment
First you must install NodeJS (version 8.x), then install the npm package manager, then use the npm command from the textbook to install Truffle. The instructions for installing NodeJS in Ubuntu 16.04 are different from the Windows instructions in the textbook. Follow the instructions below instead of what you find in the textbook (for installing Truffle).
1. $ cd ~
2. $ curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
3. $ sudo bash nodesource_setup.sh
4. $ sudo apt-get update
5. $ sudo apt-get install nodejs
6. $ sudo npm install -g truffle
NOTE: The previous command may result in errors. Those are OK as long as step 1.5.4 has no errors.
7. $ node -v
8. $ npm -v
9. $ date
10. Create a screenshot of the results of steps 6 – 9 and paste it into your Lab Report File.
1.5: Initialize your Truffle project
The next step is to set up a new Truffle project, called myProject. These are the same instructions as you find in the textbook.
1. $ cd ~
2. $ mkdir myProject
3. $ cd myProject
4. $ truffle init
5. $ date
6. Create a screenshot of the results of steps 1 – 5 and paste it into your Lab Report File.
1.6: Install the Visual Studio Code IDE
The last step is to set up your IDE. We’ll use VisualStudio Code (VS Code) for the lab IDE. These are the same instructions as you find in the textbook, except you’re installing in Ubuntu instead of Windows.
1. $ sudo apt install snapd
2. $ sudo snap install code –classic
3. That’s all it takes to install VS Code! Now that you have VS Code installed, launch it and install the Solidity extension by following the instructions in the textbook (the last page of chapter 5).
4. $ code .
5. Create a screenshot of the results of steps 1 – 4 (WITH the Solidity extension installed) and paste it into your Lab Report File.
Section 2: Wrapping up
1. In Windows PowerShell, shut down your Ethereum development virtual machine:
1. PS %HOME%\vagrant\BLCN631eth> vagrant halt
2. 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\ BLCN631eth > vagrant snapshot save EndOfLab02
You should have 5 screenshots in your Lab Report File. Save your file and submit it in iLearn as a file attachment for the Lab 2 assignment.