Set up a Cardano staking pool
The official documentation for setting up a node and configuring it as a stake pool on the mainnet is mostly very clear and complete. I was able to get my node compiled, installed and running pretty easily. But configuring the node to run as a stake pool is more complicated and the documentation seems to have some missing bits, so I'm documenting here just the specific parts that I had trouble with.
Register stake address on the blockchain
Everything went smoothly until I got to Register stake address on the blockchain. The instructions for "Draft transaction" include some parameter values which refer to things that the prior instructions have not created. The instructions here help to clarify these confusing points even though the syntax is a little different since it's for a testnet.
The next section for calculating the fees refers to a file called protocol.json in the --protocol-params-file parameter. This file is actually mainnet-shelley-genesis.json.