https://github.com/lmax-exchange/solana4j
A Java library for natively interacting with the Solana blockchain.
https://github.com/lmax-exchange/solana4j
blockchain solana web3
Last synced: 7 months ago
JSON representation
A Java library for natively interacting with the Solana blockchain.
- Host: GitHub
- URL: https://github.com/lmax-exchange/solana4j
- Owner: LMAX-Exchange
- License: apache-2.0
- Created: 2024-05-17T16:34:50.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-24T09:22:30.000Z (about 1 year ago)
- Last Synced: 2024-10-24T09:36:26.001Z (about 1 year ago)
- Topics: blockchain, solana, web3
- Language: Java
- Homepage: https://central.sonatype.com/artifact/com.lmax/solana4j/
- Size: 1.61 MB
- Stars: 5
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#### Background
At LMAX we are all Java developers. We are **not** Javascript developers. We are **not** Rust developers. To support our needs
as a business we needed to read and write from and to the Solana blockchain from within our Java ecosystem. There lacked
a mature enough Java library at the time our project started. We therefore challenged ourselves to write
our own. This repository is the product of that challenge.
#### Libraries
##### solana4j (https://central.sonatype.com/artifact/com.lmax/solana4j)
A pure Java library that encapsulates both the `Legacy` and `V0` encoding schemes, with support for many of
the core Solana programs.
##### solana4j-json-rpc (https://central.sonatype.com/artifact/com.lmax/solana4j-json-rpc)
A Java client library to communicate with the Solana blockchain, with support for many of the endpoints documented
at `https://solana.com/docs/rpc`. This library requires the following dependencies:
* `com.fasterxml.jackson.core:jackson-databind:2.17.2`
* `com.fasterxml.jackson.core:jackson-annotations:2.17.2`
* `com.fasterxml.jackson.core:jackson-core:2.17.2`
#### Local Development Requirements
* `jdk11` installation
* `docker` (for `testcontainers`)
If running on an `M[1,2,3,4] Mac` please read `shared/src/test-support/resources/README.md`.
#### Contributions
* Fork the repository.
* Create a branch, for example: "amazing-new-feature-branch".
* Make your amazing changes.
* Push your amazing changes to your "amazing-new-feature-branch" branch.
* Raise a PR.
* Wait patiently.
* Receive praise.
The integration tests written act as living documentation. If you're making any changes, such
as extending the programs or endpoints supported, please can you continue extending this documentation!
Thanks.
MJ.