Dark Forest

zkSNARK space warfare

What are NFT prize planets?

NFT planet prizes are given to winners of various Dark Forest rounds, starting with DF v0.6. Prizes are also awarded, at the developer’s discretion, to players who contribute to the Dark Forest community via open-source tooling, content creation, bug reporting, and more.

NFT prize planets are ERC721 NFTs that can be viewed and traded on OpenSea or kept as a keepsake.

Minting NFT planets

NFT prize planets are memorialized in Valhalla, and can be claimed from there as well.

Each planet can be minted only by the Ethereum address of the burner wallet corresponding to the winning account. These NFTs live on the Ethereum mainnet, but the burner wallet address (and private key) you use for Dark Forest works on mainnet exactly as it does on xDAI - the account systems between the two chains are compatible.

You’ll need to be on desktop (not mobile) to claim your planet. You’ll have to import your Dark Forest burner wallet into Metamask and then visit Valhalla to claim the planet labeled with your burner wallet address. If those phrases don’t make complete sense to you, a detailed guide which assumes almost no blockchain knowledge is copied below. If you have any questions, feel free to reply to this email.

Detailed Instructions for claiming your NFT prize planet

Step 1: Install Metamask

To claim your Valhalla planet, you’ll need Metamask, an Ethereum browser wallet. Metamask can be used with Chrome, Brave, or Firefox. Follow the extensions instructions after installing Metamask.

Step 2: Export your Dark Forest burner wallet private key (SKEY)

If you haven’t already done so, export your Dark Forest burner wallet SKEY by going to the settings pane of the game, and unlocking the private key pane. Copy the SKEY (starts with “0x…”) into a new text file, like Notepad or Textedit. You’ll need this SKEY for the next step, but you can delete the text file afterwards.

Step 3: Import your SKEY into Metamask

Next, import your private key into Metamask. Click the circle in the upper right corner of the extension menu, and select “Import Account.” Paste the SKEY you copied in step 2 where prompted. Afterwards, the imported account (with your DF public address) should be visible in the accounts list of the extension menu.

   
   

Step 4: Transfer some Mainnet ETH to the imported account

To mint and claim your Valhalla NFT, you’ll need mainnet ETH to pay for gas. As of this email, the cost to claim your planet is about $11 (ETH is $1900, gas price is approximately 30gwei, transaction costs ~190k gas), so make sure you load your account with enough ETH. If you intend to transfer your NFT off of this account to your main Ethereum account, we recommend loading your account with about double this amount (about $22).

You can obtain ETH through an on-ramp like Coinbase, or you can ask a friend to send you some ETH.

Step 5: Mint your planet on https://valhalla.zkga.me

Scroll up on the Valhalla prize showcase until you find the planet corresponding to your burner wallet address, click “Connect with Metamask,” and follow the instructions in the Metamask popup to connect your account. The special prize planets are close to the top of the page, in a section between the rank #2 and rank #1 planets.

After you’ve connected Metamask, you should see the option to “Claim Planet.” Click this button and follow the instructions in the Metamask popup to mint and claim your prize planet!

[OPTIONAL] Step 6: Transfer your planet to your main wallet

Currently, the Valhalla UI does not expose any method of transferring your NFT to another address. If you’d like to do so, you can do so through the Etherscan “Write Proxy Contract feature.”

Step 6a: Find the token ID

First, you’ll need to find the token ID of the Valhalla planet you’ve just minted. Visit the Etherscan page for the Valhalla smart contract, and find the “Claim Winner” transaction corresponding to your claim action in the recent transactions listing - the “From” field should be your Dark Forest address.

Next, click the transaction hash (the identifier on the leftmost field) to pull up a transaction details page: example. In the “Tokens Transferred” section of this view, you’ll see the ID of the Valhalla NFT you’ve just minted. This ID should be a long string of digits.

Step 6b: Transfer the Token via Etherscan

Visit this Etherscan link to access Etherscan’s interface for interacting with the Valhalla ERC721 contract. Connect Metamask to Etherscan by clicking the “Connect to Web3” button above the table view and follow the instructions to connect your Metamask-imported Dark Forest address.

Finally, expand the “8. safeTransferFrom” row in the table of smart contract functions. Copy in the from address (your imported Dark Forest wallet address), the desired to address you want to transfer the NFT to, and the tokenId you found in Step 6a. Press “Write”, and follow the Metamask popup instructions to initiate a token transfer transaction.

Troubleshooting

If you’re having trouble with the Valhalla webpage, the first thing to try is refreshing the page. If that doesn’t solve your issues, then check the following.

Claiming my planet: check that you’re on the right network.

While Dark Forest runs on the xDAI blockchain, the prize planets that players earn are Ethereum mainnet NFTs. Make sure that your Metamask extension is connected to the Ethereum Mainnet network, which you can select from the dropdown in the top bar of the extension menu.

Claiming my planet: check that the right Metamask account is connected.

If you’re not seeing the “Claim Planet” button, you may have connected the Valhalla webpage to the wrong Metamask account. With the Valhalla webpage open, click Metamask and select your imported Dark Forest address (you can select accounts by clicking the top right circle icon).

Look for the text underneath the top left fox icon, to the left of the account address. If it says “Not connected”, click the text and follow the instructions to connect the account.

Transferring my planet

The above two checks are the first things to do if you’re having trouble transferring your planet via Etherscan. Follow the same instructions with the Etherscan page open to check that your network and account are connected appropriately.

Still need assistance?

Feel free to reach out on the Dark Forest Discord, in the #df-support channel.