DFX Dashboard is a GUI-based management tool that builds on the functionality of the dfx CLI, offering developers an intuitive way to create, manage, and monitor their Internet Computer (IC) projects. With powerful features like canister management, cycle tracking, network configuration, and version control via dfxvm, it empowers developers to streamline their workflows, reduce complexity, and focus on building impactful applications.
DFX Dashboard eliminates the need to remember and execute complex CLI commands by providing an intuitive, visual interface. Tasks that typically require multiple commands, flags, and configurations in the CLI can be accomplished with just a few clicks in the dashboard. This is especially helpful for beginners or developers who want to focus on building applications rather than mastering dfx commands.
- Features
Unified Project Management: Create, import, and manage all your Internet Computer projects from a single, intuitive interface.
Effortless Canister Control: Deploy, monitor, and interact with your canisters using a user-friendly GUI, eliminating the need for command-line operations.
Simplified Identity Management: Easily create, import, and switch between multiple identities, ensuring secure and efficient development processes.
Integrated Cycle Management: Monitor cycle balances, convert ICP to cycles, and top up canisters directly from the dashboard.
Visual Network Configuration: Configure and manage your dfx networks through a clear, visual interface, allowing for easy customization and oversight of network settings.
Enhanced Network Management: Redesigned networks.json UI now includes a form-based editor in addition to the raw JSON editor.
Comprehensive Logging: Track your development history with detailed logs of all dashboard operations, facilitating easy troubleshooting and review of past actions.
GUI-Wide Network Switcher
Easily toggle between local and IC networks globally.
Alternate Network Configuration: Add and configure named networks in the settings.
Mainnet Indication: Bright, banner-style UI alerts inform users when calls are being made to the mainnet (IC network).
The globally active network applies to all functionalities like status updates, commands, top-ups, and cycle balance checks.
Version Control with dfxvm: Integrated with dfxvm, a version manager for dfx, allowing seamless management of multiple dfx versions:
List available and installed versions of dfx.
Download and install specific versions using a dropdown menu.
Switch between dfx versions as needed for different projects.
I will actively gather feedback from developers and the community to guide DFX Dashboardâs future development, ensuring it evolves to meet user needs and supports the growth of the Internet Computer ecosystem.
Wow. This is super cool and huge UX improvement for people just getting started.
A couple of issues/questions:
I constantly use the logs scrolling across my dfx instance(I never run background and have a dedicated terminal where I can see everything. Iâd love to be able to do that here as well. I guess in theory I can start my own and just use that without clicking start? I clicked start and the thing spun and the light stayed red, so maybe I did something wrong. I was able to run create for a canister so I think I did start it.
Is there a place to run non-canister dfx commands?
Maybe the app runs a dfx command to get logs in the background? Iâm getting a bunch of dfx canister logs entries in my command history even though I donât think Iâm running themâŚor maybe I am by clicking i (in a circle)âŚbut I think Iâd want those filtered out.
Very cool. It reminds me a little bit of Postman if youâre familiar with it? For me personally i hate having to type out long dfx calls to my canister especiallly if the args type is big. It would be cool if you could have something like postman where you drop in a candid file and type script def file and then DFX dashboard automatically parses it into a form for inputs.
Do you have discord? Iâd like to connect and help you with the project
Yes, your theory is correct, you can start your own dfx instance and just use that without clicking start but even in this case light should be green. Actually dfx dashboard looks for definite process on os and trying to understand if it works or not, while testing I noticed some of the dfx versions doesnt use same processes like other ones, so you can try with maybe 0.21.x and I will have a look to solve this problem.
Also will implement dfx instance logs on future releases too. Which version are you using?
Most of the pages uses dfx commands in background but you donât have a interface like canisters, for which ones do you need this kind of solution?
There are 2 types of logs on dfx dashboard.
Command History: Commands that you run in canisters page on dfx dashboard, reads from file system
So if you see something that you didnât run in your history normal because dfx dashboard runs many dfx commands to handle these kind of scenarios.
You can give us some ideas to build on next release, feedbacks are so valuable from community. You can write here or open a new feature request on github.
Yeah I know postman and love that!! Can you give me a little more detail, if possible with an end to end example. I would love to discuss with team to build something like that on next release.
My testing was with dfx 0.24.2-beta.0, so they likely swapped out the process name on you.
From a âletâs get everyone onboarded to the IC perspectiveâ Iâd say all of them! There is something instructive. For about the first 10 years of my career, I was in the Microsoft universe and had nice UIâs and guis for almost everything. I had never, and didnât ever, need to run a single command line tool, so even dfx --help was not something Iâd do or think to do or be comfortable doing. I wanted to see a list of functions, click on them, see what I could enter, play with it, figure it outâŚbut I wasnât particularly comfortable with the command line. I think there are still a TON of those folks out there and especially non-programmers whoâs minds would be set on fire simply by having a DFX tap that let them select any of the commands and scroll through their options visually.
These days it is much easier to operate on the command line and all the tools are better, but if we have a bigger bridge then more people will come over. Youâve built a bridge tool. Bravo!
For exampleâŚclicking on the dfx tab and selecting something like âcyclesâ or âinfoâ or âledgerâ would be highly instructive(and useful) to people wanting to better understand how to manage cycles, get info about the IC and their dfx, and/or how to interact with the ICP ledger.
Other issue: I noticed that the assist call function doesnât populate if dfx isnât running. Iâm wondering if you could inspect the .dfx/local/canisters and pull the respective did from there if you donât get a response from the dfx getting the metadataâŚsome old canisters donât publish this at the right place.
Would be neat to be able to trace local log output from the replica.
Additionally, people have been asking for a Candid UI with identity support for awhile (not just hitting canister endpoints with the anonymous principal), so maybe this is a good way to provide that functionality on top of or instead of the dfx canister call command?