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 the network
nodeUrl: "https://testnet.aptos.dev", // specify the node URL
});
// Initialize the Aptos client
const aptos = new Aptos(config);
console.log("Aptos client initialized:", aptos);
}
runExample().catch(console.error);
Build a multi-agent transaction that allows multiple signers to authorize a transaction.
The parameters for creating the multi-agent transaction.
The transaction data.
Optional
options?: InputGenerateTransactionOptionsOptional transaction configurations.
An array of the secondary signers' account addresses.
The sender account address.
Optional
withWhether there is a fee payer for the transaction.
MultiAgentTransaction
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Build a multi-agent transaction
const transaction = await aptos.multiAgent({
sender: "0x1", // replace with a real sender account address
data: {
// Transaction data structure
function: "0x1::aptos_account::transfer",
functionArguments: ["0x2", 100], // replace with a real destination account address and amount
},
secondarySignerAddresses: ["0x3", "0x4"], // replace with real secondary signer addresses
options: {
// Optional transaction configurations
maxGasAmount: "1000",
gasUnitPrice: "1",
},
});
console.log(transaction);
}
runExample().catch(console.error);
Build a simple transaction.
This function allows you to create a transaction with specified sender and data.
The transaction data.
Optional
options?: InputGenerateTransactionOptionsOptional transaction configurations.
The sender account address.
Optional
withWhether there is a fee payer for the transaction.
SimpleTransaction
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Build a simple transaction
const transaction = await aptos.transaction.simple({
sender: "0x1", // replace with a real sender account address
data: {
function: "0x1::aptos_account::transfer",
functionArguments: ["0x2", 100], // replace with a real destination account address
},
options: {
gasUnitPrice: 100, // specify your own gas unit price if needed
maxGasAmount: 1000, // specify your own max gas amount if needed
},
});
console.log(transaction);
}
runExample().catch(console.error);
Build a transaction from a series of Move calls.
This function allows you to create a transaction with a list of Move calls.
Right now we only tested this logic with single signer and we will add support for mutli agent transactions if needed.
The closure to construct the list of calls.
Optional
options?: InputGenerateTransactionOptionsOptional transaction configurations.
The sender account address.
Optional
withWhether there is a fee payer for the transaction.
SimpleTransaction
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Build a transaction from a chained series of Move calls.
const transaction = await aptos.transaction.build.scriptComposer({
sender: "0x1", // replace with a real sender account address
builder: builder: async (builder) => {
const coin = await builder.addBatchedCalls({
function: "0x1::coin::withdraw",
functionArguments: [CallArgument.new_signer(0), 1],
typeArguments: ["0x1::aptos_coin::AptosCoin"],
});
// Pass the returned value from the first function call to the second call
const fungibleAsset = await builder.addBatchedCalls({
function: "0x1::coin::coin_to_fungible_asset",
functionArguments: [coin[0]],
typeArguments: ["0x1::aptos_coin::AptosCoin"],
});
await builder.addBatchedCalls({
function: "0x1::primary_fungible_store::deposit",
functionArguments: [singleSignerED25519SenderAccount.accountAddress, fungibleAsset[0]],
typeArguments: [],
});
return builder;
},
options: {
gasUnitPrice: 100, // specify your own gas unit price if needed
maxGasAmount: 1000, // specify your own max gas amount if needed
},
});
console.log(transaction);
}
runExample().catch(console.error);
A class to handle all
Build
transaction operations.