Running Bitcoin Core (bitcoind or bitcoin-qt) already means running a node.
You don’t need to set it up.
addnode function is used to manually add a connection to another node.
This is not something necessary, unless you have specific reasons to connect to a particular node (e.g. a node you trust).
This function does not return any object (although executed successfully), which is why get null in return.
getnodeaddresses returns a random subset of node addresses known to your node.
As for the RPC methods,
generateprivkey does not exist, while the error for
createrawtransaction is probably due to a wrong input format (you are missing the squared brackets in the second object)
The correct format is:
Also note that you won’t be able to create a transaction without having the corresponding keys in your wallet.