# Start a Node - Mac

## 1. Prerequisite

The Crynux Node supports only the Macs with the M1, M2, M3 or newer versions. Make sure your device meets the requirement before running the node.

<table><thead><tr><th width="187">Hardware</th><th>Requirements</th></tr></thead><tbody><tr><td>Model</td><td>Mac M1, M2, M3 or newer</td></tr><tr><td>Memory</td><td>16GB</td></tr><tr><td>Disk Space</td><td>60GB</td></tr><tr><td>Network</td><td>Public network access to Huggingface and Civitai</td></tr></tbody></table>

## 2. Download the Crynux Node software

Download the DMG file using the following link. By default, it will be saved to your `Downloads` folder.

{% hint style="warning" %}
**Allow the Installer to Run**

Due to macOS security policies, you must remove the `quarantine` attribute from the downloaded DMG file before opening it. This prevents security warnings during installation.

Open the `Terminal` app and run the following command. Make sure to replace `crynux-node.dmg` with the actual name of the downloaded file.

`$ xattr -d com.apple.quarantine ~/Downloads/crynux-node.dmg`
{% endhint %}

For Dymension users:

{% embed url="<https://github.com/crynux-network/crynux-node/releases/download/v2.7.1/crynux-node-helium-v2.7.1-dymension-mac-arm64-unsigned.dmg>" %}

For Near users:

{% embed url="<https://github.com/crynux-network/crynux-node/releases/download/v2.7.1/crynux-node-helium-v2.7.1-near-mac-arm64-unsigned.dmg>" %}

## 3. Start the node

Double-click on the icon of the newly installed app to start the node:

<figure><img src="https://1099363499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fow8Hv7VFImRi1aXapa0H%2Fuploads%2Fmu3oi1gSCn4ls3PM9LDY%2F7e232c34e399d55cc08ded5f20f68df.png?alt=media&#x26;token=f166b159-ceb7-4df8-b56c-234bfb4d2abf" alt=""><figcaption></figcaption></figure>

## 4. Prepare the wallet

A wallet with enough test tokens must be provided to the node. If this is the first time you start a node, click the "Create New Wallet" button and follow the instructions to create a new wallet and finish the backup of the private keys.

<figure><img src="https://1099363499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fow8Hv7VFImRi1aXapa0H%2Fuploads%2Fpko1ePLS5EYlf7FFEjp4%2F9672eedeb92ea29f79be5aa66c5eee5.png?alt=media&#x26;token=01d6e275-a9ac-4670-af1e-e00e13631b75" alt=""><figcaption></figcaption></figure>

### Get the test CNX tokens from the Discord Server

Some test CNX tokens are required to start the node. The test CNX tokens can be acquired for free in the Discord server of Crynux:

{% embed url="<https://discord.gg/y8YKxb7uZk>" %}

Follow the instructions in the following document to get the test tokens:

{% content-ref url="../get-the-test-cnx-tokens" %}
[get-the-test-cnx-tokens](https://docs.crynux.io/node-hosting/get-the-test-cnx-tokens)
{% endcontent-ref %}

## 5. Wait for the system initialization to finish

If this is the first time you start a node, it could take quite a long while for the system to initialize. The most time consuming step is to download \~40GB of the commonly used model files from the Huggingface. The time may vary depending on your network speed.

After the models are downloaded, a test image generation task will be executed locally to examine the capability of your device. If the device is not capable to generate images, or the generation speed is too slow, the node will not be able to join the network. If the task is finished successfully, the initialization is completed:

<figure><img src="https://1099363499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fow8Hv7VFImRi1aXapa0H%2Fuploads%2FY9ABftpdp7FIu3E1vs7T%2F76f579d117c5d6c882c5e89aa378a11.png?alt=media&#x26;token=b9e7063d-7810-4da8-9c26-8574b6d904b9" alt=""><figcaption></figcaption></figure>

## 6. Join the Crynux Network

The Crynux Node will try to join the network automatically every time it is started. After the transaction is confirmed on-chain, the node has successfully joined the network. When the node is selected by the network to execute a task, the task will start automatically, and the tokens will be transferred to the node wallet after the task is finished.

<figure><img src="https://1099363499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fow8Hv7VFImRi1aXapa0H%2Fuploads%2FYHT4SWtyinn0wh8wstVt%2Ffef056a30e2e10930b863743fb34282.png?alt=media&#x26;token=614e708a-6e4d-4e3c-9cd4-cbcd45ba4740" alt=""><figcaption></figcaption></figure>

Now you could just leave it there to execute the tasks. When you shutdown the Crynux Node app, it will try to quit the network before exiting, so that new tasks will not be sent to the node any more. And the next time the app is started, it will join the network to receive new tasks automatically.
