Skip to content

olegabu/fabric-starter-rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3d24de7 · Oct 4, 2022
Jun 24, 2022
Oct 8, 2020
Jun 24, 2022
Jun 24, 2022
Oct 4, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Aug 25, 2022
Jun 24, 2022
Jun 24, 2022
Mar 4, 2019
Apr 17, 2019
Sep 19, 2022
Jun 24, 2022
Jun 24, 2022
Sep 26, 2018
Oct 4, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Sep 2, 2021
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Oct 4, 2022
Oct 4, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022
Jun 24, 2022

Repository files navigation

fabric-starter-rest

FOSSA Status

REST API server and client for Hyperledger Fabric built with NodeJS SDK.

See usage examples at fabric-starter.

To run test in development mode (from a developer's machine and not within container) Set environment:

export ORG=org1 DOMAIN=example.com

Start fabric-starter orderer and peer with ports mapped to the host machine so the SDK clients can access them.

docker-compose -f docker-compose-orderer.yaml -f orderer-ports.yaml up

docker-compose -f docker-compose.yaml -f ports.yaml up

###Test.

npm test

###Develop run REST server with nodemon to reload on changes.

npm run dev

###Serve. Run REST server.

npm start

Build docker image.

  1. First pull latest base rest image:
docker pull olegabu/fabric-starter-rest:latest-base

or build if it doesn't exists with ./build-base.sh (one time for new Hyperledger Fabric version):

cd docker-images
./build-base.sh latest
  1. Build desired (custom or fabric-starter's) admin webapp, pack as admin-webapp.tgz and copy to the fabric-starter-rest dir
pushd ../fabric-starter-admin-webapp
./pack-admin-webapp.sh
popd
  1. Then build the fabric-starter-rest container by using the ./build.sh script in the docker-images folder:
cd docker-images
./build.sh latest olegabu docker.io admin-webapp.tgz

or manually:

docker build -t olegabu/fabric-starter-rest .
# or
docker build -t olegabu/fabric-starter-rest --build-arg FABRIC_STARTER_VERSION=latest .

Use Custom (external) admin dashboard.

Prepare admin-webapp.tgz file with built alternate admin webapp, and copy it to fabric-starter-rest folder

cd ../external-admin-webapp
PUBLIC_URL=/admin npm run build --mode=production
tar -zcvf admin-webapp.tgz ./build
cp admin-webapp.tgz ../fabric-starter-rest

Use./build.sh script from the docker-images folder:

cd docker-images
./build.sh latest olegabu docker.io admin-webapp.tgz

Connection options

Connection options can be specified in environment variables to control the keep_alive policy: (Note: Azure's load-balancer uses connection timeout set to 4 minutes. So keep_alive should cover this.)

Environment variable Default value used by Fabric SDK Description
GRPC_MAX_PINGS_WITHOUT_DATA 2 2 - leads to an error of ping process. fabric-starter-rest overrides this to 0 - means no limits
GRPC_KEEP_ALIVE_MS 120000 (120 seconds) Ping interval in milliseconds
GRPC_KEEP_ALIVE_TIMEOUT_MS 20000 (20 seconds) Timeout period for the ping request itself
GRPC_KEEP_ALIVE_PERMIT_WITHOUT_CALLS 1 Allows pings with no payload
GRPC_MIN_TIME_BETWEEN_PINGS_MS 300000 (5 minutes) Fabric-starter-rest resets this to 60 seconds to avoid disconnect of Azure Load Balancer (if GRPC_KEEP_ALIVE_TIMEOUT_MS is specified then the interval is set to GRPC_KEEP_ALIVE_TIMEOUT_MS/1.1)

Versioning

snapshot-0.4-1.4:

  • Consortium operations
  • Layout\features update of admin app
  • Upload custom webapps
  • Register new org IP in dns

snapshot-0.2-1.4:

  • Support multiple users login
  • Fix parallel simultaneous logons of same user

snapshot-0.1-1.4:

  • Tag stable version

peer chaincode package -n reference -v 3.0 -l node -p crypto-config/reference -i "AND('org1.admin')" -s -S crypto-config/pack.cc

License

FOSSA Status