Data3 Network's Node Provider Service & secure p2p communication. #decentralized #dbaas
984
The "data3-node-provider" docker image is meant for node providers within the Data3 Network ecosystem, a decentralized Database-as-a-Service (DBaaS) platform engineered by Kandola Network.
By deploying the "data3-node-provider" Docker image, node providers who have registered through the Data3 console at https://data3.network can seamlessly integrate into the Data3 Network infrastructure enabling node providers to easily and securely contribute to the DBaaS network's decentralization.
Key functionalities of the "data3-node-provider":
Decentralized Communication: Utilizes peer-to-peer (p2p) publish-subscribe mechanisms to ensure secure, reliable and asynchronous communication between node providers, customers, and peers within the network.
Database Provisioning: Streamlines the process of database setup and management for various customers, allowing node providers to easily onboard new users and scale services as required.
Observability: Offers comprehensive monitoring tools that provide real-time insights into the operational status and performance of the decentralized databases.
Financial Settlements: Facilitates a transparent and secure financial ecosystem within the Data3 Network through audit rewards and customer payments. Node providers are rewarded for their contributions to the network, including database provisioning and maintaining high service standards, ensuring a sustainable and incentivized participation model.
docker run --name node-provider-1 kandolanetwork/data3-node-provider:latest
The recommended way to get the data3-node-provider Docker Image is to pull the prebuilt image from the Docker Hub Registry.
docker pull kandolanetwork/data3-node-provider:latest
To use a specific version, you can pull a versioned tag. You can view the list of available versions in the Docker Hub Registry.
docker pull kandolanetwork/data3-node-provider:[TAG]
docker network create provider-network --driver bridge
docker volume create provider-app-volume
docker run -d --name node-provider-1 \
--network provider-network \
--volume provider-app-volume
kandolanetwork/data3-node-provider:latest
See below for environment variables that you can pass using -e docker run flag.
When not specified, Docker Compose automatically sets up a new network and attaches all deployed services to that network.
However, we will explicitly define a new bridge network named node-provider.
In this example we assume that you want to connect to a co-located mongodb database (service name provider-db).
version: '2.24.5'
services:
provider-db:
container_name: provider-db-1
image: mongo:latest
volumes:
- provider-db-volume:/data/db
expose:
- 27017
ports:
- 27018:27017
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
networks:
- provider-network
provider-app:
container_name: provider-app-1
image: kandolanetwork/data3-node-provider:latest
environment:
GRAILS_ENV: development
DB_HOST: provider-db
DB_PORT: 27017
DB_DATABASE: KandolaNodeProvider
BOOTSTRAP_BASE_URL: https://testconsoleapi.data3.network/
BOOTSTRAP_PUBSUB_HOST: testpubsub.data3.network
BOOTSTRAP_PUBSUB_PORT: 9092
P2P_PORT: 29092
NODE_IP: 192.168.5.168
NODE_HOST_NAME: 192.168.5.168
SELF_PUBSUB_HOST: 192.168.5.168
SELF_PUBSUB_PORT: 29092
API_KEY: RT4xsi3IwYbJUQAllcS1jFKB8CJ80F5be1Fw1U92UdmQUXBmpwC90MxfeugdJUKE
API_SECRET: tgjJ7uLo6z3II22wbpMGSzasRxL1zBEv
ADDRESS: 0xCd72bC4f5e464Ad4f659Bc62b1155c4183A89828
PRIVATE_KEY: 20314b398d361035d67d28598f6a31189f88255c983ffc62f8a51ad2d99c35d7
EXTERNAL_API_ENDPOINT: https://192.168.5.168:9099/api/
volumes:
- provider-app-volume:/app/data_home
expose:
- 8080
ports:
- 8081:8080
depends_on:
provider-db:
condition: service_healthy
links:
- provider-db
networks:
- provider-network
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
provider-app-volume:
provider-db-volume:
networks:
provider-network:
driver: bridge
| Name | Description | Sample Value |
|---|---|---|
GRAILS_ENV | Environment type for application development , test, production, etc. | development |
DB_HOST | Hostname / IP of the node-provider's database. | provider-db |
DB_PORT | Port number of the node-provider's database. | 27017 |
DB_DATABASE | Name of the node-provider's database. | KandolaNodeProvider |
BOOTSTRAP_BASE_URL | API Base URL of the Data3 Bootstrap / Data3 Console Service. | https://testconsoleapi.data3.network/ |
BOOTSTRAP_PUBSUB_HOST | PubSub Hostname/IP of the Data3 Bootstrap / Data3 Console Service. | testpubsub.data3.network |
BOOTSTRAP_PUBSUB_PORT | PubSub Port of the Data3 Bootstrap / Data3 Console Service. | 29092 |
P2P_PORT | PubSub Port of peers for P2P Communication (default is 29092). | 29092 |
NODE_IP | IP Address of this node (data3-node-provider). | 192.168.5.168 |
NODE_HOST_NAME | Hostname of this node (data3-node-provider). | dev-mac.local |
SELF_PUBSUB_HOST | Hostname / IP of the PubSub platform for this node (data3-node-provider). | 192.168.5.168 |
SELF_PUBSUB_PORT | Port of the PubSub platform for this node (data3-node-provider). | 29092 |
API_KEY | API Key of the Node Provider. | kkkdddxxxyyy |
API_SECRET | API Key of the Node Provider. | sssnnnggg |
ADDRESS | Address of the Node Provider's Wallet Account (that was used to signup). | 0xabc123 |
PRIVATE_KEY | Private Key of the Node Provider's Wallet Account (that was used to signup). | pppppvvvvvttt |
Content type
Image
Digest
sha256:e58dd28f6…
Size
546.1 MB
Last updated
over 2 years ago
docker pull kandolanetwork/data3-node-provider