Process: Blockchain stack starting 2016-06-27 ending 2016-07-28

If you were logged in and working on this process, you would log your work on this page.

Outputs

Scheduled:

Software design artifact 1.00 Each due July 28, 2016

Work

Planned Work: (Requirements are ordered by due date)

Programming for product work: 2.00 Time - Hours due June 27, 2016

Upload blockchain stack configurations here: https://github.com/Sensorica/Interspace-Access

Taken by FrancoisE
Work events:
Oct. 6, 2016 12.00 Time - Hours Done by Jim

Created final chain and launched contracts.
Finalized web application and saflok web service.
Wrote startup script for both computers at eVision.
Pushed final code to github:
https://github.com/Sensorica/Blockchain-Interspace-Access

Sept. 30, 2016 24.00 Time - Hours Done by Jim

Three days work!
Worked on saflok node application for listening to chain events and webservice to receive http requests from webapp:
https://github.com/Sensorica/Blockchain-Interspace-Access/tree/master/eris-saflok-webservice
Added http post capabilities to meteor app:
https://github.com/Sensorica/Blockchain-Interspace-Access/tree/master/webapp/app/server
Added saflok constructor to webservice:
https://github.com/Sensorica/Blockchain-Interspace-Access/tree/master/node-saflok-messenger

Sept. 26, 2016 30.00 Time - Hours Done by Jim

- Worked on front end DApp previously tested (https://github.com/Sensorica/Interspace-Access/tree/master/meteor-access-dapp) with web3.js on the Ethereum network, a fork of https://github.com/SilentCicero/meteor-dapp-boilerplate
- Added views for the smart contracts, planned UI/UX and added components for demo.
- Struggled to get eris-contracts.js work on the client side only to discover that it does not work: https://www.npmjs.com/package/eris-contracts. Was mislead since web3 works perfectly client side with Ethereum and the Eris package is a fork.
- Tried loading it in meteor without any success on the webapp already prepared for the project: https://github.com/snowy13/Dapp
- Discovered conflicts with ecma2015 package and "import" function due to new javascript specs and packages used by the webapp
- Test the eris-contracts.js with another webapp I had created : https://github.com/snowy13/leaderboard-test
- Success!
- Decided it will be to complex to solve current issues and trying a webservice approach using nodejs:
- Tested https://github.com/eris-ltd/hello-eris, an Eris example with a similar approach.
- Issued pull request as demo configs were wrong: https://github.com/eris-ltd/hello-eris/pull/2
- Works!

Sept. 26, 2016 30.00 Time - Hours Done by Jim

Setting up cloud server for cloud validator node and testing further configurations with Eris stack. version 0.12.0-rc2
https://github.com/eris-ltd/eris-cli/releases
- Found perfect recipe for launching chain and adding nodes. also tested custom chain creation without using "eris chains make" to create folder structure.
- Tested new eris examples. Found bugs and issued pull requests:
https://github.com/eris-ltd/hello-eris
- Installed nodejs , npm, nvm, meteor and nginx.

Sept. 26, 2016 10.00 Time - Hours Done by FrancoisE

1 day of 4 and 1 day of 6 hours at evision tryin to fix kabba network with jim

Sept. 26, 2016 30.00 Time - Hours Done by Jim

SAFLOK API work
Creating nodeJs app to work with Saflok IRS.Studying API document (incorrect) studying and duplicating code supplied from KABA (incorrect). Various attempts to replicate different implementations of the LRC checksum also proved to be incorrect. Finally a meeting with Kaba that explained undocumented message field sizes.
Final application: https://github.com/snowy13/node-saflok-messenger

Sept. 26, 2016 40.00 Time - Hours Done by Jim

Configuring blockchain stack for eVision at Regus.
- Setting up Kaba/Saflok server after move to Regus.
- Setting up Eris, nodeJs and other requirements
- Network analysis with wireshark
- Tested different configurations to bypass port filtering and establish chain with cloud validator.
- Discovered heavy network security such as port filtering. Unable to establish validators within network
- Setting up a subnet. Tried port tunneling for cloud validator. Worked on site and remotely with Lai, Mike, Tibi and Francois-Eric.
Decision made to self contain the demo in a subnet

Sept. 26, 2016 30.00 Time - Hours Done by Jim

Implementation of Plan B, a Raspberry Pi 3 with a PNC-532 breakout NFC reader.
- Ordering reader from Amazon
- Setting up the reader and libraries
- Researched issues with configuring Pi3 to work with serial due to hijacking by the Bluetooth module
- Tested libnfc and issued pull request for new config file for Raspi3: https://github.com/nfc-tools/libnfc/pull/362
- Tested libfreefare, a wrapper for MiFare cards: https://github.com/nfc-tools/libfreefare
- Tested nodeJs npm module node-nfc: https://github.com/shuangjj/node-nfc
- Tested https://github.com/eris-ltd/urvogel
- Tested https://github.com/eris-ltd/eris-eggbank . Created issues and fixed with a pull request :

Sept. 20, 2016 8.00 Time - Hours Done by Lai

Worked with Jim to deploy blockchain, mainly on networking.
Also tried to solve the firewall issue, having a node outside. This attempt was not successful.

Sept. 16, 2016 4.00 Time - Hours Done by Humberto

Hangout with Jim and Lai to discuss about the communication problems. In further tests, it was found in the logs that Tendermint (Consensus protocol) seems to use the IP address written in the message and not the one in the TCP packet. As chains are running in docker machines with private IPs the IP address in the message cannot be reached from the external (cloud) server.

Sept. 15, 2016 6.00 Time - Hours Done by Humberto

SSH reverse tunnel working ok at the TCP level. Debug of Eris and consensus protocol (tendermint) using the chain logs. Evaluation of alternatives for having Cloud and Local computers talking.

Sept. 14, 2016 4.00 Time - Hours Done by Humberto

Installation of Eris in local computer. Chain configuration. Trying reverse SSH tunnel configuration for firewall traversal. Problem found with genesis being different in local and cloud computers.

July 25, 2016 5.00 Time - Hours Done by Jim

Initial tests with KABA system.
Communication over TCP/IP established. Wrote some code for testing messages.
Still buggy. Will continue on system installed in eVision VPN.
https://github.com/Sensorica/Interspace-Access/tree/master/SAFLOK

July 22, 2016 6.00 Time - Hours Done by FrancoisE
July 22, 2016 8.00 Time - Hours Done by FrancoisE
July 22, 2016 5.00 Time - Hours Done by FrancoisE
July 19, 2016 1.00 Time - Hours Done by Jim

Experimenting with restarting node to existing chain.
Interesting results with the wrong recipe!
Posted in forum:
http://crm.sensorica.co/t/eris-industries/214/35

July 19, 2016 1.00 Time - Hours Done by Jim

Found solution to docker service not starting after upgrade and reboot.
Reported in forum:
http://crm.sensorica.co/t/join-the-docker-revolution/225/3

July 11, 2016 6.00 Time - Hours Done by FrancoisE

Worked wit Jim. See his log

July 11, 2016 7.00 Time - Hours Done by Jim

Worked with da King!
Thorough testing of docker-machine and --machine eris flag.
Tried various configs and launching of remote nodes. A lot of time spent tweaking settings files to get nodes to talk from within containers.
Finally success!
Pizza chain up and running! Three validators and one root node.
Chain config on github: https://github.com/Sensorica/Interspace-Access/tree/master/eris/chains/pizza
JSON endpoint: http://45.55.217.124:46657/
Dashboard: http://45.55.217.124/marmot/index.html#source=dashboard.json
Pizza marmot: http://65.media.tumblr.com/7286120846840fc871f527d8ea0bef82/tumblr_nmz3llDLTq1rcxvfjo1_1280.png

July 10, 2016 10.00 Time - Hours Done by Jim

Configuring a new droplet for testing Eris --machine and full remote deployment.
Started pizza chain:
http://45.55.217.124:46657/
Created visuals and tested JSON web service. See discourse for details:
http://crm.sensorica.co/t/chain-visuals/235

July 9, 2016 3.00 Time - Hours Done by Jim

Began adapting meteor front end to Eris stack and user stories.
https://github.com/Sensorica/Interspace-Access/tree/master/meteor-access-dapp

July 8, 2016 3.00 Time - Hours Done by Jim

Set up geth and attached it to the Meteor Dapp. Success. Deployed contracts and sent transactions. To be continued and attached to Eris backend.
Also worked with King for automation for deployment.
Wrote a bash script to automate launching custom chains.

July 8, 2016 4.00 Time - Hours Done by FrancoisE

Worked with Jim on automatic deployment and configuring full node.
Trouble getting different nodes to talk to each other.

July 8, 2016 3.00 Time - Hours Done by Jim

Set up a front end using Meteor at the computer at the lab.
https://github.com/Sensorica/Interspace-Access/tree/master/dApp
https://github.com/snowy13/meteor-dapp-boilerplate
Will be used to test the javascript libraries from Eris.

July 7, 2016 3.00 Time - Hours Done by FrancoisE

Work on creation of docker machine by distance and install and run a full eris/ipfs stack by distance. Receipe comming and be documented this week end.

July 5, 2016 4.00 Time - Hours Done by FrancoisE

Forget github and work and run on IPFS pipe.

July 5, 2016 6.00 Time - Hours Done by FrancoisE

Docker-machine and multi eris deploy on multiple droplet test and run.
https://docs.google.com/document/d/18vaBcOYxHgvhRjLoJPDKGQXQl3LByVbliZidS5TTWC8/edit?usp=sharing

July 4, 2016 4.00 Time - Hours Done by FrancoisE

Eris on pi2

July 4, 2016 8.00 Time - Hours Done by Jim

Worked with King.
Set up an intranet at the lab. Worked on getting Eris stack on multiple pi2's
Continued work on chain configurations.

July 3, 2016 10.00 Time - Hours Done by FrancoisE

Eris node deploy and documented on forum.

July 1, 2016 12.00 Time - Hours Done by FrancoisE

Learn, get, install and run IPFS

June 30, 2016 3.00 Time - Hours Done by Jim

Successfully tested app development environment
Built framework and test app for Access
Tested with Nexus 5 emulator Android 4.4.1
Tried loading on Valentin’s phone to no avail due to security app.

June 30, 2016 6.00 Time - Hours Done by Jim

Set up PC at the lab for dev environment.
Ubuntu Xenial 16.04 LTS
Docker
Eris
Android SDK
Cordova
Java JRE
Libnfc (NFC library)

June 29, 2016 3.00 Time - Hours Done by FrancoisE

Install and run eris on droplet and on desktop.
Try different chains, accounts and deploy basic contract...tuning .toml fes need it.

June 28, 2016 4.00 Time - Hours Done by Jim

Successfully installed Eris on Raspberry Pi!
Tested installation with keys and simple chain generation
Updated document
https://drive.google.com/open?id=13pdCxDuPFsLuHsHr4AL4oxpgeyomPJdd15LTVsQmRrU

June 22, 2016 5.00 Time - Hours Done by Jim

Collaborated with King at the lab trying to install Eris on Pi 3
After various attempts discovered problem with 32g SD Card

June 21, 2016 5.00 Time - Hours Done by Jim

Continued working on a recipe with King to setup Eris on a Pi 3 at the lab
Installed on an 8 g SD card
Can’t create keys or chain. Card full

June 21, 2016 2.00 Time - Hours Done by Jim

Setup Eris stack on Digital Ocean. Flawless

June 17, 2016 7.00 Time - Hours Done by Jim

Initial stab at trying to install Eris stack on a Raspberry Pi 3
Worked partly with King and then alone outside.
Lost power whle pulling docker images. Had to start over.
Recipe seems fine but produces errors.
Documented here:
https://drive.google.com/open?id=13pdCxDuPFsLuHsHr4AL4oxpgeyomPJdd15LTVsQmRrU

Training self work: 6.00 Time - Hours due June 27, 2016

Eris fullnstack

Taken by FrancoisE
Work events:
July 3, 2016 6.00 Time - Hours Done by FrancoisE

Eris node deploy

Outreach-Marketing work: 1.00 Time - Hours due June 27, 2016
Unassigned
Facilitation work: 1.00 Time - Hours due June 27, 2016
Unassigned
Documenting: 1.00 Time - Hours due June 27, 2016
Unassigned
Work events:
July 6, 2016 2.00 Time - Hours Done by FrancoisE
June 17, 2016 1.50 Time - Hours Done by Jim
Training others work: 1.00 Time - Hours due June 27, 2016
Unassigned
Information mining work: 1.00 Time - Hours due June 27, 2016
Unassigned
Work events:
Aug. 18, 2016 1.00 Time - Hours Done by Jim

Dug deeper into the myths of Serial over GPIO for Raspberry Pi 3.
Best explanation to changes made:
http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/

July 9, 2016 2.00 Time - Hours Done by Jim

Followed (painfully) the only video tut by Eris for deploying using docker machine:
https://www.youtube.com/watch?v=S7uXHD2KgtU
It's an hour long but had to watch twice (easily) due to bad quality/explanation.

July 8, 2016 4.00 Time - Hours Done by FrancoisE

Eris learn...brief exploring of Solidity and Docker.

June 15, 2016 5.00 Time - Hours Done by Jim

Dug deeper into the Eris platform
Shared in forum and started thread:
http://crm.sensorica.co/t/eris-industries/214/31

Design software work: 1.00 Time - Hours due June 27, 2016
Unassigned
Work events:
July 3, 2016 3.00 Time - Hours Done by FrancoisE

Formalise a path for the using case.

Meeting work: 1.00 Time - Hours due June 27, 2016
Unassigned
Work events:
July 1, 2016 3.00 Time - Hours Done by FrancoisE

Meeting and talks with Jim and Tibi around prototype and using case.

Unplanned Work:

Work event: Programming for product work 5.00 Time - Hours Sept. 9, 2016 Done by mikecohen

Testing the api.js element to communicate with the Kaba saflok server over local network. (Socket library)

Work event: Programming for product work 5.00 Time - Hours Sept. 8, 2016 Done by mikecohen

Testing at evision of message constructor with Jim and Claude. Understanding the Kaba implementation of Longitudinal Redundancy Check for message validity.

Work event: Information mining work 3.50 Time - Hours Sept. 6, 2016 Done by mikecohen

Met with Jim and Claude at Evision to get caught up with the Saflok API and the project progress / next step of dev and planning demo

Process context:

Pattern: Software Development
Context: Access
Order: Work order 220 , Blockchain stack due: 2016-07-28

Previous processes:

Next processes:


Process notes:

This is the process to log research, testing, configuring and setting up the blockchain stack.

Must add documentation here:
https://drive.google.com/folderview?id=0B-s1IR1iOMsNZVFPd21ZYTE3LTQ&usp=drive_web

Configuration settings, code and dependencies must be added to the project GitHub here:
https://github.com/Sensorica/Blockchain-Interspace-Access

NOTE: a log is a claim for revenue. Anyone can raise a RED FLAG and question a log.
Logs must be documented and traceable.
Misleading the group can induce lose of reputation, which affects the ability to extract value from this project.