sbv2-solana/README.md

97 lines
4.7 KiB
Markdown

<div align="center">
<a href="#">
<img height="170" src="https://github.com/switchboard-xyz/sbv2-core/raw/main/website/static/img/icons/switchboard/avatar.svg" />
</a>
<h1>Switchboard V2</h1>
<p>A collection of libraries and examples for interacting with Switchboard V2 on Solana.</p>
<p>
<a href="https://github.com/switchboard-xyz/sbv2-solana/actions/workflows/solana-js-test.yml">
<img alt="Test Status" src="https://github.com/switchboard-xyz/sbv2-solana/actions/workflows/solana-js-test.yml/badge.svg" />
</a>
<a href="https://github.com/switchboard-xyz/sbv2-solana/actions/workflows/anchor-test.yml">
<img alt="Anchor Test Status" src="https://github.com/switchboard-xyz/sbv2-solana/actions/workflows/anchor-test.yml/badge.svg" />
</a>
<a href="https://crates.io/crates/switchboard-v2">
<img alt="Crates.io" src="https://img.shields.io/crates/v/switchboard-v2?label=switchboard-v2&logo=rust">
</a>
<a href="https://www.npmjs.com/package/@switchboard-xyz/solana.js">
<img alt="NPM Badge" src="https://img.shields.io/github/package-json/v/switchboard-xyz/sbv2-solana?color=red&filename=javascript%2Fsolana.js%2Fpackage.json&label=%40switchboard-xyz%2Fsolana.js&logo=npm" />
</a>
</p>
<p>
<a href="https://discord.gg/switchboardxyz">
<img alt="Discord" src="https://img.shields.io/discord/841525135311634443?color=blueviolet&logo=discord&logoColor=white">
</a>
<a href="https://twitter.com/switchboardxyz">
<img alt="Twitter" src="https://img.shields.io/twitter/follow/switchboardxyz?label=Follow+Switchboard" />
</a>
</p>
<h4>
<strong>Documentation: </strong><a href="https://docs.switchboard.xyz">docs.switchboard.xyz</a>
</h4>
</div>
## Getting Started
To get started, clone the
[sbv2-solana](https://github.com/switchboard-xyz/sbv2-solana) repository.
```bash
git clone https://github.com/switchboard-xyz/sbv2-solana
```
Then install the dependencies
```bash
cd sbv2-solana
pnpm install
pnpm build
```
## Program IDs
| **Network** | **Program ID** |
| ------------ | --------------------------------------------- |
| Mainnet-Beta | `SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f` |
| Devnet | `SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f` |
See [switchboard.xyz/explorer](https://switchboard.xyz/explorer) for a list of
feeds deployed on Solana.
See [app.switchboard.xyz](https://app.switchboard.xyz) to create your own Solana
feeds.
## Libraries
| **Lang** | **Name** | **Description** |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Rust | [switchboard-v2](/rust/switchboard-v2/) <br />[[Crates.io](https://crates.io/crates/switchboard-v2), [Typedocs](https://docs.rs/switchboard-v2)] | Rust crate to deserialize and read Switchboard data feeds |
| JS | [@switchboard-xyz/solana.js](/javascript/solana.js/) <br />[[npmjs](https://www.npmjs.com/package/@switchboard-xyz/solana.js), [Typedocs](https://docs.switchboard.xyz/api/@switchboard-xyz/solana.js)] | Typescript package to interact with Switchboard V2 |
| Python | [switchboardpy](/python/switchboardpy/) <br />[[pypi](https://pypi.org/project/switchboardpy/), [Typedocs](https://docs.switchboard.xyz/api/switchboardpy/)] | Python package to interact with Switchboard V2. **No longer maintained** |
## Example Programs
- [native-feed-parser](/programs/native-feed-parser/): Read a Switchboard feed
using Solana's native program library
- [anchor-feed-parser](/programs/anchor-feed-parser/): Read a Switchboard feed
using Anchor
- [anchor-history-parser](/programs/anchor-history-parser/): Read a Switchboard
history buffer using Anchor
- [anchor-vrf-parser](/programs/anchor-vrf-parser/): Read a Switchboard VRF
account and make a Cross Program Invocation (CPI) to request a new randomness
value
- [anchor-buffer-parser](/programs/anchor-buffer-parser/): Read a Switchboard
buffer relayer using Anchor
## Troubleshooting
1. File a
[GitHub Issue](https://github.com/switchboard-xyz/sbv2-solana/issues/new)
2. Ask a question in
[Discord #dev-support](https://discord.com/channels/841525135311634443/984343400377647144)