simonerom / w3bstream

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

W3bstream

Overview

W3bStream is a general framework for connecting data generated by devices and machines in the physical world to the blockchain world. In a nutshell, W3bStream uses the IoTeX blockchain to orchestrate a decentralized network of gateways (i.e., W3bStream nodes) that streams [encrypted] data from IoT devices and machines and generates proofs of real-world facts to different blockchains.

image

Arch

w3bstream

Run with prebuilt docker

export WS_WORKING_DIR=$PWD/build_image
docker-compose -p w3bstream -f ./docker-compose.yaml up -d

WS_WORKING_DIR is the working directory for w3bstream node.

You will run with prebuilt docker image from recent stable versions.

Run with docker

init frontend

make init_frontend

Update frontend to latest if needed

make update_frontend

Build docker image

make build_image

Run docker container

 make run_image

drop docker image

make drop_image

Access W3bstream Studio

Visit http://localhost:3000 to get started.

The default admin password is iotex.W3B.admin

Run with binary

Dependencies:

  • OS : macOS(11.0+) / Linux (tested on Ubuntu 16+)
  • Docker: to start a postgres
  • Httpie: a simple curl command (used to interact with W3bstream node via cli)
  • Tinygo: to build wasm code

Init protocols and database

make run_depends # start postgres and mqtt
make migrate     # create or update schema

Start a server

make run_server

keep the terminal alive, and open a new terminal for the other commands.

Interact with W3bstream using CLI

Please refer to HOWTO.md for more details.

About


Languages

Language:Go 86.0%Language:Shell 10.9%Language:Dockerfile 2.0%Language:Makefile 1.0%