ワンクリックで
mvx-sdk-js-core
Core SDK operations for MultiversX TypeScript/JavaScript - Entrypoints, Network Providers, and Transactions.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Core SDK operations for MultiversX TypeScript/JavaScript - Entrypoints, Network Providers, and Transactions.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Guidelines for establishing context before an audit.
Perform a comprehensive on-chain security audit of a deployed MultiversX smart contract. Use when reviewing a contract's security posture, permissions, state, and economic safety without source code.
Read on-chain state in MultiversX smart contracts. Use when accessing caller info, account balances, block timestamps, ESDT token metadata, local roles, code metadata, or any data from self.blockchain().
Gas-optimized cache patterns for MultiversX smart contracts using Drop-based write-back caches. Use when building contracts that read/write multiple storage values per transaction, DeFi protocols, or any gas-sensitive contract.
Identify ambiguous requirements and ask targeted clarifying questions for MultiversX development. Use when user requests are vague, missing technical constraints, or have conflicting requirements.
Comprehensive code analysis toolkit for MultiversX smart contracts. Covers differential review (version comparison, upgrade safety), fix verification (validate patches, regression testing), and variant analysis (find similar bugs across codebase). Use when reviewing PRs, verifying security patches, or hunting for bug variants.
| name | mvx-sdk-js-core |
| description | Core SDK operations for MultiversX TypeScript/JavaScript - Entrypoints, Network Providers, and Transactions. |
This skill covers the fundamental building blocks of the @multiversx/sdk-core v15 library.
Network-specific clients that simplify common operations:
| Entrypoint | Network | Default URL |
|---|---|---|
DevnetEntrypoint | Devnet | https://devnet-api.multiversx.com |
TestnetEntrypoint | Testnet | https://testnet-api.multiversx.com |
MainnetEntrypoint | Mainnet | https://api.multiversx.com |
LocalnetEntrypoint | Local | http://localhost:7950 |
import { DevnetEntrypoint } from "@multiversx/sdk-core";
// Default API
const entrypoint = new DevnetEntrypoint();
// Custom API
const entrypoint = new DevnetEntrypoint({ url: "https://custom-api.com" });
// Proxy mode (gateway)
const entrypoint = new DevnetEntrypoint({
url: "https://devnet-gateway.multiversx.com",
kind: "proxy"
});
| Method | Description |
|---|---|
createAccount() | Create a new account instance |
createNetworkProvider() | Get underlying network provider |
recallAccountNonce(address) | Fetch current nonce from network |
sendTransaction(tx) | Broadcast single transaction |
sendTransactions(txs) | Broadcast multiple transactions |
getTransaction(txHash) | Fetch transaction by hash |
awaitCompletedTransaction(txHash) | Wait for finality |
Lower-level network access:
| Provider | Use Case |
|---|---|
ApiNetworkProvider | Standard API queries (recommended) |
ProxyNetworkProvider | Direct node interaction via gateway |
const provider = entrypoint.createNetworkProvider();
// Or manual instantiation
import { ApiNetworkProvider } from "@multiversx/sdk-core";
const api = new ApiNetworkProvider("https://devnet-api.multiversx.com", {
clientName: "my-app",
requestsOptions: { timeout: 10000 }
});
| Method | Description |
|---|---|
getNetworkConfig() | Chain ID, gas settings, etc. |
getNetworkStatus() | Current epoch, nonce, etc. |
getBlock(blockHash) | Fetch block data |
getAccount(address) | Account balance, nonce |
getAccountStorage(address) | Contract storage |
getTransaction(txHash) | Transaction details |
awaitTransactionCompletion(txHash) | Wait for finality |
queryContract(query) | VM query (read-only) |
// 1. Create account and sync nonce
const account = await Account.newFromPem("wallet.pem");
account.nonce = await entrypoint.recallAccountNonce(account.address);
// 2. Create transaction (via controller)
const controller = entrypoint.createTransfersController();
const tx = await controller.createTransactionForTransfer(
account,
account.getNonceThenIncrement(),
{ receiver, nativeAmount: 1000000000000000000n }
);
// 3. Send
const txHash = await entrypoint.sendTransaction(tx);
// 4. Wait for completion
const result = await entrypoint.awaitCompletedTransaction(txHash);
console.log("Status:", result.status);
awaitCompletedTransaction for critical operationssendTransactions()