Raspberry-Pi-DigiNode

Frequently Asked Questions

DigiNode FAQ

What's a DigiNode?

A DigiNode is a device that runs a DigiByte Full Node and DigiAsset Node helping to further decentralize the DigiByte ecosystem.

What is a DigiByte Full Node?

The DigiByte blockchain is a decentralized ledger running on computers all around the world. Each computer running the DigiByte software maintains its own entire copy of the DigiByte blockchain. This is known as a full node.

Each block on the blockchain contains a bunch of transactions, and every full node has independently verified every single block that has been added to the blockchain, and by extension it has independently verified ever single transaction that has ever occurred on the DigiByte ledger.

Running a full node might sound resource intensive but you can actually run your own full node on an inexpensive computer such as a Raspberry Pi. This is very different to mining DigiByte which uses a lot of energy and can require expensive hardware.

While full nodes maintain a copy of the entire blockchain, there are also lite nodes, or SPV nodes, that only hold recent blocks. They are typically used my mobile wallets and the like where the limitations of space make storing the full blockchain impractical. Light nodes rely on the full nodes for their data. This means that they must trust that the data they get from a full node is accurate.

What's the difference between running a full node and mining?

Running a full node is not the same as mining, but full nodes are every bit as important as miners, in the operation of the DigiByte blockchain.

A full node holds a complete copy of the blockchain and has independently verified the existing blocks, whereas a miner competes to add the next block to the front of the blockchain. Full nodes and miners together help secure the blockchain.

To ensure that the next block added to the blockchain cannot be manipulated by a bad actor, all miners on the blockchain compete in a game of chance to have the right to add the next block.

Miners use extremely powerful computers, or entire warehouses full of computers, and use immense amounts of computing power and electricity to try to solve extremely difficult cryptographic problem. Miners compete with each other at this, and the winner of each race earns the right to take the latest bunch of transactions awaiting confirmation and include them in the  next block in the blockchain. For doing this, they are also awarded some DigiByte, which is the process by which new coins enter circulation.

You can think of this process like having one of those combination padlocks - the ones with multiple number dials - and the combination to unlock it is currently unknown. Miners all compete to guess the combination by randomly trying different number sequences until eventually one of them gets the correct one. The winner immediately broadcasts the correct combination to the rest of the network, proving that they got their first, which they also use to bundle up the waiting transactions in the next block. They also receive DGB as a block reward which is how new DigiByte enter circulation. The process then repeats for the next block. In the case of DigiByte this happens approximately every 15 seconds.

Full nodes independently verify each block generated by the miners and maintain a complete copy of the blockchain.

While mining requires expensive hardware and electricity, running a full node can be done on a low power computer such as a Raspberry Pi,  since it is only required to verify the existing blocks. It's the diference between a student working to solve a complicated math problem versus their professor, with the answers already in front of them, checking that the student's solution is correct. It's a lot easier to verify the correct answer than to actually work out the answer yourself.

It is important to note that while miners frequently also run a full node, you can run a full node without also mining.

What is a DigiAsset Node?

A DigiAsset Node complements a DigiByte Full Node be helping to decentralize DigiAsset metadata.

What are DigiAssets? DigiAssets are a secure, scalable layer built on top of the DigiByte Blockchain that allows for the decentralized issuance of digital assets (NFTs), tokens, smart contracts, digital identity and more.

A problem affecting NFTs on many other crypto projects is that while the transaction relating to to an NFT is stored on the blockchain itself, often the metadata related to it is stored on a centralized server. This means that if the server goes down down or breaks the NFTs becomes unusable. This centralization obviously creates a potential point of failure, making NFTs partially centralized. This problem is something that also affected the early implementations of the DigiAsset protocol.

For DigiAssets v3, Matthew Cornellise, of DigiAssetX, replaced the centralized server with IPFS (Interplanetary File System), so that the metadata was then distributed on DigiAsset Nodes around the world. Matthew is currently working on DigiAsset Core that makes this even more decentralized, and each node more autonomous.

By running a DigiAsset Node you are helping to support the network by contributing to the decentralization of the DigiAsset metadata. Each DigiAsset Node maintains a complete copy of the metadata relating to all DigiAssets minted on the DigiByte blockchain.

In exchange for running a DigiAsset Node, you can earn $DGB as payment for hosting the DigiAsset metadata of others. It also gives you the ability to mint your own NFTs directly from your own node using the web interface, though until DigiAsset Core is released this may not work very well, or at all.

What are DigiNode Tools?

DigiNode Tools are a suite of linux bash scripts that make it easy to setup, monitor and manage your DigiNode via the linux command line:

DigiNode Setup - Helps you to install, upgrade, backup and restore your DigiByte and/or DigAsset Node.

DigiNode Dashboard - Quickly check the status of your DigiByte and DigiAsset Nodes.

What do I need to run a DigiNode?

DigiNode Tools should run on most Ubuntu or Debian systems. A 64-bit OS is required. Both ARM64 and x86_64 hardware are supported. For more info, view the page on System Compatibility.

If you are interested in building your own DigiNode, the recommended setup is a Raspberry Pi 4 8Gb with an SSD running Raspberry Pi OS Lite 64-bit. See here for the parts you need.

Note: A DigiNode is designed to operate "headless". This means you do not need a display, keyboard or mouse - everything can be set up and managed remotely, using the terminal.

Where can I get help with my DigiNode?

If you need help, please join the DigiNode Tools Telegram group. You can also get help on Bluesky @diginode.tools or on X @diginodetools.

Can I use DigiNode Tools in a virtual machine?

Yes. This has been tested and works as expected, though you may have issues using the backup and restore scripts, depending on your setup.

Can I use DigiNode Tools remotely on a VPS?

Yes. This has been tested and works as expected, though you will not be able to use the backup and restore scripts, as they require access to a USB port on the device. DigiNode Dashboard makes monitoring your DigiByte Node really easy, and DigiNode Setup can be used to easily upgrade it, when needed. Ubuntu Server is recommended. The VPS should ideally have 8Gb RAM.

Why is my DigiAsset Node not working as expected?

There are currently issues with the DigiAsset Node software developed by DigiAssetX meaning that it has become unstable and no longer always works as expected. It is because of these problems that developer Matthew Cornelisse is now working on the successor, DigiAsset Core. It is expected that DigiNode Tools will support DigiAsset Core once it is stable. You can learn more and donate to support DigiAsset Core development here.

Will DigiAsset Core be supported by DigiNode Tools?

Yes, but only once it is stable. DigiAsset Core is still under active development. If you are a developer you can help here. It is hoped that this will happen by the end of Q2 2024, though this may change.

Can I use DigiNode Dashboard with my existing DigiByte Node?

Possibly, depending on your setup. Your DigiByte Core install folder needs to be accessible from the home folder. Run the DigiNode Setup script as normal, and choose to install DigiNode Tools only. This will install the DigiNode scripts but not setup a DigiByte or DigiAsset Node. You need to create a symbolic link in your home folder called 'digibyte' that points at your DigiByte Core install folder. This way the DigiByte CLI binary digibyte-cli should be accessible at ~/digibyte/bin/digibyte-cli, and digibyted at ~/digibyte/bin/digibyted.

That said, it is always recommended to use DigiNode Setup to install your DigiByte Node if you wish to use DigiNode Dashboard. This will give you the full capabilities of the software, and ensures that everything works as expected.

Raspberry Pi FAQ

Can I use a microSD card instead of an SSD for my DigiNode?

If your Raspberry Pi has at least 8Gb RAM, it is technically possibly to run your DigiNode from a microSD card. That said, an SSD is always recommended - performance will be much better and over time the microSD card is more likely to become corrupted.

Can I use a Raspberry Pi 3 or older?

No. Raspberry Pi 3s and older typically only have 1Gb RAM which is not enough to run a DigiNode. The Raspberry Pi 4 8Gb or better is the only model that is recommended.

Can I use other single-board computers for my DigNode, like a Rock64, Orange Pi etc.?

Possibly. If it has 8Gb RAM and can bun Ubuntu/Debian 64-bit, it should be fine. 8Gb RAM is recommended for a full DigiNode (DigiByte + DigiAssets Nodes). With 4Gb RAM you should be able to run a DigiByte full node or a DigiAssets Node, but not both together. Given the easier setup, and generally better performance, a Raspberry Pi 4 8Gb is still recommended.

Software Licence FAQ

Can you summarize what is allowed with DigiNode Tools' license?

The license allows the free right to use and modify DigiNode Tools source code for any personal or nonprofit purposes. The goal with this license is to be as permissive as possible, while protecting DigiNode Tools against abuse.

What are my freedoms as a DigiNode Tools user under this license?

If you're using DigiNode Tools for personal or nonprofit purposes, you enjoy nearly all freedoms that come with an open source license, including the ability to view, modify, and redistribute DigiNode Tools' source code.

Can I fork DigiNode Tools?

Yes, as long as your intended use is non-commercial, you're free to fork, modify and redistribute the source. However, you may not re-release DigiNode Tools in an official capacity (i.e. on a custom website or custom URL) in a form which competes with the original DigiNode Tools. This is to ensure that there remains only one official release version of DigiNode Tools. The DigiNode Setup URL must remain: setup.diginode.tools

Can I contribute to DigiNode Tools?

Yes! Contributions from the community are welcomed. The objective is to offer compatibility with a broad variety of systems, so everyone's help is needed to test and improve it. If your changes are significant, you may like to discuss them first in the DigiNode Tools Telegram group.

Can I sell DigiNode Tools?

No. Selling DigiNode Tools, including selling cloud-hosted instances with DigiNode Tools or its derivates, home server hardware with DigiNode Tools or its derivates, support services for DigiNode Tools or its derivates, etc is not permitted under this license. If you're interested in any of these use cases, feel free to contact olly@diginode.tools.

DigiFact # 88 - Did you know...
These DigiFacts are created by the DigiByte community for the DigiByte community. We need your help adding new ones and translating them into additional languages, either by translating them yourself or donating to the DigiFacts Translation Fund. Go here to learn how you can help.

Copyright 2021-2024 Olly Stedall © All Rights Reserved

Please Donate: dgb1qv8psxjeqkau5s35qwh75zy6kp95yhxxw0d3kup