Deno & Fetch
Using Deno & fetch to delegate to a DRep.
Prepare Delegation Transaction
Payload
{
"changeAddress": "addr...",
"delegations": [
{
"type": "drep",
"address": "addr..",
"keyHash": "drep..."
}
]
}
Example (using Deno & fetch)
Using a preprod wallet all value needed for a delegation
const DREP_ID = "drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd";
const ADDR = "addr_test1qq7fc3ke49nkcsfglltut7apa9t3gdul4utwhxt6j2hdrw7pg4vk6erdshyhdj5xeq0vh8qdy34cpdfstvc8l9su8hgq679eew";
// See Authentication page for API key details.
const X_API_KEY = "testnet_EyrkvCWDZqjkfLSe1pxaF0hXxUcByHEhHuXIBjt9";
API POST Request Body
Body Structure for a delegation to a DRep using the previously collected values.
const BODY = {
changeAddress: ADDR,
delegations: [
{
type: "drep",
address: ADDR,
keyHash: DREP_ID,
},
],
};
Fetch Command with Deno
POST call with Fetch
const response = await fetch(
`https://preprod.api.ada-anvil.app/v2/services/transactions/build`,
{
method: "POST",
headers: { "Content-Type": "application/json", "x-api-key": X_API_KEY },
body: JSON.stringify(BODY),
}
);
console.log(await response.json());
Deno Command
deno run --allow-net delegate-drep.ts
Output
{
"hash": "309afc6f9e06e70a0431eb929f4bacdfff463a0879c5d7daaef3357a4e6dbf64",
"complete": "84a600d9010281825820f115e0c125b4023379833df656b5a5535d715f3eabb31e5bd5697d2604866b46000181825839003c9c46d9a9676c4128ffd7c5fba1e95714379faf16eb997a92aed1bbc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd0821a0ea25013a1581c360fd38656e5204f22ec058d18d5a90c18745ca8325e51d077c38a13a1581b616e76696c61706963697032355f3137333838363236313738393001021a0003f419031a04f5649904d901028282008200581cc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd083098200581cc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd08200581c8b75035882d4165bea8000c4d3f2c123ae33c1d92a751a78135a24020ed9010281581cc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd0a0f5f6",
"stripped": "84a600d9010281825820f115e0c125b4023379833df656b5a5535d715f3eabb31e5bd5697d2604866b46000181825839003c9c46d9a9676c4128ffd7c5fba1e95714379faf16eb997a92aed1bbc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd0821a0ea25013a1581c360fd38656e5204f22ec058d18d5a90c18745ca8325e51d077c38a13a1581b616e76696c61706963697032355f3137333838363236313738393001021a0003f419031a04f5649904d901028282008200581cc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd083098200581cc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd08200581c8b75035882d4165bea8000c4d3f2c123ae33c1d92a751a78135a24020ed9010281581cc145596d646d85c976ca86c81ecb9c0d246b80b5305b307f961c3dd0a0f5f6",
"witnessSet": "a0"
}
The Whole File (Deno Version)
delegate-drep.ts
const DREP_ID = "drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd";
const ADDR = "addr_test1qq7fc3ke49nkcsfglltut7apa9t3gdul4utwhxt6j2hdrw7pg4vk6erdshyhdj5xeq0vh8qdy34cpdfstvc8l9su8hgq679eew";
// See Authentication page for API key details.
const X_API_KEY = "testnet_EyrkvCWDZqjkfLSe1pxaF0hXxUcByHEhHuXIBjt9";
const BODY = {
changeAddress: ADDR,
delegations: [
{
type: "drep",
address: ADDR,
keyHash: DREP_ID,
},
],
};
const response = await fetch(
`https://preprod.api.ada-anvil.app/v2/services/transactions/build`,
{
method: "POST",
headers: { "Content-Type": "application/json", "x-api-key": X_API_KEY },
body: JSON.stringify(BODY),
}
);
console.log(await response.json());
export {};
Last updated
Was this helpful?