@block-api/block-node
█▄▄ █░░ █▀█ █▀▀ █▄▀ ▄▄ █▄░█ █▀█ █▀▄ █▀▀
█▄█ █▄▄ █▄█ █▄▄ █░█ ░░ █░▀█ █▄█ █▄▀ ██▄
⚠ This project is in development: Do not use in production environment!
Overview
block-node is open source, framework written in Go language for building microservices and decentralized systems.
Main purpose of this project is to provide communication layer between nodes allowing you to focus on buidling application layer on top of it.
Supported communication methods:
block-node is using LevelDB database for storing internal data (eg. information about current topology of the network). You can configure additional LevelDB databases in config file which can be utilized for project needs.
In the future we will provide support for additional databases:
- LevelDB
- SQLite
- PostgreSQL
Below you can find infratructure examples
Web 2.0 example
Web 3.0 example
Examples
In our other repository https://github.com/block-api/block-node-example you can find example implementation with exposed HTTP endpoints.
TBD
This section presents features to be discussed if they should be implemented in the future:
Communication:
TCP
WebSockets
HTTP
(eg. for REST API)
Security:
- Generation of ETH wallet for node, pub/priv keys, for identification and to sign&verify data which are being sent over the network
Others:
- Command like upload files to node - ak'a file storage
- compressing files before sending to node
- options if distributed and kept on node itself or on separate "storage" type node, or on cloud storage like s3/azure blob
If you have any questions or ideas feel free to reach us out on twitter.
To support development of this project you can donate at this address:
blockapi.wallet
- 0x7a42639f09729eb02de32f1dd21447806cc52ba8
.