setBaseNameRecord

setBaseNameRecord is a method on the ANT class that adds or updates the base name record for the ANT. This record defines the top-level name of the ANT (e.g., ardrive.ar.io).

setBaseNameRecord requires authentication.

Parameters

ParameterTypeDescriptionOptional
transactionIdstringThe Arweave transaction ID to set as the recordfalse
ttlSecondsnumberThe number of seconds for DNS TTL (defaults to 900)true
tagsarrayAn array of GQL tag objects to attach to the transfer AO messagetrue
TTL

Time-To-Live (TTL) determines how often gateways should check the ANT for an update to the corresponding record. You can have different TTLs for different records within an ANT, depending on their use case. A record that is updated frequently should have a lower value to facilitate serving current data, while a record that is updated less often should have a higher value to allow cached data to be served more quickly.

TTL must be between 60 seconds (1 minute) and 86400 seconds (1 day).

Examples

setBaseNameRecord

const fs = require("fs");
const { ANT, ArweaveSigner } = require("@ar.io/sdk");

async function main() {
    const jwk = JSON.parse(fs.readFileSync("KeyFile.json"));
    
    // get the ant for the base name
    const arnsRecord = await ario.getArNSRecord({ name: 'ardrive' });
    const ant = ANT.init({
        signer: new ArweaveSigner(jwk),
        processId: arnsRecord.processId
    });

    const { id: txId } = await ant.setBaseNameRecord({
        transactionId: '432l1cy0aksiL_x9M359faGzM_yjralacHIUo8_nQXM',
        ttlSeconds: 3600
    });

    // ardrive.ar.io will now resolve to the provided transaction id
}

main();