We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
initialize_account
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: incorrect program id for instruction
Hello,
I am running the following script to create and mint an SPL Token.
from solders.keypair import Keypair from solana.rpc.api import Client from solana.transaction import Transaction from solders.system_program import create_account, CreateAccountParams from spl.token.instructions import ( initialize_mint, InitializeMintParams, mint_to, MintToParams, initialize_account, InitializeAccountParams, ) from solana.transaction import Transaction from spl.token.constants import ( TOKEN_PROGRAM_ID, ) def token_to_decimals(amount: float | int) -> int: DECIMALS = 1000000000 return int(amount * DECIMALS) def create_spl_token(): client = Client("https://api.devnet.solana.com") with open( "solana/keywbrUGnsKa9USpCsFwUZFENQ6jmrZHQfEz3Fw8wXJ.json" ) as file: keypair_json = file.read() payer: Keypair = Keypair.from_json(keypair_json) # Airdrop some SOL to the payer # client.request_airdrop(payer.pubkey(), 1000000000) # 1 SOL # Generate a new keypair for the mint mint = Keypair() # Get the minimum lamports required for rent exemption mint_rent = client.get_minimum_balance_for_rent_exemption(82) # Create the mint account create_mint_params = CreateAccountParams( from_pubkey=payer.pubkey(), to_pubkey=mint.pubkey(), lamports=mint_rent.value, space=82, owner=TOKEN_PROGRAM_ID, ) create_mint_account_ix = create_account(params=create_mint_params) # Initialize the mint init_mint_params = InitializeMintParams( program_id=TOKEN_PROGRAM_ID, mint=mint.pubkey(), decimals=9, mint_authority=payer.pubkey(), freeze_authority=payer.pubkey(), ) init_mint_ix = initialize_mint(params=init_mint_params) # Create and send the transaction tx = Transaction().add(create_mint_account_ix, init_mint_ix) response = client.send_transaction(tx, payer, mint) print(f"Initialized mint account: {mint.pubkey()}") print(f"Transaction Signature: {response.value}") print("\n") # Create a token account for the payer token_account = Keypair() token_account_rent = client.get_minimum_balance_for_rent_exemption(165) create_account_params = CreateAccountParams( from_pubkey=payer.pubkey(), to_pubkey=token_account.pubkey(), lamports=token_account_rent.value, space=165, owner=TOKEN_PROGRAM_ID, ) create_token_account_ix = create_account(params=create_account_params) init_account_params = InitializeAccountParams( program_id=TOKEN_PROGRAM_ID, account=token_account.pubkey(), mint=mint.pubkey(), owner=payer.pubkey(), ) init_account_ix = initialize_account(params=init_account_params) tx = Transaction().add(create_token_account_ix, init_account_ix) response = client.send_transaction(tx, payer, token_account) print(f"Initialized token account: {token_account.pubkey()}") print(f"Transaction Signature: {response.value}") print("\n") mint_amount = 1000 # Mint tokens to the account mint_to_ix = mint_to( MintToParams( program_id=TOKEN_PROGRAM_ID, mint=mint.pubkey(), dest=token_account.pubkey(), mint_authority=payer.pubkey(), amount=token_to_decimals(mint_amount), # 1 token with 9 decimals ) ) # Create and send the transaction tx = Transaction().add(mint_to_ix) response = client.send_transaction(tx, payer) print(f"Token mint address: {mint.pubkey()}") print(f"Token account address: {token_account.pubkey()}") print(f"Minted {mint_amount} to {token_account.pubkey()}") print(f"Transaction Signature: {response.value}") print("\n") if __name__ == "__main__": create_spl_token()
And I am getting the following output,
Initialized mint account: 9RUSwHt1oaJfwKDD5k3tM9s8JwKZViv9sQEkFfwVhqmC Transaction Signature: 3n7SuR9JR4ACoCsE62DqgStXuppCeM6mP45NCPevyKvjtrbxmnxiF6h9QnFcK9PBpDTywBa8zqwKXDBjJBF2KNG9 Traceback (most recent call last): File "/home/ergod/git/app/run.py", line 125, in <module> create_spl_token() File "/home/ergod/git/app/run.py", line 95, in create_spl_token response = client.send_transaction(tx, payer, token_account) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ergod/.cache/pypoetry/virtualenvs/app-SIc2h3L_-py3.12/lib/python3.12/site-packages/solana/rpc/api.py", line 1059, in send_transaction txn_resp = self.send_raw_transaction(txn.serialize(), opts=opts_to_use) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ergod/.cache/pypoetry/virtualenvs/app-SIc2h3L_-py3.12/lib/python3.12/site-packages/solana/rpc/api.py", line 993, in send_raw_transaction resp = self._provider.make_request(body, SendTransactionResp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ergod/.cache/pypoetry/virtualenvs/app-SIc2h3L_-py3.12/lib/python3.12/site-packages/solana/exceptions.py", line 43, in argument_decorator return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/ergod/.cache/pypoetry/virtualenvs/app-SIc2h3L_-py3.12/lib/python3.12/site-packages/solana/rpc/providers/http.py", line 49, in make_request return _parse_raw(raw, parser=parser) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ergod/.cache/pypoetry/virtualenvs/app-SIc2h3L_-py3.12/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 97, in _parse_raw raise RPCException(parsed) solana.rpc.core.RPCException: SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 1: incorrect program id for instruction", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(1, IncorrectProgramId)), logs: Some(["Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [1]", "Program log: Instruction: InitializeAccount", "Program log: Error: IncorrectProgramId", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2926 of 399850 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: incorrect program id for instruction"]), accounts: None, units_consumed: Some(3076), return_data: None, inner_instructions: None }) }
Can I get some help on this given that I am checked the tests and how to use the initialize_account and I still get an error.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hello,
I am running the following script to create and mint an SPL Token.
And I am getting the following output,
Can I get some help on this given that I am checked the tests and how to use the
initialize_account
and I still get an error.The text was updated successfully, but these errors were encountered: