Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/buffalojoec/graphql-wallet
- Owner: buffalojoec
- Created: 2024-05-08T16:20:19.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-28T05:35:27.000Z (2 months ago)
- Last Synced: 2024-10-12T01:27:56.054Z (26 days ago)
- Language: TypeScript
- Size: 584 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
```