Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/buffalojoec/graphql-wallet

Solana wallet built using Solana RPC-GraphQL
https://github.com/buffalojoec/graphql-wallet

Last synced: 10 days ago
JSON representation

Solana wallet built using Solana RPC-GraphQL

Awesome Lists containing this project

README

        

# graphql-icon GraphQL Wallet

With the new Web3.js 2.0 comes a brand-new client-side GraphQL resolver for the
Solana JSON RPC.

[`@solana/rpc-graphql`](https://www.npmjs.com/package/@solana/rpc-graphql)

This GraphQL library:

- Allows developers to make requests to the Solana JSON RPC using GraphQL
queries.
- Provides a full type schema around Solana's `jsonParsed` type spec.
- Offers highly-optimized usage of RPC requests out of the box.
- Supports the Relay server specification, enabling Relay-native web
applications.

Provided here for demonstration is a web application - a basic, read-only wallet
and block explorer - that aims to showcase the GraphQL library's capabilities.

## Running the Demo

**Requirements:**

- NodeJS 20
- NPM
- PNPM
- Rust
- Shank CLI: `cargo-install shank-cli`
- Solana 1.18: `sh -c "$(curl -sSfL https://release.solana.com/v1.18.12/install)"`

Install the application's dependencies.

```
pnpm install
```

In a separate terminal, start a local test validator.
Note the provided `pnpm` command will start the local validator with all of the
necessary account fixtures and the BPF program.

```
pnpm run test-validator
```

Run the script to generate a bunch of transactions.
`LOCAL_VALIDATOR_RPC_ENDPOINT` will default to `http://127.0.0.1:8899` if not
provided.

```
pnpm run generate-transactions
```

Launch the application.
Note you can define an `RPC_ENDPOINT` variable in a `.env` file in the root of
the repository if you wish to use a custom endpoint. This value will default to
`http://127.0.0.1:8899` if not provided.

```
pnpm start
```