SkillAgentSearch skills...

Javalana

Compile java (javacpp) to Solana programs via LLVM bitcode.

Install / Use

/learn @dorkydhruv/Javalana
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Javalana

Compile shit to Solana programs via LLVM bitcode.

What It Does

Java → LLVM bitcode → Solana sBPF → on-chain execution

Uses JavaCPP to call LLVM C API directly, generating bitcode without intermediate text representation.

Quick Start

./build.sh
node invoke.js <PROGRAM_ID>

Expected output: Program log: Hello from Javalana!

Setup

# Install dependencies
brew install llvm
cargo install sbpf-linker

How Solana Syscalls Work

Syscalls are memory-mapped function pointers. Cast the address to a function pointer and call it:

// sol_log_ lives at 0x207559bd
LLVMValueRef syscall_addr = LLVMConstInt(i64, 544561597L, 0);
LLVMValueRef func_ptr = LLVMBuildIntToPtr(builder, syscall_addr,
    LLVMPointerType(log_type, 0), "log");
LLVMBuildCall2(builder, log_type, func_ptr, args, 2, "");

In the end we're just generating LLVM bitcode that Solana can understand, and then linking it to sBPF with sbpf-linker.

Resources

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated5mo ago
Forks0

Languages

Java

Security Score

67/100

Audited on Oct 26, 2025

No findings