https://github.com/ibm/fablet
Fablet, a browser-based dashboard and tools set for Hyperledger Fabric blockchain platform.
https://github.com/ibm/fablet
fablet fabric go
Last synced: about 1 year ago
JSON representation
Fablet, a browser-based dashboard and tools set for Hyperledger Fabric blockchain platform.
- Host: GitHub
- URL: https://github.com/ibm/fablet
- Owner: IBM
- License: apache-2.0
- Created: 2020-01-28T15:02:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-07T19:31:20.000Z (about 1 year ago)
- Last Synced: 2025-06-08T23:02:58.163Z (about 1 year ago)
- Topics: fablet, fabric, go
- Language: JavaScript
- Homepage:
- Size: 1.94 MB
- Stars: 33
- Watchers: 6
- Forks: 10
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Fablet
Fablet, a browser-based dashboard and tools set for Hyperledger Fabric blockchain platform.
It can help blockchain participants to connect to Fabric network, and perform operations of chaincode, channel, ledger...
## Overview
### Peers list

### Chaincodes list

### Invoke chaincode

### Query ledger

# Playground
An example Fablet service was set up with a Fabric network, you can try it at:
https://bctest01.fablet.pub:8081/
*Due to the self-sign certificate, please accept the security exception in your browser.*
## Initial connection
If it is the first time you access the service, you need to create a connection profile and identity, we provide some examples corresponding to an example Fabric network (Fabric 1.4.3 first-network). Please download these accordinginly:
* Connection Profile
https://bctest01.fablet.pub:8081/test/conn_profile_simple.yaml
* Identity certificate:
https://bctest01.fablet.pub:8081/test/Admin@org1.example.com-cert.pem
* Identity private key:
https://bctest01.fablet.pub:8081/test/Admin@org1.example.com.key
* MSP ID
The corresponding MSP ID is `Org1MSP`
## Chaincode
### Installation
*An exmaple chaincode `vsinst` has already been instantiated.*
*And you can also install another chaincode instance with below packages.*
*You can download the example package file and look into it for details.*
* Tar file
https://bctest01.fablet.pub:8081/test/vs_src.tar
* Tar.gz file (same with above but was compressed)
https://bctest01.fablet.pub:8081/test/vs_src.tar.gz
* Chaincode path
The corresponding chaincode path is `fablet/vs`.
* Chaincode name and version
Please input name and version. Example is `vehiclesharing` and `1.0`.
* *Another example Node chaincode package for Fablet. (Example02 from first-network)
https://bctest01.fablet.pub:8081/test/example02node_src.tar*
### Instantiation
*This is a lower machine, it might take several minutes...*
* Policy
```
OR ('Org1MSP.peer','Org2MSP.peer')
```
* Constructor parameters
For `vehiclesharing` example chaincode, please leave it as blank.
### Execution
* Function name
```
createVehicle
```
* Arguments
```
v001,brand001
```
### Query
* Function name
```
findVehicle
```
* Arguments
```
v001
```
*No more document for user now. I think that user should get all points from the UI directly, instead of documentation.*
# Binaries
Fablet executable binary (based on Ubuntu 18.04) was built and can be downloaded from here: https://github.com/IBM/fablet/releases/download/v0.0.1/fablet_0.0.1.tar.gz
## Start
The build output will be found at ./release//fablet.
* Start Fablet as default with http on port 8080:
```
./release//fablet
```
* Start Fablet with https on customized port 8081, and TCP address:
```
./release//fablet -addr localhost -port 8081 -cert -key
```
When Fablet start, you can access it via browser (We tested it on Chrome and Firefox). For connection profile and identity encryption materials, please see section of 'Playground' for examples.
# Build
*Now, building and development was only validated on Ubuntu 18.04.*
## Prerequisite
* Go ^1.13.4
If there is network issues, please try:
`go env -w GOPROXY=https://goproxy.io,direct`
* Node.js ^12.13.0
* yarn ^1.19.1
`npm install -g yarn`
* Hyperledger Fabric 1.4.3
Currently, Fablet supports Fabric 1.4.3, we are working to adapt to 2.0.0. Please refer to Fabric installation document for details.
*You can use Fablet to connect to an existing Fabric blockchain network.*
## Download repository
```
git clone https://github.com/IBM/fablet.git
```
## Build
* Build all
```
./build.sh
```
* Build service (go) project only
```
./build.sh service
```
* Build web (js/react) project only
```
./build web
```
## Start
Please find above section of 'Start' for details.
# Development
It is composed of 2 projects: service project and web project. These 2 projects folders can be opened as individual project, by MS Code or other IDE.
## Service project
Under folder `./`.
It is developed in Go language, it provides web service, and html/js/image host.
* Run in development
```
go run ./main
```
* Test
There are some testing programs in this project, before running those, you have to update connection profiles under folder `./test/connprofiles`.
Basically the profiles are suitable for the `fabric-samples/first-network` example Fabric network. Please update the `tlsCACerts` section in the connection profiles with the certificates, an example is `fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem`.
If you want to use your self Fabric blockchain network for testing purposes, please update `tlsCACerts` with the certificates accordinginly.
These connection profiles can also be used to create connection to the Fabric blockchain network, via the Fablet web UI.
## Web project
Under folder `./web`.
It is developed in Javascript with React.
* Debug environment
Please open `./web/src/common/debugflag.js`, and then change const variable `DEBUG` to `true` in development.
* Dependencies
```
yarn install
```
* Run in development
```
yarn start
```
Then open browser and access the default site: http://localhost:3000.