Frequently Asked Questions (FAQ)
General
Q: What is the purpose of the Link Blockchain Listener service?
A: It monitors blockchain events, manages addresses and wallets, handles queue and Redis operations, and provides health checks for system reliability.
API & Modules
Q: What APIs does the service provide?
A: The service exposes APIs for:
- Address management (
/address) - Blockchain event listening (
/blockchain-listener) - Queue operations (
/queue) - Redis operations (
/redis) - Health checks (
/health)
Q: How do I listen for blockchain events?
A: Use the endpoints in /blockchain-listener to subscribe to and query blockchain events and missed blocks.
Q: How do I manage blockchain addresses?
A: Use the endpoints in /address to create, update, and query blockchain addresses.
Q: How do I interact with message queues?
A: The /queue endpoints allow you to publish and subscribe to internal and external queues.
Q: How do I use Redis for caching or state?
A: The /redis endpoints provide access to Redis operations for caching and state management.
Q: How do I check the health of the service?
A: Use the health endpoints to check system, queue, and service health.
Setup & Configuration
Q: How do I configure the service?
A: Set environment variables for database, Redis, queue, and blockchain connections. See getting-started.md for details.
Q: What dependencies are required?
A: Node.js, a supported database, Redis, and a message queue (e.g., ActiveMQ).
Error Handling
Q: How are errors returned?
A: All errors are returned as structured JSON responses. See error-handling.md.
Jobs & Background Processing
Q: How are missed blocks handled?
A: The jobs/missed-block-job module processes missed blocks to ensure no blockchain events are lost.
Troubleshooting
Q: What should I do if I get a 500 Internal Server Error?
A: Check the logs for details. Common causes include misconfiguration, unavailable external services, or invalid request data.
Q: How do I report bugs or request features?
A: Open an issue in the project repository or contact the maintainers.
Support
Q: Where can I get help?
A: Refer to the documentation, open issues in the repository, or contact the development team for support.