Heim >web3.0 >So erstellen Sie neue Token in der Solana-Kette

So erstellen Sie neue Token in der Solana-Kette

全网都在看
全网都在看Original
2024-04-30 14:47:271030Durchsuche

Die Schritte zum Erstellen eines Tokens in der Solana-Kette umfassen: Erhalten einer Solana-Wallet, Erstellen eines Kontos, Erhalten von SOL, Verwenden des Anchor Frameworks, Erstellen eines Projekts, Definieren eines Token-Programms, Bereitstellen eines Programms, Erstellen eines Tokens, Prägen von Tokens, und Verteilen von Token. Die konkreten Schritte sind: Besorgen Sie sich eine Solana-Wallet (Phantom oder Solflare). Erstellen oder importieren Sie ein Solana-Konto. Holen Sie sich testnet SOL. Installieren Sie das Anchor Framework. Erstellen Sie ein neues Ankerprojekt. Definieren Sie das Token-Programm. Bereitstellungsprogramm. Token erstellen. Mint-Token. Verteilen Sie Token.

So erstellen Sie neue Token in der Solana-Kette

Erstellen Sie einen neuen Token in der Solana-Kette.

Schritte:

  1. Holen Sie sich ein Solana-Wallet: Installieren Sie ein Solana-kompatibles Wallet wie Phantom oder Solflare.
  2. Konto erstellen: Erstellen oder importieren Sie ein Solana-Konto in Ihrem Wallet.
  3. Holen Sie sich Testnet-SOL: Zu Testzwecken holen Sie sich etwas SOL aus dem Solana-Testnet-Faucet.
  4. Anchor Framework verwenden: Installieren Sie Anchor Framework, ein Toolkit zum Erstellen von Solana-Programmen.
  5. Projekt erstellen: Verwenden Sie anchor init, um ein neues Anchor-Projekt zu erstellen. anchor init 创建一个新的 Anchor 项目。
  6. 定义代币程序:programs/my_token/src/lib.rs 中定义代币程序。
  7. 部署程序:使用 anchor buildanchor deploy 部署程序。
  8. 创建 Token:使用 anchor new 创建 Token 实例。
  9. 铸造代币:使用 approvetransfer 功能铸造代币。
  10. 分配代币:将代币分配给其他帐户。

详细步骤:

获取 Solana 钱包:

  • 下载并安装 Phantom 或 Solflare 钱包。
  • 创建或导入一个 Solana 帐户。

创建项目:

  • 安装 Anchor Framework:cargo install --git https://github.com/project-serum/anchor anchor-cli
  • 创建一个新的 Anchor 项目:anchor init my_token

定义代币程序:

  • programs/my_token/src/lib.rs 中添加以下代码:
#[program]
pub mod my_token {
    use anchor_lang::prelude::*;

    #[state]
    #[derive(Accounts)]
    pub struct CreateToken {
        #[account(init, payer = authority, space = 8 + 96)]
        pub token: AccountInfo,
        #[account(mut)]
        pub authority: Signer,
        pub system_program: Program,
        pub token_program: Program,
    }

    impl CreateToken {
        pub fn new(ctx: Context<self>, name: String, symbol: String, amount: u64) -> Result {
            let token_account = &mut ctx.accounts.token;
            let authority = &ctx.accounts.authority;
            let token_program = &ctx.accounts.token_program;

            let create_token_ix = anchor_lang::solana_program::system_instruction::create_account(
                &authority.key(),
                &token_account.key(),
                ctx.accounts.system_program.key(),
                &token_program.key(),
                8 + 96,
            );

            let init_token_ix = anchor_lang::solana_program::token::instruction::initialize_mint(
                &token_program.key(),
                &token_account.key(),
                &authority.key(),
                None,
                0,
            );

            let mint_ix = anchor_lang::solana_program::token::instruction::mint_to(
                &token_program.key(),
                &token_account.key(),
                &authority.key(),
                None,
                amount
            );

            anchor_lang::solana_program::program::invoke(
                &token_program.to_account_info(),
                &[
                    create_token_ix,
                    init_token_ix,
                    mint_ix,
                ],
                &[
                    authority.to_account_info(),
                    token_account.to_account_info(),
                    token_program.to_account_info(),
                    system_program.to_account_info()
                ],
            )?;

            Ok(())
        }
    }
}</self>

部署程序:

  • 构建程序:anchor build
  • 部署程序:anchor deploy

创建 Token:

  • 使用 anchor new 创建 Token 实例:anchor new my_token

铸造代币:

  • 使用 approvetransfer 功能铸造代币:

    anchor approve my_token --amount 100
    anchor transfer my_token --amount 10 --recipient <recipient_address></recipient_address>

分配代币:

  • 使用 transfer

  • Definieren Sie das Token-Programm:
Definieren Sie das Token-Programm in programs/my_token/src/lib.rs. 🎜🎜🎜Deployer: 🎜Verwenden Sie Anchor Build und Anchor Deploy, um das Programm bereitzustellen. 🎜🎜🎜Token erstellen: 🎜Verwenden Sie anchor new, um eine Token-Instanz zu erstellen. 🎜🎜🎜Token prägen: 🎜Verwenden Sie die Funktionen genehmigen und transfer, um Token zu prägen. 🎜🎜🎜Token zuweisen: 🎜Token anderen Konten zuweisen. 🎜🎜🎜Detaillierte Schritte: 🎜🎜🎜🎜Solana-Wallet holen: 🎜🎜
    🎜Phantom- oder Solflare-Wallet herunterladen und installieren. 🎜🎜Erstellen oder importieren Sie ein Solana-Konto. 🎜🎜🎜🎜Projekt erstellen: 🎜🎜
      🎜Anker-Framework installieren: cargo install --git https://github.com/project-serum/anchor Anchor-cli. 🎜🎜Erstellen Sie ein neues Anchor-Projekt: anchor init my_token. 🎜🎜🎜🎜Token-Programm definieren: 🎜🎜
        🎜Fügen Sie den folgenden Code in programs/my_token/src/lib.rs hinzu: 🎜🎜
anchor transfer my_token --amount 10 --recipient <recipient_address></recipient_address>
🎜🎜Programm bereitstellen: 🎜🎜
    🎜 Build-Programm: Anker-Build. 🎜🎜Bereitstellungsprogramm: Ankerbereitstellung. 🎜🎜🎜🎜Token erstellen: 🎜🎜
      🎜Verwenden Sie anchor new, um eine Token-Instanz zu erstellen: anchor new my_token. 🎜🎜🎜🎜 Token prägen: 🎜🎜
        🎜🎜 Token mit den Funktionen genehmigen und transfer prägen: 🎜rrreee🎜🎜🎜🎜Token verteilen: 🎜🎜
          🎜🎜Verwenden Sie die Funktion transfer, um Token anderen Konten zuzuweisen: 🎜rrreee🎜🎜

Das obige ist der detaillierte Inhalt vonSo erstellen Sie neue Token in der Solana-Kette. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn