Quantcast
Channel: Recent Questions - Solana Stack Exchange
Viewing all articles
Browse latest Browse all 7925

How do I store text data in an account

$
0
0

I am trying to store small amount of metadata in an account but it always throws validation error. Do I need to create a custom program because of that? I am new to web3 kinds of stuff.

const secret_key = new Uint8Array(JSON.parse(process.env.SOLANA_SECRET_KEY))const keypair = solana.Keypair.fromSecretKey(secret_key)const connection = new solana.Connection(solana.clusterApiUrl('devnet'))const data = Buffer.from("project_id: 1, status: 'something something', timestamp: 'sdfdsfsdfsfsdfsdfsd'", 'utf8');const holder = solana.Keypair.generate();const required_balance = await connection.getMinimumBalanceForRentExemption(data.length);const create_account_transaction = new solana.Transaction()create_account_transaction.add(solana.SystemProgram.createAccount({    fromPubkey: keypair.publicKey,    newAccountPubkey: holder.publicKey,    lamports: required_balance,    space: data.length,    programId: solana.SystemProgram.programId,}))const sig1 = await solana.sendAndConfirmTransaction(connection, create_account_transaction, [keypair, holder])const write_data_transaction = new solana.Transaction()write_data_transaction.add(    new solana.TransactionInstruction({        keys: [{ pubkey: holder.publicKey, isSigner: false, isWritable: true }],        programId: solana.SystemProgram.programId,        data,    }));try {    await solana.sendAndConfirmTransaction(connection, write_data_transaction, [keypair])} catch (error) {    console.log(error)}

Viewing all articles
Browse latest Browse all 7925

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>