Teranode Documentation
Index
Tutorials
Development Tutorials
Miner Tutorials
How-to Guides
Development
- Running Services Locally
- Using the Makefile
- Running Tests
- Setting Up Automated Test Environment
- Generating Protobuf Files
- Adding new Protobuf Services
- Configuring gRPC Logging
- Kubernetes - Remote Debugging Guide
- Developer's Guide to Teranode-CLI
Miners
Docker Compose Setup
- Installation Guide
- Starting and Stopping Teranode
- Configuration Guide
- Update Procedures
- Troubleshooting Guide
- Security Best Practices
Kubernetes Deployment
- Installation with Kubernetes Operator
- Starting and Stopping Teranode
- Configuration Guide
- Update Procedures
- Backup Procedures
- Troubleshooting Guide
- Security Best Practices
Common Tasks
- Interacting with Asset Server
- Interacting with RPC Service
- Interacting with the FSM via RPC
- Interacting with the Teranode CLI
- Managing Disk Space
- Aerospike Configuration Considerations
- How To Reset Teranode
- Blockchain Synchronization
Key Topics
Introduction
Architecture
Core Services
- Asset Server
- Propagation Service
- Validator Service
- Subtree Validation Service
- Block Validation Service
- Block Assembly Service
- Blockchain Service
- Alert Service
Overlay Services
Infrastructure Components
- Stores
- Messaging
- Utilities
Additional Topics
- Technology Stack
- Testing Framework
- QA Guide & Instructions for Functional Requirement Tests
- Double Spends
- Two Phase Commit
Reference
Service Documentation
- Alert Service
- Asset Service
- Block Assembly
- Blockchain Server
- Block Persister
- P2P Server
- Propagation Server
- RPC Service
- RPC API Docs
- Subtree Validation
- UTXO Persister
- TX Validator
Store Documentation
Data Model
API Documentation
- Alert gRPC API
- Block Assembly gRPC API
- Blockchain gRPC API
- Subtree Validation gRPC API
- Validator gRPC API
Additional Reference
- Third Party Software Requirements
- Project Structure
- Coding Conventions
- Error Handling Guidelines
- Configuration Settings
- Testing Framework Technical Reference
- Teranode Daemon Reference
- Prometheus Metrics
- Network Consensus Rules
- Git Commit Signing Setup Guide
Additional Resources
- Glossary
- Contributing to Teranode
- License Information
Conclusion
Teranode represents a significant advancement in blockchain infrastructure, designed to provide a scalable, reliable, and high-performance foundation for the Bitcoin SV network. This documentation serves as a comprehensive resource for developers, miners, and other stakeholders involved with Teranode implementation and operation.
By leveraging a microservices architecture and modern technologies, Teranode addresses the challenges of building a truly scalable blockchain system. Whether you're developing against Teranode, operating mining infrastructure, or simply exploring its architecture, this documentation provides the necessary guidance to understand and utilize the platform effectively.
We encourage you to explore the various sections of this documentation based on your specific needs and to contribute to the ongoing development and improvement of Teranode.
Copyright 2025 BSV Association.
Licensed under the Open BSV License Version 5; you may not use this software except in compliance with the License. You may obtain a copy of the License at
https://github.com/bitcoin-sv/teranode/blob/main/LICENSE
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.