Skip to main content

Examples

Practical examples of using the Autonity SDK in real-world scenarios.


Basic Autonity Contract Interaction

Reading Contract Data

import { Contract } from 'autonity-sdk';

async function main() {
const contract = new Contract({
rpcUrl: "https://bakerloo.autonity-apis.com",
contractAddress: "0xBd770416a3345F91E4B34576cb804a576fa48EB1"
});

// Read validator data
const validators = await contract.autonity.getValidators();
console.log('Current validators:', validators);

// Get account balance
const balance = await contract.autonity.balanceOf("0xYOUR_ADDRESS");
console.log('Balance:', balance.toString());
}

main().catch(console.error);

Sending Transactions

import { Contract } from 'autonity-sdk';
import { ethers } from "ethers";

async function main() {
const contract = new Contract({
rpcUrl: "https://bakerloo.autonity-apis.com",
contractAddress: "0xBd770416a3345F91E4B34576cb804a576fa48EB1",
privateKey: "0xYOUR_PRIVATE_KEY"
});

// Bond to a validator
const tx = await contract.autonity.bond(
"0xVALIDATOR_ADDRESS",
ethers.parseEther("100") // 100 NTN
);
console.log('Transaction hash:', tx.hash);

await tx.wait(); // Wait for confirmation
console.log('Transaction confirmed!');
}

main().catch(console.error);

Query event

import { Contract } from "./src";

async function main() {
const contract = new Contract({
rpcUrl: "https://bakerloo.autonity-apis.com",
contractAddress: "0xBd770416a3345F91E4B34576cb804a576fa48EB1",
});

// Query NewBondingRequest event
const events = await contract.autonity.NewBondingRequest();
console.log("NewBondingRequest events:", events);
}

main().catch(console.error);

Basic Oracle Contract Interaction

Reading Oracle Data

import { Contract } from 'autonity-sdk';

async function main() {
const contract = new Contract({
rpcUrl: "https://bakerloo.autonity-apis.com",
contractAddress: "0x47e9Fbef8C83A1714F1951F142132E6e90F5fa5D"
});

// Get symbols
const symbols = await contract.oracle.getSymbols();
console.log('Current symbols:', symbols);

// Get Latest Round Data
const latestRoundData = await contract.oracle.getLatestRoundData("CAD-USD");
console.log("Latest Round Data:", latestRoundData);
}

main().catch(console.error);