Initializes a new instance of the Aptos client with the specified configuration. This allows you to interact with the Aptos blockchain using the provided settings.
The configuration settings for the Aptos client.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
async function runExample() {
// Create a configuration for the Aptos client
const config = new AptosConfig({ network: Network.TESTNET }); // Specify your desired network
// Initialize the Aptos client with the configuration
const aptos = new Aptos(config);
console.log("Aptos client initialized:", aptos);
}
runExample().catch(console.error);
Simulates a multi-agent transaction by generating a signed transaction and posting it to the Aptos full node. This function helps in understanding the outcome of a transaction involving multiple signers before it is executed.
The parameters for simulating the transaction.
Optional
feeThe public key of the fee payer (optional).
Optional
options?: InputSimulateTransactionOptionsOptions for simulating the transaction (optional).
Optional
secondaryAn array of public keys for secondary signers (optional). Each element of the array can be optional, allowing the corresponding key check to be skipped.
Optional
signerThe public key of the primary signer (optional).
The raw transaction to be simulated.
import {
Account,
Aptos,
AptosConfig,
Network,
} from "@aptos-labs/ts-sdk";
async function example() {
let sender1 = Account.generate();
let sender2 = Account.generate();
let receiver = Account.generate();
// 0. Set up the client and test accounts
const config = new AptosConfig({ network: Network.DEVNET });
const aptos = new Aptos(config);
await aptos.fundAccount({
accountAddress: sender.accountAddress,
amount: 100_000_000,
});
// 1. Build
console.log("\n=== 1. Building the transaction ===\n");
const transaction = await aptos.transaction.build.multiAgent({
sender: sender1.accountAddress,
secondarySignerAddresses: [sender2.accountAddress],
data: {
// REPLACE WITH YOUR MULTI-AGENT FUNCTION HERE
function:
"<REPLACE WITH YOUR MULTI AGENT MOVE ENTRY FUNCTION> (Syntax {address}::{module}::{function})",
functionArguments: [],
},
});
console.log("Transaction:", transaction);
// 2. Simulate (Optional)
console.log("\n === 2. Simulating Response (Optional) === \n");
const [userTransactionResponse] = await aptos.transaction.simulate.multiAgent(
{
signerPublicKey: sender1.publicKey,
secondarySignersPublicKeys: [sender2.publicKey],
transaction,
},
);
console.log(userTransactionResponse);
// If the fee looks ok, continue to signing!
// ...
}
example();
Simulates a transaction based on the provided parameters and returns the result. This function helps you understand the outcome of a transaction before executing it on the blockchain.
The parameters for simulating the transaction.
Optional
feeThe public key of the fee payer (optional).
Optional
options?: InputSimulateTransactionOptionsAdditional options for simulating the transaction (optional).
Optional
signerThe public key of the signer for the transaction (optional).
The raw transaction data to simulate.
import {
Account,
Aptos,
AptosConfig,
Network,
} from "@aptos-labs/ts-sdk";
async function example() {
let sender = Account.generate();
let receiver = Account.generate();
// 0. Set up the client and test accounts
const config = new AptosConfig({ network: Network.DEVNET });
const aptos = new Aptos(config);
await aptos.fundAccount({
accountAddress: sender.accountAddress,
amount: 100_000_000,
});
// 1. Build the transaction to preview the impact of it
const transaction = await aptos.transaction.build.simple({
sender: sender.accountAddress,
data: {
// All transactions on Aptos are implemented via smart contracts.
function: "0x1::aptos_account::transfer",
functionArguments: [receiver.accountAddress, 100],
},
});
// 2. Simulate to see what would happen if we execute this transaction
const [userTransactionResponse] = await aptos.transaction.simulate.simple({
signerPublicKey: sender.publicKey,
transaction,
});
console.log(userTransactionResponse);
// If the fee looks ok, continue to signing!
// ...
}
example();
A class to handle all
Simulate
transaction operations.