Skip to content

Commit a287934

Browse files
committed
Add block producer nodes documentation page
Add comprehensive documentation for block producer nodes infrastructure including usage examples, API capabilities, troubleshooting, and deployment instructions. Follows the established pattern from plain-nodes.mdx.
1 parent f1025b9 commit a287934

File tree

1 file changed

+183
-4
lines changed

1 file changed

+183
-4
lines changed
Lines changed: 183 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,191 @@
11
---
22
title: Block Producers
3-
description: o1Labs block producer infrastructure on dev-net
3+
description: o1Labs block producer infrastructure on devnet
44
sidebar_position: 5
55
---
66

7+
import CodeBlock from "@theme/CodeBlock";
8+
import BlockProducerNodesList from "!!raw-loader!../../developers/scripts/infrastructure/block-producer-nodes.txt";
9+
import QueryDaemonStatus from "!!raw-loader!../../developers/scripts/infrastructure/query-daemon-status.sh";
10+
import QueryBlockHeight from "!!raw-loader!../../developers/scripts/infrastructure/query-block-height.sh";
11+
import QueryPeers from "!!raw-loader!../../developers/scripts/infrastructure/query-peers.sh";
12+
import TestGraphQLEndpoint from "!!raw-loader!../../developers/scripts/infrastructure/test-graphql-endpoint.sh";
13+
714
# Block Producers
815

9-
This section is still a work in progress. It will cover the block producers that
10-
the o1Labs team runs on dev-net.
16+
o1Labs maintains block producer node infrastructure that actively participates
17+
in the Mina Rust network consensus. These nodes produce blocks and help secure
18+
the network while also providing HTTP endpoints for network interaction.
19+
20+
## Available Block Producer Nodes
21+
22+
The following block producer nodes are officially maintained by o1Labs:
23+
24+
<CodeBlock
25+
language="text"
26+
title="website/docs/developers/scripts/infrastructure/block-producer-nodes.txt"
27+
>
28+
{BlockProducerNodesList}
29+
</CodeBlock>
30+
31+
## Node Information
32+
33+
- **Availability**: Maintained 24/7 by o1Labs
34+
- **Purpose**: Block production and network consensus participation
35+
- **Location**: Google Cloud Platform (GCP)
36+
- **Additional Features**: GraphQL API access for network queries
37+
38+
## Using Block Producer Nodes
39+
40+
### GraphQL API Access
41+
42+
Block producer nodes provide GraphQL API endpoints for querying network state:
43+
44+
<CodeBlock
45+
language="bash"
46+
title="website/docs/developers/scripts/infrastructure/query-daemon-status.sh"
47+
>
48+
{QueryDaemonStatus}
49+
</CodeBlock>
50+
51+
### Network Information
52+
53+
You can query various network information:
54+
55+
<CodeBlock
56+
language="bash"
57+
title="website/docs/developers/scripts/infrastructure/query-block-height.sh"
58+
>
59+
{QueryBlockHeight}
60+
</CodeBlock>
61+
62+
<CodeBlock
63+
language="bash"
64+
title="website/docs/developers/scripts/infrastructure/query-peers.sh"
65+
>
66+
{QueryPeers}
67+
</CodeBlock>
68+
69+
## API Capabilities
70+
71+
### Blockchain Queries
72+
73+
- **Block information**: Current and historical blocks
74+
- **Transaction data**: Transaction status and history
75+
- **Account balances**: Account information and balances
76+
- **Network state**: Consensus and sync status
77+
78+
### Network Monitoring
79+
80+
- **Peer connections**: Current peer list and status
81+
- **Sync progress**: Blockchain synchronization state
82+
- **Protocol information**: Network protocol version and chain ID
83+
84+
<!-- prettier-ignore-start -->
85+
86+
:::info API Documentation
87+
88+
For complete API documentation, see the
89+
[GraphQL API](../../developers/graphql-api) documentation which provides
90+
detailed information about available queries and mutations.
91+
92+
:::
93+
94+
<!-- prettier-ignore-stop -->
95+
96+
## Troubleshooting
97+
98+
### Connection Issues
99+
100+
If you cannot connect to block producer nodes:
101+
102+
1. **Check network connectivity**: Ensure internet access and HTTPS traffic is
103+
allowed
104+
2. **Verify URLs**: Confirm you're using the correct node URLs
105+
3. **Test manually**: Try accessing the URLs in a browser
106+
4. **Check node status**: Verify the node is responding to queries
107+
108+
### API Errors
109+
110+
Common API issues:
111+
112+
<!-- prettier-ignore-start -->
113+
114+
:::caution GraphQL Endpoint URL Format
115+
116+
When using block producer node endpoints, **always include `/graphql` at the end
117+
of the URL**. The endpoint will return "HTTP method not allowed" if you omit the
118+
`/graphql` path.
119+
120+
**Correct**: `https://mina-rust-bp-1.gcp.o1test.net/graphql`
121+
122+
**Incorrect**: `https://mina-rust-bp-1.gcp.o1test.net/`
123+
124+
:::
125+
126+
<!-- prettier-ignore-stop -->
127+
128+
<CodeBlock
129+
language="bash"
130+
title="website/docs/developers/scripts/infrastructure/test-graphql-endpoint.sh"
131+
>
132+
{TestGraphQLEndpoint}
133+
</CodeBlock>
134+
135+
## Updates and Maintenance
136+
137+
### Infrastructure Updates
138+
139+
o1Labs maintains these block producer nodes with:
140+
141+
- **Regular updates**: Nodes are kept current with latest releases
142+
- **Monitoring**: 24/7 health monitoring and alerting
143+
- **Load balancing**: Multiple nodes ensure continuous availability
144+
- **Performance optimization**: Regular performance tuning
145+
146+
### Communication
147+
148+
Infrastructure maintenance and updates are communicated through:
149+
150+
- GitHub release notes
151+
- Project documentation updates
152+
- Community announcements
153+
154+
## Deployment (o1Labs Employees Only)
155+
156+
<!-- prettier-ignore-start -->
157+
158+
:::caution o1Labs Employees Only
159+
160+
This section is for o1Labs employees only. If you do not have access to the
161+
required repositories, contact the platform lead.
162+
163+
:::
164+
165+
<!-- prettier-ignore-stop -->
166+
167+
o1Labs uses [ArgoCD](https://argo-cd.readthedocs.io/) to maintain the
168+
infrastructure through GitOps.
169+
170+
To update the block producer nodes infrastructure:
171+
172+
1. Access the private repository:
173+
`https://github.com/o1-labs/gitops-infrastructure`
174+
2. Create a new branch for your changes
175+
3. Edit: `applications/auto-deployed/mina-rust-standard-bps.yaml`
176+
4. Update the `MINA_RUST_TAG` variable to the desired commit or release tag
177+
(must be available as a Docker image on
178+
[DockerHub](https://hub.docker.com/r/o1labs/mina-rust))
179+
5. Create a pull request with your changes
180+
6. Ask the platform lead or rust node team lead to review and merge the PR
181+
7. Once merged, ArgoCD will automatically deploy the update
182+
183+
## Reference Information
184+
185+
### Related Documentation
11186

12-
Track progress: [Issue #1463](https://github.com/o1-labs/mina-rust/issues/1463)
187+
- [Plain Nodes](./plain-nodes) - API access nodes
188+
- [Seed Nodes](./seed-nodes) - P2P network bootstrap nodes
189+
- [Archive Nodes](./archive-nodes) - Historical data access
190+
- [Frontend](./frontend) - Web interface deployment
191+
- [GraphQL API](../../developers/graphql-api) - Complete API documentation

0 commit comments

Comments
 (0)