Skip to content

Coffee traceability example made with convector with unit-tests and end-to-end tests

Notifications You must be signed in to change notification settings

worldsibu/convector-example-coffee-traceability

Repository files navigation

Coffee Traceability

Developed with Convector by Covalent

This project covers the creation of multiple participants creating a coffee batch in conjuntion, then selle it to a coffee roaster participant. In the roast process you usually combine different grain batches, so the code takes that into consideration to be able to provide which percentage of the final result belongs to the original producers.

Here's a diagram explaining the overall process

Coffee Diagram


This awesome project was created automatically with Convector CLI. By default new Convector projects locally include Hurley to manage your development environment seamlessly, so you don't have to worry about setting up the network and hard ways to install and upgrade your chaincodes.

Start

# Install dependencies - From the root of your project
npm i

# Create a new development blockchain network  - From the root of your project
npm run env:restart

# Install your smart contract
npm run cc:start -- coffee

# Run the end-to-end tests invoking the ledger
npm run test:e2e

About Hurley

You may as well install Hurley globally for easier and more flexible management.

npm i -g @worldsibu/hurley

Since with Hurley globally you have control over everything, some things that you can do, for example, is installing a Convector Smart Contract with a different name than the one you used for your project.

# Use the same package
# Install a new chaincode with the same source code but the name 'anothernameforyourcc'
hurl install anothernameforyourcc node

Other complex tasks you may need is installing to a different channel.

# Use the same package
# Be sure you started your environment with more than one channel running 'hurl new --channels 2'. Otherwise this will throw an error.
hurl install anothernameforyourcc node --channel ch2

If you don't want to, don't worries! This project works right away.

Start - if you have Hurley globally

Bring your project to life

# Install dependencies - From the root of your project
npm i
# Create a new development blockchain network  - From the root of your project
hurl new

Install and upgrade chaincodes

# Package your smart contract's code  - From the root of your project
npm run cc:package -- coffee org1
# Install to your blockchain - From the root of your project
hurl install coffee node -P ./chaincode-coffee
# Install in debug mode, this will run the chaincode server locally so you can debug
hurl install coffee node -P ./chaincode-coffee --debug

# Upgrade your existing chaincode - From the root of your project
hurl upgrade coffee node 1.2 -P ./chaincode-coffee

Start - if you don't have Hurley globally

Bring your project to life

# Install dependencies - From the root of your project
npm i
# Create a new development blockchain network  - From the root of your project
npm run env:restart

Install and upgrade chaincodes

# Install to your blockchain - From the root of your project
npm run cc:start -- coffee

# Upgrade your existing chaincode - From the root of your project
npm run cc:upgrade -- coffee 1.2

Tests

npm run test
npm run test:e2e

Check all the information to work with Convector in the DOCS site.

Collaborate to the Convector Suite projects

About

Coffee traceability example made with convector with unit-tests and end-to-end tests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published