DataHive LN1 is designed to facilitate the deployment and management of legal data nodes on a decentralized network. This project serves as the foundation for integrating legal data indexing, compliance processes, and streamlined node management.
For a more detailed breakdown of the objectives, functionalities, and deployment strategies, please refer to the DataHive's NodeOps Legalese Node document on Google Drive.
This document includes comprehensive information about the NodeOps Legalese Node's roadmap, technical specifications, and key objectives. Team members can request access through our Telegram group if needed.
- Overview
- Branches
- Developments
- Installation
- Start
- Usage
- Deployment
- Contributing
- Troubleshooting
- License
main
branch: Represents the staging environment. Commits made to this branch trigger the CI/CD pipeline for staging deployment.releases/*
branches: Represent production environments with each branch tied to a specific version.production
branch: Represents the live production environment for final deployment, merged from specificreleases/*
branches.
- VSCode (recommended code editor)
- NodeJS (v20.17.0) (JavaScript runtime)
- pnpm (v9.12.0) (fast and efficient package manager)
- Clone the repository:
git clone --recurse-submodules https://github.com/datahive3/LN1.git
- Navigate to the project directory:
cd LN1
- Install dependencies:
pnpm install
To build the smart contracts, run:
pnpm compile
To run the tests for smart contracts:
pnpm test
-
Configure Environment Variables:
- Copy the example environment file:
cp view/.env.example view/.env
- Open the newly created
.env
file and fill in any necessary configuration details specific to your setup (e.g., API endpoints, authentication keys).
- Copy the example environment file:
-
Start the UI:
- From the root of the project directory, you can start the UI by running:
pnpm start:view
- Alternatively, navigate to the
view
directory and use the following command:pnpm start
- Expected Outcome: This will launch the front-end interface of the application, typically accessible through
http://localhost:5173
or the specified port in your.env
file.
- From the root of the project directory, you can start the UI by running:
-
Verify the UI:
- Open a web browser and navigate to the local URL to ensure the UI is running as expected.
-
Configure Environment Variables for the Server:
- Copy the example environment file for the server:
cp services/.env.example services/.env
- Update the
.env
file with any required environment variables specific to the server configuration (e.g., database URLs, API tokens).
- Copy the example environment file for the server:
-
Start the Server:
- From the root directory, start the server with:
pnpm start:services
- Alternatively, you can navigate directly to the
services
directory and start the server using:pnpm start
- Expected Outcome: The server will start running, typically accessible through
http://localhost:3030
or another specified port.
- From the root directory, start the server with:
-
Check Server Status:
- Verify that the server is running properly by checking the server logs for any errors or issues during the startup process.
- Use API testing tools like Postman or curl to test the server endpoints to ensure they respond correctly.
cd to contracts
pnpm node
Detailed deployment steps using GitHub Actions:
- Refer to the
.github
directory for the CI/CD pipeline configurations. - Make sure to merge changes from the staging environment to production carefully.
Private repo. Contibutors include: P10, NodeOps, and DataHive.
- Real-Time Collaboration: Use our Telegram group for immediate discussions, task coordination, and updates.
- Higher-Level Documentation: All project-related documentation is available on our Google Drive. Request access through Telegram if needed.
- Issue: Installation fails.
- Solution: Ensure you have the correct versions of Node.js and pnpm installed.
- Issue: Server fails to start.
- Solution: Check the
.env
file for proper configuration settings.
- Solution: Check the
This project is licensed under the MIT License - see the LICENSE file for details.