# Reading an ICRC-1 name in JS

**URL:** <https://forum.dfinity.org/t/reading-an-icrc-1-name-in-js/22529>\
**Category:** Getting Started\
**Tags:** candid\
**Created:** [September 3, 2023, 9:20pm UTC](https://forum.dfinity.org/t/reading-an-icrc-1-name-in-js/22529 "2023-09-03T21:20:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nolma](https://avatars.discourse-cdn.com/v4/letter/n/9f8e36/32.png) [@nolma](https://forum.dfinity.org/u/nolma)\
**Post date:** [September 3, 2023, 9:20pm UTC](https://forum.dfinity.org/t/reading-an-icrc-1-name-in-js/22529/1 "2023-09-03T21:20:05Z")

</div>

Actor creates ok but I cannot call functions on it and get a result.

```auto
const token_name = await actor.icrc1_name();
console.log(token_name);

```

I never see this log^

```auto
import { idlFactory } from "../../declarations/token/token.did.js";

document.querySelector("form").addEventListener("submit", async (e) => {
  e.preventDefault();
  const button = e.target.querySelector("button");

  const name = document.getElementById("name").value.toString();

  button.setAttribute("disabled", true);

  const token = "avqkn-guaaa-aaaaa-qaaea-cai"
  const whitelist = [token];
  await window.ic.plug.requestConnect({
          whitelist,
        });
        var p = await window.ic.plug.agent.getPrincipal();
        //setAccAdd(p.toString());
        console.log(p.toString());
        const a = {
          owner: p,
          subaccount: [],
        }
        const actor = await window.ic.plug.createActor({
          canisterId: token,
          interfaceFactory: idlFactory,
        });
        console.log(actor);
        console.log("asking for name")
        const token_name = await actor.icrc1_name();
        console.log(token_name);
        try {
        const b = await actor.icrc1_balance_of(a);
      } catch(e) {
        console.log(e);
      }
        console.log(b);
        const precision = 100000000n;
        const bal = Number(b * 100000000n / precision) / 100000000;
        console.log(bal);

  // Interact with foo actor, calling the greet method
// const greeting = await token_lobby_backend.greet(name);

  //button.removeAttribute("disabled");

  //document.getElementById("greeting").innerText = greeting;

  return false;
});

```

---

<div class="post-metadata">

**Author:** ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)\
**Post date:** [September 3, 2023, 11:26pm UTC](https://forum.dfinity.org/t/reading-an-icrc-1-name-in-js/22529/2 "2023-09-03T23:26:49Z")

</div>

Most ICRC-1 query methods don’t require an identity, this includes the name method. So I would recommend to just create a new HttpAgent without any identity, create an actor with that agent and make those calls.

For calls where you for example transfer funds you can try to use the createActor method from Plug.

---

<div class="post-metadata">

**Author:** ![nolma](https://avatars.discourse-cdn.com/v4/letter/n/9f8e36/32.png) [@nolma](https://forum.dfinity.org/u/nolma)\
**Post date:** [September 4, 2023, 12:43am UTC](https://forum.dfinity.org/t/reading-an-icrc-1-name-in-js/22529/3 "2023-09-04T00:43:56Z")

</div>

Shouldn’t it still work with an identity?

---

<div class="post-metadata">

**Author:** ![nolma](https://avatars.discourse-cdn.com/v4/letter/n/9f8e36/32.png) [@nolma](https://forum.dfinity.org/u/nolma)\
**Post date:** [September 10, 2023, 7:53pm UTC](https://forum.dfinity.org/t/reading-an-icrc-1-name-in-js/22529/4 "2023-09-10T19:53:40Z")

</div>

I tried with the identity connect pulled out, same error.
