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);