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 и не понимаю, как интегрировать эту часть кода, а затем перезвонить, чтобы посмотреть, все ли работает хорошо. Большое спасибо за ваше время и хорошего дня

0 ответов

Другие вопросы по тегам