Solana
Quick start
Run npx hypkg apply drama-haus/solana
on your latest dev branch.
Using in scripts
The mod exposes app.solana
and player.solana
to scripts.
player.solana
contains the solana wallet address of that player (if they are connected)app.solana
contains the binding to interact with wallets
Example
async function getBalance(tokenMint, account) { const solana = app.solana() if (!solana?.connection) { log('No Solana connection'); }
token = await solana.programs.token(tokenMint) if (!token) throw new Error("token not found")
const { success, balance, tokenAccount } = await token.balance(account) console.log({ success, balance, tokenAccount }) }
async function transfer(tokenMint, to, amount) { const solana = app.solana() const token = await solana.programs.token(tokenMint) // fetch token metadata const transferResult = await token.transfer(to, amount); const player = world.getPlayer();
if (transferResult.success) { app.send("client:transfer:success", [amount, to, player.solana]); } else {
app.send("client:transfer:error", [amount, to, player.solana]); }}