What is the difference between these two Internet Identity canisters?

In this documentation, I noticed that the Internet Identity canister is listed as this in dfx.json:

"internet_identity" : {
      "type": "pull",
      "id": "rdmx6-jaaaa-aaaaa-aaadq-cai"
    },

By reading the documentation on dfx deps, it looks like this in the (preferred?) way to integrate and test third-party canisters within local environments.

On the main Internet Identity repo, it is listed as this:

    "internet_identity": {
      "type": "custom",
      "candid": "https://github.com/dfinity/internet-identity/releases/download/release-2023-11-17/internet_identity.did",
      "wasm": "https://github.com/dfinity/internet-identity/releases/download/release-2023-11-17/internet_identity_dev.wasm.gz",
      "remote": {
        "id": {
          "ic": "rdmx6-jaaaa-aaaaa-aaadq-cai"
        }
      },
      "frontend": {}
    }
  }

What are the main differences between these two implementations? Is one recommended over the other?

1 Like

Its easier to install it and also can get update to latest by running 1 command.

this is my goto script on all of my project, add this on your package.json scripts section

    "dfx:start": "dfx start --background --clean",
    "dfx:stop": "dfx stop",
    "dfx:pull": "dfx deps pull",
    "dfx:identity": "dfx deps deploy internet_identity",

and always run yarn dfx:identity after yarn dfx:start then deploy your own canister.

3 Likes

Thank you. That makes sense! So if you used the custom canister option, would you need to re-install and redeploy to get the latest updates?

Yes you need to manually find new release release-2023-11-17 and change the dfx.json, with deps way just need to pull it again yarn dfx:pull.