If you were logged in and working on this process, you would log your work on this page.
Produced document for Installing Eris on a Pi 3
Formalise a path for the using case.
Dug deeper into the myths of Serial over GPIO for Raspberry Pi 3.
Best explanation to changes made:
Followed (painfully) the only video tut by Eris for deploying using docker machine:
It's an hour long but had to watch twice (easily) due to bad quality/explanation.
Eris learn...brief exploring of Solidity and Docker.
Dug deeper into the Eris platform
Shared in forum and started thread:
Eris node deploy
Upload blockchain stack configurations here: https://github.com/Sensorica/Interspace-Access
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:
Three days work!
Worked on saflok node application for listening to chain events and webservice to receive http requests from webapp:
Added http post capabilities to meteor app:
Added saflok constructor to webservice:
- 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
- Test the eris-contracts.js with another webapp I had created : https://github.com/snowy13/leaderboard-test
- 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
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
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 :
Setting up cloud server for cloud validator node and testing further configurations with Eris stack. version 0.12.0-rc2
- 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:
- Installed nodejs , npm, nvm, meteor and nginx.
1 day of 4 and 1 day of 6 hours at evision tryin to fix kabba network with 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
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.
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.
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.
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.
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.
Multi nodes chains and reverse ssh tunneling
Experimenting with restarting node to existing chain.
Interesting results with the wrong recipe!
Posted in forum:
Found solution to docker service not starting after upgrade and reboot.
Reported in forum:
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.
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://126.96.36.199:46657/
Pizza marmot: http://65.media.tumblr.com/7286120846840fc871f527d8ea0bef82/tumblr_nmz3llDLTq1rcxvfjo1_1280.png
Worked wit Jim. See his log
Began adapting meteor front end to Eris stack and user stories.
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.
Worked with Jim on automatic deployment and configuring full node.
Trouble getting different nodes to talk to each other.
Set up a front end using Meteor at the computer at the lab.
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.
Docker-machine and multi eris deploy on multiple droplet test and run.
Forget github and work and run on IPFS pipe.
Worked with King.
Set up an intranet at the lab. Worked on getting Eris stack on multiple pi2's
Continued work on chain configurations.
Eris on pi2
Eris node deploy and documented on forum.
Learn, get, install and run IPFS
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.
Set up PC at the lab for dev environment.
Ubuntu Xenial 16.04 LTS
Libnfc (NFC library)
Install and run eris on droplet and on desktop.
Try different chains, accounts and deploy basic contract...tuning .toml fes need it.
Successfully installed Eris on Raspberry Pi!
Tested installation with keys and simple chain generation
Collaborated with King at the lab trying to install Eris on Pi 3
After various attempts discovered problem with 32g SD Card
Setup Eris stack on Digital Ocean. Flawless
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
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.
Meeting and talks with Jim and Tibi around prototype and using case.
Testing the api.js element to communicate with the Kaba saflok server over local network. (Socket library)
Testing at evision of message constructor with Jim and Claude. Understanding the Kaba implementation of Longitudinal Redundancy Check for message validity.
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
This is the process to log research, testing, configuring and setting up the blockchain stack.
Must add documentation here:
Configuration settings, code and dependencies must be added to the project GitHub here:
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.