Skip to content

dfinity/nns-dapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0afb9d5 · Feb 2, 2023
Feb 1, 2023
Jan 30, 2023
Jan 18, 2023
Feb 2, 2023
May 30, 2022
Jan 24, 2022
Feb 2, 2023
Feb 1, 2023
Jul 25, 2022
Jan 31, 2023
Dec 3, 2021
Jan 31, 2023
Jan 30, 2023
Jan 30, 2023
Jan 30, 2023
Feb 1, 2023
Dec 1, 2022
Jun 30, 2021
Dec 7, 2022
Aug 11, 2022
Jan 25, 2023
Jul 13, 2022
Jan 26, 2023
Feb 1, 2023
Jan 27, 2023
Oct 7, 2022
Dec 5, 2022
Jan 31, 2023
Mar 11, 2022
Aug 10, 2022
Jan 27, 2023
Aug 10, 2022

Repository files navigation

Network Nervous System Dapp

The NNS front-end Dapp is a dapp that provides a user friendly way to interact with the NNS of the Internet Computer. With it, you can:

  • Send/receive ICP
  • Stake neurons
  • Participate in the governance of the IC
  • Create and top up canisters

Official build

The official build should ideally be reproducible, so that independent parties can validate that we really deploy what we claim to deploy.

We try to achieve some level of reproducibility using a Dockerized build environment. The following steps should build the official Wasm image

./scripts/docker-build
sha256sum nns-dapp.wasm

The resulting nns-dapp.wasm is ready for deployment as qoctq-giaaa-aaaaa-aaaea-cai, which is the reserved principal for this service.

Our CI also performs these steps; you can compare the SHA256 with the output there, or download the artifact there.

Development

Development relies on the presence of a testnet that is setup with the II, governance, ledger, and cycle minting canisters. Fully local development is unfortunately not yet supported and the tools for setting up a testnet are not yet available publicly. It is on the roadmap to make these tools available publicly for developers.

When deploying the governance, ledger, and cycle minting canisters to the testnet you must first create a file called test-accounts.json in the root of the IC repo whose contents is:

{
  "init_ledger_accounts": [
    "5b315d2f6702cb3a27d826161797d7b2c2e131cd312aece51d4d5574d1247087"
  ]
}

Then run the following from the root directory of the IC repo:

./testnet/tools/icos_deploy.sh --git-revision <commit_id> nnsdapp --ansible-args "-e @$PWD/test-accounts.json"

To deploy the NNS Dapp canister to the testnet, run the following:

./deploy.sh testnet

You can now access the frontend using:

open "https://$(dfx canister --network testnet id nns-dapp).nnsdapp.dfinity.network"

To work on the UI locally, either use your IDE, or run the following:

cd frontend
npm ci
npm run dev

Links

Some useful links:

  • See the HACKING document for some information about local development

Other information resources: