• Stars
    star
    170
  • Rank 223,322 (Top 5 %)
  • Language
    JavaScript
  • License
    Other
  • Created over 8 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A demonstration using IBM Blockchain to show how the lifecycle of vehicles can be recorded on a blockchain

Car Lease Demo (Deprecated)

This demonstration is now deprecated and cannot be deployed automatically. The demonstration was created for the Blockchain Starter Plan service which uses Hyperledger Fabric version 0.6.1. The Starter Plan service is in the process of being retired. An announcement is available about the Starter Plan retirement.

##Deploying the demo## To deploy the demo locally follow the instructions here

##Application overview## This application is designed to demonstrate how assets can be modeled on the Blockchain using a car leasing scenario. In the scenario vehicles are modeled using Blockchain technology with the following attributes:

Attribute Type
V5cID Unique string formed of two chars followed by a 7 digit int, used as the key to identify the vehicle
VIN 15 digit int
Make String
Model String
Colour String
Reg String
Owner Identity of participant
Scrapped Boolean
Status Int between 0 and 4
LeaseContractID ChaincodeID, currently unused but will store the ID of the lease contract for the vehicle

The application is designed to allow participants to interact with the vehicle assets creating, updating and transferring them as their permissions allow. The participants included in the application are as follows:

Participant Permissions
Regulator Create, Read (All vehicles), Transfer
Manufacturer Read (Own vehicles), Update (VIN, Make, Model, Colour, Reg), Transfer
Dealership Read (Own vehicles), Update (Colour, Reg), Transfer
Lease Company Read (Own vehicles), Update (Colour, Reg), Transfer
Leasee Read (Own vehicles), Update (Colour, Reg), Transfer
Scrap Merchant Read (Own vehicles), Scrap

The demonstration allows a view of the ledger that stores all the interactions that the above participants have has with their assets. The ledger view shows the regulator every transaction that has occurred showing who tried to to what at what time and to which vehicle. The ledger view also allows the user to see transactions that they were involved with as well as showing the interactions with the assets they own before they owned them e.g. they can see when it was created.

Note: The demo currently does not include the ability to lease cars however shows the process of what would happen once the lease has ended and the final payment has been made showing the lease company transferring full ownership of the asset to the leasee.

##Application scenario## The scenario goes through the lifecycle of a car which has the following stages:

Application scenario overview

####Stages:####

  1. Vehicle is created as a template by the regulator.
  2. Vehicle template is transferred to the manufacturer.
  3. Manufacturer updates the vehicle template to define it as a vehicle giving it a make, model, reg etc.
  4. Manufacturer transfers the vehicle to dealership to be sold.
  5. Dealership transfers the vehicle to a lease company.
  6. Lease company transfers the vehicle to a leasee. The vehicle is not leased instead the application is showing what would happen if the lease were to have come to an end and the leasee activated the purchase option.
  7. Leasee transfers the vehicle to a scrap merchant so that it can be scrapped.
  8. Scrap merchant scraps the vehicle.

##Component model## The demo is built using a 3 tier architecture. The user interacts with the demo using a web front end that is provided by the NodeJS server in the middle tier. This web front end uses JavaScript to make HTTP requests to the NodeJS server which has an API ([defined here](Documentation/API Methods.md)) which in turn makes calls via HTTP to the HyperLedger fabric to get details about the blockchain and also interact with the chaincode. Information on the chaincode interface can be found [here](Documentation/Chaincode Interface.md)

Technical Component Model

More Repositories

1

marbles

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
JavaScript
1,028
star
2

learn-chaincode

Learn how to write chaincode. (For the latest information, see http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html)
Go
615
star
3

ibm-blockchain-js

WARNING: This repository is no longer maintained ⚠️ read-only mode. - Node.js library for easier interaction IBM Blockchain chaincode
JavaScript
185
star
4

cp-web

A demonstration of a commercial paper trading application on IBM Blockchain.
JavaScript
94
star
5

ibm-container-service

IBM Blockchain Platform for Developers on IBM Container Service
Shell
89
star
6

fabric-boilerplate

Get up and running quickly with your own blockchain application!
TypeScript
79
star
7

fabric-spring-sdk

Java
64
star
8

vehicle-manufacture

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
JavaScript
40
star
9

fabric-images

Docker images and Docker Compose files for running the Hyperledger fabric
Shell
36
star
10

ibm-blockchain.github.io

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
HTML
30
star
11

SDK-Demo

Sample Node.js program to demonstrate the HFC SDK APIs interacting with Starter and High Security Bluemix networks
JavaScript
29
star
12

connectathon

Connectathon is an event between IBM and IBM-partners to show the capabilities of v1.0 fabric
Shell
18
star
13

getting-started

Some quick tips for where to get started with IBM Blockchain
17
star
14

docker-images

Docker images for the IBM Blockchain Platform
Shell
16
star
15

ibm-blockchain-issues

Having issues with the IBM Blockchain Bluemix service? Let us know!
Go
13
star
16

JSDKIntegrationSample

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Java
11
star
17

example02

Example chaincode. Store two integers named A and B. Subtract from one and add to the other.
Go
11
star
18

ansible-role-blockchain-platform-manager

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
HTML
9
star
19

ansible-examples

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
9
star
20

letters-of-credit

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Shell
5
star
21

develop

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
HTML
4
star
22

cp-chaincode-v2

Updated commercial paper chaincode. Separated for backwards compatibility.
Go
3
star
23

toolchain-sample-vehicle-manufacture

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Shell
2
star
24

cc-commercialpaper

DEPRECATED: see here for current CP chaincode: https://github.com/IBM-Blockchain/cp-web/tree/master/src/chaincode
Go
1
star
25

genesis

1
star