Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • If successfully verified, you’ll see: "bitcoin-27.0-x86_64-linux-gnu.tar.gz: OK" .

  • There are additional (optional) steps that can be taken to authenticate your download, and you are definitely encouraged to avail yourself of them. See: https://bitcoincore.org/en/download/

Decompress the Bitcoin Core tarball:

...

The RPC token is designed to eliminate the need for hard-coded passwords in configuration and script files. You will receive a password here ONCE (unless you repeat the process and generate a new token).

Tip

This password is required for CAS - it's your “RPC Password” noted in Step 6.

...

Tip

The user name is required for CAS - it's your “RPC User” as noted in Step 6.

Example:

...

  • Save all the information securely. You'll need every detail in the steps to follow.  

  • The RPC User = AnyNameYouWantHere

  • The RPC Password = Kq66rZya7MNpCU_e0zZSgjR2Mb7rBeyX9QSeGhwPMeY=

  • The cookie/token ("rpcauth") will only be required in the Bitcoin Core configuration file (next step). The token authenticates the specific username+password combination created.

Tip

The RPC Password is required for CAS - as noted in Step 6.

The cookie/token is a secure hash of your password. The point is to hide your password on the node server to other users of the node. If your node is secure, then using the cookie is simply added security in the event of a server breach, however if your server is breached - you have a bigger problem than an exposed password - and that hash will afford very little protection.

The password is sent to the RPC server software by CAS, and must be kept encrypted while traveling over the Internet. This is accomplished using “tunnels” . More (more on that below).

...

3. Create the Bitcoin Core configuration file.

...

"When Bitcoin Core daemon first starts, it will begin to download the blockchain. This step will take at least several days, and it may take much more time on a slow Internet connection or with a slow computer."

- from https://bitcoin.org/en/full-node#other-linux-daemon

Code Block
bitcoind
  • It may will take several a few minutes for Bitcoin Core to completely start.

  • In actual practiceWith the first startup, expect to wait 1- 5+ days for bitcoind to fully synchronize.

  • CAS will NOT be able to interact with bitcoind until the synchronization is COMPLETE!

    • When restarting the node, the sync will happen quickly (an hour or less).

  • To check the status, get the current block being processed by your node: 

    • Code Block
      bitcoin-cli getblockcount
    •  Compare the returned number to the latest network block:

    • The debug log is typically located at $HOME/.bitcoin/debug.log

      • You can also check the status periodically using tail .bitcoin/debug.log

...

Code Block
bitcoin-cli stop
  • It may take a few minutes to completely shut down.

  • It will resume downloading synchronizing from the point where it stopped the next time you start it. It may take a few minutes to completely shut down.

Tip

The Bitcoin Core node (bitcoind) is now running.

  • It won’t be usable until fully synchronized - which may take up to 5+ days.

...

Your CAS server and this node must have a secure line. Your passphrase password and other sensitive information will be passed back & forth. Encrypt (and thus protect) this communication by using a secure SSH tunnel.

...

  • Creates a subfolder cas_default containing a wallet.dat file (the actual wallet),

  • sets the avoid_reuse flag to comply with Bitcoin convention, and

  • loads the wallet by default cas_default wallet automatically when starting the node.

Create a new wallet address for funding:

Code Block
bitcoin-cli getnewaddress bech32m

...

  • The latest “bech32m” (Taproot) option is demonstrated, but you may also specify legacy, p2sh-segwit, or bech32any type works with CAS.

  • Send Bitcoin to whatever address is generated to fund your node.

    • The

    resulting
    • address

    (e.g. bc1q4wv99c3yqpwttt7a59qqqqmyxda0z8l2ups7fx) funds the wallet
    • bc1q4wv99c3yqpwttt7a59qqqqmyxda0z8l2ups7fx is only an example (do not send BTC to it).

Wallet labels

  • Bitcoin “Best Practices” discourages the usage of wallet labels

  • Despite this, a wallet label can be set using bitcoin-cli getnewaddress "funding" bech32m

...

Tip

Configure your CAS Crypto Settings

...

Notes

1. Remote Procedure

...

Calls (RPC) (all):

More information about the RPC API: https://developer.bitcoin.org/reference/rpc/index.html

...

2.

...

Pruning nodes:

A "pruning node" (or lightweight node) is a special configuration that may be applied to bitcoind. It is unsupported by General Bytes. It is a substantial security risk when operating a BATM. Per the Bitcoin wiki:

...

Warning

The instructions given in this guide do not enable “pruning nodes”.

  • Install a full node as recommended by the Bitcoin community.

...

Housekeeping

...

This data is outside the scope of GB Support, but is presented here because it is frequently asked.

...