What are the specific interactions between a Wallet client/node and a Miner?
A wallet is used by a client to store Bitcoin Addresses. The standard client can be ran in a server mode, which will allow it to take HTTP JSON RPC commands. One of them is "getwork" - a standard command used by miners to get data to hash. The standard client creates new blocks crediting one of the addresses in its wallet with the block reward. A miner can submit finished work to the client to help it solve it.

This solution is not ideal for most miners, as the use of pools as an intermediary between a client and a miner allow the block reward to be split between them.