Промпт для создания смарт-контракта Solano на языке Rust Структурированный запрос (промт) для ИИ Задача: Напиши смарт-контракт для блокчейна Solana на языке Rust с использованием фреймворка Anchor. Цель контракта: Простой счётчик, который можно инициализировать и увеличивать. Требования: Должен быть аккаунт Counter с полем count: u64. Функция initialize создаёт и инициализирует аккаунт счётчика со значением 0. Функция increment увеличивает значение count на 1. Используй корректные Anchor-макросы (#[program], #[derive(Accounts)], #[account]). Укажи необходимые зависимости в Cargo.toml (anchor-lang). Добавь комментарии к ключевым частям кода. Не включай реальный Program ID — оставь placeholder. Формат вывода: Полный код файла lib.rs и краткое пояснение структуры. -------------------------------------------------------------- Листинг смарт-контракта для блокчейна Solana на языке Rust Простой счётчик на Solana (с использованием Anchor) Этот контракт позволяет: Инициализировать аккаунт счётчика. Увеличивать значение счётчика на 1. lib.rs (основной файл программы) rust use anchor_lang::prelude::*; declare_id!("YourProgramIdHere1111111111111111111111111"); // Замените на реальный Program ID #[program] pub mod counter_program { use super::*; pub fn initialize(ctx: Context) -> Result<()> { let counter = &mut ctx.accounts.counter; counter.count = 0; Ok(()) } pub fn increment(ctx: Context) -> Result<()> { let counter = &mut ctx.accounts.counter; counter.count += 1; Ok(()) } } #[derive(Accounts)] pub struct Initialize<'info> { #[account(init, payer = user, space = 8 + 8)] pub counter: Account<'info, Counter>, #[account(mut)] pub user: Signer<'info>, pub system_program: Program<'info, System>, } #[derive(Accounts)] pub struct Increment<'info> { #[account(mut)] pub counter: Account<'info, Counter>, } #[account] pub struct Counter { pub count: u64, } Примечания: declare_id! — должен содержать реальный Program ID, сгенерированный при развёртывании. Anchor автоматически обрабатывает сериализацию, безопасность аккаунтов и взаимодействие с Solana Runtime. space = 8 + 8: первые 8 байт — дискриминатор Anchor, следующие 8 — u64 для count. https://chat.qwen.ai/s/t_e35e992b-f6da-4a30-958c-548368afdbfb?fev=0.1.31 © by Valery Shmelev -------------------------------------------------------------- Онлайн ИИ процессинг: https://chat.qwen.ai/s/t_e35e992b-f6da-4a30-958c-548368afdbfb?fev=0.1.31 https://tgstat.ru/channel/@llmsource https://my.mail.ru/mail/bestguide/multipost/b400000090ae4100.html https://my.mail.ru/mail/bestguide/multipost/B100000090AE4100.html https://my.mail.ru/mail/bestguide/micropost/B500000090AE4100.html