Skip to content

Candlestick API Reference #2857

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 35 additions & 25 deletions src/config/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -434,43 +434,53 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
url: "data-streams/reference/overview",
},
{
title: "REST API",
url: "data-streams/reference/interface-api",
},
{
title: "WebSocket",
url: "data-streams/reference/interface-ws",
},
{
title: "Authentication",
url: "data-streams/reference/authentication",
title: "Data Streams API",
url: "data-streams/reference/data-streams-api",
children: [
{
title: "JavaScript examples",
url: "data-streams/reference/authentication/javascript-examples",
title: "Authentication",
url: "data-streams/reference/data-streams-api/authentication",
children: [
{
title: "JavaScript examples",
url: "data-streams/reference/data-streams-api/authentication/javascript-examples",
},
{
title: "TypeScript examples",
url: "data-streams/reference/data-streams-api/authentication/typescript-examples",
},
{
title: "Go examples",
url: "data-streams/reference/data-streams-api/authentication/go-examples",
},
{
title: "Rust examples",
url: "data-streams/reference/data-streams-api/authentication/rust-examples",
},
],
},
{
title: "API Reference",
url: "data-streams/reference/data-streams-api/interface-api",
},
{
title: "TypeScript examples",
url: "data-streams/reference/authentication/typescript-examples",
title: "WebSocket Reference",
url: "data-streams/reference/data-streams-api/interface-ws",
},
{
title: "Go examples",
url: "data-streams/reference/authentication/go-examples",
title: "SDK References",
url: "data-streams/reference/data-streams-api/go-sdk",
highlightAsCurrent: ["data-streams/reference/data-streams-api/rust-sdk"],
},
{
title: "Rust examples",
url: "data-streams/reference/authentication/rust-examples",
title: "Onchain report verification (EVM chains)",
url: "data-streams/reference/data-streams-api/onchain-verification",
},
],
},
{
title: "SDK References",
url: "data-streams/reference/go-sdk",
highlightAsCurrent: ["data-streams/reference/rust-sdk"],
},
{
title: "Onchain report verification (EVM chains)",
url: "data-streams/reference/onchain-verification",
title: "Candlestick API",
url: "data-streams/reference/candlestick-api",
},
],
},
Expand Down
2 changes: 1 addition & 1 deletion src/content/data-streams/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ Read the [Getting Started](/data-streams/getting-started) guide to learn how to

Active-active is a system configuration strategy where redundant systems remain active simultaneously to serve requests. Incoming requests are distributed across all active resources and load-balanced to provide high availability, scalability, and fault tolerance. This strategy is the opposite of active-passive where a secondary system remains inactive until the primary system fails.

The Data Streams API services use an active-active setup as a highly available and resilient architecture across multiple distributed and fully isolated origins. This setup ensures that the services are operational even if one origin fails, which provides robust fault tolerance and high availability. This configuration applies to both the [REST API](/data-streams/reference/interface-api) and the [WebSocket API](/data-streams/reference/interface-ws). A global load balancer seamlessly manages the system to provide automated and transparent failovers. For advanced use cases, the service publishes available origins using HTTP headers, which enables you to interact directly with specific origin locations if necessary.
The Data Streams API services use an active-active setup as a highly available and resilient architecture across multiple distributed and fully isolated origins. This setup ensures that the services are operational even if one origin fails, which provides robust fault tolerance and high availability. This configuration applies to both the [REST API](/data-streams/reference/data-streams-api/interface-api) and the [WebSocket API](/data-streams/reference/data-streams-api/interface-ws). A global load balancer seamlessly manages the system to provide automated and transparent failovers. For advanced use cases, the service publishes available origins using HTTP headers, which enables you to interact directly with specific origin locations if necessary.

### Active-Active Setup

Expand Down
4 changes: 2 additions & 2 deletions src/content/data-streams/developer-responsibilities.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ Developers implementing Chainlink Data Streams are solely responsible for instit
- **Code dependencies and imports:** Developers are responsible for ensuring the quality, reliability, and security of any dependencies or imported packages that they use with Chainlink Data Streams, and review and audit these dependencies and packages.
- **Implementing Contingency Logic:** In extreme circumstances, including situations beyond the control of Chainlink node operators, Chainlink Data Streams may experience periods of unavailability or performance degradation. When a WebSocket connection is dropped, user systems must manage reconnections effectively. Developers are responsible for creating contingency plans tailored to their specific application needs, such as:
- Implementing the [Data Streams Architecture](/data-streams/architecture),
- Adopting an [active-active](/data-streams/architecture#active-active-multi-site-deployment) deployment strategy and [configuring the SDK](/data-streams/reference/go-sdk#config-struct) to support multiple concurrent WebSocket connections,
- Retrieving any potentially missing reports via the [REST API](/data-streams/reference/interface-api).
- Adopting an [active-active](/data-streams/architecture#active-active-multi-site-deployment) deployment strategy and [configuring the SDK](/data-streams/reference/data-streams-api/go-sdk#config-struct) to support multiple concurrent WebSocket connections,
- Retrieving any potentially missing reports via the [REST API](/data-streams/reference/data-streams-api/interface-api).

### Additional Considerations on Data Usage and Verification

Expand Down
8 changes: 4 additions & 4 deletions src/content/data-streams/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ You can access Chainlink Data Streams through SDKs and APIs, allowing you to bui

Access data directly through REST APIs or WebSocket connections using our SDKs:

- **[Go SDK](/data-streams/reference/go-sdk)** - Full-featured SDK with comprehensive examples
- **[Rust SDK](/data-streams/reference/rust-sdk)** - High-performance SDK for Rust applications
- **[REST API](/data-streams/reference/interface-api)** or **[WebSocket](/data-streams/reference/interface-ws)** - Direct access to Data Streams endpoints
- **[Go SDK](/data-streams/reference/data-streams-api/go-sdk)** - Full-featured SDK with comprehensive examples
- **[Rust SDK](/data-streams/reference/data-streams-api/rust-sdk)** - High-performance SDK for Rust applications
- **[REST API](/data-streams/reference/data-streams-api/interface-api)** or **[WebSocket](/data-streams/reference/data-streams-api/interface-ws)** - Direct access to Data Streams endpoints

### Getting started

Expand All @@ -90,7 +90,7 @@ Access data directly through REST APIs or WebSocket connections using our SDKs:

1. Try the API: Follow our [hands-on tutorial](/data-streams/tutorials/api-go) to fetch and decode your first report.

1. Implement Verification: Add [onchain verification](/data-streams/reference/onchain-verification) to ensure data authenticity in your smart contracts.
1. Implement Verification: Add [onchain verification](/data-streams/reference/data-streams-api/onchain-verification) to ensure data authenticity in your smart contracts.

### Streams Trade: An alternative implementation

Expand Down
Loading
Loading