Repository navigation
Releases: VanDung-dev/HieraChain-Engine
Release list
v0.0.1.dev3
HieraChain Engine v0.0.1.dev3 - ZK Proof Security Layer
Pre-release Warning: This is a development preview and is not intended for production use. APIs may change without notice.
What's New
This release focuses on Zero-Knowledge Proof (ZK) and developer experience improvements. Key changes include adding ZK proof fields to Block and Transaction schemas for trustless verification between SubChain and MainChain, improved debug logging for Arrow stream processing, and codebase organization improvements.
ZK Proof Support
- Block Schema ZK Fields: Added
zk_proofandzk_public_inputsbinary fields to Block schema for SubChain → MainChain trustless verification (b463200). - Transaction Schema ZK Fields: Extended Transaction schema with
zk_proofandzk_public_inputsfields for per-transaction proof attachment (b463200).
Developer Experience
- Arrow Handler Debug Logging: Added detailed debug output showing received batch dimensions (rows/cols) and first column preview for easier troubleshooting (1856db4).
- Improved Error Handling: Error checking moved before record processing in Arrow stream handling for clearer error messages (1856db4).
Maintenance
- Schema File Renaming: Renamed
schema.go→schemas.goandschema_test.go→schemas_test.gofor naming consistency (acf5636). - Rust FFI Library Path: Updated build flags with correct library path for Rust FFI integration (50b383b).
Files Changed
| File | Changes | Commit |
|---|---|---|
hierachain-engine/data/schemas.go |
Added ZK proof fields to Block and Transaction schemas | b463200 |
hierachain-engine/data/schemas.go |
Renamed from schema.go |
acf5636 |
hierachain-engine/data/schemas_test.go |
Renamed from schema_test.go |
acf5636 |
hierachain-engine/api/arrow_handler.go |
Added debug logging and improved error handling | 1856db4 |
hierachain-engine/integration/rust_ffi.go |
Updated Rust FFI library path | 50b383b |
Known Limitations
- Development Build: Performance optimizations are still ongoing.
- Single Node: Currently optimized for single-node execution; clustering features are experimental.
Links
Documentation
Ecosystem
- HieraChain - Python Framework (Main Project)
- HieraChain-Consensus - Rust Core Consensus
Full Changelog: v0.0.1.dev2...v0.0.1.dev3
v0.0.1.dev2
HieraChain Engine v0.0.1.dev2 - Enhanced Security & Resilience
Pre-release Warning: This is a development preview and is not intended for production use. APIs may change without notice.
What's New
This release focuses on enhancing the security, resilience, and stability of the HieraChain Engine. Key improvements include the introduction of token-based authentication for the ArrowServer, stricter security measures (localhost binding, connection timeouts), and robust panic recovery mechanisms to ensure the system remains available under unexpected conditions.
Security Hardening
- Token-Based Authentication: Implemented strict token validation for ArrowServer to prevent unauthorized access (bf55c07).
- Localhost Binding: Restricted default server binding to localhost (127.0.0.1) to minimize attack surface (0bdb0cb).
- Connection Timeouts: Added configurable timeouts for server connections to mitigate resource exhaustion attacks (97c2113).
Stability & Resilience
- Panic Recovery: Added middleware to recover from panics in Worker Pool and ArrowServer handlers, ensuring the engine stays alive (253fa64, 295a454).
- DoS Prevention - Input Limits: Enforced maximum input size checks for FFI calls to prevent memory exhaustion (57d1e90).
- DoS Prevention - Message Limits: Added maximum message size constraints in ZMQ transport layer (345f683).
- Robust Error Handling: Improved error handling during socket cleanup and column data validation (7cb3a8b, 7acd266).
Quality Assurance
- Stress Testing Tool: Added a dedicated stress testing tool with JSON reporting and auth support to validate system stability under load (939af6c).
- Fuzz Testing: Implemented fuzz tests for JSON, Event-to-Arrow conversions, and Network message parsing to ensure round-trip integrity and handle edge cases (edaff66, 2b6b106).
Files Changed
| File | Changes | Commit |
|---|---|---|
hierachain-engine/api/arrow_server.go |
Added token auth, timeouts, and panic recovery | bf55c07, 97c2113 |
hierachain-engine/api/auth.go |
Implemented token validation logic | bf55c07 |
cmd/arrow-server/main.go |
Enforced localhost binding | 0bdb0cb |
hierachain-engine/core/worker_pool.go |
Added panic recovery for tasks | 253fa64 |
hierachain-engine/integration/rust_ffi.go |
Added max input size check | 57d1e90 |
hierachain-engine/network/zmq_transport.go |
Added max message size check & cleanup fix | 345f683 |
hierachain-engine/data/converter.go |
Enhanced column validation | 7acd266 |
tools/stress_test/main.go |
Added stress testing tool | 939af6c |
hierachain-engine/data/converter_fuzz_test.go |
Added fuzz tests for data conversion | edaff66 |
hierachain-engine/network/zmq_transport_fuzz_test.go |
Added fuzz tests for network message parsing | 2b6b106 |
Known Limitations
- Development Build: Performance optimizations are still ongoing.
- Single Node: Currently optimized for single-node execution; clustering features are experimental.
Links
Documentation
Ecosystem
- HieraChain - Python Framework (Main Project)
- HieraChain-Consensus - Rust Core Consensus
Full Changelog: v0.0.1.dev1...v0.0.1.dev2
v0.0.1.dev1
HieraChain-Engine v0.0.1.dev1 - Initial Development Release
Pre-release Warning: This is a development preview and is not intended for production use. APIs may change without notice.
What's New
This is the first public development release of hierachain-engine, the official High-Performance Engine of the HieraChain ecosystem. This Go-based engine is the recommended choice for production deployments requiring high throughput, low latency, and efficient resource utilization.
Core Features
High-Concurrency Processing
- Worker Pool: Configurable worker threads for parallel transaction processing
- Mempool Management: Efficient pending transaction queue with priority sorting
- Batch Processing: Optimized batch operations for high throughput
gRPC Service Layer
- High-performance gRPC server with streaming support
- Protocol Buffer serialization for efficient data transfer
- Health checks and graceful shutdown
- Prometheus metrics endpoint
Data Management
- Apache Arrow IPC integration for zero-copy data transfer
- Efficient serialization/deserialization pipelines
- Memory-optimized block storage
Network Layer
- P2P peer discovery and management
- Gossip protocol for transaction propagation
- Connection pooling and multiplexing
Rust Integration
- FFI bindings to HieraChain-Consensus for cryptographic operations
- Zero-copy data exchange via Arrow
- Merkle tree verification and signature validation
Technical Highlights
- Go Implementation: High-performance, concurrent runtime with goroutines
- gRPC Communication: Low-latency communication with Python framework
- Arrow Integration: Zero-copy interoperability for efficient data handling
- Prometheus Metrics: Built-in observability and monitoring
- Modular Architecture: Clean separation across API, core, data, and network layers
Related Projects
HieraChain-Engine is the official High-Performance Engine of the HieraChain ecosystem. There are two related projects:
1. HieraChain - Python Framework
The main hierarchical blockchain framework written in Python. It provides:
- Complete hierarchical blockchain implementation
- Main Chain and Sub Chain management
- Smart contract support (Domain Contracts)
- REST API interfaces
- Business logic layer
- Integration with
hierachain-enginevia gRPC for high-performance operations
2. This Repository: HieraChain-Engine (Go) - Official High-Performance Engine
This Go module is the official High-Performance Engine of HieraChain:
- High-concurrency transaction processing
- gRPC server for Python framework integration
- Worker pool and mempool management
- Apache Arrow IPC for zero-copy data transfer
- FFI integration with HieraChain-Consensus for cryptography
Why Go? While HieraChain's Python implementation handles business logic well, this Go implementation offers better performance for I/O-bound operations, efficient goroutine-based concurrency, and seamless gRPC integration for high-throughput scenarios.
3. HieraChain-Consensus - Rust Implementation
The Rust-based consensus library that provides:
- High-performance consensus algorithms (PoF, BFT, PoA)
- Cryptographic operations (Ed25519)
- Block and Merkle tree operations
- Python bindings via PyO3
- C-compatible FFI exports (for HieraChain-Engine integration via
cdylib+staticlib)
Known Limitations
- Not production-ready
- Some network layer functions are placeholder implementations
- Rust FFI integration requires manual setup
Dependencies
Core dependencies:
google.golang.org/grpcgoogle.golang.org/protobufgithub.com/apache/arrow/gogithub.com/prometheus/client_golang
Links
Documentation
Ecosystem
- HieraChain - Python Framework (Main Project)
- HieraChain-Consensus - Rust Core Consensus
Full Changelog: https://github.com/VanDung-dev/HieraChain-Engine/commits/v0.0.1.dev1