{"id":37024203,"url":"https://github.com/maxmmin/sol4j","last_synced_at":"2026-01-14T02:55:22.372Z","repository":{"id":284225968,"uuid":"954235598","full_name":"maxmmin/sol4j","owner":"maxmmin","description":"Java client for Solana web3 RPC API","archived":false,"fork":false,"pushed_at":"2025-05-18T16:39:47.000Z","size":530,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-18T17:01:34.399Z","etag":null,"topics":["blockchain","java","library","rpc","rpc-client","sol","sol4j","solana","solana-web3","solana4j","web3"],"latest_commit_sha":null,"homepage":"https://central.sonatype.com/artifact/io.github.maxmmin/sol4j","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxmmin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-24T19:10:01.000Z","updated_at":"2025-05-18T16:39:51.000Z","dependencies_parsed_at":"2025-04-13T20:31:11.156Z","dependency_job_id":"24ef10a6-b7cb-4b72-a0b7-9a8534f98952","html_url":"https://github.com/maxmmin/sol4j","commit_stats":null,"previous_names":["maxmmin/sol4j"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/maxmmin/sol4j","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmmin%2Fsol4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmmin%2Fsol4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmmin%2Fsol4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmmin%2Fsol4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxmmin","download_url":"https://codeload.github.com/maxmmin/sol4j/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmmin%2Fsol4j/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","java","library","rpc","rpc-client","sol","sol4j","solana","solana-web3","solana4j","web3"],"created_at":"2026-01-14T02:55:21.739Z","updated_at":"2026-01-14T02:55:22.358Z","avatar_url":"https://github.com/maxmmin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003eSol4j 👾\u003c/h1\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue)](https://github.com/maxmmin/sol4j/blob/dev/LICENSE)\n![Java required version: 11](https://img.shields.io/badge/Java-11+-yellow)\n[![Solana Badge](https://img.shields.io/badge/Solana-%23000000?logo=solana\u0026logoColor=white)](https://solana.com/docs/rpc)\n\nPure java lib for interacting with Solana RPC API.\n\nThe library supports both legacy and versioned transactions and provides a set of core programs for interacting with the Solana blockchain.\n\n\u003ch2\u003eRequirements\u003c/h2\u003e\n- Java 11+\n\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\n- OkHttp\n- Jackson\n- net.i2p.crypto.eddsa\n\n\u003ch2\u003eOutOfBox supported methods\u003c/h2\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eHTTP\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\nUnder active development\n\u003cbr\u003e\u003cbr\u003e\n\n- getAccountInfo ✅\n- getBalance ✅\n- getBlock ✅\n- getBlockCommitment ✅\n- getBlockHeight ✅\n- getBlockProduction ✅\n- getBlocks ✅\n- getBlocksWithLimit ✅\n- getBlockTime ✅\n- getClusterNodes ✅\n- getEpochInfo ✅\n- getEpochSchedule ✅\n- getFeeForMessage ✅\n- getFirstAvailableBlock ✅\n- getGenesisHash ✅\n- getHealth ✅\n- getHighestSnapshotSlot ✅\n- getIdentity ✅\n- getInflationGovernor ✅\n- getInflationRate ✅\n- getInflationReward ✅\n- getLargestAccounts ✅\n- getLatestBlockhash ✅\n- getLeaderSchedule ✅\n- getMaxRetransmitSlot ✅\n- getMaxShredInsertSlot ✅\n- getMinimumBalanceForRentExemption ❌\n- getMultipleAccounts ✅\n- getProgramAccounts ✅\n- getRecentPerformanceSamples ❌\n- getRecentPrioritizationFees ❌\n- getSignaturesForAddress ✅\n- getSignatureStatuses ❌\n- getSlot ❌\n- getSlotLeader ❌\n- getSlotLeaders ❌\n- getStakeMinimumDelegation ✅\n- getSupply ❌\n- getTokenAccountBalance ✅\n- getTokenAccountsByDelegate ✅\n- getTokenAccountsByOwner ✅\n- getTokenLargestAccounts ✅\n- getTokenSupply ❌\n- getTransaction ✅\n- getTransactionCount ✅\n- getVersion ✅\n- getVoteAccounts ❌\n- isBlockhashValid ✅\n- minimumLedgerSlot ✅\n- requestAirdrop ❌\n- sendTransaction ✅\n- simulateTransaction ❌\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWebSocket\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\nNot implemented yet\n\u003c/details\u003e\n\n\n\u003ch2\u003eGetting started\u003c/h2\u003e\n\n\u003cb\u003eInstallation\u003c/b\u003e\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.maxmmin\u003c/groupId\u003e\n    \u003cartifactId\u003esol4j\u003c/artifactId\u003e\n    \u003cversion\u003e1.3.91\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n\u003cb\u003eCreating gateway\u003c/b\u003e\n\n```java\nRpcGateway rpcGateway = HttpRpcGateway.create(\"https://api.mainnet-beta.solana.com\");\n```\n\n\u003cb\u003eCreating RPC Client\u003c/b\u003e\n\n```java\nRpcClient client = RpcClient.create(rpcGateway);\n```\n\n\u003cb\u003eMaking requests\u003c/b\u003e\n\n```java\nList\u003cSolanaNodeInfo\u003e nodes = client.getClusterNodes().send();\n```\n\n\u003cb\u003eMultiple encodings support for specific methods\u003c/b\u003e\n\n```java\nGetTransactionRequest txRequest = client.getTransaction(txSignature);\n\nvar defaultEncodedTx = txRequest.send();\nBaseEncConfirmedTransaction base58EncodedTx = txRequest.base58();\nBaseEncConfirmedTransaction base64EncodedTx = txRequest.base64();\nJsonConfirmedTransaction jsonEncodedTx = txRequest.json();\nJsonParsedConfirmedTransaction jsonParsedEncTx = txRequest.jsonParsed();\n```\n\n\u003cb\u003eTransferring lamports via SystemProgram\u003c/b\u003e\n\n```java\nAccount sender = Account.fromSecretKey(secretKey);\nPublicKey receiverPubkey = PublicKey.fromBase58(\"2ZqPxLUgUFLCyQdqokCNJqnhb4kLY7Bn8T28ABQAjfq4\");\nBigInteger lamports = BigInteger.valueOf(3000);\n\nMessage txMessage = Message.builder()\n        .addInstruction(SystemProgram.transfer(new SystemProgram.TransferParams(sender.getPublicKey(), receiverPubkey, lamports)))\n        .setBlockHash(rpcClient.getLatestBlockhash().send().getBlockhash())\n        .setFeePayer(sender.getPublicKey())\n        .build();\n\nTransaction transaction = Transaction.build(txMessage, sender);\nString txId = rpcClient.sendTransaction(transaction).base64();\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxmmin%2Fsol4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxmmin%2Fsol4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxmmin%2Fsol4j/lists"}