Solana Test.js и фреймворк Anchor
я совершенно новичок в Solana, и теперь я просто пытаюсь развернуть какой-то смарт-контракт в тестовой сети.... Вот так
use anchor_lang::prelude::*;
declare_id!("HQS4xqAP5mHAQQtqVJCvyNstwxNG5JCXKbzjDipveGix");
#[program]
pub mod prova {
use super::*;
pub fn initialize(ctx: Context<Initialize>) -> ProgramResult {
let my_acc = &mut ctx.accounts.my_account;
my_acc.user = ctx.accounts.user.key();
Ok(())
}
pub fn setstring(ctx: Context<Setstring>) -> ProgramResult{
let my_acc = &mut ctx.accounts.my_account;
my_acc.word = "Hello World".to_string();
Ok(())
}
pub fn setnumber(ctx: Context<Setnumber>) -> ProgramResult{
let my_acc = &mut ctx.accounts.my_account;
let number_to_set = "3";
my_acc.number = number_to_set.trim().parse().unwrap();
Ok(())
}
}
#[derive(Accounts)]
pub struct Initialize <'info> {
#[account(init, payer = user, space = 8 + 32 + 15 + 4)]
pub my_account: Account<'info, MyAccount>,
pub user: Signer<'info>,
pub system_program: Program<'info, System>,
}
#[derive(Accounts)]
pub struct Setstring <'info>{
#[account(mut, has_one = user)]
pub my_account: Account<'info, MyAccount>,
pub user: Signer<'info>,
}
#[derive(Accounts)]
pub struct Setnumber <'info>{
#[account(mut, has_one = user)]
pub my_account: Account<'info, MyAccount>,
pub user: Signer<'info>,
}
#[account]
pub struct MyAccount {
pub user: Pubkey,
pub word: String,
pub number: i32
}
Теперь мой вопрос... может ли кто-нибудь объяснить мне шаг за шагом логику теста якоря? Я не слишком хорошо разбираюсь в javascript и не понимаю, как интегрировать эту часть кода, а затем перезвонить, чтобы посмотреть, все ли работает хорошо. Большое спасибо за ваше время и хорошего дня