Run a Node - FAQ

Frequently Asked Questions: If you encounter any questions, we kindly ask you to check this section first. Thank you!

Note: Thanks to your contributions, cycle I of our TestNet Phase 3 journey has officially wrapped up! Now we're one step closer to onboarding the world to Bitcoin. Stay tuned for the next steps!

How shall I confirm my node is running correctly?

After running curl -sL1 https://nubit.sh | bash, you should see the following message:

/_____/  /_____/  /_____/  /_____/  /_____/ 
Started nubit DA node 
node version:
node type:      light
network:        nubit-alphatestnet-1
/_____/  /_____/  /_____/  /_____/  /_____/ 

For further check:

$HOME/nubit-node/bin/nubit das sampling-stats --node.store $HOME/.nubit-light-nubit-alphatestnet-1

You will receive a response similar to the following to verify that your node is running successfully:

{
  "result": {
    "head_of_sampled_chain": 143124,
    "head_of_catchup": 143124,
    "network_head_height": 143124,
    "concurrency": 0,
    "catch_up_done": true,
    "is_running": true
  }
}

How shall I check whether I am running the latest node?

If you have watched this hint during the execution of nubit.sh, you are running the latest node and we'll do a hot update after this version.

NAME: my_nubit_key
ADDRESS: nubit1xxxx
MNEMONIC (save this somewhere safe!!!): 
xxxx xxxx xxxx xxxx

** PUBKEY **
A9wxxxx

...

For early supporters who executed nubit.sh before this version, please re-execute curl -sL1 https://nubit.sh | bash again.


How shall I check my status if any error happens?

Currently, the light node uses an absolute path, and generally, there's no need to manually set environment variables. Here are some environment variable values for your reference. If any of them is broken, please go to $HOME/nubit-node and fix it. Thanks for your patience!


How shall I get my Nubit address?

You may run this command: (Make sure your light node is running!)

$HOME/nubit-node/bin/nubit state account-address  --node.store $HOME/.nubit-light-nubit-alphatestnet-1

How shall I get my light node PUBKEY

Everytime when you run curl -sL1 https://nubit.sh | bash to start the light node, the PUBKEY will appear in the very beginning, please save it carefully!

You may also run this command to check your PUBKEY: (Make sure your light node is running!)

$HOME/nubit-node/bin/nkey list --p2p.network nubit-alphatestnet-1 --node.type light

Your Nubit light node address PUBKEY will be shown in this area.


How shall I uninstall nubit-node?

The operation would never be reverted!

To uninstall nubit-node, please run the following command:

rm -rf $HOME/nubit-node
rm -rf $HOME/.nubit-${NODE_TYPE}-${NETWORK}

Please make sure to save your wallet and Nubit address mnemonic or key so you can re-import them later. For instructions on importing an existing key, please refer to Manage Keys.


How shall I watch my mnemonic again?

Please be careful not to share this mnemonic file as it is your private information. Don't share it with anyone else!

Use the following command to view your mnemonic:

cat $HOME/nubit-node/mnemonic.txt

How shall I replace the current address with a previous address?

First and foremost, please note that the addresses used for running a light node and participating in the Alpha Testnet Campaign can be independent. It is not necessary to unify them.

If you still wish to replace the current address with a previous address or Keplr wallet address, please follow these steps:

  1. Delete the selected key

$HOME/nubit-node/bin/nkey delete my_nubit_key -f --node.type light --p2p.network nubit-alphatestnet-1

Replace my_nubit_key with the actual name of the key you wish to delete. We recommend exporting your key and saving it securely before deleting it, so you can restore it later if needed.

  1. Import the new key

Make sure the name is my_nubit_key, otherwise, you will fail!

$HOME/nubit-node/bin/nkey add my_nubit_key --recover --keyring-backend test --node.type light --p2p.network nubit-alphatestnet-1
  1. List your keys

$HOME/nubit-node/bin/nkey list --p2p.network nubit-alphatestnet-1 --node.type light

List the current keys. Note that when running a light node, only the first key will be used.


Does running a light node create transactions?

A light node itself doesn't create transactions; it verifies and relays transactions created by wallets or other nodes. It's a more resource-efficient way to participate in the Bitcoin network while maintaining a level of security and decentralization.

To explore more interactions with Nubit DA such as transfer and submit blob, please get NUB first and refer to Interact with Nubit DA and Access Nubit DA Explorer.


Will running multiple nodes on the same IP address cause any issues?

Yes, running multiple nodes on the same IP address can cause issues. It is not recommended to do so.


Error: panic: reflect.Value.Addr of unaddressable value

// xxxx
panic: reflect.Value.Addr of unaddressable value

goroutine 1 [running]:
reflect.Value.Addr({0x0?, 0x0?, 0x140004bd550?})
        reflect/value.go:283 +0x64
// xxxx

Please add --rpc.skip-auth to your light node start command.


Error: inverted_index/XXXXX.mem: invalid argument

A syncing-up problem causes this error. We kindly ask you to remove the old inverted_index folder.

The commands will be:

// Remove inverted_index
rm -rf $HOME/.nubit-light-nubit-alphatestnet-1/inverted_index
mkdir $HOME/.nubit-light-nubit-alphatestnet-1/inverted_index

Then:

// Re-start your light node
curl -sL1 https://nubit.sh | bash

For Windows users utilizing WSL, we apologize if this solution does not address your issue. We are currently unable to support all Windows versions. If possible, we kindly suggest switching to a Linux or Mac system. Thank you for your understanding and patience.


Error: config.toml: no such file or directory

The upgrading from the oldest version problem causes this error. We kindly ask you to download the config.toml from our website.

The commands will be:

// Download config.toml
cd $HOME/.nubit-light-nubit-alphatestnet-1
curl -o config.toml https://nubit.sh/config.toml

Then:

// Re-start your light node
curl -sL1 https://nubit.sh | bash

Error: can't open Badger Datastore: file does not exist for table xxxx

The upgrading from the oldest version problem causes this error. We kindly ask you to download the config.toml from our website.

The commands will be:

// Remove data
rm -rf $HOME/.nubit-light-nubit-alphatestnet-1/data
mkdir $HOME/.nubit-light-nubit-alphatestnet-1/data

Then:

// Re-start your light node
curl -sL1 https://nubit.sh | bash

Error: rpc error: code = NotFound desc = account nubitxxx not found / Why can't I find my Nubit address in the browser?

You need to claim some tokens from the faucet page. Please refer to Get NUB for more details.


Error: GLIBC Issue on Linux x86-64

Q: If you encounter the following error messages when executing the nubit binary on Ubuntu x86-64 (version 20.04 or earlier):

nubit: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by nubit)
nubit: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by nubit)

A: This issue is caused by the absence of GLIBC 2.32 / 2.34 in older versions of x86-64 Ubuntu. To resolve this issue, you can:

  1. Switch to an OS that includes GLIBC 2.32 / 2.34, such as ARM64 Ubuntu 20.04 or x86-64 Ubuntu 22.04.

  2. Or you can manually configure the GLIBC dependencies if you prefer to handle it yourself.


Error: nubit: command not found

Q: What preparations are needed when using `nubit state` to query addresses and balances, or encountering a "nubit: command not found" error when interacting with Nubit DA?

A: First, ensure that the node is continuously running. Running curl -sL1 https://nubit.sh | bash will help fix this bug automatically. For more details, please refer to environment variables.


Error: nubit-node: Permission denied

This is an affair due to user permission of your local env. Please grant enough permission to your current path, like:

sudo chmod 775 your_current_path

Error: store is in use

This error typically occurs because another light node is already running and has locked the store.


Error: head request to peer failed

Q: Why does the PEER ERROR appear when starting the light node?

A: Firstly, please note that this error does not affect the normal operation of your node.

The error may occur due to one of the following reasons:

  1. Scenario 1: The peer you are trying to connect to has registered their address on the p2p network but has subsequently stopped their node. This results in an inability to establish a connection.

  2. Scenario 2: The peer you are trying to connect to has restarted their light node after stopping it and deleting the $HOME/.nubit-light-nubit-alphatestnet-1 directory. This causes your key to change. Although your IP and port remain the same, the key change leads to authentication failure, and thus, the connection cannot be established.

We hope this clarifies the issue. If you have any further questions, please feel free to reach out to our support team.


Error: invalid memory address or nil pointer dereference

If you encounter an error similar to the following when running your node:

running node but about every 10 minutes it crashes with this error panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1bde476]

This is often caused by conflicts due to multiple keys in your Nubit node. Please follow these steps to resolve the issue:

Use the following command to list your Nubit addresses:

$HOME/nubit-node/bin/nkey list --p2p.network nubit-alphatestnet-1 --node.type light

Use the following command to delete any additional keys:

nkey delete <The Name of Key> -f --node.type light --p2p.network nubit-alphatestnet-1

For optimal management, we recommend saving only one set of key named my_nubit_key and avoiding the retention of multiple keys.

When you initialize your node, a set of my_nubit_key key is automatically generated for you. Therefore, there is no need for additional actions or concerns. If you still wish to import a key from a Keplr wallet or another source to replace the existing key (although we strongly discourage this), please refer to the correct procedure in How shall I replace the current address with a previous address?

Last updated