在 solana 上构建游戏
building a game on solana
我正在尝试构建一个简单的游戏来测试你在其中输入 sol 数量,程序只发送双倍数量(不在主网上,ofc),但我只是没有得到一些关于 solana 的东西。
目前我没有代码,因为我正在尝试了解工作流程
Here i brainstormed how my program will look like
我不知道如何创建这个国库钱包账户?它会归我的程序所有吗?
你能不能也给我看一段代码,比如这个可以让我与之互动的播放功能?
我的猜测rn是我会直接写public地址,然后在程序中写一个from/to函数来做交易。正确吗?
顺便说一句,我将使用锚点。感谢您的帮助:)
你的金库钱包,因为它持有 SOL,可以简单地是一个使用你的程序 ID 派生的 PDA,里面没有任何数据。它仍将由系统程序拥有,但由于它是从您的程序派生的,因此只有您的程序才能为其签名。在您的程序中,您将执行如下操作:
fn transfer_one_token_from_escrow(
program_id: &Pubkey,
accounts: &[AccountInfo],
) -> ProgramResult {
// User supplies the destination
let alice_pubkey = accounts[1].key;
// Iteratively derive the escrow pubkey
let (escrow_pubkey, bump_seed) = Pubkey::find_program_address(&[&["escrow"]], program_id);
// Create the transfer instruction
let instruction = token_instruction::transfer(&escrow_pubkey, alice_pubkey, 1);
// Include the generated bump seed to the list of all seeds
invoke_signed(&instruction, accounts, &[&["escrow", &[bump_seed]]])
}
您可能需要做更多的研究才能准确了解如何实现其中的许多位。这里有一些资源:
我正在尝试构建一个简单的游戏来测试你在其中输入 sol 数量,程序只发送双倍数量(不在主网上,ofc),但我只是没有得到一些关于 solana 的东西。
目前我没有代码,因为我正在尝试了解工作流程
Here i brainstormed how my program will look like
我不知道如何创建这个国库钱包账户?它会归我的程序所有吗?
你能不能也给我看一段代码,比如这个可以让我与之互动的播放功能?
我的猜测rn是我会直接写public地址,然后在程序中写一个from/to函数来做交易。正确吗?
顺便说一句,我将使用锚点。感谢您的帮助:)
你的金库钱包,因为它持有 SOL,可以简单地是一个使用你的程序 ID 派生的 PDA,里面没有任何数据。它仍将由系统程序拥有,但由于它是从您的程序派生的,因此只有您的程序才能为其签名。在您的程序中,您将执行如下操作:
fn transfer_one_token_from_escrow(
program_id: &Pubkey,
accounts: &[AccountInfo],
) -> ProgramResult {
// User supplies the destination
let alice_pubkey = accounts[1].key;
// Iteratively derive the escrow pubkey
let (escrow_pubkey, bump_seed) = Pubkey::find_program_address(&[&["escrow"]], program_id);
// Create the transfer instruction
let instruction = token_instruction::transfer(&escrow_pubkey, alice_pubkey, 1);
// Include the generated bump seed to the list of all seeds
invoke_signed(&instruction, accounts, &[&["escrow", &[bump_seed]]])
}
您可能需要做更多的研究才能准确了解如何实现其中的许多位。这里有一些资源: