KNIRVGRAPH - Decentralized Knowledge Graph with Economics
A comprehensive graph-based blockchain application featuring Network Resolution Vectors (NRV), Proof-of-Solution consensus, NRN token economics, and seamless integration with the KNIRV ecosystem.
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ KNIRVGRAPH Layer โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ NRV System โ โ ErrorNodes โ โ SkillNodes โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Economics โ โ Proof-of- โ โ Graph Explorer โ โ
โ โ Integration โ โ Solution โ โ (React) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ HTTP/REST API + Economics
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Backend (Go) โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ RPC Server โ โ GraphChain โ โ NRV System โ โ
โ โ +Economics โ โ Core โ โ (Vectors) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Storage โ โ NRN Token โ โ KNIRVORACLE โ โ
โ โ (BluntDB) โ โ Integration โ โ Integration โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Features
๐ง Network Resolution Vector (NRV) System
- Vector Management: Create, resolve, and maintain NetworkResolutionVectors
- ErrorNodes: Specialized nodes for tracking and resolving network errors
- SkillNodes: Capability-based nodes for AI agent skills and solutions
- Confidence Scoring: Cryptographic confidence verification for resolutions
- Signature Verification: Secure validation of vector authenticity
๐ฐ Economics Integration
- NRN Token Integration: Seamless integration with KNIRVORACLE for NRN operations
- Skill Confirmation: Skill validation for KNIRVCHAIN commitment
- Proof-of-Solution: Reward distribution based on solution quality and efficiency
- Economic Metrics: Real-time tracking of network economic activity
- Reward Distribution: Automated NRN rewards for network participation
๐งช Phase 7 Testing Infrastructure
Testing Architecture
KNIRVGRAPH implements comprehensive testing for both backend (Go) and frontend (React) components:
#### Frontend Testing (React + TypeScript)
bash
Run frontend tests
npm test
Run tests with coverage
npm run test:coverage
Run tests in watch mode
npm run test:watch
Lint code
npm run lint
#### Backend Testing (Go)
bash
Run Go backend tests
go test -v ./...
Run specific test packages
go test -v ./internal/...
go test -v ./pkg/...
go test -v ./cmd/...
#### Integration with Network Tests
bash
From project root - run KNIRVGRAPH network integration tests
cd integration-tests && go test -v -run TestKNIRVGRAPH
Run comprehensive KNIRVGRAPH test suite
make test-graph
Run KNIRVGRAPH comprehensive tests
cd KNIRVGRAPH && ./scripts/run-comprehensive-tests.sh
#### Test Structure
src/
โโโ __tests__/ # Frontend unit tests
โ โโโ App.test.tsx
โโโ test/ # Test utilities and setup
โ โโโ setup.ts
โโโ components/ # Component tests alongside source
backend/
โโโ internal/ # Go backend tests
โโโ pkg/ # Package tests
โโโ cmd/ # Command tests
๐ KNIRV Ecosystem Integration
- KNIRVORACLE Connectivity: Direct integration with KNIRV blockchain
- Cross-Component Communication: Seamless interaction with other KNIRV services
- Unified Authentication: Shared authentication across KNIRV ecosystem
- Real-time Synchronization: Live updates and state synchronization
๐๏ธ Backend (Go)
- Graph Consensus: Byzantine fault-tolerant consensus adapted for graph structures
- BluntDB Storage: High-performance graph data persistence with NRV support
- REST API: Complete graph data access with economics endpoints
- P2P Networking: Distributed node communication
- CLI Tools: Command-line interface for graph and NRV interaction
- Graph Operations: Node creation, edge management, path finding
- Multi-dimensional Relationships: Complex node interconnections with NRV vectors
๐จ Frontend (React)
- Real-time Dashboard: Live graph and economics statistics
- NRV Explorer: Browse and manage Network Resolution Vectors
- ErrorNode Management: Track and resolve network errors
- SkillNode Registry: Manage AI capabilities and skills
- Economics Dashboard: Monitor NRN token flows and rewards
- Graph Visualization: Interactive graph structure display with NRV overlays
- Dark Theme: Modern UI inspired by ai.google.dev
- Responsive Design: Mobile-friendly interface
Quick Start
Prerequisites
- Go 1.21+
- Node.js 18+
- npm or yarn
- KNIRVORACLE running (for economics integration)
Development Setup
1. Clone and setup backend
bash
# Install Go dependencies
cd KNIRVGRAPH
go mod tidy
# Build KNIRVGRAPH node
go build -o bin/knirvgraph ./cmd/node/main.go
2. Setup frontend
bash
# Install frontend dependencies
npm install
3. Start KNIRVGRAPH with Economics Integration
bash
# From project root - starts KNIRVGRAPH with full economics integration
./scripts/start-knirvgraph-with-economics.sh
4. Alternative: Manual startup
bash
# Terminal 1: Start KNIRVGRAPH node
cd KNIRVGRAPH
./bin/knirvgraph --home ~/.knirvgraph --port 8081
# Terminal 2: Start frontend dev server
npm run dev
5. Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8081
- Economics Endpoints: http://localhost:8081/economics/
- NRV System: http://localhost:8081/nrv/
Using the CLI
bash
Build CLI tool
make build
Get GraphChain height
./build/graphchain-cli height
Get node information
./build/graphchain-cli node genesis
Get edge information
./build/graphchain-cli edge edge123
Get graph heads
./build/graphchain-cli heads
Get node neighbors
./build/graphchain-cli neighbors node1
Find path between nodes
./build/graphchain-cli path node1 node2
Create a new node
./build/graphchain-cli create-node --id node1 --parents genesis --weight 0.8
Create a new edge
./build/graphchain-cli create-edge --from node1 --to node2 --weight 0.5
Get account balance
./build/graphchain-cli account 0x1234567890123456789012345678901234567890
Send graph transaction
./build/graphchain-cli send-tx \
--from 0x1234567890123456789012345678901234567890 \
--to 0x0987654321098765432109876543210987654321 \
--amount 100 \
--fee 1 \
--type 5
API Endpoints
Graph REST API
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET |
/height
| Get current GraphChain height || GET |
/node/{nodeID}
| Get node by ID || GET |
/edge/{edgeID}
| Get edge by ID || GET |
/graph/heads
| Get current graph heads || GET |
/graph/neighbors/{nodeID}
| Get node neighbors || GET |
/graph/path/{from}/{to}
| Find path between nodes || POST |
/graph/traverse
| Execute graph traversal query || GET |
/account/{address}
| Get account information || POST |
/transaction
| Submit new graph transaction || POST |
/node
| Create new graph node || POST |
/edge
| Create new graph edge |NRV System API
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET |
/nrv/vectors
| Get all NRV vectors || POST |
/nrv/vectors
| Create new NRV vector || GET |
/nrv/vectors/resolve/{targetHash}
| Resolve target hash to vectors || GET |
/nrv/errors
| Get all error nodes || POST |
/nrv/errors
| Create new error node || GET |
/nrv/skills
| Get all skill nodes || POST |
/nrv/skills
| Create new skill node || GET |
/nrv/skills/for-error/{errorType}
| Get skills for specific error type |Economics API
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET |
/economics/metrics
| Get economic metrics and statistics || POST |
/economics/skill/confirm
| Confirm skill for KNIRVCHAIN commitment || POST |
/economics/rewards/distribute
| Distribute NRN rewards || POST |
/economics/proof/solution
| Submit proof of solution for rewards |System API
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET |
/health
| System health check with service status |Example API Usage
#### Graph Operations
bash
Get current height
curl http://localhost:8081/height
Get node
curl http://localhost:8081/node/genesis
Get graph heads
curl http://localhost:8081/graph/heads
Find path between nodes
curl http://localhost:8081/graph/path/node1/node2
Create node
curl -X POST http://localhost:8081/node \
-H "Content-Type: application/json" \
-d '{
"id": "node1",
"parents": ["genesis"],
"weight": 0.8,
"data": {
"transactions": [],
"state_changes": [],
"edges": []
}
}'
#### NRV System Operations
bash
Create an error node
curl -X POST http://localhost:8081/nrv/errors \
-H "Content-Type: application/json" \
-d '{
"error_type": "network_timeout",
"description": "Connection timeout to external service",
"context": {
"service": "api.example.com",
"timeout": 30000,
"retry_count": 3
},
"severity": 2
}'
Create a skill node
curl -X POST http://localhost:8081/nrv/skills \
-H "Content-Type: application/json" \
-d '{
"skill_type": "network_diagnostics",
"capabilities": ["ping_test", "traceroute", "dns_lookup"],
"requirements": {
"min_confidence": 0.8,
"network_access": true
}
}'
Create NRV vector
curl -X POST http://localhost:8081/nrv/vectors \
-H "Content-Type: application/json" \
-d '{
"target_hash": "abc123def456",
"coordinates": [0.1, 0.2, 0.3, 0.4, 0.5],
"metadata": {
"error_type": "network_timeout",
"skill_type": "network_diagnostics"
}
}'
Get all error nodes
curl http://localhost:8081/nrv/errors
Get skills for specific error type
curl http://localhost:8081/nrv/skills/for-error/network_timeout
#### Economics Operations
bash
Get economic metrics
curl http://localhost:8081/economics/metrics
Confirm a skill for KNIRVCHAIN commitment
curl -X POST http://localhost:8081/economics/skill/confirm \
-H "Content-Type: application/json" \
-d '{
"skill_id": "skill456",
"nrv_id": "nrv789",
"creator_id": "creator123"
}'
Distribute rewards
curl -X POST http://localhost:8081/economics/rewards/distribute \
-H "Content-Type: application/json" \
-d '{
"recipient_id": "solver123",
"amount": "500000",
"reason": "successful_error_resolution"
}'
Submit solution proof
curl -X POST http://localhost:8081/economics/proof/solution \
-H "Content-Type: application/json" \
-d '{
"error_node_id": "error123",
"skill_node_id": "skill456",
"solver_id": "solver789",
"efficiency_score": 0.95,
"quality_score": 0.88
}'
#### System Health
bash
Check system health
curl http://localhost:8081/health
Testing Economics Integration
Automated Testing
bash
Run comprehensive economics integration tests
./scripts/test-knirvgraph-economics.sh
This will test:
- KNIRVGRAPH connectivity
- KNIRVORACLE integration
- NRV system operations
- Economics endpoints
- Skill confirmation for KNIRVCHAIN commitment
- Reward distribution
- Proof-of-Solution mechanism
Manual Testing Workflow
bash
1. Start KNIRVGRAPH with economics
./scripts/start-knirvgraph-with-economics.sh
2. In another terminal, test the integration
./scripts/test-knirvgraph-economics.sh
3. Monitor logs
tail -f KNIRVGRAPH/logs/knirvgraph.log
Environment Configuration
bash
Set KNIRVORACLE URL (default: http://localhost:1317)
export KNIRVORACLE_URL=http://localhost:1317
Set KNIRVGRAPH port (default: 8081)
export KNIRVGRAPH_PORT=8081
Enable/disable economics (default: true)
export ECONOMICS_ENABLED=true
Project Structure
KNIRVGRAPH/
โโโ cmd/ # Command-line applications
โ โโโ node/ # KNIRVGRAPH node with NRV and economics
โ โโโ cli/ # CLI tool for graph operations
โโโ internal/ # Private application code
โ โโโ app/ # Application logic with economics integration
โ โโโ graphchain/ # GraphChain core
โ โโโ nrv/ # Network Resolution Vector system
โ โโโ economics/ # NRN token integration and Proof-of-Solution
โ โ โโโ nrn_integration.go # KNIRVORACLE integration
โ โ โโโ proof_of_solution.go # Proof-of-Solution consensus
โ โโโ network/ # Networking and RPC with economics endpoints
โ โโโ storage/ # Data persistence with NRV support
โ โโโ types/ # Data structures for graph and NRV
โโโ pkg/ # Public libraries
โ โโโ crypto/ # Cryptographic functions
โ โโโ utils/ # Utility functions
โโโ config/ # Configuration files
โโโ docs/ # Documentation
โ โโโ NRV_SYSTEM.md # NRV system documentation
โโโ src/ # React frontend
โ โโโ components/ # React components with NRV and economics
โ โโโ pages/ # Page components
โ โโโ services/ # API services for graph, NRV, and economics
โ โโโ context/ # React context
โโโ public/ # Static assets
โโโ bin/ # Built binaries
โโโ logs/ # Application logs
โโโ go.mod # Go module definition
โโโ package.json # Node.js dependencies
โโโ Makefile # Build automation
โโโ README.md # This file
Development
Backend Development
bash
Run tests
make test
Format code
make fmt
Lint code
make lint
Build binaries
make build
Clean build artifacts
make clean
Frontend Development
bash
Start development server
npm run dev
Build for production
npm run build
Run linting
npm run lint
Full Stack Development
bash
Start both backend and frontend
make dev
Graph Testing
bash
Create genesis graph
make create-genesis-graph
Test graph operations
make test-graph
Configuration
Backend Configuration
Edit
config/default.toml
:toml
[network]
listen_address = "tcp://0.0.0.0:26656"
seeds = []
max_peers = 50
[consensus]
timeout_propose = 3000
timeout_propose_delta = 500
timeout_prevote = 1000
timeout_precommit = 1000
[storage]
db_path = "./data/graphchain.db"
[rpc]
listen_address = "tcp://0.0.0.0:26657"
port = 8080
[graph]
max_nodes_per_level = 1000
max_edges_per_node = 100
allow_cycles = false
consensus_threshold = 0.67
traversal_depth_limit = 50
max_heads = 10
weight_decay_factor = 0.95
[bluntdb]
db_path = "./data/graphchain.db"
sync_writes = true
value_log_max_entries = 1000000
gc_interval = 300
backup_interval = 3600
Frontend Configuration
The frontend automatically connects to the backend API at
http://localhost:8080
. To change this, update src/services/api.ts
.Testing
Backend Tests
bash
make test
Frontend Tests
bash
npm test
Graph Operations Tests
bash
Test node creation
./build/graphchain-cli create-node --id test1 --weight 1.0
Test edge creation
./build/graphchain-cli create-edge --from test1 --to genesis --weight 0.5
Test path finding
./build/graphchain-cli path test1 genesis
Production Deployment
1. Build production assets
bash
make prod
2. Deploy backend
bash
# Copy binary to server
scp build/graphchain-node user@server:/usr/local/bin/
# Start service
graphchain-node -home /var/lib/graphchain -rpc-port 8080
3. Deploy frontend
bash
# Build and deploy static files
npm run build
# Deploy dist/ folder to web server
Graph Features
Node Operations
- Create Nodes: Add new nodes with parent relationships
- Update Nodes: Modify node properties and relationships
- Delete Nodes: Remove nodes and update graph structure
- Query Nodes: Retrieve node information and metadata
Edge Operations
- Create Edges: Establish weighted connections between nodes
- Update Edges: Modify edge weights and properties
- Delete Edges: Remove connections while maintaining graph integrity
- Query Edges: Retrieve edge information and traversal data
Graph Traversal
- Path Finding: Discover routes between any two nodes
- Neighbor Discovery: Find all connected nodes
- Subgraph Extraction: Extract portions of the graph
- Cycle Detection: Identify and prevent circular dependencies
Consensus Features
- Graph Validation: Ensure graph structure integrity
- Multi-dimensional Consensus: Consensus across graph topology
- Weight-based Validation: Consensus based on node and edge weights
- Byzantine Fault Tolerance: Maintain consistency despite failures
Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Open issues on GitHub
- Check the documentation
- Contact the development team
Roadmap
โ Completed (August 2025)
- [x] NRV System Implementation - Complete Network Resolution Vector system
- [x] Economics Integration - Full NRN token integration with KNIRVORACLE
- [x] Proof-of-Solution - Reward mechanism for error resolution
- [x] ErrorNodes & SkillNodes - Specialized node types for AI capabilities
- [x] KNIRV Ecosystem Integration - Seamless integration with other KNIRV components
- [x] Economic Metrics Tracking - Real-time economics monitoring
- [x] Automated Testing - Comprehensive test suite for economics integration
๐ In Progress
- [ ] Enhanced Graph Visualization - NRV-aware graph visualization tools
- [ ] Advanced NRV Algorithms - Improved vector resolution and confidence scoring
- [ ] Cross-Component DHT - Enhanced DHT integration with other KNIRV services
๐ Planned
- [ ] Graph Smart Contracts - Smart contract layer for graph operations
- [ ] Enhanced Graph Consensus - Multi-dimensional consensus mechanisms
- [ ] Cross-Graph Bridges - Inter-graph communication protocols
- [ ] Advanced Graph Algorithms - Machine learning-enhanced graph operations
- [ ] Mobile Applications - Mobile interface for KNIRVGRAPH
- [ ] Graph Analytics Dashboard - Advanced analytics and insights
- [ ] Multi-Language Support - SDK support for multiple programming languages
- [ ] Real-time Collaboration - Multi-user graph editing and collaboration
- [ ] Graph Machine Learning - AI-powered graph analysis and prediction