Run a Node (Advanced) - FAQ

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!

What's the hardware requirements for running nodes?

We have validator/full storage node/light node to run. The hardware requirements are listed below:

ValidatorLight NodeFull/Bridge Node

Memory

8 GB RAM

500 MB RAM

16 GB RAM

CPU

8 cores

Single Core

8 Cores

Disk

1 TB SSD Storage

40 GB SSD Storage

10 TB SSD Storage

Bandwidth

1 Gbps Upload/Download

0.1 Mbps Upload/Download

1 Gbps Upload/Download


Are batches supported? Is there a limit on batch requests?

We don’t support batch requests.


Are WS connections supported? What is available for WS connections?

Yes, WS connections are supported.

First, initialize your own light/full node. Assume you have finished Run a Node (Advanced) step by step.

After the node initialization, you should export the environment variables:

# The rpc ip and port your node listens to.
export NODE_RPC_IP="ws://localhost:26658"

The node RPC could be accessed by the websocket protocol directly.


How many different paths does the node serve?

Please refer to Nubit DA Node APIs.


What are the suggested caching rules for each RPC method?

The following methods could be cached / saved to database:

  • Blob: Get, GetAll, GetProof, Included

  • Header: GetBtcHeight, GetByHash, GetByHeight, GetHeightRangeAtBtcHeight, GetRangeByHeight

  • Share: GetEDS, GetShare, GetSharesByNamespace, SharesAvailable

Other methods are not recommended to be cached since they will change with time or be light enough to be not cached.


What is the best method to get the latest block and check that the node is healthy and in sync?

Use header.SyncState , this method will return the latest block height in its responded field height .

Use header.SyncWait to check whether the node is healthy or not. This method will block until the node is synced to network latest head.


What are the heaviest RPC methods? How much time does it take node to respond to request with such method?

  • Blob: Get, GetAll, GetProof, Included (~1s)

  • Header: GetHeightRangeAtBtcHeight (~2s)


Is archive node provision a requirement?

Yes, the full node (archive node) is the only node that stores all data in the network.


Are there snapshots available for full/archive nodes?

Our mainnet/testnet is not online yet and there is no need to sync the snapshot now.


What is the role of the consensus-node (validator node)?

The consensus-node is a validator node that does not produce blocks. It needs to be run as a data source for the bridge. It can also produce blocks, but currently, we have not delegated tokens to these validators.


Does the DA node need to provide RPC to users?

It is not necessary to provide RPC to users. The node's RPC is for internal use. Users can run their own light nodes for accessing RPC.


How do bridge nodes handle P2P connections for light node users?

Bridge nodes, when exposed to the public network, can automatically provide P2P connections to light node users.


Last updated