pub async fn run(port: u16, rpc_sender: RpcSender) -> Result<()>
Runs the HTTP server on the specified port.
Returns an error if binding to the port fails or the server encounters an I/O error.