npm install @solana/web3.js @project-serum/anchor
const anchor = require("@project-serum/anchor");
const { Connection, PublicKey, Keypair, SystemProgram } = require("@solana/web3.js");
const provider = anchor.AnchorProvider.local("https://api.devnet.solana.com");
anchor.setProvider(provider);
const programId = new PublicKey("9HhvqA...pXr"); // Замените на ваш ID
const program = new anchor.Program(idl, programId, provider);
async function stakeTokens(amount) {
const user = Keypair.generate();
const stakingAccount = Keypair.generate();
await program.rpc.stake(new anchor.BN(amount), {
accounts: {
stakingAccount: stakingAccount.publicKey,
userStaking: user.publicKey,
userTokenAccount: user.publicKey,
tokenProgram: anchor.web3.TOKEN_PROGRAM_ID,
},
signers: [user],
});
console.log(`Staked ${amount} tokens!`);
}
async function unstakeTokens() {
const user = Keypair.generate();
await program.rpc.unstake({
accounts: {
stakingAccount: programId,
userStaking: user.publicKey,
userTokenAccount: user.publicKey,
tokenProgram: anchor.web3.TOKEN_PROGRAM_ID,
},
});
console.log("Unstaked successfully!");
}
// Вызываем функции
stakeTokens(100);