Socket
Socket
Sign inDemoInstall

@solana/web3.js

Package Overview
Dependencies
Maintainers
13
Versions
1744
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@solana/web3.js

Solana Javascript API


Version published
Weekly downloads
388K
decreased by-3.45%
Maintainers
13
Weekly downloads
 
Created

What is @solana/web3.js?

@solana/web3.js is a JavaScript library for interacting with the Solana blockchain. It provides a set of tools and utilities for developers to build applications on Solana, including functionalities for managing accounts, sending transactions, interacting with smart contracts, and querying blockchain data.

What are @solana/web3.js's main functionalities?

Create and Manage Accounts

This feature allows you to create and manage Solana accounts. The code sample demonstrates how to generate a new keypair, which includes a public key and a secret key.

const solanaWeb3 = require('@solana/web3.js');

// Generate a new keypair
const keypair = solanaWeb3.Keypair.generate();
console.log('Public Key:', keypair.publicKey.toBase58());
console.log('Secret Key:', keypair.secretKey);

Send Transactions

This feature allows you to send transactions on the Solana blockchain. The code sample demonstrates how to create a connection to the Solana devnet, airdrop SOL to an account, create a transaction to transfer SOL, and send the transaction.

const solanaWeb3 = require('@solana/web3.js');

(async () => {
  const connection = new solanaWeb3.Connection(solanaWeb3.clusterApiUrl('devnet'), 'confirmed');
  const from = solanaWeb3.Keypair.generate();
  const to = solanaWeb3.Keypair.generate();

  // Airdrop SOL to the from account
  await connection.requestAirdrop(from.publicKey, solanaWeb3.LAMPORTS_PER_SOL);

  // Create a transaction
  const transaction = new solanaWeb3.Transaction().add(
    solanaWeb3.SystemProgram.transfer({
      fromPubkey: from.publicKey,
      toPubkey: to.publicKey,
      lamports: solanaWeb3.LAMPORTS_PER_SOL / 100,
    })
  );

  // Sign and send the transaction
  const signature = await solanaWeb3.sendAndConfirmTransaction(connection, transaction, [from]);
  console.log('Transaction signature:', signature);
})();

Interact with Smart Contracts

This feature allows you to interact with smart contracts deployed on the Solana blockchain. The code sample demonstrates how to create a transaction that calls a smart contract and send the transaction.

const solanaWeb3 = require('@solana/web3.js');

(async () => {
  const connection = new solanaWeb3.Connection(solanaWeb3.clusterApiUrl('devnet'), 'confirmed');
  const programId = new solanaWeb3.PublicKey('YourProgramIdHere');
  const account = solanaWeb3.Keypair.generate();

  // Create a transaction to call a smart contract
  const transaction = new solanaWeb3.Transaction().add(
    new solanaWeb3.TransactionInstruction({
      keys: [{ pubkey: account.publicKey, isSigner: true, isWritable: true }],
      programId,
      data: Buffer.alloc(0), // Add your instruction data here
    })
  );

  // Sign and send the transaction
  const signature = await solanaWeb3.sendAndConfirmTransaction(connection, transaction, [account]);
  console.log('Transaction signature:', signature);
})();

Query Blockchain Data

This feature allows you to query data from the Solana blockchain. The code sample demonstrates how to get account information and the recent blockhash from the blockchain.

const solanaWeb3 = require('@solana/web3.js');

(async () => {
  const connection = new solanaWeb3.Connection(solanaWeb3.clusterApiUrl('devnet'), 'confirmed');
  const publicKey = new solanaWeb3.PublicKey('YourPublicKeyHere');

  // Get account info
  const accountInfo = await connection.getAccountInfo(publicKey);
  console.log('Account Info:', accountInfo);

  // Get recent blockhash
  const recentBlockhash = await connection.getRecentBlockhash();
  console.log('Recent Blockhash:', recentBlockhash);
})();

Other packages similar to @solana/web3.js

Keywords

FAQs

Package last updated on 12 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc