DFX
Getting Started
dfx
is the command-line interface for managing your Internet Computer project and the best place to start.
Installing
You can install dfx
a few different ways.
curl
(recommended)
via sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"
This command will install a binary compatible with your operating system, and add it to /usr/local/bin
.
via GitHub Releases
Find a release for your architecture here.
Getting Help
Once dfx
is installed, get acquainted with its capabilities by entering.
dfx help
Contributing to the DFINITY SDK
See our contributing guidelines here.
Release Process
DFX is released in two steps:
-
Publishing a new DFX release.
-
Publishing a new
manifest.json
andinstall.sh
to instruct the installer to actually download and install the new DFX release.
Publising DFX
-
The release manager makes sure the
dfx
stable
branch points to the revision that should be released and that the revision is tagged with a version (like0.5.6
). -
The
sdk-release
jobset on Hydra tracks thestable
branch and starts evaluating shortly afterstable
advances. -
As you can see it only has the single job
publish.dfx
which is defined here in terms of thedfx
job. Note that thepublish.dfx
job only exists when the revision has a proper version tag. This prevents publishing of untagged revisions. -
Our CD system running at
deployer.dfinity.systems
is configured with thepublish-sdk-dfx-release
job. It will monitor the aforementionedpublish.dfx
job for new builds, whenever there’s a new build it will download the output (the CD script) and execute it. -
As you can see the script also sends a message to the
#build-notifications
Slack channel so you can see when and if the SDK has been published.
manifest.json
and install.sh
Publishing After the DFX has been released it’s available for download but the install
script at https://sdk.dfinity.org/install.sh won’t immediately install it. To
make sure the installer actually downloads and installs the new DFX release the
manifest.json
file at https://sdk.dfinity.org/manifest.json has to set its
tags.latest
field to the new version. The following explains how to do that.
-
Edit the
public/manifest.json
file such that it points to the new DFX version and make sure this is merged inmaster
. -
Similarly to releasing the DFX there’s a
install-sh
job that builds a CD script for publishing themanifest.json
andinstall.sh
to our CDN. -
This job is built on the
sdk
jobset which tracks themaster
branch. -
deployer.dfinity.systems
is configured with thepublish-sdk-install-sh
job which will monitor the aforementionedpublish.install-sh.x86_64-linux
job for new builds, whenever there’s a new build it will download the output (the CD script) and execute it.