Solana
Quick start
Section titled “Quick start”Run npx hypkg apply drama-haus/solana
on your latest dev branch.
Using in scripts
Section titled “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
Section titled “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]); }}